RMOL Logo  1.00.0
C++ library of Revenue Management and Optimisation classes and functions
 All Classes Namespaces Files Functions Variables Typedefs Friends Pages
Optimiser.hpp
Go to the documentation of this file.
1 #ifndef __RMOL_COMMAND_OPTIMISER_HPP
2 #define __RMOL_COMMAND_OPTIMISER_HPP
3 
4 // //////////////////////////////////////////////////////////////////////
5 // Import section
6 // //////////////////////////////////////////////////////////////////////
7 // STDAIR
8 #include <stdair/basic/OptimisationMethod.hpp>
9 // RMOL
10 #include <rmol/RMOL_Types.hpp>
11 
12 // Forward declarations
13 namespace stdair {
14  class FlightDate;
15  class LegCabin;
16 }
17 
18 namespace RMOL {
20  class Optimiser {
21  public:
22 
34  static void optimalOptimisationByMCIntegration (const stdair::NbOfSamples_T&,
35  stdair::LegCabin&);
36 
40  static void optimalOptimisationByDP (stdair::LegCabin&);
41 
45  static void heuristicOptimisationByEmsr (stdair::LegCabin&);
46 
50  static void heuristicOptimisationByEmsrA (stdair::LegCabin&);
51 
55  static void heuristicOptimisationByEmsrB (stdair::LegCabin&);
56 
60  static bool optimise (stdair::FlightDate&,
61  const stdair::OptimisationMethod&);
62 
66  static bool buildVirtualClassListForLegBasedOptimisation(stdair::LegCabin&);
67 
69  static double optimiseUsingOnDForecast (stdair::FlightDate&,
70  const bool& iReduceFluctuations = false);
71 
72  private:
76  static bool optimise (stdair::LegDate&,
77  const stdair::OptimisationMethod&);
81  static bool optimise (stdair::LegCabin&,
82  const stdair::OptimisationMethod&);
83 
84 
85  };
86 }
87 #endif // __RMOL_COMMAND_OPTIMISER_HPP