RMOL Logo Get Revenue Management Optimisation Library at SourceForge.net. Fast, secure and Free Open Source software downloads

RMOL::Optimiser Class Reference

#include <rmol/command/Optimiser.hpp>

List of all members.

Static Public Member Functions

static void optimalOptimisationByMCIntegration (const int K, const ResourceCapacity_T, BucketHolder &, BidPriceVector_T &)
static void optimalOptimisationByMCIntegration (const int K, const ResourceCapacity_T, BucketHolder &, BidPriceVector_T &, StudyStatManager &)
static void optimalOptimisationByDP (const ResourceCapacity_T, BucketHolder &)
static void heuristicOptimisationByEmsr (const ResourceCapacity_T, BucketHolder &, BidPriceVector_T &)
static void heuristicOptimisationByEmsr (const ResourceCapacity_T, BucketHolder &, BidPriceVector_T &, StudyStatManager &)
static void heuristicOptimisationByEmsrA (const ResourceCapacity_T, BucketHolder &)
static void heuristicOptimisationByEmsrAwithSellup (const ResourceCapacity_T, BucketHolder &, SellupProbabilityVector_T &)
static void heuristicOptimisationByEmsrB (const ResourceCapacity_T, BucketHolder &)
static void legOptimisationByMC (const ResourceCapacity_T, BucketHolder &, BidPriceVector_T &)


Detailed Description

Class wrapping the optimisation algorithms.

Definition at line 18 of file Optimiser.hpp.


Member Function Documentation

void RMOL::Optimiser::optimalOptimisationByMCIntegration ( const int  K,
const ResourceCapacity_T  iCabinCapacity,
BucketHolder ioBucketHolder,
BidPriceVector_T ioBidPriceVector 
) [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.
The cabin capacity is used to a double to allow for some overbooking.

Definition at line 31 of file Optimiser.cpp.

References RMOL::FacPartialSumHolder::create(), RMOL::FacPartialSumHolderHolder::create(), RMOL::BucketHolder::getSize(), RMOL::FacPartialSumHolder::instance(), and RMOL::FacPartialSumHolderHolder::instance().

Referenced by optimalOptimisationByMCIntegration().

void RMOL::Optimiser::optimalOptimisationByMCIntegration ( const int  K,
const ResourceCapacity_T  iCabinCapacity,
BucketHolder ioBucketHolder,
BidPriceVector_T ioBidPriceVector,
StudyStatManager ioStudyStatManager 
) [static]

void RMOL::Optimiser::optimalOptimisationByDP ( const ResourceCapacity_T  iCabinCapacity,
BucketHolder ioBucketHolder 
) [static]

Dynamic Programming.
The cabin capacity is used to a double to allow for some overbooking.

Definition at line 112 of file Optimiser.cpp.

References RMOL_LOG_DEBUG.

void RMOL::Optimiser::heuristicOptimisationByEmsr ( const ResourceCapacity_T  iCabinCapacity,
BucketHolder ioBucketHolder,
BidPriceVector_T ioBidPriceVector 
) [static]

EMRS algorithm.
The cabin capacity is used to a double to allow for some overbooking.

Definition at line 142 of file Optimiser.cpp.

Referenced by heuristicOptimisationByEmsr().

void RMOL::Optimiser::heuristicOptimisationByEmsr ( const ResourceCapacity_T  iCabinCapacity,
BucketHolder ioBucketHolder,
BidPriceVector_T ioBidPriceVector,
StudyStatManager ioStudyStatManager 
) [static]

void RMOL::Optimiser::heuristicOptimisationByEmsrA ( const ResourceCapacity_T  iCabinCapacity,
BucketHolder ioBucketHolder 
) [static]

EMRS-a algorithm.
The cabin capacity is used to a double to allow for some overbooking.

Definition at line 167 of file Optimiser.cpp.

void RMOL::Optimiser::heuristicOptimisationByEmsrAwithSellup ( const ResourceCapacity_T  iCabinCapacity,
BucketHolder ioBucketHolder,
SellupProbabilityVector_T iSellupProbabilityVector 
) [static]

EMSR-a with sellup probability algorithm. It is an implementation of the algorithm given by Belobaba & Weatherford in the article "Comparing decision rules that incorporate customer diversion in perishable asset revenue management situations", Decision Sciences, 1996.

Definition at line 174 of file Optimiser.cpp.

References RMOL::Emsr::heuristicOptimisationByEmsrAwithSellup().

Referenced by RMOL::RMOL_Service::heuristicOptimisationByEmsrAwithSellup().

void RMOL::Optimiser::heuristicOptimisationByEmsrB ( const ResourceCapacity_T  iCabinCapacity,
BucketHolder ioBucketHolder 
) [static]

EMRS-b algorithm.
The cabin capacity is used to a double to allow for some overbooking.

Definition at line 184 of file Optimiser.cpp.

References RMOL::FacBucket::create(), RMOL::FacDemand::create(), RMOL::FldDistributionParameters::FldDistributionParameters(), RMOL::FldYieldRange::FldYieldRange(), RMOL::FacBucket::instance(), and RMOL::FacDemand::instance().

void RMOL::Optimiser::legOptimisationByMC ( const ResourceCapacity_T  iCabinCapacity,
BucketHolder ioBucketHolder,
BidPriceVector_T ioBidPriceVector 
) [static]

Leg optimisation using Monte-Carlo Integration as a step in network optimisation.

Definition at line 202 of file Optimiser.cpp.


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

Generated on Sat Jun 6 13:49:06 2009 for RMOL by Doxygen 1.5.7.1