24 #include <antares/optimisation/linear-problem-api/linearProblem.h>
25 #include <antares/optimisation/linear-problem-mpsolver-impl/mipConstraint.h>
26 #include <antares/optimisation/linear-problem-mpsolver-impl/mipSolution.h>
28 namespace operations_research
31 class MPSolverParameters;
35 namespace Antares::Optimisation::LinearProblemMpsolverImpl
46 const std::string& name)
override;
50 const std::string& name)
override;
55 const std::string& name)
override;
56 [[nodiscard]]
const std::vector<std::unique_ptr<LinearProblemApi::IMipVariable>>& getVariables()
60 const std::string& name)
const override;
62 [[nodiscard]]
int variableCount()
const override;
66 const std::string& name)
override;
67 [[nodiscard]]
const std::vector<std::unique_ptr<LinearProblemApi::IMipConstraint>>&
68 getConstraints()
const override;
71 const std::string& name)
const override;
72 [[nodiscard]]
int constraintCount()
const override;
103 [[nodiscard]]
bool isMinimization()
const override;
104 [[nodiscard]]
bool isMaximization()
const override;
114 double objectiveValue()
const override;
116 [[nodiscard]]
double infinity()
const override;
117 [[nodiscard]]
bool isLP()
const override;
122 [[nodiscard]] operations_research::MPSolver* MpSolver()
const;
125 operations_research::MPSolver* mpSolver_{
nullptr};
126 operations_research::MPObjective* objective_{
nullptr};
127 operations_research::MPSolverParameters params_;
129 std::vector<std::unique_ptr<LinearProblemApi::IMipVariable>> variables_;
130 std::vector<std::unique_ptr<LinearProblemApi::IMipConstraint>> constraints_;
132 std::unique_ptr<OrtoolsMipSolution> solution_;
Definition: linearProblem.h:41
Definition: mipConstraint.h:30
Definition: mipVariable.h:32