Click or drag to resize

Altaxo.Calc.Optimization Namespace

Contains optimization algorithms and shared infrastructure.
Classes
 ClassDescription
Public classBfgsBMinimizer Broyden–Fletcher–Goldfarb–Shanno Bounded (BFGS-B) algorithm is an iterative method for solving box-constrained nonlinear optimization problems http://www.ece.northwestern.edu/~nocedal/PSfiles/limited.ps.gz
Public classBfgsMinimizer Broyden–Fletcher–Goldfarb–Shanno (BFGS) algorithm is an iterative method for solving unconstrained nonlinear optimization problems
Public classBfgsMinimizerBase Provides shared functionality for BFGS-based minimizers.
Public classBfgsSolver Broyden-Fletcher-Goldfarb-Shanno solver for finding function minima See http://en.wikipedia.org/wiki/Broyden%E2%80%93Fletcher%E2%80%93Goldfarb%E2%80%93Shanno_algorithm Inspired by implementation: https://github.com/PatWie/CppNumericalSolvers/blob/master/src/BfgsSolver.cpp
Public classBruteForceLineSearch Brute-force line search that evaluates the objective function on a uniform grid and optionally refines the minimum by recursive subdivision.
Public classConjugateGradientNonlinear preconditioned conjugate gradient method.
Public classConjugateGradientMinimizer Minimizes unconstrained objective functions with the conjugate gradient method.
Public classConstraintDefinitionBase class for constraint definitions.
Public classCostFunctionBase class for cost function declaration
Public classEndCriteriaDefines criteria for ending an optimization.
Public classEvaluationException Represents an optimization failure caused by an error while evaluating the objective function.
Public classFunctionMinimizeMethodBase class for function-minimization optimization methods.
Public classGoldenSectionMinimizer Minimizes a scalar objective function using the golden-section search method.
Public classIncompatibleObjectiveException Represents an optimization failure caused by an objective function incompatible with the algorithm.
Public classInnerOptimizationException Represents an optimization failure originating from an inner optimization step.
Public classLevenbergMarquardtMinimizer Minimizes nonlinear least-squares objectives with the Levenberg-Marquardt method.
Public classLevenbergMarquardtMinimizerNonAllocating Levenberg-Marquardt minimizer that does not allocate memory during iterations.
Public classLevenbergMarquardtMinimizerNonAllocatingWrappedParameters Levenberg-Marquardt minimizer that does not allocate memory during iterations and uses wrapped parameters for handling bounds.
Public classLimitedMemoryBfgsMinimizer Limited Memory version of Broyden–Fletcher–Goldfarb–Shanno (BFGS) algorithm
Public classLineSearchMethodBase class for line search method declarations.
Public classMaximumIterationsException Represents an optimization failure caused by exceeding the maximum number of iterations.
Public classMinimizationResult Represents the outcome of a minimization run.
Public classMinimizationWithLineSearchResult Represents the outcome of a minimization run that uses line search.
Public classMinimizerBase Provides shared functionality for minimization algorithms.
Public classMoreThuenteLineSearchMore-Thuente line search method.
Public classNelderMeadNelder-Mead simplex minimization method.
Public classNelderMeadSimplex Class implementing the Nelder-Mead simplex algorithm, used to find a minima when no gradient is available. Called fminsearch() in Matlab. A description of the algorithm can be found at http://se.mathworks.com/help/matlab/math/optimizing-nonlinear-functions.html#bsgpq6p-11 or https://en.wikipedia.org/wiki/Nelder%E2%80%93Mead_method
Public classNewtonMinimizer Minimizes unconstrained objective functions with Newton's method.
Public classNewtonRaphsonLineSearchNewton-Raphson line search method.
Public classNoConstraintConstraint definition representing no constraints.
Public classNonlinearMinimizationResult Represents the result of a nonlinear minimization, including the minimizing point and derived statistics such as covariance, correlation, and parameter standard errors.
Public classNonlinearMinimizerBase Provides shared functionality for nonlinear minimizers.
Public classNonlinearMinimizerBaseNonAllocating Base class for nonlinear minimizers that avoid allocating intermediate arrays by working with internal/external parameter projections and pre-allocated vectors.
Public classObjectiveFunction Provides factory methods for objective functions and models.
Public classOptimizationException Represents an optimization-specific exception.
Public classOptimizationMethodBase class for optimization methods.
Public classQuadraticGradientProjectionSearch Provides a quadratic gradient projection search for box-constrained subproblems.
Public classScalarMinimizationResult Represents the result of a scalar minimization.
Public classSecantLineSearchSecant line search method.
Public classSimple1DCostFunction Simple wrapper around a scalar function FuncT, TResult defined on a single variable, exposing it as a CostFunction.
Public classSimple2DCostFunction Simple wrapper around a scalar function FuncT1, T2, TResult defined on two variables, exposing it as a CostFunction.
Public classStupidLineSearch This function increments x by direction*step as long as the function gets smaller. If it gets bigger, step is multiplied by -0.5. The method ends if two successive function evaluations give the same result.
Structures
 StructureDescription
Public structureQuadraticGradientProjectionSearchGradientProjectionResult Represents the result of a gradient projection search.
Interfaces
 InterfaceDescription
Public interfaceIConstraintDefinitionInterface for constraint definitions.
Public interfaceICostFunctionInterface for cost function declarations.
Public interfaceIObjectiveFunction Objective function with a mutable evaluation.
Public interfaceIObjectiveFunctionEvaluation Objective function with a frozen evaluation that must not be changed from the outside.
Public interfaceIObjectiveModel Defines an objective model that can be evaluated at parameter values and exposed as an objective function.
Public interfaceIObjectiveModelEvaluation Provides read-only access to the evaluation results of an objective model.
Public interfaceIObjectiveModelNonAllocating Extends IObjectiveModel to help avoid memory allocations during execution of Levenberg-Marquardt.
Public interfaceIScalarObjectiveFunction Represents a scalar objective function that can be evaluated at scalar points.
Public interfaceIScalarObjectiveFunctionEvaluation Represents the evaluation of a scalar objective function at a single point.
Public interfaceIUnconstrainedMinimizer Defines a minimizer for unconstrained optimization problems.
Enumerations
 EnumerationDescription
Public enumerationEndCriteriaCriteriaTypePossible criteria used to end optimization.
Public enumerationExitCondition Specifies the reason why an optimization algorithm terminated.
Public enumerationNelderMeadStepTypes of steps the Nelder-Mead simplex algorithm can take.