RMOL Logo  1.00.6
C++ library of Revenue Management and Optimisation classes and functions
OptimizationType.hpp
Go to the documentation of this file.
1 #ifndef __RMOL_OPTIMIZATIONTYPE_HPP
2 #define __RMOL_OPTIMIZATIONTYPE_HPP
3 
4 // //////////////////////////////////////////////////////////////////////
5 // Import section
6 // //////////////////////////////////////////////////////////////////////
7 // STL
8 #include <string>
9 // StdAir
10 #include <stdair/basic/StructAbstract.hpp>
11 
12 namespace RMOL {
13 
17  struct OptimizationType : public stdair::StructAbstract {
18  public:
19  typedef enum {
20  OPT_MC = 0, // Single resource opt. using the Monte Carlo algorithm
21  OPT_DP, // Single resource opt. using dynamic programming (DP)
22  HEUR_EMSR, // Single resource opt. using EMSR heuristic
23  HEUR_EMSRA, // Single resource opt. using EMSR-a heuristic
24  HEUR_EMSRB, // Single resource opt. using EMSR-b heuristic
25  HEUR_MC_4_QFF, // Single resource opt. using MC algorithm for QFF
26  HEUR_EMSRB_4_QFF, // Single resource opt. using EMSRb for QFF
27  HEUR_MRT_QFF, // Single resource pre-opt. using MRT for QFF
30 
37  static const std::string& getLabel (const EN_OptimizationType&);
38 
42  static char getTypeLabel (const EN_OptimizationType&);
43 
47  static std::string getTypeLabelAsString (const EN_OptimizationType&);
48 
50  static std::string describeLabels();
51 
54 
58  std::string getTypeAsString() const;
59 
66  const std::string describe() const;
67 
68  public:
70  bool operator== (const EN_OptimizationType&) const;
71 
72  public:
76  OptimizationType (const char iType);
78  OptimizationType (const std::string& iTypeStr);
81 
82  private:
85 
86 
87  private:
89  static const std::string _labels[LAST_VALUE];
91  static const char _typeLabels[LAST_VALUE];
92 
93 
94  private:
95  // //////// Attributes /////////
97  EN_OptimizationType _type;
98  };
99 
100 }
101 #endif // __RMOL_OPTIMIZATIONTYPE_HPP
RMOL::OptimizationType::HEUR_MC_4_QFF
@ HEUR_MC_4_QFF
Definition: OptimizationType.hpp:25
RMOL::OptimizationType::HEUR_EMSRB
@ HEUR_EMSRB
Definition: OptimizationType.hpp:24
RMOL::OptimizationType::getType
EN_OptimizationType getType() const
Definition: OptimizationType.cpp:121
RMOL::OptimizationType::LAST_VALUE
@ LAST_VALUE
Definition: OptimizationType.hpp:28
RMOL::OptimizationType::getTypeLabelAsString
static std::string getTypeLabelAsString(const EN_OptimizationType &)
Definition: OptimizationType.cpp:102
RMOL::OptimizationType::OPT_DP
@ OPT_DP
Definition: OptimizationType.hpp:21
RMOL::OptimizationType::HEUR_EMSR
@ HEUR_EMSR
Definition: OptimizationType.hpp:22
RMOL::OptimizationType::HEUR_MRT_QFF
@ HEUR_MRT_QFF
Definition: OptimizationType.hpp:27
RMOL::OptimizationType::OPT_MC
@ OPT_MC
Definition: OptimizationType.hpp:20
RMOL::OptimizationType::HEUR_EMSRA
@ HEUR_EMSRA
Definition: OptimizationType.hpp:23
RMOL::OptimizationType::getTypeLabel
static char getTypeLabel(const EN_OptimizationType &)
Definition: OptimizationType.cpp:96
RMOL::OptimizationType::describe
const std::string describe() const
Definition: OptimizationType.cpp:133
RMOL::OptimizationType::EN_OptimizationType
EN_OptimizationType
Definition: OptimizationType.hpp:19
RMOL::OptimizationType::HEUR_EMSRB_4_QFF
@ HEUR_EMSRB_4_QFF
Definition: OptimizationType.hpp:26
RMOL
Definition: BasConst.cpp:7
RMOL::OptimizationType::getTypeAsString
std::string getTypeAsString() const
Definition: OptimizationType.cpp:126
RMOL::OptimizationType::describeLabels
static std::string describeLabels()
Definition: OptimizationType.cpp:109
RMOL::OptimizationType
Definition: OptimizationType.hpp:17
RMOL::OptimizationType::operator==
bool operator==(const EN_OptimizationType &) const
Definition: OptimizationType.cpp:140
RMOL::OptimizationType::getLabel
static const std::string & getLabel(const EN_OptimizationType &)
Definition: OptimizationType.cpp:91