Antares Simulator
Power System Simulator
Loading...
Searching...
No Matches
sim_structure_probleme_economique.h
1/*
2** Copyright 2007-2024, RTE (https://www.rte-france.com)
3** See AUTHORS.txt
4** SPDX-License-Identifier: MPL-2.0
5** This file is part of Antares-Simulator,
6** Adequacy and Performance assessment for interconnected energy networks.
7**
8** Antares_Simulator is free software: you can redistribute it and/or modify
9** it under the terms of the Mozilla Public Licence 2.0 as published by
10** the Mozilla Foundation, either version 2 of the License, or
11** (at your option) any later version.
12**
13** Antares_Simulator is distributed in the hope that it will be useful,
14** but WITHOUT ANY WARRANTY; without even the implied warranty of
15** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16** Mozilla Public Licence 2.0 for more details.
17**
18** You should have received a copy of the Mozilla Public Licence 2.0
19** along with Antares_Simulator. If not, see <https://opensource.org/license/mpl-2-0/>.
20*/
21
22#ifndef __SOLVER_SIMULATION_ECO_STRUCTS_H__
23#define __SOLVER_SIMULATION_ECO_STRUCTS_H__
24
25#include <memory>
26#include <vector>
27
28#include "antares/solver/optimisation/opt_structure_probleme_a_resoudre.h"
29#include "antares/solver/utils/optimization_statistics.h"
30#include "antares/study/fwd.h"
31#include "antares/study/study.h"
32
34
36{
37 // Avoid accidental copies
41
42 std::vector<int> NumeroDeVariableDeLInterconnexion;
43 std::vector<int> NumeroDeVariableCoutOrigineVersExtremiteDeLInterconnexion;
44 std::vector<int> NumeroDeVariableCoutExtremiteVersOrigineDeLInterconnexion;
45
46 std::vector<int> NumeroDeVariableDuPalierThermique;
47
48 std::vector<int> NumeroDeVariablesDeLaProdHyd;
49
50 std::vector<int> NumeroDeVariablesDePompage;
51 std::vector<int> NumeroDeVariablesDeNiveau;
52 std::vector<int> NumeroDeVariablesDeDebordement;
53
54 std::vector<int> NumeroDeVariableDefaillancePositive;
55
56 std::vector<int> NumeroDeVariableDefaillanceNegative;
57
58 std::vector<int> NumeroDeVariablesVariationHydALaBaisse;
59
60 std::vector<int> NumeroDeVariablesVariationHydALaHausse;
61
62 std::vector<int> NumeroDeVariableDuNombreDeGroupesEnMarcheDuPalierThermique;
63 std::vector<int> NumeroDeVariableDuNombreDeGroupesQuiDemarrentDuPalierThermique;
64 std::vector<int> NumeroDeVariableDuNombreDeGroupesQuiSArretentDuPalierThermique;
65 std::vector<int> NumeroDeVariableDuNombreDeGroupesQuiTombentEnPanneDuPalierThermique;
66
67 struct
68 {
69 std::vector<int> InjectionVariable;
70 std::vector<int> WithdrawalVariable;
71 std::vector<int> LevelVariable;
72 std::vector<int> CostVariationInjection;
73 std::vector<int> CostVariationWithdrawal;
74 } SIM_ShortTermStorage;
75};
76
78{
79 // Avoid accidental copies
83
84 std::vector<int> NumeroDeContrainteDesBilansPays;
85 std::vector<int> NumeroDeContraintePourEviterLesChargesFictives;
86
87 std::vector<int> NumeroPremiereContrainteDeReserveParZone;
88 std::vector<int> NumeroDeuxiemeContrainteDeReserveParZone;
89
90 std::vector<int> NumeroDeContrainteDeDissociationDeFlux;
91 std::vector<int> NumeroDeContrainteDesContraintesCouplantes;
92
93 std::vector<int> NumeroDeContrainteDesContraintesDeDureeMinDeMarche;
94 std::vector<int> NumeroDeContrainteDesContraintesDeDureeMinDArret;
95 std::vector<int> NumeroDeLaDeuxiemeContrainteDesContraintesDesGroupesQuiTombentEnPanne;
96
97 std::vector<int> NumeroDeContrainteDesNiveauxPays;
98
99 std::vector<int> ShortTermStorageLevelConstraint;
104};
105
107{
108 std::vector<int> NumeroDeContrainteDesContraintesCouplantes;
109};
110
112{
113 std::vector<int> NumeroDeContrainteDesContraintesCouplantes;
114 std::vector<int> ShortTermStorageCumulation;
115};
116
118{
119 std::vector<double> ValeurDeNTCOrigineVersExtremite;
120 std::vector<double> ValeurDeNTCExtremiteVersOrigine;
121 std::vector<double> ValeurDeLoopFlowOrigineVersExtremite;
122 std::vector<double> ValeurDuFlux;
123
124 std::vector<double> ResistanceApparente;
125};
126
128{
129 double* TransferBoundMarketEdge;
130 double* TransferLevelMarketEdge;
131};
132
134{
135 double* TransferBoundFlexUpEdge;
136 double* TransferLevelFlexUpEdge;
137};
138
140{
141 double* TransferBoundFlexDownEdge;
142 double* TransferLevelFlexDownEdge;
143};
144
146{
147 char TypeDeContrainteCouplante;
148 char SensDeLaContrainteCouplante;
149
150 std::vector<double> SecondMembreDeLaContrainteCouplante;
151
152 int NombreDElementsDansLaContrainteCouplante;
153 int NombreDInterconnexionsDansLaContrainteCouplante;
154
155 std::vector<double> PoidsDeLInterconnexion;
156 std::vector<int> NumeroDeLInterconnexion;
157 std::vector<int> OffsetTemporelSurLInterco;
158
159 int NombreDePaliersDispatchDansLaContrainteCouplante;
160
161 std::vector<double> PoidsDuPalierDispatch;
162 std::vector<int> PaysDuPalierDispatch;
163 std::vector<int> NumeroDuPalierDispatch;
164 std::vector<int> OffsetTemporelSurLePalierDispatch;
165
166 const char* NomDeLaContrainteCouplante;
167
168 std::shared_ptr<Data::BindingConstraint> bindingConstraint;
169};
170
171namespace ShortTermStorage
172{
174{
175 double reservoirCapacity;
176 double injectionNominalCapacity;
177 double withdrawalNominalCapacity;
178 double injectionEfficiency;
179 double withdrawalEfficiency;
180 double initialLevel;
181 bool initialLevelOptim;
182 bool penalizeVariationWithdrawal;
183 bool penalizeVariationInjection;
184
185 std::shared_ptr<Antares::Data::ShortTermStorage::Series> series;
186 std::vector<Antares::Data::ShortTermStorage::AdditionalConstraints> additionalConstraints;
187 int clusterGlobalIndex;
188 std::string name;
189};
190
191using AREA_INPUT = std::vector<::ShortTermStorage::PROPERTIES>; // index is local
192
194{
195 // Index is the number of the STS in the area
196 std::vector<double> level; // MWh
197 std::vector<double> injection; // MWh
198 std::vector<double> withdrawal; // MWh
199};
200} // namespace ShortTermStorage
201
203{
204 double* TotalDemandOfMarketPool;
205};
206
208{
209 double* FosteredDemandOfFlexUpPool;
210};
211
213{
214 double* FosteredDemandOfFlexDownPool;
215};
216
218{
219 double* BoundFlexUpNode;
220};
221
223{
224 double* BoundFlexDownNode;
225};
226
228{
229 double* LevelFlexUpNode;
230};
231
233{
234 double* LevelFlexDownNode;
235};
236
238{
239 std::vector<double> ConsommationAbattueDuPays;
240};
241
243{
244 std::vector<double> AllMustRunGenerationOfArea;
245};
246
248{
249 std::vector<double> SoldeMoyenDuPays;
250};
251
253{
254 std::vector<double> PuissanceDisponibleDuPalierThermique;
255 std::vector<double> PuissanceDisponibleDuPalierThermiqueRef;
256
257 std::vector<double> PuissanceMinDuPalierThermique;
258 std::vector<double> PuissanceMinDuPalierThermiqueRef;
259
260 std::vector<double> CoutHoraireDeProductionDuPalierThermique;
261
262 std::vector<int> NombreMaxDeGroupesEnMarcheDuPalierThermique;
263 std::vector<int> NombreMinDeGroupesEnMarcheDuPalierThermique;
264};
265
267{
268 int NombreDePaliersThermiques;
269
270 std::vector<int> minUpDownTime;
271
272 std::vector<double> TailleUnitaireDUnGroupeDuPalierThermique;
273 std::vector<double> PminDuPalierThermiquePendantUneHeure;
274 std::vector<double> PminDuPalierThermiquePendantUnJour;
275 std::vector<int> NumeroDuPalierDansLEnsembleDesPaliersThermiques;
276 std::vector<PDISP_ET_COUTS_HORAIRES_PAR_PALIER> PuissanceDisponibleEtCout;
277
278 std::vector<double> CoutDeDemarrageDUnGroupeDuPalierThermique;
279 std::vector<double> CoutDArretDUnGroupeDuPalierThermique;
280 std::vector<double> CoutFixeDeMarcheDUnGroupeDuPalierThermique;
281 std::vector<double> pminDUnGroupeDuPalierThermique;
282 std::vector<double> PmaxDUnGroupeDuPalierThermique;
283 std::vector<int> DureeMinimaleDeMarcheDUnGroupeDuPalierThermique;
284 std::vector<int> DureeMinimaleDArretDUnGroupeDuPalierThermique;
285 std::vector<std::string> NomsDesPaliersThermiques;
286};
287
289{
290 std::vector<double> MinEnergieHydrauParIntervalleOptimise;
291 std::vector<double> MaxEnergieHydrauParIntervalleOptimise;
292
293 std::vector<double> CntEnergieH2OParIntervalleOptimise;
294 std::vector<double> CntEnergieH2OParJour;
295
296 std::vector<double> ContrainteDePmaxHydrauliqueHoraire;
297 std::vector<double> ContrainteDePmaxHydrauliqueHoraireRef;
298
299 std::vector<double> MaxEnergiePompageParIntervalleOptimise;
300 std::vector<double> ContrainteDePmaxPompageHoraire;
301
302 double MaxDesPmaxHydrauliques;
303
304 bool PresenceDePompageModulable;
305 bool PresenceDHydrauliqueModulable;
306
307 double PenalisationDeLaVariationDeProductionHydrauliqueSurSommeDesVariations;
308 double PenalisationDeLaVariationDeProductionHydrauliqueSurVariationMax;
309
310 double WeeklyWaterValueStateRegular;
311
312 bool TurbinageEntreBornes;
313 bool SansHeuristique;
314 bool SuiviNiveauHoraire;
315
316 std::vector<double> NiveauHoraireSup;
317 std::vector<double> NiveauHoraireInf;
318
319 std::vector<double> ApportNaturelHoraire;
320 std::vector<double> MingenHoraire; /*Minimum Hourly Hydro-Storage Generation*/
321 double NiveauInitialReservoir;
322 double TailleReservoir;
323 double PumpingRatio;
324
325 double WeeklyGeneratingModulation;
326 double WeeklyPumpingModulation;
327 bool DirectLevelAccess; /* determines the type of constraints bearing on the final stok level*/
328 bool AccurateWaterValue; /* determines the type of modelling used for water budget*/
329 double LevelForTimeInterval; /* value computed by the simulator in water-value based modes*/
330 std::vector<double> WaterLayerValues; /* reference costs for the last time step (caution :
331 dimension set to 100, should be made dynamic)*/
332 std::vector<double> InflowForTimeInterval; /* Energy input to the reservoir, used to in the
333 bounding constraint on final level*/
334};
335
337{
338 std::vector<double> ReserveHoraireJMoins1;
339};
340
342{
343 std::vector<double> ProductionThermiqueDuPalier;
344
345 std::vector<double> NombreDeGroupesEnMarcheDuPalier;
346 std::vector<double> NombreDeGroupesQuiDemarrentDuPalier;
347
348 std::vector<double> NombreDeGroupesQuiSArretentDuPalier;
349
350 std::vector<double> NombreDeGroupesQuiTombentEnPanneDuPalier;
351};
352
354{
355 std::vector<double> ValeursHorairesDeDefaillancePositive;
356 std::vector<double> ValeursHorairesDeDefaillancePositiveCSR;
357 std::vector<double> ValeursHorairesDENS; // adq patch domestic unsupplied energy
358 std::vector<int> ValeursHorairesLmrViolations; // adq patch lmr violations
359 std::vector<double> ValeursHorairesDtgMrgCsr; // adq patch DTG MRG after CSR
360
361 std::vector<double> ValeursHorairesDeDefaillanceNegative;
362
363 std::vector<double> PompageHoraire;
364 std::vector<double> TurbinageHoraire;
365
366 std::vector<double> niveauxHoraires;
367 std::vector<double> valeurH2oHoraire;
368
369 std::vector<double> debordementsHoraires;
370
371 std::vector<double> CoutsMarginauxHoraires;
372 std::vector<double> CoutsMarginauxHorairesCSR;
373 std::vector<PRODUCTION_THERMIQUE_OPTIMALE> ProductionThermique; // index is pdtHebdo
374
375 std::vector<::ShortTermStorage::RESULTS> ShortTermStorage;
376};
377
379{
380 bool IntercoGereeAvecDesCouts;
381 bool IntercoGereeAvecLoopFlow;
382 std::vector<double> CoutDeTransportOrigineVersExtremite;
383 std::vector<double> CoutDeTransportExtremiteVersOrigine;
384
385 std::vector<double> CoutDeTransportOrigineVersExtremiteRef;
386 std::vector<double> CoutDeTransportExtremiteVersOrigineRef;
387};
388
390{
391 long solveTime = 0;
392 long updateTime = 0;
393};
394
395using TIME_MEASURES = std::array<TIME_MEASURE, 2>;
396
398{
399 std::vector<double> VariableDualeParInterconnexion;
400};
401
403{
404 uint32_t weekInTheYear = 0;
405 uint32_t year = 0;
406
407 /* Business problem */
408 bool OptimisationAuPasHebdomadaire = false;
409 char TypeDeLissageHydraulique = PAS_DE_LISSAGE_HYDRAULIQUE;
410 bool WaterValueAccurate = false;
411 bool OptimisationAvecCoutsDeDemarrage = false;
412 bool OptimisationAvecVariablesEntieres = false;
413 uint32_t NombreDePays = 0;
414 std::vector<const char*> NomsDesPays;
415 uint32_t NombreDePaliersThermiques = 0;
416
417 uint32_t NombreDInterconnexions = 0;
418 std::vector<int> PaysOrigineDeLInterconnexion;
419 std::vector<int> PaysExtremiteDeLInterconnexion;
420 std::vector<COUTS_DE_TRANSPORT> CoutDeTransport;
421
422 std::vector<VALEURS_DE_NTC_ET_RESISTANCES> ValeursDeNTC;
423
424 uint32_t NombreDePasDeTemps = 0;
425 std::vector<int32_t> NumeroDeJourDuPasDeTemps;
426
427 // TODO use uint32_t and figure why tests fails
428 int32_t NombreDePasDeTempsPourUneOptimisation = 0;
429 std::vector<int32_t> NumeroDIntervalleOptimiseDuPasDeTemps;
430 uint32_t NombreDeJours = 0;
431
432 // TODO same as NombreDePasDeTemps
433 int32_t NombreDePasDeTempsDUneJournee = 0;
434
435 std::vector<CONSOMMATIONS_ABATTUES> ConsommationsAbattues;
436
437 std::vector<double> CoutDeDefaillancePositive;
438 std::vector<double> CoutDeDefaillanceNegative;
439
440 std::vector<double> CoutDeDebordement;
441
442 std::vector<PALIERS_THERMIQUES> PaliersThermiquesDuPays;
443 std::vector<ENERGIES_ET_PUISSANCES_HYDRAULIQUES> CaracteristiquesHydrauliques;
444
445 uint32_t NumberOfShortTermStorages = 0;
446 // problemeHebdo->ShortTermStorage[areaIndex][clusterIndex].capacity;
447 std::vector<::ShortTermStorage::AREA_INPUT> ShortTermStorage;
448
449 /* Optimization problem */
450 std::vector<bool> DefaillanceNegativeUtiliserPMinThermique;
451 std::vector<bool> DefaillanceNegativeUtiliserHydro;
452 std::vector<bool> DefaillanceNegativeUtiliserConsoAbattue;
453
454 char TypeDOptimisation = OPTIMISATION_LINEAIRE; // OPTIMISATION_LINEAIRE or
455 // OPTIMISATION_QUADRATIQUE
456 std::vector<std::vector<double>> BruitSurCoutHydraulique;
457
458 uint32_t NombreDeContraintesCouplantes = 0;
459 std::vector<CONTRAINTES_COUPLANTES> MatriceDesContraintesCouplantes;
460 std::unordered_map<std::shared_ptr<Data::BindingConstraint>, std::vector<double>>
461 ResultatsContraintesCouplantes;
462
463 std::vector<SOLDE_MOYEN_DES_ECHANGES> SoldeMoyenHoraire; // Used for quadratic opt
464 /* Implementation details : I/O, error management, etc. */
465 bool ReinitOptimisation = false;
466
467 Data::mpsExportStatus ExportMPS = Data::mpsExportStatus::NO_EXPORT;
468 bool exportMPSOnError = false;
469 bool ExportStructure = false;
470 bool NamedProblems = false;
471 bool exportSolutions = false;
472
473 uint32_t HeureDansLAnnee = 0;
474 bool LeProblemeADejaEteInstancie = false;
475 bool firstWeekOfSimulation = false;
476
477 std::vector<CORRESPONDANCES_DES_VARIABLES> CorrespondanceVarNativesVarOptim;
478 std::vector<CORRESPONDANCES_DES_CONTRAINTES> CorrespondanceCntNativesCntOptim;
479 std::vector<CORRESPONDANCES_DES_CONTRAINTES_JOURNALIERES>
480 CorrespondanceCntNativesCntOptimJournalieres;
481 CORRESPONDANCES_DES_CONTRAINTES_HEBDOMADAIRES CorrespondanceCntNativesCntOptimHebdomadaires;
482
483 std::vector<RESERVE_JMOINS1> ReserveJMoins1;
484
485 std::vector<int> IndexDebutIntercoOrigine;
486 std::vector<int> IndexSuivantIntercoOrigine;
487 std::vector<int> IndexDebutIntercoExtremite;
488 std::vector<int> IndexSuivantIntercoExtremite;
489
490 bool Expansion = false;
491
492 std::vector<int> NumeroDeContrainteEnergieHydraulique;
493 std::vector<int> NumeroDeContrainteMinEnergieHydraulique;
494 std::vector<int> NumeroDeContrainteMaxEnergieHydraulique;
495 std::vector<int> NumeroDeContrainteMaxPompage;
496 std::vector<int> NumeroDeContrainteDeSoldeDEchange;
497
498 std::vector<int> NumeroDeContrainteEquivalenceStockFinal;
499 std::vector<int> NumeroDeContrainteExpressionStockFinal;
500
501 std::vector<int> NumeroDeVariableStockFinal;
502 std::vector<std::vector<int>> NumeroDeVariableDeTrancheDeStock;
503
504 bool YaDeLaReserveJmoins1 = false;
505
506 std::vector<ALL_MUST_RUN_GENERATION> AllMustRunGeneration;
507
508 OptimizationStatistics optimizationStatistics[2];
509
510 /* Adequacy Patch */
511 std::shared_ptr<AdequacyPatchRuntimeData> adequacyPatchRuntimeData;
512
513 /* Hydro management */
514 std::vector<double> CoefficientEcretementPMaxHydraulique;
515 std::vector<double> previousSimulationFinalLevel;
516
517 /* Results */
518 std::vector<RESULTATS_HORAIRES> ResultatsHoraires;
519 std::vector<VARIABLES_DUALES_INTERCONNEXIONS> VariablesDualesDesContraintesDeNTC;
520
521 std::vector<double> coutOptimalSolution1;
522 std::vector<double> coutOptimalSolution2;
523
524 TIME_MEASURES timeMeasure;
525
526 /* Unused for now, will be used in future revisions */
527#if 0
528 char SecondeOptimisationRelaxee;
529 char MarketPoolActivated;
530 char FlexUpPoolActivated;
531 char FlexDownPoolActivated;
532 char ImpressionDuCritere;
533 char UnitCommitmentExact;
534 char BorneDeLaDefaillancePositive;
535
536 int NumberOfMarketOfferPool;
537 int NumberOfMarketDemandPool;
538 int NumberOfFlexUpOfferPool;
539 int NumberOfFlexUpDemandPool;
540 int NumberOfFlexDownOfferPool;
541 int NumberOfFlexDownDemandPool;
542
543 int** IsInMarketOfferPool;
544 int** IsInMarketDemandPool;
545 int** IsInFlexUpOfferPool;
546 int** IsInFlexUpDemandPool;
547 int** IsInFlexDownOfferPool;
548 int** IsInFlexDownDemandPool;
549
550 int NumberOfMarketEdge;
551 int* OfferPoolOfMarketEdge;
552 int* DemandPoolOfMarketEdge;
553
554 int* IndexFirstMarketEdgeOffer;
555 int* IndexNextMarketEdgeOffer;
556 int* IndexFirstMarketEdgeDemand;
557 int* IndexNextMarketEdgeDemand;
558
559 int NumberOfFlexUpEdge;
560 int* OfferPoolOfFlexUpEdge;
561 int* DemandPoolOfFlexUpEdge;
562
563 int* IndexFirstFlexUpEdgeOffer;
564 int* IndexNextFlexUpEdgeOffer;
565 int* IndexFirstFlexUpEdgeDemand;
566 int* IndexNextFlexUpEdgeDemand;
567
568 int NumberOfFlexDownEdge;
569 int* OfferPoolOfFlexDownEdge;
570 int* DemandPoolOfFlexDownEdge;
571
572 int* IndexFirstFlexDownEdgeOffer;
573 int* IndexNextFlexDownEdgeOffer;
574 int* IndexFirstFlexDownEdgeDemand;
575 int* IndexNextFlexDownEdgeDemand;
576
577 double** MarketPoolQuota;
578
579 double** FlexUpPoolQuota;
580
581 double** FlexDownPoolQuota;
582
583 TRANSFER_BOUND_AND_LEVEL_MARKET_EDGE** DataMarketEdges;
585 TRANSFER_BOUND_AND_LEVEL_FLEX_DOWN_EDGE** DataFlexDownEdges;
586
587 DEMAND_MARKET_POOL** DemandMarketPool;
588 DEMAND_FLEX_UP_POOL** DemandFlexUpPool;
589 DEMAND_FLEX_DOWN_POOL** DemandFlexDownPool;
590 BOUND_FLEX_UP_NODE** BoundFlexUpNode;
591 BOUND_FLEX_DOWN_NODE** BoundFlexDownNode;
592 LEVEL_FLEX_UP_NODE** LevelFlexUpNode;
593 LEVEL_FLEX_DOWN_NODE** LevelFlexDownNode;
594
595 int* MarketOfferPoolOfNode;
596 int* MarketDemandPoolOfNode;
597 int* FlexUpOfferPoolOfNode;
598 int* FlexUpDemandPoolOfNode;
599 int* FlexDownOfferPoolOfNode;
600 int* FlexDownDemandPoolOfNode;
601#endif
602
603public:
604 /* Unknown status */
605 std::vector<int> NbGrpCourbeGuide; // ?
606 std::vector<int> NbGrpOpt; // ?
607
608 std::unique_ptr<PROBLEME_ANTARES_A_RESOUDRE> ProblemeAResoudre;
609
610 double maxPminThermiqueByDay[366];
611};
612#endif
Definition adequacy_patch_runtime_data.h:32
Definition optimization_statistics.h:29
Definition ShortTermStorageCostVariation.h:49
Definition ShortTermStorageCostVariation.h:63
Definition ShortTermStorageCostVariation.h:77
Definition ShortTermStorageCostVariation.h:91
Definition ShortTermStorageCumulation.h:26
Definition sim_structure_probleme_economique.h:243
Definition sim_structure_probleme_economique.h:223
Definition sim_structure_probleme_economique.h:218
Definition sim_structure_probleme_economique.h:238
Definition sim_structure_probleme_economique.h:146
Definition sim_structure_probleme_economique.h:112
Definition sim_structure_probleme_economique.h:107
Definition sim_structure_probleme_economique.h:78
Definition sim_structure_probleme_economique.h:36
Definition sim_structure_probleme_economique.h:379
Definition sim_structure_probleme_economique.h:213
Definition sim_structure_probleme_economique.h:208
Definition sim_structure_probleme_economique.h:203
Definition sim_structure_probleme_economique.h:289
Definition sim_structure_probleme_economique.h:233
Definition sim_structure_probleme_economique.h:228
Definition sim_structure_probleme_economique.h:267
Definition sim_structure_probleme_economique.h:253
Definition sim_structure_probleme_economique.h:403
Definition sim_structure_probleme_economique.h:342
Definition sim_structure_probleme_economique.h:337
Definition sim_structure_probleme_economique.h:354
Definition sim_structure_probleme_economique.h:248
Definition sim_structure_probleme_economique.h:174
Definition sim_structure_probleme_economique.h:194
Definition sim_structure_probleme_economique.h:390
Definition sim_structure_probleme_economique.h:140
Definition sim_structure_probleme_economique.h:134
Definition sim_structure_probleme_economique.h:128
Definition sim_structure_probleme_economique.h:118
Definition sim_structure_probleme_economique.h:398