L-BFGS-B
3.0
Large-scale Bound-constrained Optimization
|
L-BFGS-B
is a limited-memory quasi-Newton code for bound-constrained optimization, i.e., for problems where the only constraints are of the form l <= x <= u
. It is intended for problems in which information on the Hessian matrix is difficult to obtain, or for large dense problems. L-BFGS-B
can also be used for unconstrained problems, and in this case performs similarly to its predecessor, algorithm L-BFGS
(Harwell routine VA15). The algorithm is implemented in Fortran 77.
Note that the subspace minimization in the LBFGSpp implementation is an exact minimization subject to the bounds, based on the BOXCQP algorithm:
For an eagle-eye overview of L-BFGS-B
and the genealogy BFGS
->L-BFGS
->L-BFGS-B
, see Henao's Master's thesis.
I (J. Schilling) took the freedom to
dtrsl
were replace with calls to LAPACK's dtrsm
and the calls to LINPACK's dpofa
were replaces with calls to LAPACK's dpotrf
.A CMake setup is provided for L-BFGS-B in this repository. External modules for BLAS
and LAPACK
have to be installed on your system. Then, building the shared library liblbfgsb.so
and the examples driver*.f
and driver*.f90
works as follows:
The resulting shared library and the driver executables can be found in the build
directory.
The current release is version 3.0. The distribution file was last changed on 02/08/11.
This work was in no way intending to infringe any copyrights or take credit for others' work. Feel free to contact me at any time in case you noticed something against the rules. Above documentation is obtained from the archived version of the original manual.
A PDF version of the documentation is available here: L-BFGS-B.pdf.