org.ddogleg.optimization
Class FactoryOptimization
- java.lang.Object
-
- org.ddogleg.optimization.FactoryOptimization
-
public class FactoryOptimization extends java.lang.ObjectCreates optimization algorithms using easy to use interfaces. These implementations/interfaces are designed to be easy to use and effective for most tasks. If more control is needed then create an implementation directly.
-
-
Constructor Summary
Constructors Constructor and Description FactoryOptimization()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method and Description static QuasiNewtonBFGS_to_UnconstrainedMinimizationcreateBfgsWithMore94()Returns an implementation ofQuasiNewtonBFGSwithLineSearchMore94for the internal line search.static UnconstrainedLeastSquaresleastSquareLevenberg(double dampInit)Unconstrained least squares Levenberg optimizer for dense problems.static UnconstrainedLeastSquaresleastSquaresLM(double dampInit, boolean robust)Unconstrained least squares Levenberg-Marquardt (LM) optimizer for dense problems.static UnconstrainedLeastSquaresleastSquaresTrustRegion(double regionSize, RegionStepType type, boolean robustSolver)Creates a trust region based optimization algorithm for least squares problem.static UnconstrainedMinimizationunconstrained()Creates a solver for the unconstrained minimization problem.
-
-
-
Method Detail
-
unconstrained
public static UnconstrainedMinimization unconstrained()
Creates a solver for the unconstrained minimization problem. Here a function has N parameters and a single output. The goal is the minimize the output given the function and its derivative.
- Returns:
- UnconstrainedMinimization
-
createBfgsWithMore94
public static QuasiNewtonBFGS_to_UnconstrainedMinimization createBfgsWithMore94()
Returns an implementation ofQuasiNewtonBFGSwithLineSearchMore94for the internal line search. This is a specific implementation ofUnconstrainedMinimizationand allows full access to all tuning parameters.- Returns:
- UnconstrainedMinimization
-
leastSquaresLM
public static UnconstrainedLeastSquares leastSquaresLM(double dampInit, boolean robust)
Unconstrained least squares Levenberg-Marquardt (LM) optimizer for dense problems. There are many different variants of LM and this function provides an easy to use interface for selecting and configuring them. Scaling of function parameters and output might be needed to ensure good results.
- Parameters:
dampInit- Initial value of dampening parameter. Tune. Start at around 1e-3.robust- If true a slower, more robust algorithm that can handle more degenerate cases will be used.- Returns:
- UnconstrainedLeastSquares
-
leastSquareLevenberg
public static UnconstrainedLeastSquares leastSquareLevenberg(double dampInit)
Unconstrained least squares Levenberg optimizer for dense problems.
- Parameters:
dampInit- Initial value of dampening parameter. Tune. Start at around 1e-3.- Returns:
- UnconstrainedLeastSquares
-
leastSquaresTrustRegion
public static UnconstrainedLeastSquares leastSquaresTrustRegion(double regionSize, RegionStepType type, boolean robustSolver)
Creates a trust region based optimization algorithm for least squares problem.- Parameters:
regionSize- Maximum radius of the trust region.type- The type of trust regionrobustSolver- If true then a lower but more robust solver which can handle singularities, otherwise a much faster one if used.- Returns:
- UnconstrainedLeastSquares
- See Also:
TrustRegionLeastSquares
-
-
DataMelt 3.0 © DataMelt by jWork.ORG