Algorithm 778: L-BFGS-B: Fortran Subroutines for Large-Scale Bound-Constrained Optimization

Algorithm 778: L-BFGS-B: Fortran Subroutines for Large-Scale Bound-Constrained Optimization

December 1997 | CIYOU ZHU, RICHARD H. BYRD, PEIHUANG LU and JORGE NOCEDAL
L-BFGS-B is a limited-memory algorithm designed for solving large-scale nonlinear optimization problems with simple bounds on the variables. It is particularly useful when the Hessian matrix is difficult to compute or is dense. The algorithm can also handle unconstrained problems, performing similarly to its predecessor, L-BFGS. L-BFGS-B is implemented in Fortran 77 and is characterized by its ease of use, modest storage requirements, and low computational cost per iteration. The algorithm updates a limited-memory BFGS approximation to the Hessian, which is used to define a quadratic model of the objective function. The search direction is computed using a two-stage approach involving gradient projection and quadratic minimization. The algorithm can be controlled by the user through parameters such as the number of BFGS corrections saved, allowing it to handle very large problems. However, it may not converge rapidly on difficult problems and may fail to achieve high accuracy on highly ill-conditioned problems. The implementation includes several improvements and modifications over the original algorithm, such as the use of the primal method for subspace minimization and a restarting strategy to handle rounding errors. Numerical results from test problems in the CUTE collection demonstrate that L-BFGS-B is competitive in terms of CPU time, although it uses more function evaluations than some other methods.L-BFGS-B is a limited-memory algorithm designed for solving large-scale nonlinear optimization problems with simple bounds on the variables. It is particularly useful when the Hessian matrix is difficult to compute or is dense. The algorithm can also handle unconstrained problems, performing similarly to its predecessor, L-BFGS. L-BFGS-B is implemented in Fortran 77 and is characterized by its ease of use, modest storage requirements, and low computational cost per iteration. The algorithm updates a limited-memory BFGS approximation to the Hessian, which is used to define a quadratic model of the objective function. The search direction is computed using a two-stage approach involving gradient projection and quadratic minimization. The algorithm can be controlled by the user through parameters such as the number of BFGS corrections saved, allowing it to handle very large problems. However, it may not converge rapidly on difficult problems and may fail to achieve high accuracy on highly ill-conditioned problems. The implementation includes several improvements and modifications over the original algorithm, such as the use of the primal method for subspace minimization and a restarting strategy to handle rounding errors. Numerical results from test problems in the CUTE collection demonstrate that L-BFGS-B is competitive in terms of CPU time, although it uses more function evaluations than some other methods.
Reach us at info@study.space
[slides and audio] Algorithm 778%3A L-BFGS-B%3A Fortran subroutines for large-scale bound-constrained optimization