22 #define WIN32_LEAN_AND_MEAN
25 #include "antares/io/outputs/SimulationTableCsv.h"
26 #include "antares/solver/simulation/ISimulationObserver.h"
27 #include "antares/solver/simulation/economy.h"
28 #include "antares/solver/simulation/simulation.h"
29 #include "antares/study/scenario-builder/rules.h"
30 #include "antares/study/scenario-builder/sets.h"
31 #include "antares/study/study.h"
33 using namespace Antares::Solver;
34 using namespace Antares::Solver::Simulation;
35 using namespace Antares::Data::ScenarioBuilder;
38 void configureLinkCapacities(
AreaLink* link);
75 std::shared_ptr<ThermalCluster> cluster_ =
nullptr;
86 constraint(std::make_shared<Antares::Data::ShortTermStorage::AdditionalConstraints>())
92 constraint->name = name;
98 constraint->variable = variable;
104 constraint->operatorType = operatorType;
110 for (
const auto& hourSet: hourSets)
112 constraint->constraints.push_back(
113 {.hours = hourSet, .globalIndex = 0, .localIndex = 0});
118 std::shared_ptr<Antares::Data::ShortTermStorage::AdditionalConstraints> build()
120 storage.additionalConstraints.push_back(std::move(constraint));
122 constraint = std::make_shared<Antares::Data::ShortTermStorage::AdditionalConstraints>();
123 return storage.additionalConstraints.back();
128 std::shared_ptr<Antares::Data::ShortTermStorage::AdditionalConstraints> constraint;
154 return constraintConfig;
162 std::shared_ptr<ThermalCluster> addClusterToArea(
Area* area,
const std::string& clusterName);
165 const std::string& stsName);
182 return averageResults_.hourly.data();
185 double hour(
unsigned hour)
187 return averageResults_.hourly[hour];
192 return averageResults_.daily.data();
195 double day(
unsigned day)
197 return averageResults_.daily[day];
202 return averageResults_.weekly.data();
205 double week(
unsigned week)
207 return averageResults_.weekly[week];
218 simulation_(simulation)
232 template<
class VCard>
235 template<
class VCard>
238 template<
class VCard>
245 template<
class VCard>
249 simulation_.variables.retrieveResultsForArea<VCard>(&result, area);
253 template<
class VCard>
257 simulation_.variables.retrieveResultsForLink<VCard>(&result, link);
261 template<
class VCard>
266 simulation_.variables.retrieveResultsForThermalCluster<VCard>(&result, cluster);
282 return rules_->binding_constraints;
287 return rules_->hydro;
291 std::vector<ShortTermAdditionalConstraintsTSNumberData>& stsAdditionalConstraints()
293 return rules_->shortTermStorageAdditionalConstraints;
314 double Xmin = std::numeric_limits<double>::quiet_NaN();
315 double Xmax = std::numeric_limits<double>::quiet_NaN();
316 double objectiveCoefficient = std::numeric_limits<double>::quiet_NaN();
321 double rhs = std::numeric_limits<double>::quiet_NaN();
322 std::map<std::string, double> coefficients;
328 std::map<std::string, Variable> variables;
329 std::map<std::string, Constraint> constraints;
332 std::map<std::pair<int, std::string>,
SingleProblem> problems;
335 int optimizationNumber,
336 std::string_view name)
override;
371 std::shared_ptr<ISimulation<Economy>> simulation_;
387 void simulationBetweenDays(
const unsigned firstDay,
const unsigned lastDay);
388 Area* addAreaToStudy(
const std::string& areaName);
389 void setNumberMCyears(
unsigned nbYears);
390 void playOnlyYear(
unsigned year);
391 void giveWeightToYear(
float weight,
unsigned year);
394 std::unique_ptr<Data::Study> study;
398 std::shared_ptr<Antares::Data::BindingConstraint> addBindingConstraints(
Antares::Data::Study& study,
Definition of a link between two areas (Interconnection)
Definition: links.h:58
Definition for a single area.
Definition: area.h:51
Definition: BindingConstraintsTSNumbersData.h:32
std::shared_ptr< Rules > Ptr
Smart pointer.
Definition: rules.h:53
Definition: HydroTSNumberData.h:29
Definition: LoadTSNumberData.h:29
A single thermal cluster.
Definition: cluster.h:76
This class is used to represent the generic time series.
Definition: series.h:65
A n-by-n matrix.
Definition: matrix.h:44
Definition: i_writer.h:53
The ISimulationObserver class is an interface for observing the simulation.
Definition: ISimulationObserver.h:36
Definition: averagedata.h:32
Definition: DurationCollector.h:36
Definition: in-memory-study.h:215
Definition: in-memory-study.h:271
Command line settings for launching the simulation.
Definition: options.h:36
Definition: in-memory-study.h:80
Definition: in-memory-study.h:133
Definition: in-memory-study.h:340
Definition: in-memory-study.h:305
Definition: in-memory-study.h:64
Definition: in-memory-study.h:173
VariableAccessor< typename VCardT::ResultsType, VCardT::columnCount >::Type ResultsType
The true type used for the results.
Definition: info.h:760
Definition: sim_structure_probleme_economique.h:403
Definition: in-memory-study.h:384
Definition: in-memory-study.h:320
Definition: in-memory-study.h:327
Definition: in-memory-study.h:308