1.00.17
C++ library of Revenue Management and Optimisation classes and functions
Toggle main menu visibility
Loading...
Searching...
No Matches
DemandGeneratorList.cpp
Go to the documentation of this file.
1
// //////////////////////////////////////////////////////////////////////
2
// Import section
3
// //////////////////////////////////////////////////////////////////////
4
// RMOL
5
#include <rmol/bom/DemandGeneratorList.hpp>
6
7
namespace
RMOL
{
8
9
// //////////////////////////////////////////////////////////////////////
10
DemandGeneratorList::DemandGeneratorList
() {
11
const
DistributionParameterList_T
aDistributionParameterList;
12
init (aDistributionParameterList);
13
}
14
15
// //////////////////////////////////////////////////////////////////////
16
DemandGeneratorList::
17
DemandGeneratorList
(
const
DemandGeneratorList
& iDemandGeneratorList) {
18
// TODO: copy the distribution parameters of the input generator list
19
const
DistributionParameterList_T
aDistributionParameterList;
20
init (aDistributionParameterList);
21
}
22
23
// //////////////////////////////////////////////////////////////////////
24
DemandGeneratorList::
25
DemandGeneratorList
(
const
DistributionParameterList_T
& iDistributionParameterList) {
26
init (iDistributionParameterList);
27
}
28
29
// //////////////////////////////////////////////////////////////////////
30
DemandGeneratorList::~DemandGeneratorList
() {
31
}
32
33
// //////////////////////////////////////////////////////////////////////
34
void
DemandGeneratorList::
35
init (
const
DistributionParameterList_T
& iDistributionParameterList) {
36
37
DistributionParameterList_T::const_iterator itParams =
38
iDistributionParameterList.begin();
39
for
( ; itParams != iDistributionParameterList.end(); itParams++) {
40
const
FldDistributionParameters& aParams = *itParams;
41
42
const
Gaussian gaussianGenerator (aParams);
43
44
_demandGeneratorList.push_back (gaussianGenerator);
45
}
46
}
47
48
// //////////////////////////////////////////////////////////////////////
49
void
DemandGeneratorList::
50
generateVariateList
(VariateList_T& ioVariateList)
const
{
51
52
// Iterate on the (number of) classes/buckets, n
53
DemandGeneratorList_T::const_iterator itGenerator =
54
_demandGeneratorList.begin();
55
for
( ; itGenerator != _demandGeneratorList.end(); itGenerator++) {
56
const
Gaussian& gaussianGenerator = *itGenerator;
57
58
// Generate a random variate following the Gaussian distribution
59
const
double
generatedVariate = gaussianGenerator.generateVariate ();
60
ioVariateList.push_back (generatedVariate);
61
}
62
}
63
64
}
RMOL
Definition
BasConst.cpp:7
RMOL::DistributionParameterList_T
std::list< FldDistributionParameters > DistributionParameterList_T
Definition
DistributionParameterList.hpp:16
RMOL::DemandGeneratorList::DemandGeneratorList
DemandGeneratorList()
Definition
DemandGeneratorList.cpp:10
RMOL::DemandGeneratorList::generateVariateList
void generateVariateList(VariateList_T &) const
Definition
DemandGeneratorList.cpp:50
RMOL::DemandGeneratorList::~DemandGeneratorList
virtual ~DemandGeneratorList()
Definition
DemandGeneratorList.cpp:30
Generated for RMOL by
1.17.0