26 #include "antares/expressions/nodes/VariableNode.h"
27 #include "antares/modeler-optimisation-container/OptimEntityContainer.h"
28 #include "antares/modeler-optimisation-container/scenarioGroupRepo.h"
29 #include "antares/optimisation/linear-problem-data-impl/linearProblemData.h"
30 #include "antares/optimisation/linear-problem-mpsolver-impl/linearProblem.h"
31 #include "antares/solver/modeler/data.h"
32 #include "antares/solver/optim-model-filler/Dimensions.h"
33 #include "antares/study/system-model/component.h"
34 #include "antares/study/system-model/model.h"
36 using namespace Antares::ModelerStudy::SystemModel;
39 namespace Test::Modeler
41 std::pair<std::string, ParameterTypeAndValue> build_context_parameter_with(
42 const std::string&
id,
43 const std::string& value,
44 const VariabilityType& type = VariabilityType::CONSTANT_IN_TIME_AND_SCENARIO);
52 bool timeDependent =
true;
53 bool scenarioDependent =
true;
64 std::unordered_map<std::string, Model> models;
66 std::unique_ptr<Antares::Optimisation::LinearProblemApi::ILinearProblem> pb;
67 std::vector<Component> components;
71 std::unique_ptr<Antares::Optimisation::OptimEntityContainer> optimEntityContainer;
73 void createModel(
const std::string& modelId,
74 const std::vector<std::string>& parameterIds,
75 const std::vector<VariableData>& variablesData,
76 const std::vector<ConstraintData>& constraintsData,
79 void createModelWithSystemModelParameter(
80 const std::string& modelId,
81 std::vector<Parameter>,
82 const std::vector<VariableData>& variablesData,
83 const std::vector<ConstraintData>& constraintsData,
86 void createModelWithMultipleObjectives(
87 const std::string& modelId,
88 std::vector<Parameter>,
89 const std::vector<VariableData>& variablesData,
90 const std::vector<ConstraintData>& constraintsData,
91 std::vector<Antares::Expressions::Nodes::Node*> objectives);
93 void createModelWithOneFloatVar(
const std::string& modelId,
94 const std::vector<std::string>& parameterIds,
95 const std::string& varId,
98 const std::vector<ConstraintData>& constraintsData,
100 bool time_dependent =
false);
102 void createComponent(
const std::string& modelId,
103 const std::string& componentId,
104 std::map<std::string, ParameterTypeAndValue> parameterValues = {},
105 std::string scenarioGroupId =
"");
110 const std::string& paramId,
112 VariabilityType::CONSTANT_IN_TIME_AND_SCENARIO);
115 const std::string& varId,
118 VariabilityType::CONSTANT_IN_TIME_AND_SCENARIO);
128 void buildLinearProblem(
131 std::vector<std::unique_ptr<Antares::Optimisation::LinearProblemApi::IScenario>>& scenarios);
133 void buildLinearProblem(
136 void buildLinearProblem();
142 modelerData.system = std::make_unique<System>(std::move(system));
143 modelerData.dataSeries = std::make_unique<
149 int componentIndex_ = 0;
Base class for nodes in a syntax tree.
Definition: Node.h:30
SystemBuilder & withId(std::string_view id)
Sets the ID of the system.
Definition: system.cpp:49
SystemBuilder & withComponents(std::vector< Component > &&components)
Sets the components of the system.
Definition: system.cpp:61
System build()
Builds and returns the System object.
Definition: system.cpp:72
Context for filling linear problem data. Contains temporal information.
Definition: ILinearProblemData.h:35
Definition: linearProblemData.h:35
Definition: scenarioGroupRepo.h:12
Definition: VariableNode.h:9
VariabilityType
Represents the time and scenario variation of a value.
Definition: variabilityType.h:29
Definition: inmemory-modeler.h:57
Definition: inmemory-modeler.h:63
Definition: inmemory-modeler.h:47