28 #include <antares/logs/logs.h>
29 #include <antares/study/parameters/adq-patch-params.h>
30 #include "antares/solver/optimisation/opt_structure_probleme_a_resoudre.h"
32 #include "../variables/VariableManagerUtils.h"
48 inline bool check()
const
52 Antares::logs.warning() <<
"directVar < 0 detected, this should not happen";
56 Antares::logs.warning() <<
"indirectVar < 0 detected, this should not happen";
59 return (directVar >= 0) && (indirectVar >= 0);
75 const Solver::Optimization::OptimizationOptions& solverOptions):
76 solverOptions_(solverOptions),
77 adqPatchParams_(adqPatchParams),
78 variableManager_(p->CorrespondanceVarNativesVarOptim,
79 p->NumeroDeVariableStockFinal,
80 p->NumeroDeVariableDeTrancheDeStock,
81 p->NombreDePasDeTempsPourUneOptimisation),
85 belowThisThresholdSetToZero = std::min(temp, 0.1);
93 inline void setHour(
int hour)
98 void run(
unsigned int week,
unsigned int year);
101 void calculateCsrParameters();
103 void buildProblemVariables();
104 void setVariableBounds();
105 void buildProblemConstraintsLHS();
106 void buildProblemConstraintsRHS();
107 void setProblemCost();
108 void solveProblem(
unsigned int week,
111 void allocateProblem();
114 void constructVariableENS();
115 void constructVariableSpilledEnergy();
116 void constructVariableFlows();
119 void setBoundsOnENS();
120 void setBoundsOnSpilledEnergy();
121 void setBoundsOnFlows();
124 void setRHSvalueOnFlows();
125 void setRHSnodeBalanceValue();
126 void setRHSbindingConstraintsValue();
129 void setQuadraticCost();
130 void setLinearCost();
132 const Solver::Optimization::OptimizationOptions& solverOptions_;
136 double belowThisThresholdSetToZero;
137 std::map<int, int> numberOfConstraintCsrAreaBalance;
138 std::set<int> ensVariablesInsideAdqPatch;
139 std::set<int> varToBeSetToZeroIfBelowThreshold;
148 std::map<int, int> numberOfConstraintCsrEns;
149 std::map<int, int> numberOfConstraintCsrFlowDissociation;
150 std::map<int, int> numberOfConstraintCsrHourlyBinding;
153 std::map<int, double> rhsAreaBalanceValues;
156 std::map<int, LinkVariable> linkInsideAdqPatch;
int thresholdVarBoundsRelaxation
CSR Variables relaxation threshold.
Definition: adq-patch-params.h:98
Definition: hourly_csr_problem.h:69
Definition: opt_structure_probleme_a_resoudre.h:35
Definition: VariableManagement.h:12
Definition: adq-patch-params.h:114
Definition: hourly_csr_problem.h:35
Definition: sim_structure_probleme_economique.h:403