CostDifferenceDeltaAcceptanceFunction.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 
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:
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 }
48 
ExponentialCoolingSchedule(double startTemperature, double endTemperature, unsigned repetitionsBeforeUpdate, double temperatureFactor)
bool isNewCostAcceptable(double newCost, double oldCost)
boost::shared_ptr< ExponentialCoolingSchedule > ExponentialCoolingSchedulePtr
this namespace contains all generally usable classes.
std::uniform_real_distribution< double > mDistribution


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