#include <rmol/bom/BucketHolder.hpp>
Public Member Functions | |
const double | getCabinCapacity () const |
const double | getTotalMeanDemand () const |
const double | getDemandFactor () const |
const double | getOptimalRevenue () const |
const short | getSize () const |
const double | getPreviousCumulatedProtection () const |
void | fillup (BookingLimitVector_T &) const |
Bucket & | getCurrentBucket () const |
Bucket & | getNextBucket () const |
Bucket & | getTaggedBucket () const |
void | begin () |
void | iterate () |
bool | hasNotReachedEnd () const |
void | tag () |
void | recalculate () |
const double | getLowestAverageYield () |
void | toStream (std::ostream &) const |
void | fromStream (std::istream &) |
std::string | toString () const |
const std::string | describeKey () const |
const std::string | describeShortKey () const |
const std::string | display () const |
const std::string | shortDisplay () const |
Protected Member Functions | |
void | calculateProtectionAndBookingLimits () |
void | calculateMeanDemandAndOptimalRevenue () |
Friends | |
class | FacBucketHolder |
Holder of a BucketList object (for memory allocation and recollection purposes).
Definition at line 18 of file BucketHolder.hpp.
const double RMOL::BucketHolder::getCabinCapacity | ( | ) | const [inline] |
Get the cabin capacity.
Definition at line 27 of file BucketHolder.hpp.
const double RMOL::BucketHolder::getTotalMeanDemand | ( | ) | const [inline] |
Get the total mean demand.
Definition at line 31 of file BucketHolder.hpp.
const double RMOL::BucketHolder::getDemandFactor | ( | ) | const [inline] |
Get the demand factor.
Definition at line 35 of file BucketHolder.hpp.
const double RMOL::BucketHolder::getOptimalRevenue | ( | ) | const [inline] |
Get the optimal revenue.
Definition at line 39 of file BucketHolder.hpp.
const short RMOL::BucketHolder::getSize | ( | ) | const |
Get the size of list of buckets/classes.
Definition at line 33 of file BucketHolder.cpp.
Referenced by calculateProtectionAndBookingLimits(), getLowestAverageYield(), RMOL::Emsr::heuristicOptimisationByEmsr(), RMOL::Emsr::heuristicOptimisationByEmsrA(), RMOL::Emsr::heuristicOptimisationByEmsrAwithSellup(), RMOL::Emsr::heuristicOptimisationByEmsrB(), RMOL::MCOptimiser::legOptimisationByMC(), RMOL::DPOptimiser::optimalOptimisationByDP(), RMOL::Optimiser::optimalOptimisationByMCIntegration(), and RMOL::MCOptimiser::optimalOptimisationByMCIntegration().
const double RMOL::BucketHolder::getPreviousCumulatedProtection | ( | ) | const |
Get the cumulated protection of the previous bucket. If the current bucket is the first one, the function returns 0.0.
Definition at line 156 of file BucketHolder.cpp.
References RMOL::Bucket::getCumulatedProtection().
Referenced by RMOL::MCOptimiser::optimalOptimisationByMCIntegration().
void RMOL::BucketHolder::fillup | ( | BookingLimitVector_T & | ioBookingLimitVector | ) | const |
Fill up the vector of cumulated booking limits.
Definition at line 268 of file BucketHolder.cpp.
References RMOL::Bucket::getCumulatedBookingLimit().
Referenced by RMOL::RMOL_Service::heuristicOptimisationByEmsrA(), RMOL::RMOL_Service::heuristicOptimisationByEmsrAwithSellup(), RMOL::RMOL_Service::heuristicOptimisationByEmsrB(), RMOL::RMOL_Service::legOptimisationByMC(), RMOL::RMOL_Service::optimalOptimisationByDP(), and RMOL::RMOL_Service::optimalOptimisationByMCIntegration().
Bucket & RMOL::BucketHolder::getCurrentBucket | ( | ) | const |
Get the current element (bucket/class).
Definition at line 102 of file BucketHolder.cpp.
Referenced by calculateProtectionAndBookingLimits(), RMOL::SellupProbabilityCalculator::calculateSellupProbability(), getLowestAverageYield(), RMOL::RMOL_Service::heuristicOptimisationByEmsr(), RMOL::Emsr::heuristicOptimisationByEmsr(), RMOL::Emsr::heuristicOptimisationByEmsrA(), RMOL::Emsr::heuristicOptimisationByEmsrAwithSellup(), RMOL::Emsr::heuristicOptimisationByEmsrB(), RMOL::MCOptimiser::legOptimisationByMC(), RMOL::DPOptimiser::optimalOptimisationByDP(), and RMOL::MCOptimiser::optimalOptimisationByMCIntegration().
Bucket & RMOL::BucketHolder::getNextBucket | ( | ) | const |
Get the next element (bucket/class).
Definition at line 110 of file BucketHolder.cpp.
Referenced by calculateProtectionAndBookingLimits(), getLowestAverageYield(), RMOL::Emsr::heuristicOptimisationByEmsr(), RMOL::Emsr::heuristicOptimisationByEmsrA(), RMOL::Emsr::heuristicOptimisationByEmsrAwithSellup(), RMOL::Emsr::heuristicOptimisationByEmsrB(), RMOL::MCOptimiser::legOptimisationByMC(), RMOL::DPOptimiser::optimalOptimisationByDP(), and RMOL::MCOptimiser::optimalOptimisationByMCIntegration().
Bucket & RMOL::BucketHolder::getTaggedBucket | ( | ) | const |
Get the tagged element (bucket/class).
Definition at line 118 of file BucketHolder.cpp.
void RMOL::BucketHolder::begin | ( | ) |
Initialise the internal iterators on Buckets: The current iterator is set on the first Bucket, the next iterator is set on the second bucket.
Definition at line 126 of file BucketHolder.cpp.
Referenced by calculateProtectionAndBookingLimits(), RMOL::SellupProbabilityCalculator::calculateSellupProbability(), getLowestAverageYield(), RMOL::RMOL_Service::heuristicOptimisationByEmsr(), RMOL::Emsr::heuristicOptimisationByEmsr(), RMOL::Emsr::heuristicOptimisationByEmsrA(), RMOL::Emsr::heuristicOptimisationByEmsrAwithSellup(), RMOL::Emsr::heuristicOptimisationByEmsrB(), RMOL::MCOptimiser::legOptimisationByMC(), RMOL::DPOptimiser::optimalOptimisationByDP(), and RMOL::MCOptimiser::optimalOptimisationByMCIntegration().
void RMOL::BucketHolder::iterate | ( | ) |
Iterate for one element (bucket/class): increment both internal iterators on Buckets.
Definition at line 146 of file BucketHolder.cpp.
Referenced by calculateProtectionAndBookingLimits(), RMOL::SellupProbabilityCalculator::calculateSellupProbability(), getLowestAverageYield(), RMOL::RMOL_Service::heuristicOptimisationByEmsr(), RMOL::Emsr::heuristicOptimisationByEmsr(), RMOL::Emsr::heuristicOptimisationByEmsrA(), RMOL::Emsr::heuristicOptimisationByEmsrAwithSellup(), RMOL::Emsr::heuristicOptimisationByEmsrB(), RMOL::MCOptimiser::legOptimisationByMC(), RMOL::DPOptimiser::optimalOptimisationByDP(), and RMOL::MCOptimiser::optimalOptimisationByMCIntegration().
bool RMOL::BucketHolder::hasNotReachedEnd | ( | ) | const |
States whether or not the end of the (bucket/class) list has been reached.
Definition at line 140 of file BucketHolder.cpp.
Referenced by RMOL::SellupProbabilityCalculator::calculateSellupProbability(), and RMOL::RMOL_Service::heuristicOptimisationByEmsr().
void RMOL::BucketHolder::tag | ( | ) |
Tag one element (bucket/class) for later direct access.
Definition at line 135 of file BucketHolder.cpp.
void RMOL::BucketHolder::recalculate | ( | ) |
Re-calculate the following values for the buckets/classes:
Definition at line 258 of file BucketHolder.cpp.
References calculateMeanDemandAndOptimalRevenue(), and calculateProtectionAndBookingLimits().
Referenced by RMOL::MCOptimiser::legOptimisationByMC(), and RMOL::MCOptimiser::optimalOptimisationByMCIntegration().
const double RMOL::BucketHolder::getLowestAverageYield | ( | ) |
Definition at line 237 of file BucketHolder.cpp.
References begin(), RMOL::Bucket::getAverageYield(), getCurrentBucket(), getNextBucket(), getSize(), and iterate().
Referenced by RMOL::Forecaster::qEquivalentBookingCalculation().
void RMOL::BucketHolder::toStream | ( | std::ostream & | ioOut | ) | const [virtual] |
Dump a Business Object into an output stream.
ostream& | the output stream. |
Implements RMOL::BomAbstract.
Definition at line 62 of file BucketHolder.cpp.
References toString().
void RMOL::BucketHolder::fromStream | ( | std::istream & | ioIn | ) | [virtual] |
Read a Business Object from an input stream.
istream& | the input stream. |
Implements RMOL::BomAbstract.
Definition at line 67 of file BucketHolder.cpp.
std::string RMOL::BucketHolder::toString | ( | ) | const [virtual] |
Get the serialised version of the Place object.
Implements RMOL::BomAbstract.
Definition at line 50 of file BucketHolder.cpp.
References describeShortKey().
Referenced by toStream().
const std::string RMOL::BucketHolder::describeKey | ( | ) | const [virtual] |
Get a string describing the whole key (differentiating two objects at any level).
Implements RMOL::BomAbstract.
Definition at line 45 of file BucketHolder.cpp.
References describeShortKey().
Referenced by shortDisplay().
const std::string RMOL::BucketHolder::describeShortKey | ( | ) | const [virtual] |
Get a string describing the short key (differentiating two objects at the same level).
Implements RMOL::BomAbstract.
Definition at line 38 of file BucketHolder.cpp.
Referenced by describeKey(), and toString().
const std::string RMOL::BucketHolder::display | ( | ) | const |
Display the full Place context.
Definition at line 78 of file BucketHolder.cpp.
References RMOL::Bucket::display(), and shortDisplay().
Referenced by RMOL::RMOL_Service::heuristicOptimisationByEmsr(), RMOL::RMOL_Service::heuristicOptimisationByEmsrA(), RMOL::RMOL_Service::heuristicOptimisationByEmsrAwithSellup(), RMOL::RMOL_Service::heuristicOptimisationByEmsrB(), RMOL::RMOL_Service::legOptimisationByMC(), RMOL::RMOL_Service::optimalOptimisationByDP(), and RMOL::RMOL_Service::optimalOptimisationByMCIntegration().
const std::string RMOL::BucketHolder::shortDisplay | ( | ) | const |
Display a short Place context.
Definition at line 71 of file BucketHolder.cpp.
References describeKey().
Referenced by display().
void RMOL::BucketHolder::calculateProtectionAndBookingLimits | ( | ) | [protected] |
Re-calculate the protections and booking limits (from cumulated protections).
Definition at line 198 of file BucketHolder.cpp.
References begin(), RMOL::Bucket::getCumulatedProtection(), getCurrentBucket(), getNextBucket(), getSize(), iterate(), RMOL::Bucket::setCumulatedBookingLimit(), and RMOL::Bucket::setProtection().
Referenced by recalculate().
void RMOL::BucketHolder::calculateMeanDemandAndOptimalRevenue | ( | ) | [protected] |
Re-calculate the total mean demand and optimal revenue (from the demand, prices and protections).
Definition at line 172 of file BucketHolder.cpp.
References RMOL::Bucket::getAverageYield(), RMOL::Bucket::getMean(), and RMOL::Bucket::getProtection().
Referenced by recalculate().
friend class FacBucketHolder [friend] |
Friend Classes
Those classes need to access the internal attributes of this object in order to construct and initialise it.
Definition at line 22 of file BucketHolder.hpp.
Generated on Wed Feb 9 2011 17:09:29 for RMOL by Doxygen 1.7.1