Gadget
|
This is the class used for the Simualted Annealing optimisation. More...
#include <optinfo.h>
Public Member Functions | |
OptInfoSimann () | |
This is the default OptInfoSimann constructor. More... | |
virtual | ~OptInfoSimann () |
This is the default OptInfoSimann destructor. More... | |
virtual void | read (CommentStream &infile, char *text) |
This is the function used to read in the Simulated Annealing parameters. More... | |
virtual void | Print (ofstream &outfile, int prec) |
This function will print information from the optimisation algorithm. More... | |
virtual void | OptimiseLikelihood () |
This is the function that will calculate the likelihood score using the Simulated Annealing optimiser. More... | |
![]() | |
OptInfo () | |
This is the default OptInfo constructor. More... | |
virtual | ~OptInfo () |
This is the default OptInfo destructor. More... | |
OptType | getType () const |
This will return the type of optimisation class. More... | |
Additional Inherited Members | |
![]() | |
int | converge |
This is the flag used to denote whether the optimisation converged or not. More... | |
int | iters |
This is the number of iterations that took place during the optimisation. More... | |
double | score |
This is the value of the best likelihood score from the optimisation. More... | |
OptType | type |
This denotes what type of optimisation class has been created. More... | |
This is the class used for the Simualted Annealing optimisation.
Simulated Annealing is a global optimisation method that distinguishes different local optima. Starting from an initial point, the algorithm takes a step and the function is evaluated. When minimizing a function, any downhill step is accepted and the process repeats from this new point. An uphill step may be accepted (thus, it can escape from local optima). This uphill decision is made by the Metropolis criteria. It uses a parameter known as "temperature" and the size of the uphill step in a probabilistic manner, and varying the temperature will affect the number of the uphill moves that are accepted. As the optimisation process proceeds, the length of the steps decline and the algorithm closes in on the global optimum.
The Simulated Annealing algorithm used in Gadget is derived from that presented by Corana et al, ''Minimising Multimodal Functions of Continuous Variables with the 'Simulated Annealing' Algorithm'' in the September 1987 (Vol. 13, pp. 262-280) issue of the ACM Transactions on Mathematical Software and Goffe et al, ''Global Optimisation of Statistical Functions with Simulated Annealing'' in the January/February 1994 (Vol. 60, pp. 65-100) issue of the Journal of Econometrics.
OptInfoSimann::OptInfoSimann | ( | ) |
This is the default OptInfoSimann constructor.
|
inlinevirtual |
This is the default OptInfoSimann destructor.
|
virtual |
This is the function that will calculate the likelihood score using the Simulated Annealing optimiser.
Reimplemented from OptInfo.
|
virtual |
This function will print information from the optimisation algorithm.
outfile | is the ofstream that the optimisation information gets sent to |
prec | is the precision to use in the output file |
Reimplemented from OptInfo.
|
virtual |
This is the function used to read in the Simulated Annealing parameters.
infile | is the CommentStream to read the optimisation parameters from |
text | is a text string used to compare parameter names |
Reimplemented from OptInfo.