[Rd] optim(…, method=‘L-BFGS-B’) stops with an error message while violating the lower bound

Ravi Varadhan ravi.varadhan at jhu.edu
Sun Oct 9 17:54:10 CEST 2016


Spencer,
Another option is to try the "lbfgs" package.  Hans Werner Borchers has told me that this is a good implementation of L-BFGS.
Best,
Ravi
________________________________________
From: R-devel <r-devel-bounces at r-project.org> on behalf of Spencer Graves <spencer.graves at prodsyse.com>
Sent: Saturday, October 8, 2016 7:03 PM
To: Mark Leeds
Cc: R-devel
Subject: Re: [Rd] optim(…, method=‘L-BFGS-B’) stops with an error message while violating the lower bound

Hi, Mark et al.:


       Thanks, Mark.


       Three comments:


             1.  Rvmmin was one of the methods I tried after Ravi
directed me to optimx.  It returned NAs for essentially everything. See
my email of this subject stamped 4:43 PM Central time = 21:43 UTC.


             2.  It would be interesting to know if the current
algorithm behind optim and optimx with method='L-BFGS-B' incorporates
Morales and Nocedal (2011) 'Remark on “Algorithm 778: L-BFGS-B: Fortran
Subroutines for Large-Scale Bound Constrained Optimization”'.  I created
this vignette and started this threat hoping that someone on the R Core
team might decide it's worth checking things like that.


             3.  The vignette mentioned below was extracted from a
larger vignette fitting several models that seem to encounter
convergence problems.  I should probably switch to optimx using all the
methods that offers for constrained optimization, including nminb.


       Best Wishes,
       Spencer Graves


On 10/8/2016 5:00 PM, Mark Leeds wrote:
> Hi Spencer: See the link below about L-BFGS-B below because  I had
> problems
> with it a good while back (and I think the link description is the
> cause but I can't prove it )  so  eventually I moved to the  Rvmmin(b)
> package. It's a package but really an algorithm. Rvmmin(b) uses a
> variable-metric algorithm similar to that of L-BFGS-B but without the
> problem below. It's not surprisingly a creation of John Nash and quite
> impressive based on my experience. Just like L-BFGS, it can implement
> box constraints by adding the b.
>
> http://users.eecs.northwestern.edu/~morales/PSfiles/acm-remark.pdf
> <http://users.eecs.northwestern.edu/%7Emorales/PSfiles/acm-remark.pdf>
>
>
>
>
>
>
>
> On Sat, Oct 8, 2016 at 2:50 PM, Spencer Graves
> <spencer.graves at prodsyse.com <mailto:spencer.graves at prodsyse.com>> wrote:
>
>     Hello:
>
>
>           The development version of Ecdat on R-Forge contains a
>     vignette in which optim(…, method=‘L-BFGS-B’) stops with an error
>     message while violating the lower bound.
>
>
>           To see all the details, try the following:
>
>
>     install.packages("Ecdat", repos="http://R-Forge.R-project.org
>     <http://R-Forge.R-project.org>")
>
>
>           Then do "help(pac=Ecdat)" -> "User guides, package vignettes
>     and other documentation" -> "Ecdat::AverageIncomeModels".
>
>
>           I've found other optimizers that will get around the problem
>     in this case but none that performs as well as optim with many
>     other problems.
>
>
>           Thanks,
>           Spencer Graves
>
>
>     p.s.  I've also tested bobyqa{minqa} or nloptr{nloptr},
>     recommended in a vignette in the lme4 package.  These did better
>     than optim in this example but worse in others I tried.
>
>     ______________________________________________
>     R-devel at r-project.org <mailto:R-devel at r-project.org> mailing list
>     https://stat.ethz.ch/mailman/listinfo/r-devel
>     <https://stat.ethz.ch/mailman/listinfo/r-devel>
>
>


        [[alternative HTML version deleted]]

______________________________________________
R-devel at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel



More information about the R-devel mailing list