An optimizer using the Nelder Mead method, also known as the polytope or the simplex method. More...
Public Member Functions | |
const Matrix & | data () |
const Matrix & | data () |
index_t | dimension () |
index_t | dimension () |
void | Eval (double **pts) |
void | Eval (double **pts) |
void | Init (long double(*fun)(Vector &, const Matrix &), Matrix &data, datanode *opt_module) |
void | Init (long double(*fun)(Vector &, const Matrix &), Matrix &data, datanode *opt_module) |
long double | ModSimplex_ (double **pts, long double *y, double *psum, index_t ihi, float fac) |
long double | ModSimplex_ (double **pts, long double *y, double *psum, index_t ihi, float fac) |
An optimizer using the Nelder Mead method, also known as the polytope or the simplex method.
It does multivariate minimization of an objective function. If it is optimizing in 'd' dimensions, it would require 'd+1' starting points.
Example use:
double init_pts[d+1][d]; index_t number_of_function_evaluations; struct datanode *opt_module = fx_submodule(NULL,"NelderMead","opt_module"); Matrix data; index_t dim_param_space; ... NelderMead opt; opt.Init(obj_function, data, dim_param_space, opt_module); ... opt.Eval(init_pts); // init_pts[0] contaings the optimal point found
Definition at line 117 of file optimizers.h.