RMOL Logo  1.00.8
C++ library of Revenue Management and Optimisation classes and functions
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
7namespace RMOL {
8
9 // //////////////////////////////////////////////////////////////////////
11 const DistributionParameterList_T aDistributionParameterList;
12 init (aDistributionParameterList);
13 }
14
15 // //////////////////////////////////////////////////////////////////////
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 // //////////////////////////////////////////////////////////////////////
25 DemandGeneratorList (const DistributionParameterList_T& iDistributionParameterList) {
26 init (iDistributionParameterList);
27 }
28
29 // //////////////////////////////////////////////////////////////////////
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 // //////////////////////////////////////////////////////////////////////
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}
Definition: BasConst.cpp:7
std::list< FldDistributionParameters > DistributionParameterList_T
void generateVariateList(VariateList_T &) const