#include <rmol/command/Optimiser.hpp>
Static Public Member Functions | |
static void | optimalOptimisationByMCIntegration (const int K, stdair::LegCabin &) |
static void | optimalOptimisationByDP (stdair::LegCabin &) |
static void | heuristicOptimisationByEmsr (stdair::LegCabin &) |
static void | heuristicOptimisationByEmsrA (stdair::LegCabin &) |
static void | heuristicOptimisationByEmsrB (stdair::LegCabin &) |
static void | optimise (stdair::FlightDate &) |
static void | buildVirtualClassListForLegBasedOptimisation (stdair::LegCabin &) |
static double | optimiseUsingOnDForecast (stdair::FlightDate &, const bool &iReduceFluctuations=false) |
Class wrapping the optimisation algorithms.
Definition at line 18 of file Optimiser.hpp.
void RMOL::Optimiser::optimalOptimisationByMCIntegration | ( | const int | K, |
stdair::LegCabin & | ioLegCabin | ||
) | [static] |
Monte Carlo Integration algorithm.
Calculate the optimal protections for the set of buckets/classes given in input, and update those buckets accordingly.
The Monte Carlo Integration algorithm (see The Theory and Practice of Revenue Management, by Kalyan T. Talluri and Garret J. van Ryzin, Kluwer Academic Publishers, for the details) is used. Hence, K is the number of random draws to perform. 100 is a minimum for K, as statistics must be drawn from those random generations.
Definition at line 29 of file Optimiser.cpp.
Referenced by optimise().
void RMOL::Optimiser::optimalOptimisationByDP | ( | stdair::LegCabin & | ioLegCabin | ) | [static] |
Dynamic Programming.
Definition at line 63 of file Optimiser.cpp.
void RMOL::Optimiser::heuristicOptimisationByEmsr | ( | stdair::LegCabin & | ioLegCabin | ) | [static] |
EMRS algorithm.
Definition at line 68 of file Optimiser.cpp.
void RMOL::Optimiser::heuristicOptimisationByEmsrA | ( | stdair::LegCabin & | ioLegCabin | ) | [static] |
EMRS-a algorithm.
Definition at line 73 of file Optimiser.cpp.
void RMOL::Optimiser::heuristicOptimisationByEmsrB | ( | stdair::LegCabin & | ioLegCabin | ) | [static] |
EMRS-b algorithm.
Definition at line 78 of file Optimiser.cpp.
void RMOL::Optimiser::optimise | ( | stdair::FlightDate & | ioFlightDate | ) | [static] |
Optimise a flight-date using leg-based Monte Carlo Integration.
Definition at line 83 of file Optimiser.cpp.
References buildVirtualClassListForLegBasedOptimisation(), and optimalOptimisationByMCIntegration().
void RMOL::Optimiser::buildVirtualClassListForLegBasedOptimisation | ( | stdair::LegCabin & | ioLegCabin | ) | [static] |
Build the virtual class list for the given leg-cabin.
Definition at line 112 of file Optimiser.cpp.
Referenced by optimise().
double RMOL::Optimiser::optimiseUsingOnDForecast | ( | stdair::FlightDate & | ioFlightDate, |
const bool & | iReduceFluctuations = false |
||
) | [static] |
Definition at line 156 of file Optimiser.cpp.
References RMOL::MCOptimiser::optimisationByMCIntegration().
Referenced by RMOL::RMOL_Service::optimiseOnD(), RMOL::RMOL_Service::optimiseOnDUsingAdvancedRMCooperation(), and RMOL::RMOL_Service::optimiseOnDUsingRMCooperation().