$treeview $search $mathjax
RMOL Logo  1.00.0
$projectbrief
$projectbrief
$searchbox

rmol/command/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 // 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