RMOL Logo  1.00.12
C++ library of Revenue Management and Optimisation classes and functions
Loading...
Searching...
No Matches
RMOL::Optimiser Class Reference

#include <rmol/command/Optimiser.hpp>

Static Public Member Functions

static void optimalOptimisationByMCIntegration (const stdair::NbOfSamples_T &, stdair::LegCabin &)
 
static void optimalOptimisationByDP (stdair::LegCabin &)
 
static void heuristicOptimisationByEmsr (stdair::LegCabin &)
 
static void heuristicOptimisationByEmsrA (stdair::LegCabin &)
 
static void heuristicOptimisationByEmsrB (stdair::LegCabin &)
 
static bool optimise (stdair::FlightDate &, const stdair::OptimisationMethod &)
 
static bool buildVirtualClassListForLegBasedOptimisation (stdair::LegCabin &)
 
static double optimiseUsingOnDForecast (stdair::FlightDate &, const bool &iReduceFluctuations=false)
 

Detailed Description

Class wrapping the optimisation algorithms.

Definition at line 20 of file Optimiser.hpp.

Member Function Documentation

◆ optimalOptimisationByMCIntegration()

void RMOL::Optimiser::optimalOptimisationByMCIntegration ( const stdair::NbOfSamples_T & 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.

References RMOL::MCOptimiser::optimalOptimisationByMCIntegration().

◆ optimalOptimisationByDP()

void RMOL::Optimiser::optimalOptimisationByDP ( stdair::LegCabin & ioLegCabin)
static

Dynamic Programming.

Definition at line 64 of file Optimiser.cpp.

References RMOL::DPOptimiser::optimalOptimisationByDP().

◆ heuristicOptimisationByEmsr()

void RMOL::Optimiser::heuristicOptimisationByEmsr ( stdair::LegCabin & ioLegCabin)
static

EMRS algorithm.

Definition at line 69 of file Optimiser.cpp.

References RMOL::Emsr::heuristicOptimisationByEmsr().

◆ heuristicOptimisationByEmsrA()

void RMOL::Optimiser::heuristicOptimisationByEmsrA ( stdair::LegCabin & ioLegCabin)
static

EMRS-a algorithm.

Definition at line 74 of file Optimiser.cpp.

References RMOL::Emsr::heuristicOptimisationByEmsrA().

◆ heuristicOptimisationByEmsrB()

void RMOL::Optimiser::heuristicOptimisationByEmsrB ( stdair::LegCabin & ioLegCabin)
static

EMRS-b algorithm.

Definition at line 79 of file Optimiser.cpp.

References RMOL::Emsr::heuristicOptimisationByEmsrB().

◆ optimise()

bool RMOL::Optimiser::optimise ( stdair::FlightDate & ioFlightDate,
const stdair::OptimisationMethod & iOptimisationMethod )
static

Optimise a flight-date using leg-based Monte Carlo Integration.

Definition at line 84 of file Optimiser.cpp.

References optimise().

Referenced by optimise(), and RMOL::RMOL_Service::optimise().

◆ buildVirtualClassListForLegBasedOptimisation()

bool RMOL::Optimiser::buildVirtualClassListForLegBasedOptimisation ( stdair::LegCabin & ioLegCabin)
static

Build the virtual class list for the given leg-cabin.

Definition at line 163 of file Optimiser.cpp.

◆ optimiseUsingOnDForecast()

double RMOL::Optimiser::optimiseUsingOnDForecast ( stdair::FlightDate & ioFlightDate,
const bool & iReduceFluctuations = false )
static

The documentation for this class was generated from the following files: