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

RMOL::MCOptimiser Class Reference

#include <rmol/bom/MCOptimiser.hpp>

List of all members.

Static Public Member Functions

static void optimalOptimisationByMCIntegration (const int K, const ResourceCapacity_T, BucketHolder &, PartialSumHolderHolder &, BidPriceVector_T &)
static void optimalOptimisationByMCIntegration (const int K, const ResourceCapacity_T, BucketHolder &, PartialSumHolderHolder &, BidPriceVector_T &, StudyStatManager &)
static void legOptimisationByMC (const ResourceCapacity_T, BucketHolder &, BidPriceVector_T &)

Detailed Description

Utility methods for the Monte-Carlo algorithms.

Definition at line 19 of file MCOptimiser.hpp.


Member Function Documentation

void RMOL::MCOptimiser::optimalOptimisationByMCIntegration ( const int  K,
const ResourceCapacity_T  iCabinCapacity,
BucketHolder ioBucketHolder,
PartialSumHolderHolder ioPSHolderHolder,
BidPriceVector_T ioBidPriceVector 
) [static]

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 MCOptimiser.cpp.

References RMOL::PartialSumHolder::addPartialSum(), RMOL::BucketHolder::begin(), RMOL::PartialSumHolderHolder::begin(), RMOL::Gaussian::generateVariate(), RMOL::Bucket::getAverageYield(), RMOL::BucketHolder::getCurrentBucket(), RMOL::PartialSumHolderHolder::getCurrentPartialSumHolder(), RMOL::Bucket::getDistributionParameters(), RMOL::PartialSumHolder::getLowerBound(), RMOL::BucketHolder::getNextBucket(), RMOL::PartialSumHolder::getPartialSum(), RMOL::BucketHolder::getPreviousCumulatedProtection(), RMOL::PartialSumHolderHolder::getPreviousPartialSumHolder(), RMOL::BucketHolder::getSize(), RMOL::PartialSumHolder::initSize(), RMOL::BucketHolder::iterate(), RMOL::PartialSumHolderHolder::iterate(), RMOL::BucketHolder::recalculate(), RMOL::Bucket::setCumulatedProtection(), and RMOL::PartialSumHolder::sort().

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

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

Generated on Fri Jul 30 21:53:40 2010 for RMOL by Doxygen 1.6.1