Main Page
Namespaces
Classes
Files
File List
File Members
libism
ISM
combinatorial_optimization
ExponentialCoolingSchedule.hpp
Go to the documentation of this file.
1
18
#pragma once
19
20
#include <boost/shared_ptr.hpp>
21
#include <random>
22
23
#include "
CoolingSchedule.hpp
"
24
25
namespace
ISM
{
26
27
class
ExponentialCoolingSchedule :
public
CoolingSchedule
28
{
29
public
:
30
ExponentialCoolingSchedule
(
double
startTemperature,
double
endTemperature,
unsigned
repetitionsBeforeUpdate,
31
double
temperatureFactor)
32
:
CoolingSchedule
(startTemperature, endTemperature, repetitionsBeforeUpdate)
33
,
mTemperatureFactor
(temperatureFactor)
34
{}
35
36
bool
isNewCostAcceptable
(
double
newCost,
double
oldCost);
37
void
update
();
38
39
private
:
40
double
mTemperatureFactor
;
41
42
std::default_random_engine
mGenerator
;
43
std::uniform_real_distribution<double>
mDistribution
= std::uniform_real_distribution<double>(0.0, 1.0);
44
45
};
typedef
boost::shared_ptr<ExponentialCoolingSchedule>
ExponentialCoolingSchedulePtr
;
46
47
}
CoolingSchedule.hpp
ISM::ExponentialCoolingSchedule::mGenerator
std::default_random_engine mGenerator
Definition:
CostDifferenceDeltaAcceptanceFunction.hpp:42
ISM::ExponentialCoolingSchedule::ExponentialCoolingSchedule
ExponentialCoolingSchedule(double startTemperature, double endTemperature, unsigned repetitionsBeforeUpdate, double temperatureFactor)
Definition:
ExponentialCoolingSchedule.hpp:30
ISM::ExponentialCoolingSchedule::update
void update()
Definition:
ExponentialCoolingSchedule.cpp:30
ISM::ExponentialCoolingSchedule::isNewCostAcceptable
bool isNewCostAcceptable(double newCost, double oldCost)
Definition:
ExponentialCoolingSchedule.cpp:22
ISM::ExponentialCoolingSchedule::mTemperatureFactor
double mTemperatureFactor
Definition:
CostDifferenceDeltaAcceptanceFunction.hpp:40
ISM::ExponentialCoolingSchedulePtr
boost::shared_ptr< ExponentialCoolingSchedule > ExponentialCoolingSchedulePtr
Definition:
CostDifferenceDeltaAcceptanceFunction.hpp:45
ISM::CoolingSchedule
Definition:
CoolingSchedule.hpp:26
ISM
this namespace contains all generally usable classes.
Definition:
AcceptanceFunction.hpp:22
ISM::ExponentialCoolingSchedule::mDistribution
std::uniform_real_distribution< double > mDistribution
Definition:
CostDifferenceDeltaAcceptanceFunction.hpp:43
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