SNESNEWTONTR#

Newton based nonlinear solver that uses a trust-region strategy

Options Database Keys#

  • -snes_tr_deltamin - trust region parameter, minimum size of trust region

  • -snes_tr_deltamax - trust region parameter, max size of trust region (default: 1e10)

  • -snes_tr_delta0 - trust region parameter, initial size of trust region (default: 0.2)

  • -snes_tr_eta1 - trust region parameter eta1 <= eta2, rho > eta1 breaks out of the inner iteration (default: 0.001)

  • -snes_tr_eta2 - trust region parameter, rho <= eta2 shrinks the trust region (default: 0.25)

  • -snes_tr_eta3 - trust region parameter eta3 > eta2, rho >= eta3 expands the trust region (default: 0.75)

  • -snes_tr_t1 - trust region parameter, shrinking factor of trust region (default: 0.25)

  • -snes_tr_t2 - trust region parameter, expanding factor of trust region (default: 2.0)

  • -snes_tr_norm_type <1,2,infinity> - Type of norm for trust region bounds (default: “2”)

  • -snes_tr_fallback_type <newton,cauchy,dogleg> - Solution strategy to test reduction when step is outside of trust region. Can use scaled Newton direction, Cauchy point (Steepest Descent direction) or dogleg method.

Notes#

The code is largely based on the book [NW06] and supports minimizing objective functions using a quadratic model. Quasi-Newton models are also supported.

Default step computation uses the Newton direction, but a dogleg type update is also supported. The 1- and infinity-norms are also supported when computing the trust region bounds.

References#

[NW06]

Jorge Nocedal and Stephen Wright. Numerical optimization. Springer Science & Business Media, 2006.

See Also#

SNES: Nonlinear Solvers, SNESCreate(), SNES, SNESSetType(), SNESSetObjective(), SNESNewtonTRSetTolerances(), SNESNewtonTRSetUpdateParameters() SNESNewtonTRSetNormType(), SNESNewtonTRSetFallbackType(), SNESNewtonTRSetQNType() SNESNewtonTRSetPostCheck(), SNESNewtonTRSetPreCheck(),

Level#

beginner

Location#

src/snes/impls/tr/tr.c


Index of all SNES routines
Table of Contents for all manual pages
Index of all manual pages