Permalink
Browse files

Merge branch 'jpaalasm/lbfgsb_3.0' into master.

This updates the L-BFGS-B algorithm to version 3.0.  Closes #1514.

Reviewed at #165
  • Loading branch information...
2 parents bc5b5d6 + b613bbf commit 8da2f889f74ff70b715a518ca4a7d78fed00a7c1 @rgommers rgommers committed Mar 10, 2012
View
@@ -111,22 +111,26 @@ def fmin_l_bfgs_b(func, x0, fprime=None, args=(),
-----
License of L-BFGS-B (Fortran code):
- The version included here (in fortran code) is 2.1 (released in 1997).
+ The version included here (in fortran code) is 3.0 (released April 25, 2011).
It was written by Ciyou Zhu, Richard Byrd, and Jorge Nocedal
<nocedal@ece.nwu.edu>. It carries the following condition for use:
This software is freely available, but we expect that all publications
- describing work using this software , or all commercial products using it,
- quote at least one of the references given below.
+ describing work using this software, or all commercial products using it,
+ quote at least one of the references given below. This software is released
+ under the BSD License.
References
----------
* 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.
+ 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.
+ ACM Transactions on Mathematical Software, 23, 4, pp. 550 - 560.
+ * J.L. Morales and J. Nocedal. L-BFGS-B: Remark on Algorithm 778: L-BFGS-B,
+ FORTRAN routines for large scale bound constrained optimization (2011),
+ ACM Transactions on Mathematical Software, 38, 1.
"""
# handle fprime/approx_grad
@@ -252,7 +256,7 @@ def func_and_grad(x):
x = array(x0, float64)
f = array(0.0, float64)
g = zeros((n,), float64)
- wa = zeros(2*m*n+4*n + 12*m**2 + 12*m, float64)
+ wa = zeros(2*m*n + 5*n + 11*m*m + 8*m, float64)
iwa = zeros(3*n, int32)
task = zeros(1, 'S60')
csave = zeros(1,'S60')
@@ -2,34 +2,39 @@ From the website for the L-BFGS-B code (from at
http://www.ece.northwestern.edu/~nocedal/lbfgsb.html):
"""
-L-BFGS-B is a limited-memory quasi-Newton code for large-scale
-bound-constrained or unconstrained optimization. The code has been developed at
-the Optimization Technology Center, a joint venture of Argonne National
-Laboratory and Northwestern University.
+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.
"""
-This is a Python wrapper (using F2PY) written by me (David M. Cooke
-<cookedm@physics.mcmaster.ca>) and released as version 0.9 on April 9, 2004.
+This is a Python wrapper (using F2PY) written by David M. Cooke
+<cookedm@physics.mcmaster.ca> and released as version 0.9 on April 9, 2004.
+The wrapper was slighly modified by Joonas Paalasmaa for the 3.0 version
+in March 2012.
License of L-BFGS-B (Fortran code)
==================================
-The version included here (in routines.f) is 2.1 (released in 1997). It was
+The version included here (in lbfgsb.f) is 3.0 (released April 25, 2011). It was
written by Ciyou Zhu, Richard Byrd, and Jorge Nocedal <nocedal@ece.nwu.edu>. It
carries the following condition for use:
"""
This software is freely available, but we expect that all publications
- describing work using this software , or all commercial products using it,
- quote at least one of the references given below.
-
+ describing work using this software, or all commercial products using it,
+ quote at least one of the references given below. This software is released
+ under the BSD License.
+
References
* 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.
+ 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.
+ ACM Transactions on Mathematical Software, 23, 4, pp. 550 - 560.
+ * J.L. Morales and J. Nocedal. L-BFGS-B: Remark on Algorithm 778: L-BFGS-B,
+ FORTRAN routines for large scale bound constrained optimization (2011),
+ ACM Transactions on Mathematical Software, 38, 1.
"""
The Python wrapper
Oops, something went wrong.

0 comments on commit 8da2f88

Please sign in to comment.