#include <rmol/bom/Bucket.hpp>
Public Member Functions | |
const FldYieldRange & | getYieldRange () const |
double | getProtection () const |
double | getCumulatedProtection () const |
double | getCumulatedBookingLimit () const |
double | getBookingLimit () const |
const FldDistributionParameters & | getDistributionParameters () const |
const double | getMean () const |
const double | getStandardDeviation () const |
const double | getUpperYield () const |
const double | getAverageYield () const |
const double | getLowerYield () const |
const GeneratedDemandVector_T & | getGeneratedDemandVector () const |
void | setProtection (const double iProtection) |
void | setCumulatedProtection (const double iProtection) |
void | setBookingLimit (const double iBookingLimit) |
void | setCumulatedBookingLimit (const double iBookingLimit) |
void | setDemand (Demand &iDemand) |
void | setYieldRange (const double iYield) |
void | setDemandParameters (const double, const double) |
void | setGeneratedDemandVector (GeneratedDemandVector_T *) |
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 |
Friends | |
class | FacBucket |
class | FacBucketHolder |
Class counting the number of seats sold for a given yield range, and the characteristics of the corresponding demand.
Usually, a bucket corresponds to booking/reservation/fare class, and is defined by a yield range on a given resource (like, e.g., the cabin of a given flight-date).
The demand is that of the corresponding booking/fare class. If no yield range is provided (in the constructor), it is supposed to be that of the demand. However, it is possible that the yield range of the bucket be distinct from the one of the demand.
The demand may not be defined. In those cases, the protections and/or booking class limits are usually calculated and set by an external system.
The protection is the number of seats that should be protected from the lower buckets/classes. The bucket protections are nested for a given cabin. Indeed, if C is the cabin capacity, n the number of classes/buckets and y(j) the protections: y(1) <= y(2) <= ... <= y(n), where y(n) = C (and y(0)=0).
The booking limit is the maximal number of bookings/seats allowed for that bucket/class.
The set of booking limits is complementary to the set of protections. Indeed, if b(j) are the booking limits:
b(j) = C - y(j-1),
Hence: b(n) <= b(n-1) <= ... <= b(1), where b(1)=C
Definition at line 48 of file Bucket.hpp.
const FldYieldRange& RMOL::Bucket::getYieldRange | ( | ) | const [inline] |
Getter for the yield range.
Definition at line 58 of file Bucket.hpp.
double RMOL::Bucket::getProtection | ( | ) | const [inline] |
Getter for the protection.
Definition at line 62 of file Bucket.hpp.
Referenced by RMOL::BucketHolder::calculateMeanDemandAndOptimalRevenue(), shortDisplay(), and toString().
double RMOL::Bucket::getCumulatedProtection | ( | ) | const [inline] |
Getter for the cumulated protection.
Definition at line 66 of file Bucket.hpp.
Referenced by RMOL::BucketHolder::calculateProtectionAndBookingLimits(), RMOL::BucketHolder::getPreviousCumulatedProtection(), shortDisplay(), and toString().
double RMOL::Bucket::getCumulatedBookingLimit | ( | ) | const [inline] |
Getter for the booking limit.
Definition at line 70 of file Bucket.hpp.
Referenced by RMOL::BucketHolder::fillup(), RMOL::RMOL_Service::heuristicOptimisationByEmsr(), shortDisplay(), and toString().
double RMOL::Bucket::getBookingLimit | ( | ) | const [inline] |
Getter for the booking limit.
Definition at line 74 of file Bucket.hpp.
Referenced by shortDisplay().
const FldDistributionParameters & RMOL::Bucket::getDistributionParameters | ( | ) | const |
Getter for the distribution parameters of the demand.
Definition at line 114 of file Bucket.cpp.
References RMOL::Demand::getDistributionParameters().
Referenced by RMOL::MCOptimiser::optimalOptimisationByMCIntegration().
const double RMOL::Bucket::getMean | ( | ) | const |
Getter for the demand mean.
Definition at line 144 of file Bucket.cpp.
References RMOL::Demand::getMean().
Referenced by RMOL::BucketHolder::calculateMeanDemandAndOptimalRevenue(), RMOL::EmsrUtils::computeAggregatedBucket(), RMOL::EmsrUtils::computeEmsrValue(), RMOL::EmsrUtils::computeProtectionLevel(), RMOL::EmsrUtils::computeProtectionLevelwithSellup(), RMOL::DPOptimiser::optimalOptimisationByDP(), shortDisplay(), and toString().
const double RMOL::Bucket::getStandardDeviation | ( | ) | const |
Getter for the demand standard deviation.
Definition at line 150 of file Bucket.cpp.
References RMOL::Demand::getStandardDeviation().
Referenced by RMOL::EmsrUtils::computeAggregatedBucket(), RMOL::EmsrUtils::computeEmsrValue(), RMOL::EmsrUtils::computeProtectionLevel(), RMOL::EmsrUtils::computeProtectionLevelwithSellup(), RMOL::DPOptimiser::optimalOptimisationByDP(), shortDisplay(), and toString().
const double RMOL::Bucket::getUpperYield | ( | ) | const |
Getter for the upper yield.
Definition at line 156 of file Bucket.cpp.
References RMOL::FldYieldRange::getUpperYield().
Referenced by shortDisplay(), and toString().
const double RMOL::Bucket::getAverageYield | ( | ) | const |
Getter for the average yield.
Definition at line 161 of file Bucket.cpp.
References RMOL::FldYieldRange::getAverageYield().
Referenced by RMOL::BucketHolder::calculateMeanDemandAndOptimalRevenue(), RMOL::SellupProbabilityCalculator::calculateSellupProbability(), RMOL::EmsrUtils::computeAggregatedBucket(), RMOL::EmsrUtils::computeEmsrValue(), RMOL::EmsrUtils::computeProtectionLevel(), RMOL::EmsrUtils::computeProtectionLevelwithSellup(), RMOL::BucketHolder::getLowestAverageYield(), RMOL::Emsr::heuristicOptimisationByEmsr(), RMOL::MCOptimiser::legOptimisationByMC(), RMOL::DPOptimiser::optimalOptimisationByDP(), and RMOL::MCOptimiser::optimalOptimisationByMCIntegration().
const double RMOL::Bucket::getLowerYield | ( | ) | const |
Getter for the lower yield.
Definition at line 166 of file Bucket.cpp.
References RMOL::FldYieldRange::getLowerYield().
const GeneratedDemandVector_T& RMOL::Bucket::getGeneratedDemandVector | ( | ) | const [inline] |
Getter for the genrated demand vector.
Definition at line 97 of file Bucket.hpp.
Referenced by RMOL::MCOptimiser::legOptimisationByMC().
void RMOL::Bucket::setProtection | ( | const double | iProtection | ) | [inline] |
Setter for the protection.
Definition at line 104 of file Bucket.hpp.
Referenced by RMOL::BucketHolder::calculateProtectionAndBookingLimits().
void RMOL::Bucket::setCumulatedProtection | ( | const double | iProtection | ) | [inline] |
Setter for the cumulated protection.
Definition at line 109 of file Bucket.hpp.
Referenced by RMOL::Emsr::heuristicOptimisationByEmsr(), RMOL::Emsr::heuristicOptimisationByEmsrA(), RMOL::Emsr::heuristicOptimisationByEmsrAwithSellup(), RMOL::Emsr::heuristicOptimisationByEmsrB(), RMOL::MCOptimiser::legOptimisationByMC(), RMOL::DPOptimiser::optimalOptimisationByDP(), and RMOL::MCOptimiser::optimalOptimisationByMCIntegration().
void RMOL::Bucket::setBookingLimit | ( | const double | iBookingLimit | ) | [inline] |
Setter for the booking limit.
Definition at line 114 of file Bucket.hpp.
void RMOL::Bucket::setCumulatedBookingLimit | ( | const double | iBookingLimit | ) | [inline] |
Setter for the cumulated booking limit.
Definition at line 119 of file Bucket.hpp.
Referenced by RMOL::BucketHolder::calculateProtectionAndBookingLimits(), RMOL::Emsr::heuristicOptimisationByEmsr(), RMOL::Emsr::heuristicOptimisationByEmsrA(), RMOL::Emsr::heuristicOptimisationByEmsrAwithSellup(), RMOL::Emsr::heuristicOptimisationByEmsrB(), and RMOL::DPOptimiser::optimalOptimisationByDP().
void RMOL::Bucket::setDemand | ( | Demand & | iDemand | ) |
Set the demand.
Definition at line 126 of file Bucket.cpp.
Referenced by RMOL::FacBucket::createDemandLink().
void RMOL::Bucket::setYieldRange | ( | const double | iYield | ) |
Set the yield range.
Definition at line 131 of file Bucket.cpp.
References RMOL::FldYieldRange::setAverageYield(), RMOL::FldYieldRange::setLowerYield(), and RMOL::FldYieldRange::setUpperYield().
Referenced by RMOL::EmsrUtils::computeAggregatedBucket().
void RMOL::Bucket::setDemandParameters | ( | const double | iMean, | |
const double | iSD | |||
) |
Set the demand mean and standard deviation.
Definition at line 138 of file Bucket.cpp.
References RMOL::Demand::setMean(), and RMOL::Demand::setSD().
Referenced by RMOL::EmsrUtils::computeAggregatedBucket().
void RMOL::Bucket::setGeneratedDemandVector | ( | GeneratedDemandVector_T * | iVector | ) |
Set the generated demand vector.
Definition at line 172 of file Bucket.cpp.
void RMOL::Bucket::toStream | ( | std::ostream & | ioOut | ) | const [virtual] |
Dump a Business Object into an output stream.
ostream& | the output stream. |
Implements RMOL::BomAbstract.
Definition at line 76 of file Bucket.cpp.
References toString().
void RMOL::Bucket::fromStream | ( | std::istream & | ioIn | ) | [virtual] |
Read a Business Object from an input stream.
istream& | the input stream. |
Implements RMOL::BomAbstract.
Definition at line 81 of file Bucket.cpp.
std::string RMOL::Bucket::toString | ( | ) | const [virtual] |
Get the serialised version of the Place object.
Implements RMOL::BomAbstract.
Definition at line 59 of file Bucket.cpp.
References describeShortKey(), getCumulatedBookingLimit(), getCumulatedProtection(), getMean(), getProtection(), getStandardDeviation(), and getUpperYield().
Referenced by toStream().
const std::string RMOL::Bucket::describeKey | ( | ) | const [virtual] |
Get a string describing the whole key (differentiating two objects at any level).
Implements RMOL::BomAbstract.
Definition at line 54 of file Bucket.cpp.
References describeShortKey().
Referenced by shortDisplay().
const std::string RMOL::Bucket::describeShortKey | ( | ) | const [virtual] |
Get a string describing the short key (differentiating two objects at the same level).
Implements RMOL::BomAbstract.
Definition at line 47 of file Bucket.cpp.
Referenced by describeKey(), and toString().
const std::string RMOL::Bucket::display | ( | ) | const |
Display the full Place context.
Definition at line 107 of file Bucket.cpp.
References shortDisplay().
Referenced by RMOL::BucketHolder::display().
const std::string RMOL::Bucket::shortDisplay | ( | ) | const |
Display a short Place context.
Definition at line 85 of file Bucket.cpp.
References describeKey(), getBookingLimit(), getCumulatedBookingLimit(), getCumulatedProtection(), getMean(), getProtection(), getStandardDeviation(), and getUpperYield().
Referenced by display().
friend class FacBucket [friend] |
Friend Classes
Those classes need to access the internal attributes of this object in order to construct and initialise it.
Definition at line 52 of file Bucket.hpp.
friend class FacBucketHolder [friend] |
Definition at line 53 of file Bucket.hpp.
Generated on Sat Sep 26 13:13:06 2009 for RMOL by Doxygen 1.6.1