The Extreme.Mathematics.Optimization namespace contains classes that perform optimization of functions in one or more variables.

Classes

  ClassDescription
public classBrentDerivativeOptimizer
Represents a one-dimensional optimizer based on Brent's algorithm using derivatives.

public classBrentOptimizer
Represents a one-dimensional optimizer based on Brent's algorithm.

public classConjugateGradientOptimizer
Represents an optimizer that uses a conjugate gradient algorithm.

public classDirectionalOptimizer
Represents an optimizer that finds an extremum by searching along a search direction in each iteration.

public classGoldenSectionOptimizer
Implements a one-dimensional optimizer that decreases the search interval by the Golden Ratio.

public classMoreThuenteLineSearch
Represents a line search using the algorithm of Moré and Thuente.

public classMultidimensionalOptimizer
Represents an algorithm for optimization of a multivariate function.

public classNelderMeadOptimizer
Implements the Nelder-Mead simplex algorithm for multi-dimensional optimization.

public classOneDimensionalOptimizer
Serves as an abstract base class for classes that implement one-dimensional optimization algorithms.

public classParabolicLineSearch
Implements a line search algorithm that uses parabolic interpolation to locate the extremum.

public classPowellOptimizer
Implements Powell's modified multidimensional optimization method.

public classQuasiNewtonOptimizer
Represents a multi-dimensional optimizer that uses a quasi-Newton algorithm (DFP or BFGS).

public classUnitLineSearch
Implements a line search algorithm that always takes a unit step.

Enumerations

  EnumerationDescription
public enumerationConjugateGradientMethod
Enumerates the variants of the conjugate gradient method.

public enumerationExtremumType
Enumerates the possible values for the type of extremum an optimizer is to look for.

public enumerationQuasiNewtonMethod
Enumerates the variants of the quasi-Newton method.