RMOL Logo Get Revenue Management Optimisation Library at SourceForge.net. Fast, secure and Free Open Source software downloads

RMOL::Bucket Class Reference

#include <rmol/bom/Bucket.hpp>

Inheritance diagram for RMOL::Bucket:
RMOL::BomAbstract

List of all members.

Public Member Functions

const FldYieldRangegetYieldRange () const
double getProtection () const
double getCumulatedProtection () const
double getCumulatedBookingLimit () const
double getBookingLimit () const
const FldDistributionParametersgetDistributionParameters () const
const double getMean () const
const double getStandardDeviation () const
const double getUpperYield () const
const double getAverageYield () const
const double getLowerYield () const
const GeneratedDemandVector_TgetGeneratedDemandVector () 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

Detailed Description

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.


Member Function Documentation

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]
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
const double RMOL::Bucket::getStandardDeviation (  )  const
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
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]
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]
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  ) 
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.

Parameters:
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.

Parameters:
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().


Friends And Related Function Documentation

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.


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

Generated on Sat Sep 26 13:13:06 2009 for RMOL by Doxygen 1.6.1