Antares Xpansion
Investment simulations for Antares studies
Loading...
Searching...
No Matches
MasterGeneration.h
1#ifndef __MASTER_GENERATION__
2#define __MASTER_GENERATION__
3
4#include <filesystem>
5
6#include "antares-xpansion/lpnamer/model/ActiveLinks.h"
7#include "antares-xpansion/lpnamer/problem_modifier/AdditionalConstraints.h"
8#include "antares-xpansion/lpnamer/problem_modifier/LinkProblemsGenerator.h"
9
10class FileWriter;
11
13{
14public:
28 explicit MasterGeneration(std::filesystem::path ouput_path,
29 std::string solver_name,
30 std::shared_ptr<ProblemGenerationLog::ProblemGenerationLogger> logger,
31 SolverLogManager& solver_log_manager,
32 FileWriter& file_writer,
33 ProblemsFormat format = ProblemsFormat::OPTIMIZED);
34 std::vector<Candidate> generate(const std::vector<ActiveLink>& links,
35 const std::string& master_formulation,
36 const AdditionalConstraints& additionalConstraints_p) const;
37
38private: /*methods*/
39 std::vector<Candidate> build_candidates(const std::vector<ActiveLink>& links) const;
40 void write_master_mps(const std::vector<Candidate>& candidates,
41 const std::string& master_formulation,
42 const std::string& solver_name,
43 const AdditionalConstraints& additionalConstraints_p) const;
44
45 /*members*/
46 std::filesystem::path output_path_;
47 std::shared_ptr<ProblemGenerationLog::ProblemGenerationLogger> logger_;
48 SolverLogManager& logManager_;
49 const std::string solver_name_;
50 FileWriter& writer_;
51 ProblemsFormat format_{ProblemsFormat::OPTIMIZED};
52};
53#endif //__MASTER_GENERATION__
candidate exclusion constraint structure
Definition AdditionalConstraints.h:108
Definition FileWriter.h:8
Definition MasterGeneration.h:13
Definition SolverAbstract.h:20