#include <rmol/RMOL_Service.hpp>
Public Member Functions | |
RMOL_Service (std::ostream &ioLogStream, const ResourceCapacity_T iResourceCapacity) | |
~RMOL_Service () | |
void | addBucket (const double iYieldRange, const double iDemandMean, const double iDemandStandardDev) |
void | readFromInputFile (const std::string &iInputFileName) |
void | optimalOptimisationByMCIntegration (const int K) |
void | optimalOptimisationByMCIntegration (const int K, BookingLimitVector_T &) |
void | optimalOptimisationByDP () |
void | optimalOptimisationByDP (BookingLimitVector_T &) |
void | heuristicOptimisationByEmsr () |
void | heuristicOptimisationByEmsr (BidPriceVector_T &, BookingLimitVector_T &) |
void | heuristicOptimisationByEmsrA () |
void | heuristicOptimisationByEmsrA (BookingLimitVector_T &) |
void | heuristicOptimisationByEmsrB () |
void | heuristicOptimisationByEmsrB (BookingLimitVector_T &) |
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 34 of file RMOL_Service.cpp.
RMOL::RMOL_Service::~RMOL_Service | ( | ) |
Destructor.
Definition at line 41 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 63 of file RMOL_Service.cpp.
References RMOL::RMOL_ServiceContext::addBucket().
Referenced by main().
void RMOL::RMOL_Service::readFromInputFile | ( | const std::string & | iInputFileName | ) |
Read the input data from a file.
Definition at line 72 of file RMOL_Service.cpp.
References RMOL::RMOL_ServiceContext::readFromInputFile().
Referenced by main().
void RMOL::RMOL_Service::optimalOptimisationByMCIntegration | ( | const int | K | ) |
Single resource optimization using the Monte Carlo algorithm.
Definition at line 79 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 optimalOptimisationByMCIntegration().
void RMOL::RMOL_Service::optimalOptimisationByMCIntegration | ( | const int | K, | |
BookingLimitVector_T & | ioBookingLimitVector | |||
) |
Single resource optimization that uses Monte-Carlo algorithm and returns a vector of cumulated booking limits.
Definition at line 95 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 112 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 127 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 141 of file RMOL_Service.cpp.
References RMOL::BucketHolder::display(), RMOL::RMOL_ServiceContext::getBucketHolder(), RMOL::RMOL_ServiceContext::getCapacity(), 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 166 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 187 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 | ( | BookingLimitVector_T & | ioBookingLimitVector | ) |
Single resource optimization that uses EMSR-a heuristic and returns a vector of cumulated booking limits.
Definition at line 201 of file RMOL_Service.cpp.
References RMOL::BucketHolder::fillup(), RMOL::RMOL_ServiceContext::getBucketHolder(), RMOL::RMOL_ServiceContext::getCapacity(), and heuristicOptimisationByEmsrA().
void RMOL::RMOL_Service::heuristicOptimisationByEmsrB | ( | ) |
Single resource optimization using EMSR-b heuristic.
Definition at line 214 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 | ( | BookingLimitVector_T & | ioBookingLimitVector | ) |
Single resource optimization that uses EMSR-b heuristic and returns a vector of cumulated booking limits.
Definition at line 228 of file RMOL_Service.cpp.
References RMOL::BucketHolder::fillup(), RMOL::RMOL_ServiceContext::getBucketHolder(), RMOL::RMOL_ServiceContext::getCapacity(), and heuristicOptimisationByEmsrB().
Generated on Sun Jun 14 23:34:07 2009 for RMOL by Doxygen 1.5.8