GSLSimAnFunc class description.
Interface class for the objetive function to be used in simulated annealing If user wants to re-implement some of the methods (like the one defining the metric) which are used by the the simulated annealing algorithm must build a user derived class. NOTE: Derived classes must re-implement the assignment and copy constructor to call them of the parent class
Definition at line 50 of file GSLSimAnnealing.h.
Public Member Functions | |
| GSLSimAnFunc (const ROOT::Math::IMultiGenFunction &func, const double *x) | |
| construct from an interface of a multi-dimensional function | |
| GSLSimAnFunc (const ROOT::Math::IMultiGenFunction &func, const double *x, const double *scale) | |
| construct from an interface of a multi-dimensional function Use optionally a scale factor (for each coordinate) which can be used to scale the step sizes (this is used for example by the minimization algorithm) | |
| virtual | ~GSLSimAnFunc () |
| virtual destructor (no operations) | |
| virtual GSLSimAnFunc * | Clone () const |
| clone method. | |
| virtual double | Distance (const GSLSimAnFunc &func) const |
| calculate the distance (metric) between this one and another configuration Presently a cartesian metric is used. | |
| virtual double | Energy () const |
| evaluate the energy ( objective function value) re-implement by derived classes if needed to be modified | |
| virtual GSLSimAnFunc & | FastCopy (const GSLSimAnFunc &f) |
| fast copy method called by GSL simulated annealing internally copy only the things which have been changed must be re-implemented by derived classes if needed | |
| unsigned int | NDim () const |
| virtual void | Print () |
| print the position in the standard output std::ostream GSL prints in addition n iteration, n function calls, temperature and energy re-implement by derived classes if necessary | |
| double | Scale (unsigned int i) const |
| void | SetX (const double *x) |
| change the x values (used by sim annealing to take a step) | |
| template<class IT > | |
| void | SetX (IT begin, IT end) |
| void | SetX (unsigned int i, double x) |
| virtual void | Step (const GSLRandomEngine &r, double maxstep) |
| change the x[i] value using a random value urndm generated between [0,1] up to a maximum value maxstep re-implement by derived classes if needed to be modified | |
| const std::vector< double > & | X () const |
| double | X (unsigned int i) const |
Protected Member Functions | |
| GSLSimAnFunc () | |
| derived classes might need to re-define completely the class | |
Private Attributes | |
| const ROOT::Math::IMultiGenFunction * | fFunc |
| std::vector< double > | fScale |
| std::vector< double > | fX |
#include <Math/GSLSimAnnealing.h>
| ROOT::Math::GSLSimAnFunc::GSLSimAnFunc | ( | const ROOT::Math::IMultiGenFunction & | func, |
| const double * | x ) |
construct from an interface of a multi-dimensional function
Definition at line 34 of file GSLSimAnnealing.cxx.
| ROOT::Math::GSLSimAnFunc::GSLSimAnFunc | ( | const ROOT::Math::IMultiGenFunction & | func, |
| const double * | x, | ||
| const double * | scale ) |
construct from an interface of a multi-dimensional function Use optionally a scale factor (for each coordinate) which can be used to scale the step sizes (this is used for example by the minimization algorithm)
Definition at line 43 of file GSLSimAnnealing.cxx.
|
inlineprotected |
derived classes might need to re-define completely the class
Definition at line 70 of file GSLSimAnnealing.h.
|
inlinevirtual |
virtual destructor (no operations)
Definition at line 78 of file GSLSimAnnealing.h.
|
inlinevirtual |
clone method.
Needs to be re-implemented by the derived classes for deep copying
Definition at line 92 of file GSLSimAnnealing.h.
|
virtual |
calculate the distance (metric) between this one and another configuration Presently a cartesian metric is used.
re-implement by derived classes if needed to be modified
Definition at line 66 of file GSLSimAnnealing.cxx.
|
virtual |
evaluate the energy ( objective function value) re-implement by derived classes if needed to be modified
Definition at line 50 of file GSLSimAnnealing.cxx.
|
virtual |
fast copy method called by GSL simulated annealing internally copy only the things which have been changed must be re-implemented by derived classes if needed
Definition at line 96 of file GSLSimAnnealing.cxx.
|
inline |
Definition at line 135 of file GSLSimAnnealing.h.
|
virtual |
print the position in the standard output std::ostream GSL prints in addition n iteration, n function calls, temperature and energy re-implement by derived classes if necessary
Definition at line 83 of file GSLSimAnnealing.cxx.
Definition at line 141 of file GSLSimAnnealing.h.
change the x values (used by sim annealing to take a step)
Definition at line 126 of file GSLSimAnnealing.h.
Definition at line 131 of file GSLSimAnnealing.h.
Definition at line 143 of file GSLSimAnnealing.h.
|
virtual |
change the x[i] value using a random value urndm generated between [0,1] up to a maximum value maxstep re-implement by derived classes if needed to be modified
Definition at line 55 of file GSLSimAnnealing.cxx.
Definition at line 139 of file GSLSimAnnealing.h.
Definition at line 137 of file GSLSimAnnealing.h.
|
private |
Definition at line 151 of file GSLSimAnnealing.h.
|
private |
Definition at line 150 of file GSLSimAnnealing.h.
|
private |
Definition at line 149 of file GSLSimAnnealing.h.