There are considerable differences between the algorithms. And BFGS is an unfortunate nomenclature, since there are so many variants that are VERY different. It was called "variable metric" in my book from which the code was derived, and that code was from Roger Fletcher's Fortran VM code based on his 1970 paper. L-BFGS-B is a later and more complicated algorithm with some pretty nice properties. The code is much larger.
Re: "less memory" -- this will depend on the number of parameters, but to my knowledge there are no good benchmark studies of memory and performance. Perhaps someone wants to propose one for Google Summer of Code (see http://rwiki.sciviews.org/doku.php?id=developers:projects:gsoc2011 ). The optimx package can call Rvmmin which has box constraints (also Rcgmin that is intended for very low memory). Also several other methods with box constraints, including L-BFGS-B. Worth a try if you are seeking a method for multiple "production" runs. Unfortunately, we seem to have some CRAN check errors on Solaris and some old releases -- platforms I do not have -- so it may be a few days or more until we sort out the issues, which seem to be related to alignment of the underlying packages for which optimx is a wrapper. Use of transformation can be very effective. But again, I don't think there are good studies on whether use of box constraints or transformations is "better" and when. Another project, which I have made some tentative beginings to carry out. Collaborations welcome. Best, JN On 02/25/2011 06:00 AM, r-help-requ...@r-project.org wrote: > Message: 86 > Date: Fri, 25 Feb 2011 00:11:59 -0500 > From: Brian Tsai <btsa...@gmail.com> > To: r-help@r-project.org > Subject: [R] BFGS versus L-BFGS-B > Message-ID: > <aanlktimszvkjbuhv-bbr1easpx9ootjxqcujgujr5...@mail.gmail.com> > Content-Type: text/plain > > Hi all, > > I'm trying to figure out the effective differences between BFGS and L-BFGS-B > are, besides the obvious that L-BFGS-B should be using a lot less memory, > and the user can provide box constraints. > > 1) Why would you ever want to use BFGS, if L-BFGS-B does the same thing but > use less memory? > > 2) If i'm optimizing with respect to a variable x that must be non-negative, > a common approach is to do a change of variables x = exp(y), and optimize > unconstrained with respect to y. Is optimization using box constraints on > x, likely to produce as good a result as unconstrained optimization on y? > > - Brian. > > [[alternative HTML version deleted]] > > > ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.