21#ifndef __SOLVER_VARIABLE_STATE_H__
22#define __SOLVER_VARIABLE_STATE_H__
29#include <antares/study/area/scratchpad.h>
30#include <antares/study/fwd.h>
31#include "antares/solver/simulation/sim_structure_donnees.h"
32#include "antares/solver/simulation/sim_structure_probleme_economique.h"
34namespace Antares::Solver::Variable
44 void initializeFromArea(
const Data::Area& area);
59 std::vector<unsigned int> unitCountLastHour;
60 std::vector<double> productionLastHour;
61 std::vector<double> pminOfAGroup;
67 std::vector<StateForAnArea> thermal;
111 void initFromThermalClusterIndexProduction(
const unsigned int clusterEnabledIndex);
113 void yearEndBuildThermalClusterCalculateStartupCosts(
114 const uint& maxDurationON,
115 const std::array<uint, HOURS_PER_YEAR>& ON_min,
116 const std::array<uint, HOURS_PER_YEAR>& ON_opt,
119 std::array<uint, HOURS_PER_YEAR> computeEconomicallyOptimalNbClustersONforEachHour(
120 const uint& maxDurationON,
121 const std::array<uint, HOURS_PER_YEAR>& ON_min,
122 const std::array<uint, HOURS_PER_YEAR>& ON_max)
const;
130 void yearEndSmoothDispatchedUnitsCount(
const unsigned int clusterEnabledIndex, uint
numSpace);
194 double renewableClusterProduction;
225 double annualSystemCost = 0.;
Definition of a link between two areas (Interconnection)
Definition links.h:50
A list of areas.
Definition area.h:366
Scratchpad for temporary data performed by the solver.
Definition scratchpad.h:43
Definition for a single area.
Definition area.h:52
A single thermal cluster.
Definition cluster.h:78
A n-by-n matrix.
Definition jit.h:30
Data::Area * area
The current area.
Definition state.h:155
Data::AreaLink * link
The current link.
Definition state.h:165
double optimalSolutionCost1
Sum of the weekly optimal costs over the year (first optimisation step)
Definition state.h:227
double thermalClusterPMinOfTheClusterForYear[HOURS_PER_YEAR]
Minimum power of the cluster for the whole year.
Definition state.h:192
double averageOptimizationTime2
Average time spent in second optimization over the year (ms)
Definition state.h:233
double thermalClusterOperatingCostForYear[HOURS_PER_YEAR]
Thermal operating cost for the current thermal cluster for the whole year.
Definition state.h:188
void initFromAreaIndex(const unsigned int areaIndex, uint numSpace)
Initialize some variables according an area index.
Definition state.hxx:66
void yearEndBuildFromThermalClusterIndex(const unsigned int clusterEnabledIndex)
End the year by smoothing the thermal units run and computing costs. We assume here that the variable...
Definition state.cpp:228
void startANewYear()
Reset internal data.
Definition state.hxx:30
double averageUpdateTime
Average time spent updating the problem over the year (ms)
Definition state.h:235
PROBLEME_HEBDO * problemeHebdo
Probleme Hebdo.
Definition state.h:201
Data::UnitCommitmentMode unitCommitmentMode
Study unit commitment mode: fast(ucHeuristic) / accurate(ucMILP)
Definition state.h:206
double thermalClusterProductionForYear[HOURS_PER_YEAR]
Thermal production for the current thermal cluster for the whole year.
Definition state.h:182
Data::Study & study
Reference to the original study.
Definition state.h:208
const double * dispatchableMargin
Dispatchable margin for the current area (valid only from weekForEachArea)
Definition state.h:197
VALEURS_DE_NTC_ET_RESISTANCES ntc
NTC Values.
Definition state.h:179
Matrix resSpilled
Spilled energy for all areas in the week.
Definition state.h:172
Data::ThermalCluster * thermalCluster
The current thermal cluster (used in yearEndBuildForEachThermalCluster functions)
Definition state.h:158
void yearEndResetThermal()
Reset thermal internal data for end of year calculations.
Definition state.hxx:53
Data::RenewableCluster * renewableCluster
The current renewable cluster.
Definition state.h:161
unsigned int hourInTheWeek
Current hour in the week (zero-based)
Definition state.h:150
unsigned int hourInTheSimulation
Current hour from the begining of the simulation.
Definition state.h:152
uint thermalClusterDispatchedUnitsCountForYear[HOURS_PER_YEAR]
Definition state.h:185
unsigned int year
Current year.
Definition state.h:144
double optimalSolutionCost2
Sum of the weekly optimal costs over the year (second optimisation step)
Definition state.h:229
double thermalClusterNonProportionalCostForYear[HOURS_PER_YEAR]
Thermal NP Cost for the current thermal cluster for the whole year.
Definition state.h:190
unsigned int weekInTheYear
Current week for current year (zero-based)
Definition state.h:146
Data::SimulationMode simulationMode
Simulation mode: economy / adequacy / expansion.
Definition state.h:204
void initFromThermalClusterIndex(const unsigned int clusterEnabledIndex)
Initialize some variable according a thermal cluster index.
Definition state.cpp:68
unsigned int numSpace
Index of the state in the state vector.
Definition state.h:212
bool simplexRunNeeded
Flag to know if the simplex has been used for the current week.
Definition state.h:216
double averageOptimizationTime1
Average time spent in first optimization over the year (ms)
Definition state.h:231
unsigned int hourInTheYear
Current hour in the year (zero-based)
Definition state.h:148
Data::AreaScratchpad * scratchpad
The Scratchpad for the current area.
Definition state.h:163
std::vector< double > thermalClustersOperatingCost
Definition state.h:50
std::vector< uint > numberOfUnitsONbyCluster
Definition state.h:54
std::vector< double > thermalClustersProductions
Thermal production for thermal clusters for the current hour in the year.
Definition state.h:46
std::vector< double > PMinOfClusters
Minimum power of all clusters for the current hour in the year.
Definition state.h:57
Definition sim_structure_probleme_economique.h:403
Definition sim_structure_probleme_economique.h:354
Definition sim_structure_probleme_economique.h:118