[Rd] lbfgsb from C/C++
Prof J C Nash (U30A)
nashjc at uottawa.ca
Mon Sep 8 14:48:03 CEST 2014
I won't comment on the C/C++ option, as I'm not expert in that. However,
R users and developers should know that Nocedal et al. who developed
L-BFGS-B released an update to correct a fault in 2011. It was important
enough that an ACM TOMS article was used for the announcement.
I recently implemented a wrapper to the new Fortran code. As it is a
reverse communication code, the main task was getting rid of all the
Fortran WRITE() statements (not a happy experience!).
Maybe Dirk has ideas on how to make the wrapper more efficient and the
call from C or C++ direct for those who need that.
The code will be incorporated eventually in the optimx package, but for
now an experimental (NOTE - EXPERIMENTAL) version lbfgsb3 is up on
r-forge under the optimizer project. I'd be happy to exchange ideas
off-list on this.
Here's the reference to the TOMS announcement:
@Article{Morales:2011:FSL,
author = "Jos\'e Luis Morales and Jorge Nocedal",
title = "Remark on ``{Algorithm} 778: {L-BFGS-B}: {Fortran}
Subroutines
for Large-Scale Bound Constrained Optimization''",
journal = "{ACM} Transactions on Mathematical Software",
accepted = "15 April 2011",
volume = "38",
number = "1",
month = nov,
URL = "http://doi.acm.org/10.1145/2049662.2049669",
pages = "7:1--7:4",
year = "2011",
abstract = "
This remark describes an improvement and a correction
to Algorithm 778. It is shown that the performance of
the algorithm can be improved significantly by making
a relatively simple modification to the subspace
minimization phase. The correction concerns an error
caused by the use of routine dpmeps to estimate machine
precision.",
}
John Nash
More information about the R-devel
mailing list