Package org.ddogleg.optimization
Class FactoryOptimization
java.lang.Object
org.ddogleg.optimization.FactoryOptimization
Creates 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
-
Method Summary
Modifier and TypeMethodDescriptionstatic UnconstrainedLeastSquares<DMatrixRMaj>
cauchy
(@Nullable ConfigTrustRegion config) Creates a dense trust region least-squares optimization using cauchy steps.static UnconstrainedLeastSquares<DMatrixRMaj>
dogleg
(@Nullable ConfigTrustRegion config, boolean robust) Creates a dense trust region least-squares optimization using dogleg steps.static UnconstrainedMinimization
doglegBFGS
(@Nullable ConfigTrustRegion config) Dense trust-region unconstrained minimization using Dogleg steps and BFGS to estimate the Hessian.doglegSchur
(boolean robust, @Nullable ConfigTrustRegion config) Creates a sparse Schur Complement trust region optimization using dogleg steps.static UnconstrainedLeastSquares<DMatrixRMaj>
levenbergMarquardt
(@Nullable ConfigLevenbergMarquardt config, boolean robust) levenbergMarquardtSchur
(boolean robust, @Nullable ConfigLevenbergMarquardt config) LM with Schur ComplementquasiNewtonBfgs
(@Nullable ConfigQuasiNewton config) Returns an implementation ofQuasiNewtonBFGS
withLineSearchMore94
for the internal line search.
-
Constructor Details
-
FactoryOptimization
public FactoryOptimization()
-
-
Method Details
-
doglegSchur
public static UnconstrainedLeastSquaresSchur<DMatrixRMaj> doglegSchur(boolean robust, @Nullable @Nullable ConfigTrustRegion config) Creates a sparse Schur Complement trust region optimization using dogleg steps.- Parameters:
config
- Trust region configuration- Returns:
- The new optimization routine
- See Also:
-
quasiNewtonBfgs
public static QuasiNewtonBFGS_to_UnconstrainedMinimization quasiNewtonBfgs(@Nullable @Nullable ConfigQuasiNewton config) Returns an implementation ofQuasiNewtonBFGS
withLineSearchMore94
for the internal line search. This is a specific implementation ofUnconstrainedMinimization
and allows full access to all tuning parameters.- Returns:
- UnconstrainedMinimization
-
dogleg
public static UnconstrainedLeastSquares<DMatrixRMaj> dogleg(@Nullable @Nullable ConfigTrustRegion config, boolean robust) Creates a dense trust region least-squares optimization using dogleg steps. Solver works on the B=JTJ matrix.- Parameters:
config
- Trust region configuration- Returns:
- The new optimization routine
- See Also:
-
cauchy
public static UnconstrainedLeastSquares<DMatrixRMaj> cauchy(@Nullable @Nullable ConfigTrustRegion config) Creates a dense trust region least-squares optimization using cauchy steps.- Parameters:
config
- Trust region configuration- Returns:
- The new optimization routine
- See Also:
-
doglegBFGS
Dense trust-region unconstrained minimization using Dogleg steps and BFGS to estimate the Hessian.- Parameters:
config
- Trust region configuration- Returns:
- The new optimization routine
-
levenbergMarquardt
public static UnconstrainedLeastSquares<DMatrixRMaj> levenbergMarquardt(@Nullable @Nullable ConfigLevenbergMarquardt config, boolean robust) -
levenbergMarquardtSchur
public static UnconstrainedLeastSquaresSchur<DMatrixRMaj> levenbergMarquardtSchur(boolean robust, @Nullable @Nullable ConfigLevenbergMarquardt config) LM with Schur Complement- Parameters:
robust
- If true then a slow by robust solver is used. true = use SVDconfig
- configuration for LM- Returns:
- the solver
-