1 #ifndef __RMOL_SVC_RMOL_SERVICE_HPP 2 #define __RMOL_SVC_RMOL_SERVICE_HPP 10 #include <stdair/stdair_basic_types.hpp> 11 #include <stdair/stdair_inventory_types.hpp> 12 #include <stdair/stdair_service_types.hpp> 13 #include <stdair/stdair_maths_types.hpp> 14 #include <stdair/basic/UnconstrainingMethod.hpp> 15 #include <stdair/basic/ForecastingMethod.hpp> 16 #include <stdair/basic/PreOptimisationMethod.hpp> 17 #include <stdair/basic/OptimisationMethod.hpp> 18 #include <stdair/basic/PartnershipTechnique.hpp> 29 class AirlineClassList;
39 class RMOL_ServiceContext;
62 RMOL_Service (
const stdair::BasLogParams&,
const stdair::BasDBParams&);
117 void parseAndLoad (
const stdair::CabinCapacity_T& iCabinCapacity,
118 const stdair::Filename_T& iDemandAndClassDataFile);
154 template <
unsigned int I>
155 void optimize (
const stdair::NbOfSamples_T iDraws = 0);
164 const stdair::SegmentCabin&
170 bool optimise (stdair::FlightDate&,
const stdair::DateTime_T&,
171 const stdair::UnconstrainingMethod&,
172 const stdair::ForecastingMethod&,
173 const stdair::PreOptimisationMethod&,
174 const stdair::OptimisationMethod&,
175 const stdair::PartnershipTechnique&);
184 void forecastOnD (
const stdair::DateTime_T& iRMEventTime);
190 const stdair::CabinCode_T&,
196 void forecastOnD (
const stdair::YieldFeatures&, stdair::OnDDate&,
197 const stdair::CabinCode_T&,
const stdair::DTD_T&,
204 const stdair::MeanValue_T&,
205 const stdair::StdDevValue_T&, stdair::OnDDate&,
206 const stdair::CabinCode_T&, stdair::BomRoot&);
212 const stdair::Date_T& iDepartureDate,
213 const stdair::AirportCode_T& iOrigin,
214 const stdair::AirportCode_T& iDestination,
215 const stdair::CabinCode_T&,
const stdair::ClassCode_T&,
216 const stdair::MeanValue_T&,
217 const stdair::StdDevValue_T&,
218 const stdair::Yield_T&, stdair::BomRoot&);
224 const stdair::AirlineCode_T&,
const stdair::Date_T&,
225 const stdair::AirportCode_T&,
226 const stdair::AirportCode_T&,
227 const stdair::CabinCode_T&,
228 const stdair::ClassCodeList_T&,
229 const stdair::MeanValue_T&,
230 const stdair::StdDevValue_T&,
231 const stdair::Yield_T&, stdair::BomRoot&);
242 const stdair::Inventory&);
270 const stdair::Inventory&);
295 void updateBidPrice (
const stdair::FlightDate&, stdair::BomRoot&);
309 std::string
jsonExport (
const stdair::AirlineCode_T&,
310 const stdair::FlightNumber_T&,
311 const stdair::Date_T& iDepartureDate)
const;
347 stdair::STDAIR_ServicePtr_T initStdAirService (
const stdair::BasLogParams&,
348 const stdair::BasDBParams&);
358 stdair::STDAIR_ServicePtr_T initStdAirService (
const stdair::BasLogParams&);
368 void addStdAirService (stdair::STDAIR_ServicePtr_T,
369 const bool iOwnStdairService);
375 void initServiceContext();
383 void initRmolService();
396 void optimalOptimisationByMCIntegration (
const stdair::NbOfSamples_T&);
401 void optimalOptimisationByDP();
406 void heuristicOptimisationByEmsr();
411 void heuristicOptimisationByEmsrA();
416 void heuristicOptimisationByEmsrB();
427 stdair::Date_T _previousForecastDate;
430 #endif // __RMOL_SVC_RMOL_SERVICE_HPP void optimiseOnD(const stdair::DateTime_T &)
std::string csvDisplay() const
void optimize(const stdair::NbOfSamples_T iDraws=0)
void forecastOnD(const stdair::DateTime_T &iRMEventTime)
stdair::YieldFeatures * getYieldFeatures(const stdair::OnDDate &, const stdair::CabinCode_T &, stdair::BomRoot &)
void optimiseOnDUsingRMCooperation(const stdair::DateTime_T &)
const stdair::SegmentCabin & retrieveDummySegmentCabin(const bool isForFareFamilies=false)
void updateBidPrice(const stdair::DateTime_T &)
void projectOnDDemandOnLegCabinsUsingYP(const stdair::DateTime_T &)
Inner class holding the context for the RMOL Service object.
void optimiseOnDUsingAdvancedRMCooperation(const stdair::DateTime_T &)
void resetDemandInformation(const stdair::DateTime_T &)
Interface for the RMOL Services.
void projectAggregatedDemandOnLegCabins(const stdair::DateTime_T &)
bool optimise(stdair::FlightDate &, const stdair::DateTime_T &, const stdair::UnconstrainingMethod &, const stdair::ForecastingMethod &, const stdair::PreOptimisationMethod &, const stdair::OptimisationMethod &, const stdair::PartnershipTechnique &)
void projectOnDDemandOnLegCabinsUsingDA(const stdair::DateTime_T &)
void projectOnDDemandOnLegCabinsUsingDYP(const stdair::DateTime_T &)
std::string jsonExport(const stdair::AirlineCode_T &, const stdair::FlightNumber_T &, const stdair::Date_T &iDepartureDate) const
void clonePersistentBom()
void setOnDForecast(const stdair::AirlineClassList &, const stdair::MeanValue_T &, const stdair::StdDevValue_T &, stdair::OnDDate &, const stdair::CabinCode_T &, stdair::BomRoot &)
void buildComplementaryLinks(stdair::BomRoot &)
void parseAndLoad(const stdair::CabinCapacity_T &iCabinCapacity, const stdair::Filename_T &iDemandAndClassDataFile)
void setUpStudyStatManager()