Class DownhillSimplexMinimizer minimizes a multivariable function using the downhill simplex method of Nelder and Mead.

Namespace:  CenterSpace.NMath.Analysis
Assembly:  NMath (in NMath.dll) Version: 5.1.0.0

Syntax

C#
[SerializableAttribute]
public class DownhillSimplexMinimizer : MinimizerBase, 
	IMultiVariableMinimizer, ICloneable
Visual Basic (Declaration)
<SerializableAttribute> _
Public Class DownhillSimplexMinimizer _
	Inherits MinimizerBase _
	Implements IMultiVariableMinimizer, ICloneable
Visual C++
[SerializableAttribute]
public ref class DownhillSimplexMinimizer : public MinimizerBase, 
	IMultiVariableMinimizer, ICloneable

Remarks

The downhill simplex method does not require gradients or other derivative information. A simplex in n-dimensional space consists of n+1 distinct vertices (a triangle in two dimensions, a pyramid in three dimensions, and so on). The procedure involves moving the simplex downhill or, if that is not possible, shrinking its size. Search continues until the decrease in function value is less than the specified tolerance, or a specified maximum number of iterations is reached.
The downhill simplex method is not highly efficient, and is appropriate only for small numbers of variables (approx < 6). Powell's Method is faster in most applications. (See class PowellMinimizer.)
The downhill simplex algorithm is described in Nelder, J. A. and R. Mead (1965), "A Simplex Method for Function Minimization," Computer Journal, Vol. 7, p. 308-313.

Inheritance Hierarchy

System..::.Object
  CenterSpace.NMath.Analysis..::.MinimizerBase
    CenterSpace.NMath.Analysis..::.DownhillSimplexMinimizer

See Also