Antares Xpansion
Investment simulations for Antares studies
Loading...
Searching...
No Matches
ProblemGenerationExeOptions.h
1#ifndef ANTARES_XPANSION_SRC_CPP_LPNAMER_MAIN_INCLUDE_PROBLEMGENERATIONEXEOPTIONS_H
2#define ANTARES_XPANSION_SRC_CPP_LPNAMER_MAIN_INCLUDE_PROBLEMGENERATIONEXEOPTIONS_H
3#include <filesystem>
4#include <vector>
5
6#include "ProblemGenerationOptions.h"
7#include "antares-xpansion/helpers/OptionsParser.h"
8
10{
11private:
12 std::filesystem::path xpansion_output_dir_;
13 std::string master_formulation_;
14 std::string additional_constraintFilename_l_;
15 std::filesystem::path archive_path_;
16 std::filesystem::path weights_file_;
17 std::vector<int> active_years_;
18 bool unnamed_problems_ = false;
19 std::filesystem::path study_path_;
20
21public:
23
24 ~ProblemGenerationExeOptions() override = default;
25
26 [[nodiscard]] std::filesystem::path XpansionOutputDir() const override
27 {
28 return xpansion_output_dir_;
29 }
30
31 [[nodiscard]] std::string MasterFormulation() const override
32 {
33 return master_formulation_;
34 }
35
36 [[nodiscard]] std::string AdditionalConstraintsFilename() const override
37 {
38 return additional_constraintFilename_l_;
39 }
40
41 [[nodiscard]] std::filesystem::path ArchivePath() const override
42 {
43 return archive_path_;
44 }
45
46 [[nodiscard]] std::filesystem::path WeightsFile() const override
47 {
48 return weights_file_;
49 }
50
51 [[nodiscard]] std::vector<int> ActiveYears() const override
52 {
53 return active_years_;
54 }
55
56 [[nodiscard]] bool UnnamedProblems() const override
57 {
58 return unnamed_problems_;
59 }
60
61 void Parse(unsigned int argc, const char* const* argv) override;
62
63 [[nodiscard]] std::filesystem::path deduceXpansionDirIfEmpty(
64 std::filesystem::path xpansion_output_dir,
65 const std::filesystem::path& archive_path) const override;
66 [[nodiscard]] std::filesystem::path StudyPath() const override;
67 void checkMandatoryOptions(const std::string& log_location) const;
68 [[nodiscard]] auto exclusiveMandatoryParameters() const;
69};
70#endif // ANTARES_XPANSION_SRC_CPP_LPNAMER_MAIN_INCLUDE_PROBLEMGENERATIONEXEOPTIONS_H
Definition OptionsParser.h:12
Definition ProblemGenerationExeOptions.h:10
Definition ProblemGenerationOptions.h:12