Main Page
Namespaces
Classes
Files
File List
File Members
libism
ISM
combinatorial_optimization
OptimizationAlgorithm.hpp
Go to the documentation of this file.
1
18
#pragma once
19
20
#include <boost/shared_ptr.hpp>
21
#include "
NeighbourhoodFunction.hpp
"
22
#include "
CostFunction.hpp
"
23
24
namespace
ISM
{
25
26
template
<
class
InstanceType>
27
class
OptimizationAlgorithm
28
{
29
public
:
30
OptimizationAlgorithm
(
NeighbourhoodFunctionPtr<InstanceType>
neighbourhoodFunction,
31
CostFunctionPtr<InstanceType>
costFunction)
32
:
mNeighbourhoodFunction
(neighbourhoodFunction)
33
,
mCostFunction
(costFunction)
34
{}
35
36
virtual
InstanceType
optimize
(InstanceType startInstance) = 0;
37
38
protected
:
39
NeighbourhoodFunctionPtr<InstanceType>
mNeighbourhoodFunction
;
40
CostFunctionPtr<InstanceType>
mCostFunction
;
41
42
};
43
44
template
<
class
InstanceType>
45
using
OptimizationAlgorithmPtr
= boost::shared_ptr<OptimizationAlgorithm<InstanceType>>;
46
47
}
CostFunction.hpp
ISM::CostFunctionPtr
boost::shared_ptr< CostFunction< InstanceType >> CostFunctionPtr
Definition:
CostFunction.hpp:33
ISM::OptimizationAlgorithm::OptimizationAlgorithm
OptimizationAlgorithm(NeighbourhoodFunctionPtr< InstanceType > neighbourhoodFunction, CostFunctionPtr< InstanceType > costFunction)
Definition:
OptimizationAlgorithm.hpp:30
ISM::OptimizationAlgorithm
Definition:
OptimizationAlgorithm.hpp:27
ISM::OptimizationAlgorithm::mCostFunction
CostFunctionPtr< InstanceType > mCostFunction
Definition:
OptimizationAlgorithm.hpp:40
ISM::OptimizationAlgorithm::mNeighbourhoodFunction
NeighbourhoodFunctionPtr< InstanceType > mNeighbourhoodFunction
Definition:
OptimizationAlgorithm.hpp:39
ISM::OptimizationAlgorithmPtr
boost::shared_ptr< OptimizationAlgorithm< InstanceType >> OptimizationAlgorithmPtr
Definition:
OptimizationAlgorithm.hpp:45
NeighbourhoodFunction.hpp
ISM::OptimizationAlgorithm::optimize
virtual InstanceType optimize(InstanceType startInstance)=0
ISM::NeighbourhoodFunctionPtr
boost::shared_ptr< NeighbourhoodFunction< InstanceType >> NeighbourhoodFunctionPtr
Definition:
NeighbourhoodFunction.hpp:34
ISM
this namespace contains all generally usable classes.
Definition:
AcceptanceFunction.hpp:22
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