Click or drag to resize

DownhillSimplexMinimizer Class

Class DownhillSimplexMinimizer minimizes a multivariable function using the downhill simplex method of Nelder and Mead.
Inheritance Hierarchy
SystemObject
  CenterSpace.NMath.CoreMinimizerBase
    CenterSpace.NMath.CoreDownhillSimplexMinimizer

Namespace: CenterSpace.NMath.Core
Assembly: NMath (in NMath.dll) Version: 7.4
Syntax
[SerializableAttribute]
public class DownhillSimplexMinimizer : MinimizerBase, 
	IMultiVariableMinimizer, ICloneable

The DownhillSimplexMinimizer type exposes the following members.

Constructors
 NameDescription
Public methodDownhillSimplexMinimizer Default constructor.
Public methodDownhillSimplexMinimizer(Double) Constructs a DownhillSimplexMinimizer instance with the given error tolerance.
Public methodDownhillSimplexMinimizer(Int32) Constructs a DownhillSimplexMinimizer instance with the given maximum number of iterations.
Public methodDownhillSimplexMinimizer(Double, Int32) Constructs a DownhillSimplexMinimizer instance with the given error tolerance and maximum number of iterations.
Top
Properties
 NameDescription
Public propertyError Gets the error associated with the mimimum just computed.
(Inherited from MinimizerBase)
Public propertyIterations Gets the number of iterations used in the estimate of the mimimum just computed.
(Inherited from MinimizerBase)
Public propertyMaxIterations Gets and sets the maximum number of iterations used in computing minima estimates.
(Inherited from MinimizerBase)
Public propertyMaxIterationsMet Returns true if the minimum just computed stopped because the maximum number of iterations was reached; otherwise, false.
(Inherited from MinimizerBase)
Public propertyTolerance Gets and sets the error tolerance used in computing minima estimates.
(Inherited from MinimizerBase)
Public propertyToleranceMet Returns true if the minimum just computed stopped because the error tolerance was reached; otherwise, false.
(Inherited from MinimizerBase)
Top
Methods
 NameDescription
Public methodClone Creates a deep copy of self.
(Overrides MinimizerBaseClone)
Public methodMinimize(DoubleFunctional, DoubleMatrix) Minimizes the given function using the starting simplex.
Public methodMinimize(DoubleFunctional, DoubleVector) Minimizes the given function near the given starting point.
Public methodMinimize(MultiVariableFunction, DoubleMatrix)Obsolete.
Minimizes the given function using the starting simplex.
Public methodMinimize(MultiVariableFunction, DoubleVector)Obsolete.
Minimizes the given function near the given starting point.
Public methodMinimize(DoubleFunctional, DoubleVector, DoubleVector) Minimizes the given function near the given starting point.
Public methodMinimize(DoubleFunctional, DoubleVector, Double) Minimizes the given function near the given starting point.
Public methodMinimize(MultiVariableFunction, DoubleVector, DoubleVector)Obsolete.
Minimizes the given function near the given starting point.
Public methodMinimize(MultiVariableFunction, DoubleVector, Double)Obsolete.
Minimizes the given function near the given starting point.
Top
Fields
 NameDescription
Protected fielderror_The current error.
(Inherited from MinimizerBase)
Protected fielditer_The current number of iterations performed.
(Inherited from MinimizerBase)
Protected fieldmax_The maximum number of iterations.
(Inherited from MinimizerBase)
Protected fieldtolerance_The error tolerance.
(Inherited from MinimizerBase)
Top
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.
See Also