riccardolongoni
10-30-2007, 06:46 AM
Dear all,
I have a question about the BFGS method (to be used in a large-scale unconstrained optimization problem).
The algorithm presented in Section 10.7 (Numerical Recipes in C++, Second Edition) is the standard BFGS method, but wouldn't it be better to use the limited-memory version of Liu-Nocedal (L-BFGS)? What are the differences/advantages of the two versions?
I have also a technical question regarding the implementation of the line search (which in turn is used in the BFGS method): I am referring to the C++ function lnsrch of Sect 9.7. At some point of the algorithm one has to find the minimum of the degree-three polynomial of eq. (9.7.12), and this minimum is given by eq. (9.7.14). However in the code on page 390, a different formula is used (in particular for the case b>0).
What is the reason of this difference?
Thank you very much
Riccardo Longoni
I have a question about the BFGS method (to be used in a large-scale unconstrained optimization problem).
The algorithm presented in Section 10.7 (Numerical Recipes in C++, Second Edition) is the standard BFGS method, but wouldn't it be better to use the limited-memory version of Liu-Nocedal (L-BFGS)? What are the differences/advantages of the two versions?
I have also a technical question regarding the implementation of the line search (which in turn is used in the BFGS method): I am referring to the C++ function lnsrch of Sect 9.7. At some point of the algorithm one has to find the minimum of the degree-three polynomial of eq. (9.7.12), and this minimum is given by eq. (9.7.14). However in the code on page 390, a different formula is used (in particular for the case b>0).
What is the reason of this difference?
Thank you very much
Riccardo Longoni