Login  Register

Re: Armijo Line Search

Posted by Nicolas Di Césaré on Aug 02, 2004; 1:29pm
URL: http://quantlib.414.s1.nabble.com/Armijo-Line-Search-tp3128p3129.html

Le ven 30/07/2004 à 17:53, Sergey Iskoz a écrit :
> Hi,
>
>  
>
> I have a question about the implementation of the Armijo line search
> algorithm (see ql/Optimization/armijo.*).
>
>  
Hi Sergey,

>
> The termination condition in the do ... while loop seems to be using
> the gradient norm qpt_.  However, looking at the description of the
> algorithm in Polak's book (pp. 30-31) referenced in armijo.hpp and in
> Bertsekas's book (p. 25) [Dimitri Bersekas, Nonlinear Programming,
> 1995], I see that they use an inner product of the gradient (g) and
> the direction vector d, which will not always be equal to -g.  

That's true and it's a mistake. One shoud replace

qpt_ = qp0;

with

qpt_ = -DotProduct(lastGradient(),d)


> In addition, Bertsekas recommends setting alpha (which he calls sigma)
> to a value in [1e-5, 1e-1], while in the current implementation alpha
> defaults to .5.  As an aside, I also notice that one of the
> terminating conditions differs somewhat between Polak (eq-n 20b on p.
> 30) and Bertsekas (essentially replaces the RHS of 20b with 0).
>
>  

It is a typo error, the default value is 0.05.




 
--
Nicolas Di Césaré <[hidden email]>