#include <rmol/RMOL_Service.hpp>
Definition at line 18 of file RMOL_Service.hpp.
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.
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 | ) |
Single resource optimization using the Monte Carlo algorithm.
Definition at line 130 of file RMOL_Service.cpp.
References RMOL::StudyStatManager::describe(), RMOL::BucketHolder::display(), RMOL::RMOL_ServiceContext::getBucketHolder(), RMOL::RMOL_ServiceContext::getCapacity(), RMOL::RMOL_ServiceContext::getStudyStatManager(), 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 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 | ( | ) |
Single resource optimization using EMSR heuristic.
Definition at line 219 of file RMOL_Service.cpp.
References RMOL::StudyStatManager::describe(), RMOL::BucketHolder::display(), RMOL::RMOL_ServiceContext::getBucketHolder(), RMOL::RMOL_ServiceContext::getCapacity(), RMOL::RMOL_ServiceContext::getStudyStatManager(), 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 257 of file RMOL_Service.cpp.
References RMOL::BucketHolder::begin(), RMOL::RMOL_ServiceContext::getBucketHolder(), RMOL::RMOL_ServiceContext::getCapacity(), 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 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().
Generated on Sat Jun 6 13:48:30 2009 for RMOL by Doxygen 1.5.7.1