Numerics.NET.Optimization Namespace

The Numerics.NET.Optimization namespace contains classes that perform optimization of functions in one or more variables, including linear, quadratic and nonlinear programming.

Classes

BoundedQuasiNewtonOptimizer Represents a multi-dimensional optimizer that uses a limited memory version of the BFGS algorithm to solve optimization problems with box constraints.
BrentDerivativeOptimizer Represents a one-dimensional optimizer based on Brent's algorithm using derivatives.
BrentOptimizer Represents a one-dimensional optimizer based on Brent's algorithm.
CMAEvolutionStrategyOptimizer Represents an optimizer that implements the Covariance Matrix Adaptation Evolution Strategy (CMA-ES).
ConjugateGradientOptimizer Represents an optimizer that uses a conjugate gradient algorithm.
Constraint Serves as a base class for classes that represent constraints in an optimization model.
ConstraintCollection Represents a collection of variables in a OptimizationModel.
DecisionVariable Represents a variable in a OptimizationModel.
DecisionVariableCollection Represents a collection of variables in a OptimizationModel.
DifferentialEvolutionOptimizer Implements the Differential Evolution algorithm for multi-dimensional optimization.
DirectionalOptimizer Represents an optimizer that finds an extremum by searching along a search direction in each iteration.
GoldenSectionOptimizer Implements a one-dimensional optimizer that decreases the search interval by the Golden Ratio.
LeastSquaresOptimizer Represents an algorithm that minimizes a sum of squares.
LevenbergMarquardtOptimizer Implements the Levenberg-Marquardt algorithm for non-linear least-squares.
LimitedMemoryBfgsOptimizer Represents a multi-dimensional optimizer that uses the limited memory variant of the BFGS algorithm.
LinearConstraint Represents a linear constraint in an optimization model.
LinearProgram Represents a linear programming problem.
LinearProgramConstraint Represents a row in a LinearProgram.
LinearProgramSolver Provides a uniform interface for external solvers of linear programs.
LinearProgramVariable Represents a variable in a LinearProgram.
MpsReader Reads a linear program in MPS format.
MultidimensionalOptimizer Represents an algorithm for optimization of a multivariate function.
MultidimensionalOptimizer<T, TReport> 
NelderMeadOptimizer Implements the Nelder-Mead simplex algorithm for multi-dimensional optimization.
NonlinearConstraint Represents a row in a LinearProgram.
NonlinearProgram Represents a nonlinear programming problem.
OneDimensionalOptimizer Serves as an abstract base class for classes that implement one-dimensional optimization algorithms.
OptimizationModel Represents an optimization problem.
OptimizationModelEntity Acts as a base class for the constraints and variables of an optimization model.
OptimizationModelSolver<T> Provides a uniform interface for external solvers of optimization problems.
OptimizationSolutionReport 
OptimizationSolutionReport<T> Represents the result of solving an optimization model.
ParticleSwarmOptimizer Represents an optimizer that uses the Particle Swarm Optimization algorithm.
ParticleSwarmOptimizer.ParticleSwarm Represents a swarm of particles.
Population Represents a population of candidates with solutions of type Vector<double>.
Population<TCandidate> Represents a population of candidates with solutions of type Vector<double>.
Population<TSolution, TCandidate> Represents a population of candidates for optimization.
PopulationBasedOptimizer<TPopulation, TCandidate> Represents an optimizer for multivariate functions that uses a population-based algorithm.
PopulationBasedOptimizer<TSolution, TPopulation, TCandidate> Represents an optimizer that uses a population-based algorithm.
PowellOptimizer Implements Powell's modified multidimensional optimization method.
QuadraticProgram Represents a quadratic programming problem.
QuasiNewtonOptimizer Represents a multi-dimensional optimizer that uses a quasi-Newton algorithm (DFP or BFGS).
SimulatedAnnealingOptimizer Represents an optimizer that uses the Simulated Annealing algorithm.
TrustRegionReflectiveOptimizer Implements the Levenberg-Marquardt algorithm for non-linear least-squares.

Structures

Candidate Represents a candidate with a solution of type Vector<double>.
ParticleSwarmOptimizer.Particle Represents a particle in the swarm.
ParticleSwarmTopology Represents the topology used in Particle Swarm Optimization.

Interfaces

ICandidate<TSolution> Represents a candidate (solution candidate) with a solution of type TSolution and an associated evaluation value (e.g., fitness, energy, etc.).

Enumerations

BoxConstraintHandlingMethod Specifies how box constraints on variables are handled.
ConjugateGradientMethod Enumerates the variants of the conjugate gradient method.
ConstraintType Enumerates the types of rows in a linear program.
DifferentialEvolutionStrategy Specifies the strategy used to generate trial vectors in the differential evolution algorithm.
DifferentialWeightDithering Specifies how the differential weight should be dithered during optimization.
ExtremumType Enumerates the possible values for the type of extremum an optimizer is to look for.
OptimizationModelStatus Enumerates the possible values for the status of a LinearProgram.
PopulationInitializationMethod Specifies the method used to initialize the population in the differential evolution algorithm.
QuasiNewtonMethod Enumerates the variants of the quasi-Newton method.