OptimizationAlgorithm.hpp
Go to the documentation of this file.
1 
18 #pragma once
19 
20 #include <boost/shared_ptr.hpp>
22 #include "CostFunction.hpp"
23 
24 namespace ISM {
25 
26 template <class InstanceType>
28 {
29  public:
31  CostFunctionPtr<InstanceType> costFunction)
32  : mNeighbourhoodFunction(neighbourhoodFunction)
33  , mCostFunction(costFunction)
34  {}
35 
36  virtual InstanceType optimize(InstanceType startInstance) = 0;
37 
38  protected:
41 
42 };
43 
44 template<class InstanceType>
45 using OptimizationAlgorithmPtr = boost::shared_ptr<OptimizationAlgorithm<InstanceType>>;
46 
47 }
boost::shared_ptr< CostFunction< InstanceType >> CostFunctionPtr
OptimizationAlgorithm(NeighbourhoodFunctionPtr< InstanceType > neighbourhoodFunction, CostFunctionPtr< InstanceType > costFunction)
CostFunctionPtr< InstanceType > mCostFunction
NeighbourhoodFunctionPtr< InstanceType > mNeighbourhoodFunction
boost::shared_ptr< OptimizationAlgorithm< InstanceType >> OptimizationAlgorithmPtr
virtual InstanceType optimize(InstanceType startInstance)=0
boost::shared_ptr< NeighbourhoodFunction< InstanceType >> NeighbourhoodFunctionPtr
this namespace contains all generally usable classes.


asr_lib_ism
Author(s): Hanselmann Fabian, Heller Florian, Heizmann Heinrich, Kübler Marcel, Mehlhaus Jonas, Meißner Pascal, Qattan Mohamad, Reckling Reno, Stroh Daniel
autogenerated on Wed Jan 8 2020 04:02:40