SNESLINESEARCHBT#

Backtracking line search. This line search finds the minimum of a polynomial fitting of the L2 norm of the function or the objective function if it is provided with SNESSetObjective(). If this fit does not satisfy the conditions for progress, the interval shrinks and the fit is reattempted at most max_it times or until lambda is below minlambda.

Options Database Keys#

  • -snes_linesearch_alpha <1e-4> - slope descent parameter

  • -snes_linesearch_damping <1.0> - initial step length

  • -snes_linesearch_maxstep - if the length the initial step is larger than this then the step is scaled back to be of this length at the beginning of the line search

  • -snes_linesearch_max_it <40> - maximum number of shrinking step

  • -snes_linesearch_minlambda <1e-12> - minimum step length allowed

  • -snes_linesearch_order <1,2,3> - order of the approximation. With order 1, it performs a simple backtracking without any curve fitting

Note#

This line search will always produce a step that is less than or equal to, in length, the full step size.

Reference#

  • - * - “Numerical Methods for Unconstrained Optimization and Nonlinear Equations” by Dennis and Schnabel, page 325.

See Also#

SNESLineSearch, SNESLineSearchType, SNESLineSearchCreate(), SNESLineSearchSetType()

Level#

advanced

Location#

src/snes/linesearch/impls/bt/linesearchbt.c


Edit on GitLab

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