Gadget
Public Member Functions | List of all members
OptInfoSimann Class Reference

This is the class used for the Simualted Annealing optimisation. More...

#include <optinfo.h>

Inheritance diagram for OptInfoSimann:
Inheritance graph
Collaboration diagram for OptInfoSimann:
Collaboration graph

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...
 
- Public Member Functions inherited from OptInfo
 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

- Protected Attributes inherited from OptInfo
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...
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ OptInfoSimann()

OptInfoSimann::OptInfoSimann ( )

This is the default OptInfoSimann constructor.

◆ ~OptInfoSimann()

virtual OptInfoSimann::~OptInfoSimann ( )
inlinevirtual

This is the default OptInfoSimann destructor.

Member Function Documentation

◆ OptimiseLikelihood()

void OptInfoSimann::OptimiseLikelihood ( )
virtual

This is the function that will calculate the likelihood score using the Simulated Annealing optimiser.

Reimplemented from OptInfo.

◆ Print()

void OptInfoSimann::Print ( ofstream &  outfile,
int  prec 
)
virtual

This function will print information from the optimisation algorithm.

Parameters
outfileis the ofstream that the optimisation information gets sent to
precis the precision to use in the output file

Reimplemented from OptInfo.

◆ read()

void OptInfoSimann::read ( CommentStream infile,
char *  text 
)
virtual

This is the function used to read in the Simulated Annealing parameters.

Parameters
infileis the CommentStream to read the optimisation parameters from
textis a text string used to compare parameter names

Reimplemented from OptInfo.


The documentation for this class was generated from the following files: