1.00.16
C++ Simulated Travel Demand Generation Library
Toggle main menu visibility
Loading...
Searching...
No Matches
DemandCharacteristics.cpp
Go to the documentation of this file.
1
// //////////////////////////////////////////////////////////////////////
2
// Import section
3
// //////////////////////////////////////////////////////////////////////
4
// STL
5
#include <cassert>
6
#include <sstream>
7
// StdAir
8
#include <stdair/stdair_basic_types.hpp>
9
// TraDemGen
10
#include <
trademgen/basic/BasConst_DemandGeneration.hpp
>
11
#include <
trademgen/basic/DemandCharacteristics.hpp
>
12
13
namespace
TRADEMGEN
{
14
15
// /////////////////////////////////////////////////////
16
DemandCharacteristics::DemandCharacteristics
()
17
:
_arrivalPattern
(
ArrivalPatternCumulativeDistribution_T
()),
18
_posProbabilityMass
(
POSProbabilityMassFunction_T
()),
19
_channelProbabilityMass
(
ChannelProbabilityMassFunction_T
()),
20
_tripTypeProbabilityMass
(
TripTypeProbabilityMassFunction_T
()),
21
_stayDurationProbabilityMass
(
StayDurationProbabilityMassFunction_T
()),
22
_frequentFlyerProbabilityMass
(
FrequentFlyerProbabilityMassFunction_T
()),
23
_changeFeeProb
(0.5),
_changeFeeDisutility
(0.0),
24
_nonRefundableProb
(0.5),
_nonRefundableDisutility
(0.0),
25
_preferredDepartureTimeCumulativeDistribution
(
PreferredDepartureTimeContinuousDistribution_T
()),
26
_minWTP
(
stdair
::WTP_T()),
_frat5Pattern
(
DEFAULT_FRAT5_PATTERN
),
27
_valueOfTimeCumulativeDistribution
(
ValueOfTimeContinuousDistribution_T
()) {
28
}
29
30
// /////////////////////////////////////////////////////
31
DemandCharacteristics::
32
DemandCharacteristics
(
const
DemandCharacteristics
& iDC)
33
:
_arrivalPattern
(iDC.
_arrivalPattern
),
34
_posProbabilityMass
(iDC.
_posProbabilityMass
),
35
_channelProbabilityMass
(iDC.
_channelProbabilityMass
),
36
_tripTypeProbabilityMass
(iDC.
_tripTypeProbabilityMass
),
37
_stayDurationProbabilityMass
(iDC.
_stayDurationProbabilityMass
),
38
_frequentFlyerProbabilityMass
(iDC.
_frequentFlyerProbabilityMass
),
39
_changeFeeProb
(iDC.
_changeFeeProb
),
40
_changeFeeDisutility
(iDC.
_changeFeeDisutility
),
41
_nonRefundableProb
(iDC.
_nonRefundableProb
),
42
_nonRefundableDisutility
(iDC.
_nonRefundableDisutility
),
43
_preferredDepartureTimeCumulativeDistribution
(iDC.
_preferredDepartureTimeCumulativeDistribution
),
44
_minWTP
(iDC.
_minWTP
),
_frat5Pattern
(iDC.
_frat5Pattern
),
45
_valueOfTimeCumulativeDistribution
(iDC.
_valueOfTimeCumulativeDistribution
) {
46
}
47
48
// /////////////////////////////////////////////////////
49
DemandCharacteristics::
50
DemandCharacteristics
(
const
ArrivalPatternCumulativeDistribution_T
& iArrivalPattern,
51
const
POSProbabilityMassFunction_T
& iPOSProbMass,
52
const
ChannelProbabilityMassFunction_T
& iChannelProbMass,
53
const
TripTypeProbabilityMassFunction_T
& iTripTypeProbMass,
54
const
StayDurationProbabilityMassFunction_T
& iStayDurationProbMass,
55
const
FrequentFlyerProbabilityMassFunction_T
& iFrequentFlyerProbMass,
56
const
stdair::ChangeFeesRatio_T& iChangeFeeProb,
57
const
stdair::Disutility_T& iChangeFeeDisutility,
58
const
stdair::NonRefundableRatio_T& iNonRefundableProb,
59
const
stdair::Disutility_T& iNonRefundableDisutility,
60
const
PreferredDepartureTimeContinuousDistribution_T
& iPreferredDepartureTimeContinuousDistribution,
61
const
stdair::WTP_T& iMinWTP,
62
const
ValueOfTimeContinuousDistribution_T
& iValueOfTimeContinuousDistribution)
63
:
_arrivalPattern
(iArrivalPattern),
64
_posProbabilityMass
(iPOSProbMass),
65
_channelProbabilityMass
(iChannelProbMass),
66
_tripTypeProbabilityMass
(iTripTypeProbMass),
67
_stayDurationProbabilityMass
(iStayDurationProbMass),
68
_frequentFlyerProbabilityMass
(iFrequentFlyerProbMass),
69
_changeFeeProb
(iChangeFeeProb),
70
_changeFeeDisutility
(iChangeFeeDisutility),
71
_nonRefundableProb
(iNonRefundableProb),
72
_nonRefundableDisutility
(iNonRefundableDisutility),
73
_preferredDepartureTimeCumulativeDistribution
(iPreferredDepartureTimeContinuousDistribution),
74
_minWTP
(iMinWTP),
_frat5Pattern
(
DEFAULT_FRAT5_PATTERN
),
75
_valueOfTimeCumulativeDistribution
(iValueOfTimeContinuousDistribution) {
76
}
77
78
// /////////////////////////////////////////////////////
79
DemandCharacteristics::~DemandCharacteristics
() {
80
}
81
82
// /////////////////////////////////////////////////////
83
const
stdair::AirportCode_T&
DemandCharacteristics::
84
getPOSValue
(
const
stdair::Probability_T& iCumulativeProbability)
const
{
85
return
_posProbabilityMass
.getValue (iCumulativeProbability);
86
}
87
88
// /////////////////////////////////////////////////////
89
bool
DemandCharacteristics::
90
checkPOSValue
(
const
stdair::AirportCode_T& iPOS)
const
{
91
return
_posProbabilityMass
.checkValue (iPOS);
92
}
93
94
// /////////////////////////////////////////////////////
95
const
std::string
DemandCharacteristics::describe
()
const
{
96
std::ostringstream oStr;
97
98
//
99
oStr <<
"****************** Demand characteristics ******************"
100
<< std::endl;
101
oStr <<
"Arrival pattern (days from departure, proportion): "
;
102
oStr <<
_arrivalPattern
.displayCumulativeDistribution() << std::endl;
103
oStr <<
"POS probability mass (POS, propotion): "
;
104
oStr <<
_posProbabilityMass
.displayProbabilityMass()
105
<< std::endl;
106
oStr <<
"Channel probability mass (channel, propotion): "
;
107
oStr <<
_channelProbabilityMass
.displayProbabilityMass()
108
<< std::endl;
109
oStr <<
"Trip type probability mass (trip type, propotion): "
;
110
oStr <<
_tripTypeProbabilityMass
.displayProbabilityMass()
111
<< std::endl;
112
oStr <<
"Stay duration probability mass (number of days, propotion): "
;
113
oStr <<
_stayDurationProbabilityMass
.displayProbabilityMass()
114
<< std::endl;
115
oStr <<
"Frequent flyer probability mass (frequent flyer, propotion): "
;
116
oStr <<
_frequentFlyerProbabilityMass
.displayProbabilityMass()
117
<< std::endl;
118
oStr <<
"Change fee acceptation probability: "
119
<<
_changeFeeProb
120
<< std::endl;
121
oStr <<
"Change fee disutility: "
122
<<
_changeFeeDisutility
123
<< std::endl;
124
oStr <<
"Non refundable acceptation probability: "
125
<<
_nonRefundableProb
126
<< std::endl;
127
oStr <<
"Non refundable disutility: "
128
<<
_nonRefundableDisutility
129
<< std::endl;
130
oStr <<
"Preferred departure time cumulative distribution (time, proportion: "
;
131
oStr <<
_preferredDepartureTimeCumulativeDistribution
.displayCumulativeDistribution() << std::endl;
132
oStr <<
"min WTP: "
<<
_minWTP
<< std::endl;
133
oStr <<
"Value of time cumulative distribution (value of time, proportion: "
;
134
oStr <<
_valueOfTimeCumulativeDistribution
.displayCumulativeDistribution()
135
<< std::endl;
136
137
138
return
oStr.str();
139
}
140
141
}
142
BasConst_DemandGeneration.hpp
DemandCharacteristics.hpp
TRADEMGEN
Definition
BasConst.cpp:10
TRADEMGEN::FrequentFlyerProbabilityMassFunction_T
FrequentFlyerProbabilityMass_T::ProbabilityMassFunction_T FrequentFlyerProbabilityMassFunction_T
Definition
DemandCharacteristicsTypes.hpp:52
TRADEMGEN::StayDurationProbabilityMassFunction_T
StayDurationProbabilityMass_T::ProbabilityMassFunction_T StayDurationProbabilityMassFunction_T
Definition
DemandCharacteristicsTypes.hpp:46
TRADEMGEN::ValueOfTimeContinuousDistribution_T
ValueOfTimeCumulativeDistribution_T::ContinuousDistribution_T ValueOfTimeContinuousDistribution_T
Definition
DemandCharacteristicsTypes.hpp:64
TRADEMGEN::TripTypeProbabilityMassFunction_T
TripTypeProbabilityMass_T::ProbabilityMassFunction_T TripTypeProbabilityMassFunction_T
Definition
DemandCharacteristicsTypes.hpp:40
TRADEMGEN::ArrivalPatternCumulativeDistribution_T
ContinuousFloatDuration_T::ContinuousDistribution_T ArrivalPatternCumulativeDistribution_T
Definition
DemandCharacteristicsTypes.hpp:22
TRADEMGEN::PreferredDepartureTimeContinuousDistribution_T
PreferredDepartureTimeCumulativeDistribution_T::ContinuousDistribution_T PreferredDepartureTimeContinuousDistribution_T
Definition
DemandCharacteristicsTypes.hpp:58
TRADEMGEN::DEFAULT_FRAT5_PATTERN
const FRAT5Pattern_T DEFAULT_FRAT5_PATTERN
Definition
BasConst.cpp:38
TRADEMGEN::ChannelProbabilityMassFunction_T
ChannelProbabilityMass_T::ProbabilityMassFunction_T ChannelProbabilityMassFunction_T
Definition
DemandCharacteristicsTypes.hpp:34
TRADEMGEN::POSProbabilityMassFunction_T
POSProbabilityMass_T::ProbabilityMassFunction_T POSProbabilityMassFunction_T
Definition
DemandCharacteristicsTypes.hpp:28
stdair
Forward declarations.
Definition
CategoricalAttribute.hpp:14
TRADEMGEN::DemandCharacteristics::getPOSValue
const stdair::AirportCode_T & getPOSValue(const stdair::Probability_T &iCumulativeProbability) const
Definition
DemandCharacteristics.cpp:84
TRADEMGEN::DemandCharacteristics::_posProbabilityMass
POSProbabilityMass_T _posProbabilityMass
Definition
DemandCharacteristics.hpp:92
TRADEMGEN::DemandCharacteristics::_tripTypeProbabilityMass
TripTypeProbabilityMass_T _tripTypeProbabilityMass
Definition
DemandCharacteristics.hpp:102
TRADEMGEN::DemandCharacteristics::_stayDurationProbabilityMass
StayDurationProbabilityMass_T _stayDurationProbabilityMass
Definition
DemandCharacteristics.hpp:107
TRADEMGEN::DemandCharacteristics::_valueOfTimeCumulativeDistribution
ValueOfTimeCumulativeDistribution_T _valueOfTimeCumulativeDistribution
Definition
DemandCharacteristics.hpp:153
TRADEMGEN::DemandCharacteristics::_frequentFlyerProbabilityMass
FrequentFlyerProbabilityMass_T _frequentFlyerProbabilityMass
Definition
DemandCharacteristics.hpp:112
TRADEMGEN::DemandCharacteristics::_changeFeeProb
stdair::ChangeFeesRatio_T _changeFeeProb
Definition
DemandCharacteristics.hpp:117
TRADEMGEN::DemandCharacteristics::_minWTP
stdair::WTP_T _minWTP
Definition
DemandCharacteristics.hpp:143
TRADEMGEN::DemandCharacteristics::DemandCharacteristics
DemandCharacteristics()
Definition
DemandCharacteristics.cpp:16
TRADEMGEN::DemandCharacteristics::_channelProbabilityMass
ChannelProbabilityMass_T _channelProbabilityMass
Definition
DemandCharacteristics.hpp:97
TRADEMGEN::DemandCharacteristics::_nonRefundableProb
stdair::NonRefundableRatio_T _nonRefundableProb
Definition
DemandCharacteristics.hpp:127
TRADEMGEN::DemandCharacteristics::DemandCharacteristics
DemandCharacteristics(const ArrivalPatternCumulativeDistribution_T &, const POSProbabilityMassFunction_T &, const ChannelProbabilityMassFunction_T &, const TripTypeProbabilityMassFunction_T &, const StayDurationProbabilityMassFunction_T &, const FrequentFlyerProbabilityMassFunction_T &, const stdair::ChangeFeesRatio_T &, const stdair::Disutility_T &, const stdair::NonRefundableRatio_T &, const stdair::Disutility_T &, const PreferredDepartureTimeContinuousDistribution_T &, const stdair::WTP_T &, const ValueOfTimeContinuousDistribution_T &)
Definition
DemandCharacteristics.cpp:50
TRADEMGEN::DemandCharacteristics::checkPOSValue
bool checkPOSValue(const stdair::AirportCode_T &iPOS) const
Definition
DemandCharacteristics.cpp:90
TRADEMGEN::DemandCharacteristics::_arrivalPattern
ContinuousFloatDuration_T _arrivalPattern
Definition
DemandCharacteristics.hpp:87
TRADEMGEN::DemandCharacteristics::describe
const std::string describe() const
Definition
DemandCharacteristics.cpp:95
TRADEMGEN::DemandCharacteristics::_frat5Pattern
CumulativeDistribution_T _frat5Pattern
Definition
DemandCharacteristics.hpp:148
TRADEMGEN::DemandCharacteristics::_nonRefundableDisutility
stdair::Disutility_T _nonRefundableDisutility
Definition
DemandCharacteristics.hpp:132
TRADEMGEN::DemandCharacteristics::_changeFeeDisutility
stdair::Disutility_T _changeFeeDisutility
Definition
DemandCharacteristics.hpp:122
TRADEMGEN::DemandCharacteristics::_preferredDepartureTimeCumulativeDistribution
PreferredDepartureTimeCumulativeDistribution_T _preferredDepartureTimeCumulativeDistribution
Definition
DemandCharacteristics.hpp:137
TRADEMGEN::DemandCharacteristics::~DemandCharacteristics
~DemandCharacteristics()
Definition
DemandCharacteristics.cpp:79
Generated on
for TraDemGen by
1.17.0