$treeview $search $mathjax
00001 #ifndef __RMOL_COMMAND_OPTIMISER_HPP 00002 #define __RMOL_COMMAND_OPTIMISER_HPP 00003 00004 // ////////////////////////////////////////////////////////////////////// 00005 // Import section 00006 // ////////////////////////////////////////////////////////////////////// 00007 // STDAIR 00008 #include <stdair/basic/OptimisationMethod.hpp> 00009 // RMOL 00010 #include <rmol/RMOL_Types.hpp> 00011 00012 // Forward declarations 00013 namespace stdair { 00014 class FlightDate; 00015 class LegCabin; 00016 } 00017 00018 namespace RMOL { 00020 class Optimiser { 00021 public: 00022 00034 static void optimalOptimisationByMCIntegration (const stdair::NbOfSamples_T&, 00035 stdair::LegCabin&); 00036 00040 static void optimalOptimisationByDP (stdair::LegCabin&); 00041 00045 static void heuristicOptimisationByEmsr (stdair::LegCabin&); 00046 00050 static void heuristicOptimisationByEmsrA (stdair::LegCabin&); 00051 00055 static void heuristicOptimisationByEmsrB (stdair::LegCabin&); 00056 00060 static bool optimise (stdair::FlightDate&, 00061 const stdair::OptimisationMethod&); 00062 00066 static bool buildVirtualClassListForLegBasedOptimisation(stdair::LegCabin&); 00067 00069 static double optimiseUsingOnDForecast (stdair::FlightDate&, 00070 const bool& iReduceFluctuations = false); 00071 00072 private: 00076 static bool optimise (stdair::LegDate&, 00077 const stdair::OptimisationMethod&); 00081 static bool optimise (stdair::LegCabin&, 00082 const stdair::OptimisationMethod&); 00083 00084 00085 }; 00086 } 00087 #endif // __RMOL_COMMAND_OPTIMISER_HPP