12const std::string ANTARES_C(
"antares"), VERSION_C(
"version"),
13 ANTARES_XPANSION_C(
"antares_xpansion"), BEGIN_C(
"begin"), END_C(
"end"),
14 RUN_DURATION_C(
"run_duration"), MASTER_DURATION_C(
"master_duration"),
15 SUBPROBLEM_DURATION_C(
"subproblem_duration"), ITERATIONS_C(
"iterations"), BEST_UB_C(
"best_ub"),
16 CANDIDATES_C(
"candidates"), INVEST_C(
"invest"), MAX_C(
"max"), MIN_C(
"min"), NAME_C(
"name"),
17 INVESTMENT_COST_C(
"investment_cost"), LB_C(
"lb"), OPERATIONAL_COST_C(
"operational_cost"),
18 OPTIMALITY_GAP_C(
"optimality_gap"), OVERALL_COST_C(
"overall_cost"),
19 RELATIVE_GAP_C(
"relative_gap"), UB_C(
"ub"), NBWEEKS_C(
"nbWeeks"), OPTIONS_C(
"options"),
20 SOLUTION_C(
"solution"), OUTER_LOOP_SOLUTION_C(
"security criterion solution"),
21 ITERATION_C(
"iteration"), PROBLEM_STATUS_C(
"problem_status"), OPTIMAL_C(
"OPTIMAL"),
22 LIMIT_REACHED_C(
"limit reached"), ERROR_C(
"ERROR"), VALUES_C(
"values"),
23 STOPPING_CRITERION_C(
"stopping_criterion"), MASTER_NAME_C(
"MASTER_NAME"),
24 LOG_LEVEL_C(
"LOG_LEVEL"), SOLVER_NAME_C(
"SOLVER_NAME"), PROBLEMNAME_C(
"problem_name"),
25 PROBLEMPATH_C(
"problem_path"),
26 CUMULATIVE_NUMBER_OF_SUBPROBLEM_RESOLVED_C(
"cumulative_number_of_subproblem_resolutions"),
27 PROBLEM_FORMAT_C{
"PROBLEM_FORMAT"};
37typedef std::vector<CandidateData> CandidatesVec;
41 double master_duration;
42 double subproblem_duration;
46 double optimality_gap;
48 double investment_cost;
49 double operational_cost;
51 CandidatesVec candidates;
52 int cumulative_number_of_subproblem_resolved;
55typedef std::vector<Iteration> Iterations;
68 std::string problem_status;
69 std::string stopping_criterion;
93 std::filesystem::path path;
127 virtual void end_writing(
const IterationsData& iterations_data) = 0;
129 virtual void write_solver_name(
const std::string& solver_name) = 0;
130 virtual void write_master_name(
const std::string& master_name) = 0;
131 virtual void write_log_level(
const int log_level) = 0;
132 virtual void write_solution(
const SolutionData& solution) = 0;
133 virtual void write_iteration(
const Iteration& iteration_data,
const size_t iteration_num) = 0;
134 virtual void updateBeginTime() = 0;
135 virtual void updateEndTime() = 0;
136 virtual void write_nbweeks(
const int nb_weeks) = 0;
137 virtual void write_duration(
const double duration) = 0;
138 virtual std::string solution_status()
const = 0;
139 virtual void WriteProblem(
const ProblemData& problem_data) = 0;
140 virtual void WriteProblemFormat(
const std::string format) = 0;
OutputWriter class to describe the execuion session of an antares xpansion optimization in a log file...
Definition OutputWriter.h:103
virtual void initialize()=0
initialize outputs
virtual void update_solution(const SolutionData &solution_data)=0
saves some entries to be later written to the json file
virtual ~OutputWriter()=default
destructor of class OutputWriter
virtual void dump()=0
write the log data into a file
Definition OutputWriter.h:30
Definition OutputWriter.h:40
struct containing some entries to be later written to the json file
Definition OutputWriter.h:83
Definition OutputWriter.h:91
struct saves some entries to be later written to the json file
Definition OutputWriter.h:64