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)
 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 &)
void demandUnconstrainingByExpectationMaximization ()
void demandForecastByQForecasting (HistoricalDataHolderHolder_T &, PriceHolder_T &)
void demandForecastByQForecasting (ForecastedDemandParameterList_T, HistoricalDataHolderHolder_T &, PriceHolder_T &)

Detailed Description

Interface for the RMOL Services.

Definition at line 19 of file RMOL_Service.hpp.


Constructor & Destructor Documentation

RMOL::RMOL_Service::RMOL_Service ( std::ostream &  ioLogStream  ) 

Constructor.

Definition at line 38 of file RMOL_Service.cpp.

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

Definition at line 44 of file RMOL_Service.cpp.

RMOL::RMOL_Service::~RMOL_Service (  ) 

Destructor.

Definition at line 51 of file RMOL_Service.cpp.


Member Function Documentation

void RMOL::RMOL_Service::setUpStudyStatManager (  ) 

Set up the StudyStatManager.

Definition at line 84 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 91 of file RMOL_Service.cpp.

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

Add a bucket to the context.

Definition at line 97 of file RMOL_Service.cpp.

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 106 of file RMOL_Service.cpp.

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 117 of file RMOL_Service.cpp.

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

Sum the two generated demand vectors .

Definition at line 123 of file RMOL_Service.cpp.

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

Read the input data from a file.

Definition at line 129 of file RMOL_Service.cpp.

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 135 of file RMOL_Service.cpp.

Referenced by main().

void RMOL::RMOL_Service::reset (  ) 

Clear the context (cabin capacity, bucket holder).

Definition at line 141 of file RMOL_Service.cpp.

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

Single resource optimization using the Monte Carlo algorithm.

Definition at line 148 of file RMOL_Service.cpp.

References RMOL::StudyStatManager::describe(), RMOL::BucketHolder::display(), and RMOL_LOG_DEBUG.

Referenced by main(), and optimalOptimisationByMCIntegration().

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 189 of file RMOL_Service.cpp.

References RMOL::BucketHolder::fillup(), and optimalOptimisationByMCIntegration().

void RMOL::RMOL_Service::optimalOptimisationByDP (  ) 

Single resource optimization using dynamic programming.

Definition at line 208 of file RMOL_Service.cpp.

References RMOL::BucketHolder::display(), 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 223 of file RMOL_Service.cpp.

References RMOL::BucketHolder::fillup(), and optimalOptimisationByDP().

void RMOL::RMOL_Service::heuristicOptimisationByEmsr (  ) 

Single resource optimization using EMSR heuristic.

Definition at line 237 of file RMOL_Service.cpp.

References RMOL::StudyStatManager::describe(), RMOL::BucketHolder::display(), and RMOL_LOG_DEBUG.

Referenced by heuristicOptimisationByEmsr(), and main().

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

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

Definition at line 275 of file RMOL_Service.cpp.

References RMOL::BucketHolder::begin(), RMOL::Bucket::getCumulatedBookingLimit(), RMOL::BucketHolder::getCurrentBucket(), RMOL::BucketHolder::hasNotReachedEnd(), heuristicOptimisationByEmsr(), and RMOL::BucketHolder::iterate().

void RMOL::RMOL_Service::heuristicOptimisationByEmsrA (  ) 

Single resource optimization using EMSR-a heuristic.

Definition at line 296 of file RMOL_Service.cpp.

References RMOL::BucketHolder::display(), 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 310 of file RMOL_Service.cpp.

References RMOL::BucketHolder::fillup(), and heuristicOptimisationByEmsrA().

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

Single resource optimization with sellup using EMSR-a heuristic.

Definition at line 325 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 344 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 364 of file RMOL_Service.cpp.

References RMOL::BucketHolder::display(), 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 378 of file RMOL_Service.cpp.

References RMOL::BucketHolder::fillup(), and heuristicOptimisationByEmsrB().

void RMOL::RMOL_Service::legOptimisationByMC (  ) 

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

Definition at line 392 of file RMOL_Service.cpp.

References RMOL::BucketHolder::display(), 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 417 of file RMOL_Service.cpp.

References RMOL::BucketHolder::fillup(), and legOptimisationByMC().

void RMOL::RMOL_Service::demandUnconstrainingByExpectationMaximization (  ) 

Demand unconstraining by Expectation Maximization

void RMOL::RMOL_Service::demandForecastByQForecasting ( HistoricalDataHolderHolder_T iHistoricalDataHolderHolder,
PriceHolder_T iPriceHolder 
)

Demand forecast using Q-Forecasting [used in unit tests]

Definition at line 443 of file RMOL_Service.cpp.

References RMOL_LOG_DEBUG.

void RMOL::RMOL_Service::demandForecastByQForecasting ( ForecastedDemandParameterList_T  oForecastedDemandParameterList,
HistoricalDataHolderHolder_T iHistoricalDataHolderHolder,
PriceHolder_T iPriceHolder 
)

Demand forecast using Q-Forecasting

Definition at line 481 of file RMOL_Service.cpp.

References RMOL::Forecaster::demandForecastByQForecasting().


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

Generated on Sat Oct 16 19:01:23 2010 for RMOL by Doxygen 1.6.2-20100208