Armijo line search. More...
#include <ql/math/optimization/armijo.hpp>
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 &, const Real t_ini) |
Perform line search. | |
![]() | |
LineSearch (Real=0.0) | |
Default constructor. | |
virtual | ~LineSearch () |
Destructor. | |
const Array & | lastX () |
return last x value | |
Real | lastFunctionValue () |
return last cost function value | |
const Array & | lastGradient () |
return last gradient | |
Real | lastGradientNorm2 () |
return square norm of last gradient | |
bool | succeed () |
Real | update (Array ¶ms, const Array &direction, Real beta, const Constraint &constraint) |
const Array & | searchDirection () const |
current value of the search direction | |
Array & | searchDirection () |
Additional Inherited Members | |
![]() | |
Array | searchDirection_ |
current values of the search direction | |
Array | xtd_ |
new x and its gradient | |
Array | gradient_ |
Real | qt_ |
cost function value and gradient norm corresponding to xtd_ | |
Real | qpt_ |
bool | succeed_ |
flag to know if linesearch succeed | |
Armijo line search.
Let and
be 2 scalars in
. Let
be the current value of the unknown,
the search direction and
the step. Let
be the function to minimize. The line search stops when
verifies
and
(see Polak, Algorithms and consistent approximations, Optimization, volume 124 of Applied Mathematical Sciences, Springer-Verlag, NY, 1997)