Accord.Math.Optimization Namespace |
Class | Description | |
---|---|---|
AugmentedLagrangian |
Augmented Lagrangian method for constrained non-linear optimization.
| |
BaseGradientOptimizationMethod |
Base class for gradient-based optimization methods.
| |
BaseLeastSquaresMethod |
Base class for least-squares optimizers implementing the ILeastSquaresMethod interface.
| |
BaseOptimizationMethod |
Base class for optimization methods.
| |
BinarySearch |
Binary search root finding algorithm.
| |
BoundedBroydenFletcherGoldfarbShanno |
Limited-memory Broyden–Fletcher–Goldfarb–Shanno (L-BFGS) 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 |
Limited-memory Broyden–Fletcher–Goldfarb–Shanno (L-BFGS) 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 |
Gauss-Newton algorithm for solving Least-Squares problems.
| |
GoldfarbIdnani |
Goldfarb-Idnani Quadratic Programming Solver.
| |
GradientDescent |
Gradient Descent (GD) for unconstrained optimization.
| |
LevenbergMarquardt |
Levenberg-Marquardt algorithm for solving Least-Squares 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 |
Nelder-Mead simplex algorithm with support for bound
constraints for non-linear, gradient-free optimization.
| |
NonlinearConjugateGradient |
Non-linear 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 non-linear 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 non-linear optimization, Cobyla for gradient-free non-linear optimization, and the Goldfarb-Idnani method for solving Quadratic Programming (QP) problems.
This namespace also contains optimizers specialized for least squares problems, such as Gauss Newton and the Levenberg-Marquart 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.