RMOL Logo  0.25.2
C++ library of Revenue Management and Optimisation classes and functions
Optimiser.hpp
Go to the documentation of this file.
00001 #ifndef __RMOL_COMMAND_OPTIMISER_HPP
00002 #define __RMOL_COMMAND_OPTIMISER_HPP
00003 
00004 // //////////////////////////////////////////////////////////////////////
00005 // Import section
00006 // //////////////////////////////////////////////////////////////////////
00007 // RMOL
00008 #include <rmol/RMOL_Types.hpp>
00009 
00010 // Forward declarations
00011 namespace stdair {
00012   class FlightDate;
00013   class LegCabin;
00014 }
00015 
00016 namespace RMOL {
00018   class Optimiser {
00019   public:
00020     
00032     static void optimalOptimisationByMCIntegration (const int K, 
00033                                                     stdair::LegCabin&);
00034     
00038     static void optimalOptimisationByDP (stdair::LegCabin&);
00039     
00043     static void heuristicOptimisationByEmsr (stdair::LegCabin&);
00044 
00048     static void heuristicOptimisationByEmsrA (stdair::LegCabin&);
00049 
00053     static void heuristicOptimisationByEmsrB (stdair::LegCabin&);
00054 
00058     static void optimise (stdair::FlightDate&);
00059 
00063     static void buildVirtualClassListForLegBasedOptimisation(stdair::LegCabin&);
00064 
00066     static double optimiseUsingOnDForecast (stdair::FlightDate&,
00067                                             const bool& iReduceFluctuations = false);
00068 
00069   };
00070 }
00071 #endif // __RMOL_COMMAND_OPTIMISER_HPP