41 #ifndef BPP_NUMERIC_FUNCTION_DOWNHILLSIMPLEXMETHOD_H
42 #define BPP_NUMERIC_FUNCTION_DOWNHILLSIMPLEXMETHOD_H
45 #include "../VectorTools.h"
Partial implementation of the OptimizationStopCondition interface.
Partial implementation of the Optimizer interface.
double getCurrentTolerance() const
Get the current tolerance.
DSMStopCondition(DownhillSimplexMethod *dsm)
virtual ~DSMStopCondition()
bool isToleranceReached() const
Tell if the we reached the desired tolerance with a given new set of estimates.
DSMStopCondition * clone() const
Create a copy of this object and send a pointer to it.
ParameterList & operator[](size_t i)
std::vector< ParameterList > parameters_
size_t getDimension() const
const ParameterList & operator[](size_t i) const
This implements the Downhill Simplex method in multidimensions.
virtual ~DownhillSimplexMethod()
double doStep()
This function is called by the step() method and contains all calculations.
DownhillSimplexMethod * clone() const
Create a copy of this object and send a pointer to it.
DownhillSimplexMethod(Function *function)
Build a new Downhill Simplex optimizer.
unsigned int iNextHighest_
ParameterList getPSum()
Update the pSum_ variable.
void doInit(const ParameterList ¶ms)
This function is called by the init() method and contains all calculations.
double optimize()
Multidimensional minimization of the function function_ by the downhill simplex method of Nelder and ...
double tryExtrapolation(double fac)
Extrapolates by a factor fac through the face of the simplex from the high point. Try the new point a...
This is the function abstract class.
The parameter list object.
std::vector< double > Vdouble