Thibault Barnouin Optimization Method Algorithm
methods.h
Go to the documentation of this file.
1 #ifndef METHODS_H
2 #define METHODS_H
3 
4 #include"models.h"
5 
6 /*
7  * Optimization Methods
8  */
9 
11  public:
12  //Virtual Constructor & Destructor for any optimization method
15  virtual ~OptimizationMethod(){};
16  //Virtual initialisation, execution, finalisation for any optimization method
17  virtual void initialise(){}; //Initialise attributes using values stored in the method header file
18  virtual void execute(){}; //Execute the optimization of the model
19  virtual void finalise() const = 0; //Export the model parameters and display the optimized model
20  protected:
22 };
23 
24 // Simulated Annealing
25 
27  public:
28  //Constructor & Destructor specific to this method
31  SimulatedAnnealing(Model*,double,double,double,double,int,int);
33  //Initialisation, execution and finalisation for this method
34  void initialise();
35  void execute();
36  void finalise() const ;
37  private:
38  double ampl; //Variation amplitude to get Neighbor
39  double temp; //Current temperature of the system
40  double t_end; //Freezing temperature
41  double cooling; //Cooling ratio
42  int length; //Number of iteration for the same value of temperature
43  int max_f; //Max number of unsuccessful iterations
44  int current_f; //Current number of unsuccessful iteration combo
45 };
46 
47 #endif
SimulatedAnnealing
Definition: methods.h:26
SimulatedAnnealing::SimulatedAnnealing
SimulatedAnnealing()
Definition: methods.cpp:17
OptimizationMethod::execute
virtual void execute()
Definition: methods.h:18
OptimizationMethod::initialise
virtual void initialise()
Definition: methods.h:17
SimulatedAnnealing::execute
void execute()
Definition: methods.cpp:85
OptimizationMethod::finalise
virtual void finalise() const =0
OptimizationMethod::OptimizationMethod
OptimizationMethod()
Definition: methods.h:13
SimulatedAnnealing::initialise
void initialise()
Definition: methods.cpp:75
OptimizationMethod::~OptimizationMethod
virtual ~OptimizationMethod()
Definition: methods.h:15
OptimizationMethod::OptimizationMethod
OptimizationMethod(Model *A)
Definition: methods.h:14
OptimizationMethod
Definition: methods.h:10
OptimizationMethod::ToAdjust
Model * ToAdjust
Definition: methods.h:21
SimulatedAnnealing::finalise
void finalise() const
Definition: methods.cpp:114
models.h
Model
Definition: models.h:11
SimulatedAnnealing::~SimulatedAnnealing
~SimulatedAnnealing()
Definition: methods.h:32