NMath provides classes for minimizing multivariate functions using the downhill simplex method, Powell's direction set method, the conjugate gradient method, and the variable metric (or quasi-Newton) method.
Like the univariate minimization classes described in Chapter 26, the multivariate minimization classes derive from the abstract base class MinimizerBase, which provides Tolerance and MaxIterations properties. In general, minimization stops when either the decrease in function value is less than the tolerance, or the maximum number of iterations is reached.
The multivariate minimization classes also implement one of the following interfaces:
● Classes that implement the IMultiVariableMinimizer interface require only function evaluations to minimize a function.
● Classes that implement the IMultiVariableDMinimizer interface also require evaluations of the derivative of a function.
This chapter describes how to use the multivariate minimizer classes.