SNESLINESEARCHBT#

Backtracking line search [DennisJrS83]. This line search finds the minimum of a polynomial fitting either \(1/2 ||F(x_k + \lambda Y_k)||_2^2\), or the objective function \(G(x_k + \lambda Y_k)\) if it is provided with SNESSetObjective(). If this fit does not satisfy the sufficient decrease conditions, 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 lambda on entry to the line search

  • -snes_linesearch_max_it <40> - maximum number of shrinking iterations in the line search

  • -snes_linesearch_minlambda <1e-12> - minimum lambda (scaling of solution update) allowed

  • -snes_linesearch_order <3> - order of the polynomial fit, must be 1, 2, or 3. 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.

References#

[DennisJrS83]

J. E. Dennis Jr. and Robert B. Schnabel. Numerical Methods for Unconstrained Optimization and Nonlinear Equations. Prentice-Hall, Inc., Englewood Cliffs, NJ, 1983.

See Also#

SNES: Nonlinear Solvers, SNESLineSearch, SNESLineSearchType, SNESLineSearchCreate(), SNESLineSearchSetType()

Level#

advanced

Location#

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


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