L-BFGS
From Wikipedia, the free encyclopedia
L-BFGS and L-BFGS-B are a limited-memory quasi-Newton packages for large scale optimization. The codes have been developed at the Optimization Technology Center,Northwestern University. These programs are used to compute the minimum of a function of many variables; they require that the user provide the gradient (but not the Hessian) of the objective function. L-BFGS stands for "Limited memory BFGS method"; instead of storing a full approximation to the Hessian, a low rank approximation is updated.
L-BFGS is a code for solving unconstrained problems. Author: Jorge Nocedal
L-BFGS-B is capable of solving problems with simple bounds on the variables. The current release is version 2.1. The distribution file was last changed on 02/09/1997. Authors: Ciyou Zhu, Jorge Nocedal and Richard Byrd.
Both codes are freely available for educational or commercial purposes. The authors expect that all publications describing work using this software quote at least one of the references given below.
For solving optimization problems with general constraints, other software must be used. See for example KNITRO.
The L-BFGS routines are written in FORTRAN but have been translated to various languages:
C: http://www.dgp.toronto.edu/~hertzman/courses/csc2521/fall_2004/driver1.C
C++, Delphi, Visual Basic, C#: http://www.alglib.net/optimization/lbfgs.php
Java: http://riso.sourceforge.net/
MATLAB wrapper: http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=9307&objectType=file
C wrapper: http://homepages.inf.ed.ac.uk/s0450736/pmwiki/pmwiki.php/Main/Code
[edit] References
- J. Nocedal. Updating Quasi-Newton Matrices with Limited Storage (1980), Mathematics of Computation 35, pp. 773-782.
- D. C. Liu and J. Nocedal. On the Limited Memory Method for Large Scale Optimization (1989), Mathematical Programming B, 45, 3, pp. 503-528.
- R. H. Byrd, P. Lu and J. Nocedal. A Limited Memory Algorithm for Bound Constrained Optimization (1995), SIAM Journal on Scientific and Statistical Computing, 16, 5, pp. 1190-1208.
- C. Zhu, R. H. Byrd and J. Nocedal. L-BFGS-B: Algorithm 778: L-BFGS-B, FORTRAN routines for large scale bound constrained optimization (1997), ACM Transactions on Mathematical Software, Vol 23, Num. 4, pp. 550-560.
[edit] External links
- Jorge Nocedal
- Richard Byrd
- [1]; The full L-BFGS Unix/Linux distribution (containing source code, makefile and user guide)
- [2]; The full L-BFGS-B Unix/Linux distribution (containing source code, makefile and user guide)