00001 #ifndef __RMOL_SVC_RMOL_SERVICE_HPP 00002 #define __RMOL_SVC_RMOL_SERVICE_HPP 00003 00004 // ////////////////////////////////////////////////////////////////////// 00005 // Import section 00006 // ////////////////////////////////////////////////////////////////////// 00007 // STL 00008 #include <string> 00009 // RMOL 00010 #include <rmol/RMOL_Types.hpp> 00011 00012 namespace RMOL { 00013 00015 class RMOL_ServiceContext; 00016 00018 class RMOL_Service { 00019 public: 00021 RMOL_Service (std::ostream& ioLogStream, 00022 const ResourceCapacity_T iResourceCapacity); 00024 ~RMOL_Service(); 00025 00027 void addBucket (const double iYieldRange, const double iDemandMean, 00028 const double iDemandStandardDev); 00029 00031 void readFromInputFile (const std::string& iInputFileName); 00032 00034 void optimalOptimisationByMCIntegration (const int K); 00035 00038 void optimalOptimisationByMCIntegration (const int K, 00039 BookingLimitVector_T&); 00040 00042 void optimalOptimisationByDP (); 00043 00046 void optimalOptimisationByDP (BookingLimitVector_T&); 00047 00049 void heuristicOptimisationByEmsr (); 00050 00053 void heuristicOptimisationByEmsr (BidPriceVector_T&, BookingLimitVector_T&); 00054 00056 void heuristicOptimisationByEmsrA (); 00057 00060 void heuristicOptimisationByEmsrA (BookingLimitVector_T&); 00061 00063 void heuristicOptimisationByEmsrB (); 00064 00067 void heuristicOptimisationByEmsrB (BookingLimitVector_T&); 00068 00069 private: 00071 RMOL_Service (); 00072 RMOL_Service (const RMOL_Service&); 00073 00075 void init (std::ostream& ioLogStream, 00076 const ResourceCapacity_T iResourceCapacity); 00077 00079 void logInit (const LOG::EN_LogLevel iLogLevel, std::ostream& ioLogStream); 00080 00082 void finalise (); 00083 00084 private: 00085 // ////////// Service Context ////////// 00087 RMOL_ServiceContext* _rmolServiceContext; 00088 }; 00089 } 00090 #endif // __RMOL_SVC_RMOL_SERVICE_HPP
Generated on Tue Apr 14 17:57:51 2009 for RMOL by Doxygen 1.5.8