Click or drag to resize

LevenbergMarquardtMinimizerWithConstraintsNonAllocating Class

Levenberg-Marquardt minimizer with constraints, enforced via projection after each LM step.
Inheritance Hierarchy
SystemObject
  Altaxo.Calc.OptimizationLevenbergMarquardtMinimizerWithConstraintsNonAllocating

Namespace: Altaxo.Calc.Optimization
Assembly: AltaxoCore (in AltaxoCore.dll) Version: 4.8.3618.0 (4.8.3618.0)
Syntax
C#
public class LevenbergMarquardtMinimizerWithConstraintsNonAllocating

The LevenbergMarquardtMinimizerWithConstraintsNonAllocating type exposes the following members.

Constructors
 NameDescription
Public methodLevenbergMarquardtMinimizerWithConstraintsNonAllocatingInitializes a new instance of the LevenbergMarquardtMinimizerWithConstraintsNonAllocating class
Top
Properties
 NameDescription
Public propertyFunctionTolerance Gets or sets the stopping threshold for the function value or L2 norm of the residuals.
Public propertyGradientTolerance Gets or sets the stopping threshold for the infinity norm of the gradient.
Public propertyInitialMuGets or sets the scale factor for the initial mu.
Public propertyMaximumIterations Gets or sets the maximum number of iterations. If , the maximum number of iterations is determined automatically.
Public propertyMinimalRSSImprovement Gets or sets the minimal RSS improvement.
Public propertyParameterScaleUpdatePeriod Gets or sets the number of iterations after which the parameter scale is updated (if no user-provided scale was set). Default is 1 (update every iteration). Set to MaxValue to disable automatic scale updates.
Public propertyProjector Gets or sets the constraint projector. When , the minimizer runs unconstrained (equivalent to the original behaviour without box constraints).
Public propertyScales Gets the scale factors used for the parameters. Set automatically if not provided by the caller.
Public propertyStepTolerance Gets or sets the stopping threshold for the L2 norm of the change of the parameters.
Top
Methods
 NameDescription
Public methodEqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
Public methodFindMinimum(IObjectiveModelNonAllocating, IReadOnlyListDouble, CancellationToken, ActionInt32, Double, IReadOnlyListDouble) Non-linear least squares fitting by the Levenberg-Marquardt algorithm, without constraints.
Public methodFindMinimum(IObjectiveModelNonAllocating, IReadOnlyListDouble, IReadOnlyListDouble, IReadOnlyListBoolean, CancellationToken, ActionInt32, Double, IReadOnlyListDouble) Non-linear least squares fitting by the Levenberg-Marquardt algorithm.
Public methodGetHashCodeServes as the default hash function.
(Inherited from Object)
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Public methodMinimum Core Levenberg-Marquardt minimization with linear constraint projection.
Public methodToStringReturns a string that represents the current object.
(Inherited from Object)
Top
Fields
 NameDescription
Public fieldStatic memberDefaultInitialMuThe default scale factor for the initial mu.
Top
Remarks

The projection approach keeps the algorithm working in the original (external) parameter space at all times — there is no internal/external parameter transformation. After every LM step the candidate point is projected back onto the feasible set. The active set returned by the projector directly identifies which parameters are constrained (and therefore temporarily fixed for the gradient/Hessian update).

References:

[1]. Madsen, K., H. B. Nielsen, and O. Tingleff, "Methods for Non-Linear Least Squares Problems. Technical University of Denmark, 2004. Lecture notes." (2004), Available online from: http://orbit.dtu.dk/files/2721358/imm3215.pdf

[2]. Gavin, Henri, "The Levenberg-Marquardt method for nonlinear least squares curve-fitting problems." Department of Civil and Environmental Engineering, Duke University (2017): 1-19, Available online from: http://people.duke.edu/~hpgavin/ce281/lm.pdf

See Also