#include <rmol/command/Optimiser.hpp>
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 &) |
Definition at line 18 of file Optimiser.hpp.
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] |
Monte Carlo Integartion algorithm with StudyStatManager.
Definition at line 68 of file Optimiser.cpp.
References RMOL::StudyStatManager::addMeasure(), RMOL::FacPartialSumHolder::create(), RMOL::FacPartialSumHolderHolder::create(), RMOL::BasChronometer::elapsed(), RMOL::BucketHolder::getSize(), RMOL::FacPartialSumHolder::instance(), RMOL::FacPartialSumHolderHolder::instance(), optimalOptimisationByMCIntegration(), and RMOL::BasChronometer::start().
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] |
EMRS algorithm with StudyStatManager.
Definition at line 152 of file Optimiser.cpp.
References RMOL::StudyStatManager::addMeasure(), RMOL::BasChronometer::elapsed(), heuristicOptimisationByEmsr(), and RMOL::BasChronometer::start().
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.
Generated on Sat Jun 6 13:49:06 2009 for RMOL by Doxygen 1.5.7.1