QuantLib
A free/open-source library for quantitative finance
Reference manual - version 1.20
Public Member Functions | List of all members
ArmijoLineSearch Class Reference

Armijo line search. More...

#include <ql/math/optimization/armijo.hpp>

+ Inheritance diagram for ArmijoLineSearch:

Public Member Functions

 ArmijoLineSearch (Real eps=1e-8, Real alpha=0.05, Real beta=0.65)
 Default constructor.
 
Real operator() (Problem &P, EndCriteria::Type &ecType, const EndCriteria &, Real t_ini)
 Perform line search.
 

Additional Inherited Members

Detailed Description

Armijo line search.

Let \( \alpha \) and \( \beta \) be 2 scalars in \( [0,1] \). Let \( x \) be the current value of the unknown, \( d \) the search direction and \( t \) the step. Let \( f \) be the function to minimize. The line search stops when \( t \) verifies

\[ f(x + t \cdot d) - f(x) \leq -\alpha t f'(x+t \cdot d) \]

and

\[ f(x+\frac{t}{\beta} \cdot d) - f(x) > -\frac{\alpha}{\beta} t f'(x+t \cdot d) \]

(see Polak, Algorithms and consistent approximations, Optimization, volume 124 of Applied Mathematical Sciences, Springer-Verlag, NY, 1997)