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