21#ifndef __ANTARES_LIBS_STUDY_FWD_H__
22#define __ANTARES_LIBS_STUDY_FWD_H__
27#include <yuni/core/string.h>
29#include "antares/antares/antares.h"
30#include "antares/antares/constants.h"
40class StudyLoadOptions;
46class RenewableCluster;
52class BindingConstraint;
53class BindingConstraintsRepository;
55class StudyRuntimeInfos;
62using AreaName = Yuni::CString<ant_k_area_name_max_length, false>;
64using AreaLinkName = Yuni::CString<ant_k_area_name_max_length * 2 + 1, false>;
66using ClusterName = std::string;
68using ConstraintName = Yuni::CString<ant_k_constraint_name_max_length, false>;
70using RulesScenarioName = Yuni::CString<64, false>;
73using AreaNameMapping = std::map<AreaName, AreaName>;
82 stErrHourOutOfBounds = 1,
84 stErrFinalHourMustBeAMultipleOf168,
86 stErrInvalidDayOfWeek,
90 stErrTooMuchInterconnections,
92 stErrTooMuchBindingConstraints,
99enum class SimulationMode
114enum SimplexOptimization
125enum class GlobalTransmissionCapacities
128 localValuesForAllLinks = 0,
135 nullForPhysicalLinks,
138 infiniteForPhysicalLinks
141std::string GlobalTransmissionCapacitiesToString(
142 GlobalTransmissionCapacities transmissionCapacities);
143std::string GlobalTransmissionCapacitiesToString_Display(
144 GlobalTransmissionCapacities transmissionCapacities);
145bool stringToGlobalTransmissionCapacities(
const AnyString& value,
146 GlobalTransmissionCapacities& out);
151enum class LocalTransmissionCapacities
158std::string transmissionCapacitiesToString(
const LocalTransmissionCapacities& tc);
178std::string assetTypeToString(
const AssetType& assetType);
196std::string styleToString(
const StyleType& style);
203static const unsigned int timeSeriesCount = 7;
205enum TimeSeriesType :
unsigned int
214 timeSeriesThermal = 8,
216 timeSeriesSolar = 16,
218 timeSeriesRenewable = 32,
220 timeSeriesTransmissionCapacities = 64,
289 static const char* Value()
298 static const char* Value()
307 static const char* Value()
316 static const char* Value()
325 static const char* Value()
334 static const char* Value()
353 seedTimeseriesNumbers,
355 seedUnsuppliedEnergyCosts,
357 seedSpilledEnergyCosts,
369constexpr unsigned antaresSeedDefaultValue = 5489;
371constexpr unsigned antaresSeedIncrement = 1000000;
376const char* SeedToCString(SeedIndex seed);
383const char* SeedToID(SeedIndex seed);
386enum HydroHeuristicPolicy
388 hhpAccommodateRuleCurves = 0,
389 hhpMaximizeGeneration,
393HydroHeuristicPolicy StringToHydroHeuristicPolicy(
const AnyString& text);
395const char* HydroHeuristicPolicyToCString(HydroHeuristicPolicy hhPolicy);
408const char* HydroPricingModeToCString(HydroPricingMode hpm);
413HydroPricingMode StringToHydroPricingMode(
const AnyString& text);
416enum PowerFluctuations
418 lssFreeModulations = 0,
420 lssMinimizeExcursions,
427const char* PowerFluctuationsToCString(PowerFluctuations fluctuations);
432PowerFluctuations StringToPowerFluctuations(
const AnyString& text);
437 shpAccurateShavePeaks,
445const char* SheddingPolicyToCString(SheddingPolicy strategy);
450SheddingPolicy StringToSheddingPolicy(
const AnyString& text);
452enum UnitCommitmentMode
470const char* UnitCommitmentModeToCString(UnitCommitmentMode ucommitment);
475UnitCommitmentMode StringToUnitCommitmentMode(
const AnyString& text);
477enum NumberOfCoresMode
490const char* NumberOfCoresModeToCString(NumberOfCoresMode ncores);
495NumberOfCoresMode StringToNumberOfCoresMode(
const AnyString& text);
500enum RenewableGenerationModelling
510const char* RenewableGenerationModellingToCString(RenewableGenerationModelling rgModelling);
515RenewableGenerationModelling StringToRenewableGenerationModelling(
const AnyString& text);
520enum class mpsExportStatus :
int
523 EXPORT_FIRST_OPTIM = 1,
524 EXPORT_SECOND_OPTIM = 2,
525 EXPORT_BOTH_OPTIMS = 3,
529std::string mpsExportStatusToString(
const mpsExportStatus& mps_export_status);
530mpsExportStatus stringToMPSexportStatus(
const AnyString& value);
535namespace Antares::Data::ScenarioBuilder
543namespace Benchmarking
545class DurationCollector;