[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