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