From nashjc at uottawa.ca  Thu Oct 10 15:06:52 2013
From: nashjc at uottawa.ca (Prof J C Nash (U30A))
Date: Thu, 10 Oct 2013 09:06:52 -0400
Subject: [Rd] Version of L-BFGS-B used in optim etc
In-Reply-To: <mailman.21.1381399207.21578.r-devel@r-project.org>
References: <mailman.21.1381399207.21578.r-devel@r-project.org>
Message-ID: <5256A66C.9090600@uottawa.ca>

This issue has been known for some time and I've had "why don't you fix 
this?" queries. However, I'm not one of the R-core folk who could do so, 
and don't code in C.  Moreover, as far as I can tell, the version of 
L-BFGS-B in R is not one of the standard releases from Morales and Nocedal.

As maintainer of optimx, I can state that I won't be including L-BFGS-B 
except through optim() unless someone implements the new code as a 
package, which I would welcome. I've decided to focus only on codes 
written all in R. For bounds constrained optimization, I've put together 
Rvmmin which is the "BFGS" method of optim() (a misnomer, but I'd better 
not get started...) and Rcgmin. I've got my brother's truncated Newton 
code running unconstrained, but still trying to find time to get the 
bounds debugged. I find codes in R more flexible in allowing 
improvements, and easier to avoid those nasty mismatches in coding style 
that happen across languages.

I'd be glad to collaborate with anyone on getting latest L-BFGS-B 
packaged, or on improvements to the TNmin etc. And, of course, I welcome 
examples where things don't work smoothly in my codes.

There are upgrades to optimx on R-forge that will not likely move to 
CRAN for a few months until TN is completed and added etc.

Best, JN


On 13-10-10 06:00 AM, r-devel-request at r-project.org wrote:
> Message: 1
> Date: Wed, 9 Oct 2013 15:46:40 +1000
> From: David Duffy<David.Duffy at qimr.edu.au>
> To:<r-devel at r-project.org>
> Subject: [Rd] Version of L-BFGS-B used in optim etc
> Message-ID:<alpine.LMD.2.00.1310091458420.632 at orpheus.qimr.edu.au>
> Content-Type: text/plain; format=flowed; charset="US-ASCII"
>
> Hi.
>
> I just noticed the paper by Morales and Nocedal
>
> Remark on "Algorithm 778: L-BFGS-B: Fortran Subroutines for Large-Scale
> Bound Constrained Optimization". TOMS 2011; 38(1): 7
>
> http://www.ece.northwestern.edu/~morales/PSfiles/acm-remark.pdf
>
> which describes a couple of improvements (speed and accuracy) to the
> original Netlib code which AFAICT is that still used by optim()
> via f2c.  Updated code is under
>
> http://www.ece.northwestern.edu/~nocedal/lbfgsb.html
>
> released under the New BSD License.  Has this already been made available
> in R, perhaps in other packages such as optimx?
>
> Cheers, David Duffy.
>
>
> | David Duffy (MBBS PhD)                                         ,-_|\
> | email:davidD at qimr.edu.au   ph: INT+61+7+3362-0217 fax: -0101  /     *
> | Epidemiology Unit, Queensland Institute of Medical Research   \_,-._/
> | 300 Herston Rd, Brisbane, Queensland 4029, Australia  GPG 4D0B994A v



[Rd] Version of L-BFGS-B used in optim etc
Prof J C Nash (U30A