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 &)
static void optimalOptimisationByDP (const ResourceCapacity_T, BucketHolder &)
static void heuristicOptimisationByEmsr (const ResourceCapacity_T, BucketHolder &, BidPriceVector_T &)
static void heuristicOptimisationByEmsrA (const ResourceCapacity_T, BucketHolder &)
static void heuristicOptimisationByEmsrB (const ResourceCapacity_T, BucketHolder &)


Detailed Description

Class wrapping the optimisation algorithms.

Definition at line 17 of file Optimiser.hpp.


Member Function Documentation

void RMOL::Optimiser::optimalOptimisationByMCIntegration ( const int  K,
const ResourceCapacity_T  iCabinCapacity,
BucketHolder ioBucketHolder 
) [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 28 of file Optimiser.cpp.

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

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 63 of file Optimiser.cpp.

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

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

Definition at line 81 of file Optimiser.cpp.

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 91 of file Optimiser.cpp.

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 98 of file Optimiser.cpp.

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


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

Generated on Tue Apr 14 17:57:55 2009 for RMOL by Doxygen 1.5.8