L-BFGS

L-BFGS

"L-BFGS" and "L-BFGS-B" are software packages for solving nonlinear optimization problems. They are designed for large-scale applications in which the Hessian matrix is not available or is expensive to compute. To accelerate convergence, the two codes employ a limited-memory quasi-Newton approximation that does not require much storage or computation. L-BFGS stands for "Limited memory BFGS method"; an alternate spelling is LBFGS.

The L-BFGS 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. The main difference between the two codes is that L-BFGS is designed to solve unconstrained problems, while L-BFGS-B can accept bounds on the variables.

'L-BFGS' is used in many applications, such as maximum likelihood estimation for probabilistic models and nonlinear least squares. It was written by Jorge Nocedal. L-BFGS is open source and freely available for educational and commercial uses; it is governed by the "MIT license": http://opensource.org/licenses/mit-license.php

'L-BFGS-B' was developed by Ciyou Zhu, Jorge Nocedal and Richard Byrd; the distribution file was last changed on 02/09/1997. The program was published in ACM Transactions on Mathematical Software; the license is described in http://www.acm.org/pubs/copyright_policy/softwareCRnotice.html

The L-BFGS codes are not capable of solving problems with general constraints (including linear constraints). For these kinds of applications, other software must be used, such as KNITRO.

Translation to Other Languages.
The L-BFGS codes are written in FORTRAN and have been translated to various languages. Following are a few links:
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
Fortran 90: http://plato.asu.edu/ftp/other_software/toms778_f90.tar.gz
C wrapper: http://homepages.inf.ed.ac.uk/s0450736/pmwiki/pmwiki.php/Main/Code

Python: http://www.scipy.org/ SciPy

R: The function 'optim' in the stats package (a core package)

References

* J. Nocedal. Updating Quasi-Newton Matrices with Limited Storage (1980), Mathematics of Computation 35, pp. 773-782.
* D. C. Liu and J. Nocedal. [http://www.ece.northwestern.edu/~nocedal/PSfiles/limited-memory.ps.gz 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. [http://www.ece.northwestern.edu/~nocedal/PSfiles/limited.ps.gz 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. [http://www.ece.northwestern.edu/~nocedal/PSfiles/lbfgsb.ps.gz 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.

External links

* [http://www.eecs.northwestern.edu/~nocedal/ Jorge Nocedal]
* [http://www.eecs.northwestern.edu/~nocedal/Software/ Software by Jorge Nocedal's Research Team] .


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • BFGS method — In mathematics, the Broyden Fletcher Goldfarb Shanno (BFGS) method is a method to solve an unconstrained nonlinear optimization problem. The BFGS method is derived from the Newton s method in optimization, a class of hill climbing optimization… …   Wikipedia

  • BFGS — En mathématiques, la méthode de Broyden Fletcher Goldfarb Shanno (BFGS) est une méthode permettant de résoudre un problème d optimisation non linéaire sans contraintes. La méthode BFGS est souvent implémentée comme un algorithme à directions de… …   Wikipédia en Français

  • BFGS — Broyden Fletcher Goldfarb Shanno [algorithm] …   Medical dictionary

  • BFGS — • Broyden Fletcher Goldfarb Shanno [algorithm] …   Dictionary of medical acronyms & abbreviations

  • L-BFGS — y L BFGS B son dos métodos de optimización quasi Newton de funciones con un gran número de parámetros o de una gran complejidad. Se trata de un método que hace un uso limitado de la memoria (usa mucha menos memoria que otros algoritmos para el… …   Wikipedia Español

  • Méthode du gradient conjugué — En analyse numérique, la méthode du gradient conjugué est un algorithme pour résoudre des systèmes d équations linéaires dont la matrice est définie positive (et par conséquent symétrique). Cette méthode, imaginée en 1950 simultanément par… …   Wikipédia en Français

  • Davidon–Fletcher–Powell formula — The Davidon–Fletcher–Powell formula (or DFP; named after William C. Davidon, Roger Fletcher, and Michael J. D. Powell) finds the solution to the secant equation that is closest to the current estimate and satisfies the curvature condition (see… …   Wikipedia

  • Nonlinear conjugate gradient method — In numerical optimization, the nonlinear conjugate gradient method generalizes the conjugate gradient method to nonlinear optimization. For a quadratic function : The minimum of f is obtained when the gradient is 0: . Whereas linear conjugate… …   Wikipedia

  • List of numerical analysis topics — This is a list of numerical analysis topics, by Wikipedia page. Contents 1 General 2 Error 3 Elementary and special functions 4 Numerical linear algebra …   Wikipedia

  • Gauss–Newton algorithm — The Gauss–Newton algorithm is a method used to solve non linear least squares problems. It can be seen as a modification of Newton s method for finding a minimum of a function. Unlike Newton s method, the Gauss–Newton algorithm can only be used… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”