Class TrustRegionUpdateDogleg_F64<S extends DMatrix>

java.lang.Object
org.ddogleg.optimization.trustregion.TrustRegionUpdateDogleg_F64<S>
All Implemented Interfaces:
TrustRegionBase_F64.ParameterUpdate<S>

public class TrustRegionUpdateDogleg_F64<S extends DMatrix>
extends Object
implements TrustRegionBase_F64.ParameterUpdate<S>

Approximates the optimal solution to the Trust Region's sub-problem using a piecewise linear approach [1,2]. The first part of the "dogleg" is a line along the steepest descent line. The second part moves towards the solution to unconstrained sub-problem, a.k.a. Gauss-Newton solution. Positive-definite Hessians are handled using standard equations. Negative semi-definite systems will take a Cauchy step to avoid blowing up, see [2]. A more elegant solution to negative definite systems is outline in [1] but hasn't been implemented yet due to complexity.

  • [1] Jorge Nocedal,and Stephen J. Wright "Numerical Optimization" 2nd Ed. Springer 2006
  • [2] Peter Abeles, "DDogleg Technical Report: Nonlinear Optimization R1", July 2018