NMath Reference Guide

## Downhill |

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

Inheritance Hierarchy

Syntax

The DownhillSimplexMinimizer type exposes the following members.

Constructors

Name | Description | |
---|---|---|

DownhillSimplexMinimizer | Default constructor. | |

DownhillSimplexMinimizer(Double) | Constructs a DownhillSimplexMinimizer instance with the given error tolerance. | |

DownhillSimplexMinimizer(Int32) | Constructs a DownhillSimplexMinimizer instance with the given maximum number of iterations. | |

DownhillSimplexMinimizer(Double, Int32) | Constructs a DownhillSimplexMinimizer instance with the given error tolerance and maximum number of iterations. |

Properties

Name | Description | |
---|---|---|

Error |
Gets the error associated with the mimimum just computed.
(Inherited from MinimizerBase) | |

Iterations |
Gets the number of iterations used in the estimate of the mimimum
just computed.
(Inherited from MinimizerBase) | |

MaxIterations |
Gets and sets the maximum number of iterations used in computing minima
estimates.
(Inherited from MinimizerBase) | |

MaxIterationsMet |
Returns true if the minimum just computed stopped because the
maximum number of iterations was reached; otherwise, false.
(Inherited from MinimizerBase) | |

Tolerance |
Gets and sets the error tolerance used in computing minima estimates.
(Inherited from MinimizerBase) | |

ToleranceMet |
Returns true if the minimum just computed stopped because the
error tolerance was reached; otherwise, false.
(Inherited from MinimizerBase) |

Methods

Name | Description | |
---|---|---|

Clone |
Creates a deep copy of self.
(Overrides MinimizerBaseClone) | |

Minimize(DoubleFunctional, DoubleMatrix) | Minimizes the given function using the starting simplex. | |

Minimize(DoubleFunctional, DoubleVector) | Minimizes the given function near the given starting point. | |

Minimize(MultiVariableFunction, DoubleMatrix) | Obsolete.Minimizes the given function using the starting simplex. | |

Minimize(MultiVariableFunction, DoubleVector) | Obsolete.Minimizes the given function near the given starting point. | |

Minimize(DoubleFunctional, DoubleVector, DoubleVector) | Minimizes the given function near the given starting point. | |

Minimize(DoubleFunctional, DoubleVector, Double) | Minimizes the given function near the given starting point. | |

Minimize(MultiVariableFunction, DoubleVector, DoubleVector) | Obsolete.Minimizes the given function near the given starting point. | |

Minimize(MultiVariableFunction, DoubleVector, Double) | Obsolete.Minimizes the given function near the given starting point. |

Fields

Name | Description | |
---|---|---|

error_ | The current error. (Inherited from MinimizerBase) | |

iter_ | The current number of iterations performed. (Inherited from MinimizerBase) | |

max_ | The maximum number of iterations. (Inherited from MinimizerBase) | |

tolerance_ | The error tolerance. (Inherited from MinimizerBase) |

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.

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