non-gradient based optimizer
int | maxiters maximum number of iterations | ||||||||||||||
double | alpha reflection parameter (recommend value alpha = 1) | ||||||||||||||
double | beta contraction parameter (recommend value beta = .5) | ||||||||||||||
double | gamma expansion parameter (recommended value gamma = 2) | ||||||||||||||
Simplex ( ObjectiveFunction * f, Model <double>* models, int iter , double alpha , double beta, double gamma , int verbose) constructor
| |||||||||||||||
Simplex ( ObjectiveFunction * f, Model <double>* models, int iter , double alpha , double beta, double gamma ) constructor | |||||||||||||||
Model <double> | optimizer (const double atol) search with Simplex with stopping criterion | ||||||||||||||
Model <double> | optimizer ( Vector <double>& atollist) search with Simplex with stopping criterion | ||||||||||||||
double | bestValue () | ||||||||||||||
int | evaluations () | ||||||||||||||
void | reset ( Vector <double>& lambda) |
The downhill simplex. Do not confuse this one with the simplex algorithm used in linear programming- is a direct search method that do not require information on the derivatives of the objective function (Nelder, J. and Mead, R., The SIMPLEX method, Computer Journal, 7, 1087 - 1092). The basic idea is to build a polyhedron of dimension n+1, where n is the dimension of the objective function, with trial solutions to the problem assigned to each one of its vertexes. During the optimization process this polyhedron is distorted to "move" in the direction of the best solution.The fact that n+1 initial guesses have to be provided to the Simplex algorithm almost rules out its application in large optimization problems. Also the Powell's derivative-free conjugate gradient tend to be a more efficient algorithm. The inclusion of the Simplex algorithm in the COOOL library is mainly for completeness purposes.
this page has been generated automatically by doc++
(c)opyright by Malte Zöckler, Roland Wunderling