@@ -440,18 +440,7 @@ void WashCrewOptimizer::GroupSolutionMirrors(int hours)
440440 m_results.assignments_by_crews [m_results.num_crews_by_period [t]].at (c),
441441 m_results.assignments_by_crews [m_results.num_crews_by_period [t]].at (c+1 )
442442 )));
443-
444- /*
445- for (size_t t = 0; t < m_settings.periods.size()-1; t++)
446- {
447- std::cerr << "Period " << t << " mirrors: ";
448- for (int c = 0; c <= m_results.num_crews_by_period[t]; c++)
449- {
450- std::cerr << m_results.assignments_by_crews[m_results.num_crews_by_period[t]].at(c) << ",";
451- }
452- std::cerr << "\n";
453- }
454- */
443+
455444 // Add the hourly breaks.
456445 for (int c = 0 ; c <= m_solar_data.num_mirrors ; c += m_solution_data.scale )
457446 assignment_breaks.insert (c);
@@ -520,7 +509,6 @@ void WashCrewOptimizer::GroupSolutionMirrors(int hours)
520509 )
521510 {
522511 m_results.solution_assignments [t].push_back (solution_idx == 0 ? 0 : solution_idx + 1 );
523- // std::cerr << "per " << t << " sol idx " << solution_idx << " mirrors " << cumulative_mirrors << "\n";
524512 }
525513 }
526514 m_solution_data.x_pos [solution_idx] = 1 .;
@@ -600,7 +588,6 @@ void WashCrewOptimizer::GetTotalFieldOutput()
600588 m_condensed_data.total_mirror_output = sum_clean_output;
601589 m_solar_data.num_mirrors = num_mirrors;
602590 m_condensed_data.num_mirrors = num_mirrors;
603- // std::cerr << "gettotalfield: num mirrors " << m_solar_data.num_mirror_groups << " output " << m_solar_data.total_mirror_output << "\n";
604591}
605592
606593double WashCrewOptimizer::GetNumberOfMirrors (int i, int j)
@@ -684,7 +671,6 @@ double WashCrewOptimizer::EvaluateFieldEfficiency(std::vector<int> path)
684671 // get the time elapsed and average efficiency hit.
685672 time = GetNumberOfMirrors (start_idx, end_idx) * (60 ./(m_settings.wash_rate / m_settings.heliostat_size )) * (168 . / m_settings.crew_hours_per_week );
686673 sum_soiling_eff += group_eff * m_func->Evaluate (time);
687- // std::cerr << "path size: " << path.size() << " idx: " << i << " start_idx: " << start_idx << " end_idx: " << end_idx << " group_eff: " << group_eff << " time: " << time << " soiling_loss: " << m_func->Evaluate(time) << "\n";
688674 }
689675 return 1 - (sum_soiling_eff / m_solar_data.total_mirror_output );
690676}
@@ -886,17 +872,13 @@ void WashCrewOptimizer::CalculateSolutionObjective(std::unordered_map<std::strin
886872 * m_settings.profit_per_kwh
887873 )
888874 );
889- // std::cerr << "lost rev: " << cost << "\n";
890875
891876 double ft_cost = m_settings.hourly_cost_per_crew * m_settings.crew_hours_per_week * (365 . / 7 );
892877 double ann_labor_cost = ft_crews * ft_cost;
893878 // add the vehicle and full-time crew costs
894879 cost += vehicles * m_settings.capital_cost_per_crew ;
895880 cost += ft_crews * m_settings.labor_cost_per_ft_crew ;
896881
897- // std::cerr << "Full-time labor cost: " << ft_crews * m_settings.labor_cost_per_ft_crew << "\n";
898- // std::cerr << "Vehicle cost: " << vehicles * m_settings.capital_cost_per_crew << "\n";
899-
900882 // add seasonal labor costs
901883 double st_labor = 0 .;
902884 for (size_t t = 0 ; t < m_settings.periods .size ()-1 ; t++)
@@ -911,7 +893,6 @@ void WashCrewOptimizer::CalculateSolutionObjective(std::unordered_map<std::strin
911893 m_solar_data.labor_by_period .at (t) * ft_cost * m_settings.seasonal_cost_multiple
912894 ) * (m_results.num_crews_by_period [t] - ft_crews);
913895 }
914- // std::cerr << "Short-term labor cost: " << st_labor << "\n";
915896
916897 m_results.wash_crew_obj = cost;
917898 m_results.num_ft_crews = ft_crews;
@@ -990,15 +971,7 @@ void WashCrewOptimizer::OptimizeWashCrews(int scale, bool output)
990971 cost = EvaluatePath (path);
991972
992973 field_eff = EvaluateFieldEfficiency (path);
993- /*
994- std::cerr << "Cost for " << i << " wash crews: " << cost
995- << "\nAssignment: ";
996- for (int j = 0; j < path.size(); j++)
997- {
998- std::cerr << path.at(j) << ",";
999- }
1000- std::cerr << "\nAverage field efficiency: " << field_eff << "\n";
1001- */
974+
1002975 // use the equal-assignment path if specified; otherwise, use DP output.
1003976
1004977 m_results.assignments_by_crews [i] = {0 };
@@ -1065,10 +1038,6 @@ void WashCrewOptimizer::OptimizeWashCrews(int scale, bool output)
10651038 {
10661039 change_crews.at (t - 1 ) = false ;
10671040 }
1068- // std::cerr << "month " << t << "," << month_delta << "," <<
1069- // (m_settings.labor_cost_per_seas_crew
1070- // * m_solar_data.labor_by_period.at(t - 1)) << "," <<
1071- // delta_rev_loss[int_pair_to_string(c, t)] << "\n";
10721041 }
10731042
10741043 // if neither full-time nor seasonal hires reduce losses, terminate.
0 commit comments