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

RMOL::RMOL_Service Class Reference

#include <rmol/RMOL_Service.hpp>

List of all members.

Public Member Functions

 RMOL_Service (std::ostream &ioLogStream, const ResourceCapacity_T iResourceCapacity)
 ~RMOL_Service ()
void setUpStudyStatManager ()
void setResourceCapacity (const ResourceCapacity_T iResourceCapacity)
void addBucket (const double iYieldRange, const double iDemandMean, const double iDemandStandardDev)
void addBucket (const double iYieldRange, const double iDemandMean, const double iDemandStandardDev, GeneratedDemandVector_T *ioGeneratedDemandVector)
GeneratedDemandVector_TgenerateDemand (const int K, const double &iMean, const double &iDeviation)
GeneratedDemandVector_TgenerateDemand (GeneratedDemandVector_T *, GeneratedDemandVector_T *)
void readFromInputFile (const std::string &iInputFileName)
void buildContextForMC (const int K)
void reset ()
void optimalOptimisationByMCIntegration (const int K)
void optimalOptimisationByMCIntegration (const int K, BidPriceVector_T &, BookingLimitVector_T &)
void optimalOptimisationByDP ()
void optimalOptimisationByDP (BookingLimitVector_T &)
void heuristicOptimisationByEmsr ()
void heuristicOptimisationByEmsr (BidPriceVector_T &, BookingLimitVector_T &)
void heuristicOptimisationByEmsrA ()
void heuristicOptimisationByEmsrA (BidPriceVector_T &, BookingLimitVector_T &)
void heuristicOptimisationByEmsrAwithSellup (SellupProbabilityVector_T &)
void heuristicOptimisationByEmsrAwithSellup (SellupProbabilityVector_T &, BidPriceVector_T &, BookingLimitVector_T &)
void heuristicOptimisationByEmsrB ()
void heuristicOptimisationByEmsrB (BidPriceVector_T &, BookingLimitVector_T &)
void legOptimisationByMC ()
void legOptimisationByMC (BidPriceVector_T &, BookingLimitVector_T &)


Detailed Description

Interface for the RMOL Services.

Definition at line 18 of file RMOL_Service.hpp.


Constructor & Destructor Documentation

RMOL::RMOL_Service::RMOL_Service ( std::ostream &  ioLogStream,
const ResourceCapacity_T  iResourceCapacity 
)

Constructor.

Definition at line 37 of file RMOL_Service.cpp.

RMOL::RMOL_Service::~RMOL_Service (  ) 

Destructor.

Definition at line 44 of file RMOL_Service.cpp.


Member Function Documentation

void RMOL::RMOL_Service::setUpStudyStatManager (  ) 

Set up the StudyStatManager.

Definition at line 66 of file RMOL_Service.cpp.

References RMOL::RMOL_ServiceContext::setUpStudyStatManager().

Referenced by main().

void RMOL::RMOL_Service::setResourceCapacity ( const ResourceCapacity_T  iResourceCapacity  ) 

Set the cabin availability.

Definition at line 73 of file RMOL_Service.cpp.

References RMOL::RMOL_ServiceContext::setResourceCapacity().

void RMOL::RMOL_Service::addBucket ( const double  iYieldRange,
const double  iDemandMean,
const double  iDemandStandardDev 
)

Add a bucket to the context.

Definition at line 79 of file RMOL_Service.cpp.

References RMOL::RMOL_ServiceContext::addBucket().

Referenced by main().

void RMOL::RMOL_Service::addBucket ( const double  iYieldRange,
const double  iDemandMean,
const double  iDemandStandardDev,
GeneratedDemandVector_T ioGeneratedDemandVector 
)

Add a bucket to the context.

Definition at line 88 of file RMOL_Service.cpp.

References RMOL::RMOL_ServiceContext::addBucket().

GeneratedDemandVector_T * RMOL::RMOL_Service::generateDemand ( const int  K,
const double &  iMean,
const double &  iDeviation 
)

Generate demand for a given (Gaussian) distribution.

Definition at line 99 of file RMOL_Service.cpp.

References RMOL::RMOL_ServiceContext::generateDemand().

GeneratedDemandVector_T * RMOL::RMOL_Service::generateDemand ( GeneratedDemandVector_T ioFirstVector,
GeneratedDemandVector_T ioSecondVector 
)

Sum the two generated demand vectors .

Definition at line 105 of file RMOL_Service.cpp.

References RMOL::RMOL_ServiceContext::generateDemand().

void RMOL::RMOL_Service::readFromInputFile ( const std::string &  iInputFileName  ) 

Read the input data from a file.

Definition at line 111 of file RMOL_Service.cpp.

References RMOL::RMOL_ServiceContext::readFromInputFile().

Referenced by main().

void RMOL::RMOL_Service::buildContextForMC ( const int  K  ) 

Build the context with the generated demand for Monte-Carlo Integration algorithm.

Definition at line 117 of file RMOL_Service.cpp.

References RMOL::RMOL_ServiceContext::buildContextForMC().

Referenced by main().

void RMOL::RMOL_Service::reset (  ) 

Clear the context (cabin capacity, bucket holder).

Definition at line 123 of file RMOL_Service.cpp.

References RMOL::RMOL_ServiceContext::reset().

void RMOL::RMOL_Service::optimalOptimisationByMCIntegration ( const int  K  ) 

void RMOL::RMOL_Service::optimalOptimisationByMCIntegration ( const int  K,
BidPriceVector_T ioBidPriceVector,
BookingLimitVector_T ioBookingLimitVector 
)

Single resource optimization that uses Monte-Carlo algorithm and returns a vector of cumulated booking limits.

Definition at line 171 of file RMOL_Service.cpp.

References RMOL::BucketHolder::fillup(), RMOL::RMOL_ServiceContext::getBucketHolder(), RMOL::RMOL_ServiceContext::getCapacity(), and optimalOptimisationByMCIntegration().

void RMOL::RMOL_Service::optimalOptimisationByDP (  ) 

Single resource optimization using dynamic programming.

Definition at line 190 of file RMOL_Service.cpp.

References RMOL::BucketHolder::display(), RMOL::RMOL_ServiceContext::getBucketHolder(), RMOL::RMOL_ServiceContext::getCapacity(), and RMOL_LOG_DEBUG.

Referenced by main(), and optimalOptimisationByDP().

void RMOL::RMOL_Service::optimalOptimisationByDP ( BookingLimitVector_T ioBookingLimitVector  ) 

Single resource optimization that uses dynamic programming and returns a vector of cumulated booking limits.

Definition at line 205 of file RMOL_Service.cpp.

References RMOL::BucketHolder::fillup(), RMOL::RMOL_ServiceContext::getBucketHolder(), RMOL::RMOL_ServiceContext::getCapacity(), and optimalOptimisationByDP().

void RMOL::RMOL_Service::heuristicOptimisationByEmsr (  ) 

void RMOL::RMOL_Service::heuristicOptimisationByEmsr ( BidPriceVector_T ioBidPriceVector,
BookingLimitVector_T ioBookingLimitVector 
)

void RMOL::RMOL_Service::heuristicOptimisationByEmsrA (  ) 

Single resource optimization using EMSR-a heuristic.

Definition at line 278 of file RMOL_Service.cpp.

References RMOL::BucketHolder::display(), RMOL::RMOL_ServiceContext::getBucketHolder(), RMOL::RMOL_ServiceContext::getCapacity(), and RMOL_LOG_DEBUG.

Referenced by heuristicOptimisationByEmsrA(), and main().

void RMOL::RMOL_Service::heuristicOptimisationByEmsrA ( BidPriceVector_T ioBidPriceVector,
BookingLimitVector_T ioBookingLimitVector 
)

Single resource optimization that uses EMSR-a heuristic and returns a vector of cumulated booking limits.

Definition at line 292 of file RMOL_Service.cpp.

References RMOL::BucketHolder::fillup(), RMOL::RMOL_ServiceContext::getBucketHolder(), RMOL::RMOL_ServiceContext::getCapacity(), and heuristicOptimisationByEmsrA().

void RMOL::RMOL_Service::heuristicOptimisationByEmsrAwithSellup ( SellupProbabilityVector_T iSellupProbabilityVector  ) 

Single resource optimization with sellup using EMSR-a heuristic.

Definition at line 307 of file RMOL_Service.cpp.

References RMOL::BucketHolder::display(), RMOL::Optimiser::heuristicOptimisationByEmsrAwithSellup(), and RMOL_LOG_DEBUG.

Referenced by main().

void RMOL::RMOL_Service::heuristicOptimisationByEmsrAwithSellup ( SellupProbabilityVector_T iSellupProbabilityVector,
BidPriceVector_T ioBidPriceVector,
BookingLimitVector_T ioBookingLimitVector 
)

Single resource optimization with sellup that uses EMSR-a heuristic and returns a vector of cumulated booking limits.

Definition at line 326 of file RMOL_Service.cpp.

References RMOL::BucketHolder::fillup(), and RMOL::Optimiser::heuristicOptimisationByEmsrAwithSellup().

void RMOL::RMOL_Service::heuristicOptimisationByEmsrB (  ) 

Single resource optimization using EMSR-b heuristic.

Definition at line 346 of file RMOL_Service.cpp.

References RMOL::BucketHolder::display(), RMOL::RMOL_ServiceContext::getBucketHolder(), RMOL::RMOL_ServiceContext::getCapacity(), and RMOL_LOG_DEBUG.

Referenced by heuristicOptimisationByEmsrB(), and main().

void RMOL::RMOL_Service::heuristicOptimisationByEmsrB ( BidPriceVector_T ioBidPriceVector,
BookingLimitVector_T ioBookingLimitVector 
)

Single resource optimization that uses EMSR-b heuristic and returns a vector of cumulated booking limits.

Definition at line 360 of file RMOL_Service.cpp.

References RMOL::BucketHolder::fillup(), RMOL::RMOL_ServiceContext::getBucketHolder(), RMOL::RMOL_ServiceContext::getCapacity(), and heuristicOptimisationByEmsrB().

void RMOL::RMOL_Service::legOptimisationByMC (  ) 

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

Definition at line 374 of file RMOL_Service.cpp.

References RMOL::BucketHolder::display(), RMOL::RMOL_ServiceContext::getBucketHolder(), RMOL::RMOL_ServiceContext::getCapacity(), and RMOL_LOG_DEBUG.

Referenced by legOptimisationByMC(), and main().

void RMOL::RMOL_Service::legOptimisationByMC ( BidPriceVector_T ioBidPriceVector,
BookingLimitVector_T ioBookingLimitVector 
)

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

Definition at line 399 of file RMOL_Service.cpp.

References RMOL::BucketHolder::fillup(), RMOL::RMOL_ServiceContext::getBucketHolder(), RMOL::RMOL_ServiceContext::getCapacity(), and legOptimisationByMC().


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

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