Accord.Math.Optimization Namespace 
Class  Description  

AugmentedLagrangian 
Augmented Lagrangian method for constrained nonlinear optimization.
 
BaseGradientOptimizationMethod 
Base class for gradientbased optimization methods.
 
BaseLeastSquaresMethod 
Base class for leastsquares optimizers implementing the ILeastSquaresMethod interface.
 
BaseOptimizationMethod 
Base class for optimization methods.
 
BinarySearch 
Binary search root finding algorithm.
 
BoundedBroydenFletcherGoldfarbShanno 
Limitedmemory Broyden–Fletcher–Goldfarb–Shanno (LBFGS) optimization method.
 
BoundedBroydenFletcherGoldfarbShannoInnerStatus 
Inner status of the BoundedBroydenFletcherGoldfarbShanno
optimization algorithm. This class contains implementation details that
can change at any time.
 
BrentSearch 
Brent's root finding and minimization algorithms.
 
BroydenFletcherGoldfarbShanno 
Limitedmemory Broyden–Fletcher–Goldfarb–Shanno (LBFGS) optimization method.
 
Cobyla 
Constrained optimization by linear approximation.
 
ConjugateGradient 
Conjugate Gradient (CG) optimization method.
 
ConstraintExtensions 
Extension methods on the IConstraint interface.
 
FanChenLinQuadraticOptimization 
General Sequential Minimal Optimization algorithm for Quadratic Programming problems.
 
GaussNewton 
GaussNewton algorithm for solving LeastSquares problems.
 
GoldfarbIdnani 
GoldfarbIdnani Quadratic Programming Solver.
 
GradientDescent 
Gradient Descent (GD) for unconstrained optimization.
 
LevenbergMarquardt 
LevenbergMarquardt algorithm for solving LeastSquares problems.
 
LinearConstraint 
Constraint with only linear terms.
 
LinearConstraintCollection 
Linear Constraint Collection.
 
LineSearchFailedException 
Line Search Failed Exception.
 
Munkres 
Hungarian method for solving the assignment problem, also known
as the Kuhn–Munkres algorithm or Munkres assignment algorithm.
 
NelderMead 
NelderMead simplex algorithm with support for bound
constraints for nonlinear, gradientfree optimization.
 
NonlinearConjugateGradient 
Nonlinear Conjugate Gradient (WARNING: This code can not be used for
commercial purposes. It is MANDATORY to check the accompanying license
file for this particular module AND the source code for more details before
you use this code).
 
NonlinearConstraint 
Constraint with only linear terms.
 
NonlinearObjectiveFunction 
Quadratic objective function.
 
OptimizationProgressEventArgs 
Optimization progress event arguments.
 
QuadraticConstraint 
Constraint with only quadratic terms.
 
QuadraticObjectiveFunction 
Quadratic objective function.
 
ResilientBackpropagation 
Resilient Backpropagation method for unconstrained optimization.
 
Subplex 
Subplex
 
TrustRegionNewtonMethod 
Simplified Trust Region Newton Method (TRON) for nonlinear optimization.

Interface  Description  

IConstraint 
Defines an interface for an optimization constraint.
 
IFunctionOptimizationMethodTInput, TOutput 
Common interface for function optimization methods.
 
IGradientOptimizationMethod 
Common interface for function optimization methods which depend on
having both an objective function and a gradient function definition
available.
 
IGradientOptimizationMethodTInput, TOutput 
Common interface for function optimization methods which depend on
having both an objective function and a gradient function definition
available.
 
ILeastSquaresMethod 
Common interface for Least Squares algorithms, i.e. algorithms
that can be used to solve Least Squares optimization problems.
 
IObjectiveFunction 
Common interface for specifying objective functions.
 
IOptimizationMethod 
Common interface for function optimization methods.
 
IOptimizationMethodTCode 
Common interface for function optimization methods.
 
IOptimizationMethodTInput, TOutput 
Common interface for function optimization methods.
 
IOptimizationMethodTInput, TOutput, TCode 
Common interface for function optimization methods.

Delegate  Description  

LeastSquaresFunction 
Least Squares function delegate.
 
LeastSquaresGradientFunction 
Gradient function delegate.

Enumeration  Description  

AugmentedLagrangianStatus 
Status codes for the AugmentedLagrangian
optimization algorithm.
 
BoundedBroydenFletcherGoldfarbShannoStatus 
Status codes for the BoundedBroydenFletcherGoldfarbShanno
function optimizer.
 
BrentSearchStatus 
Status codes for the BrentSearch.
 
BroydenFletcherGoldfarbShannoStatus 
Status codes for the BroydenFletcherGoldfarbShanno
function optimizer.
 
CobylaStatus 
Cobyla exit codes.
 
ConjugateGradientCode 
Conjugate Gradient exit codes.
 
ConjugateGradientMethod 
Conjugate gradient direction update formula.
 
ConstraintType 
Constraint type.
 
GoldfarbIdnaniStatus 
Status codes for the GoldfarbIdnani
constrained quadratic programming solver.
 
LineSearch 
Line search algorithms.
 
NelderMeadStatus  NelderMead exit codes.

This namespace contains different methods for solving both constrained and unconstrained optimization problems. For unconstrained optimization, methods available include Conjugate Gradient (CG), Bounded and Unbounded Broyden–Fletcher–Goldfarb–Shanno (BFGS), Resilient Backpropagation and a simplified implementation of the Trust Region Newton Method (TRON).
For constrained optimization problems, methods available include the Augmented Lagrangian method for general nonlinear optimization, Cobyla for gradientfree nonlinear optimization, and the GoldfarbIdnani method for solving Quadratic Programming (QP) problems.
This namespace also contains optimizers specialized for least squares problems, such as Gauss Newton and the LevenbergMarquart least squares solvers.
For univariate problems, standard search algorithms are also available, such as Brent and Binary search.
The namespace class diagram is shown below.