[Rd] 'max' on mixed numeric and character arguments

2016-10-08 Thread Suharto Anggono Suharto Anggono via R-devel
Bug 17160 (https://bugs.r-project.org/bugzilla3/show_bug.cgi?id=17160) leads me 
to ask this. In R, should max(...) equals max(c(...)) ? If 'max' have both 
numeric and character arguments, should lexicographic sorting be used for all?

> max("", 3, 10)
[1] "3"
> max("", c(3, 10))
[1] "10"
> range("", c(3, 10))[2]
[1] "3"

Should all above have the same result?

> sessionInfo()
R version 3.3.1 (2016-06-21)
Platform: i386-w64-mingw32/i386 (32-bit)
Running under: Windows XP (build 2600) Service Pack 2

locale:
[1] LC_COLLATE=English_United States.1252
[2] LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C
[5] LC_TIME=English_United States.1252

attached base packages:
[1] stats graphics  grDevices utils datasets  methods   base

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


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

2016-10-08 Thread Spencer Graves

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";)


  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@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

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

2016-10-08 Thread Ravi Varadhan
Have you tried "optimx" package that John Nash and I wrote?  The main purpose 
is to be able to readily compare multiple optimizers on a particular class of 
problems and see which one seems to do the best.  It doesn't include nloptr, 
but most other optimizers are there.

Ravi

From: R-devel  on behalf of Spencer Graves 

Sent: Saturday, October 8, 2016 2:50 PM
To: R-devel
Subject: [Rd] optim(…, method=‘L-BFGS-B’) stops with an error message while 
violating the lower bound

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";)


   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@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

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


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

2016-10-08 Thread Spencer Graves
Hi, Ravi:


   Thanks.  I got the following:


 > optimx.out[order(optimx.out$value),
+c('Q.lvl', 'Q.slope', 'H', 'value', 'kkt1', 'kkt2')]
Q.lvl   Q.slopeH
nlminb   0.001806087  0.00e+00 0.00e+00
nmkb 0.001806177  6.924995e-13 1.563012e-12
L-BFGS-B 0.001939930 -1.084202e-19 0.00e+00
spg  0.001422563  2.308140e-01 0.00e+00
bobyqa   0.001423449  9.622976e-01 0.00e+00
hjkb 1.0  1.00e+00 1.00e+00
RcgminNANA   NA
RvmminNANA   NA
   value  kkt1  kkt2
nlminb-3.869081e+02 FALSE  TRUE
nmkb  -3.869081e+02 FALSE FALSE
L-BFGS-B  -3.866286e+02 FALSE  TRUE
spg   -3.010668e+02 FALSE FALSE
bobyqa-2.726830e+02 FALSE FALSE
hjkb   3.515507e+02NANA
Rcgmin8.988466e+307NANA
Rvmmin8.988466e+307NANA


'L-BFGS-B' returned the same violation of the constraint that 
lower = 0 as before.  'nlminb' and 'nmkb' got essentially the same 
answer, but neither seemed confident they had the minimum.  'nmkb' 
reported the same 'value' as 'nlminb', but the parameter values were at 
the boundary for nlminb and not for nmkb.  When I started optimx with 
nlminb, the first 5 decided that was the best and the last 3 failed, as 
before.


   I've added this to my vignette on this.


   Thanks,
   Spencer Graves


On 10/8/2016 2:29 PM, Ravi Varadhan wrote:
> Have you tried "optimx" package that John Nash and I wrote?  The main  > 
> purpose is to be able to readily compare multiple optimizers on a > 
particular class of problems and see which one seems to do the best. > 
It doesn't include nloptr, but most other optimizers are there. > > Ravi 
 From: R-devel > 
 on behalf of Spencer Graves > 
 Sent: Saturday, October 8, 2016 2:50 > PM 
To: R-devel Subject: [Rd] optim(�, method=�L-BFGS-B�) stops with > an 
error message while violating the lower bound > > 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";) > > > 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@r-project.org > 
mailing list https://stat.ethz.ch/mailman/listinfo/r-devel >



[[alternative HTML version deleted]]

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

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

2016-10-08 Thread Mark Leeds
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







On Sat, Oct 8, 2016 at 2:50 PM, Spencer Graves 
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";)
>
>
>   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@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel

[[alternative HTML version deleted]]

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

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

2016-10-08 Thread Spencer Graves
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 
> 
>
>
>
>
>
>
>
> On Sat, Oct 8, 2016 at 2:50 PM, Spencer Graves 
> mailto:spencer.gra...@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
> ")
>
>
>   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@r-project.org  mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
> 
>
>


[[alternative HTML version deleted]]

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

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

2016-10-08 Thread Mark Leeds
Hi Spencer:

1)  I can't help much as far as your results but one thing you could do is
check what
the convergence flag of Rvmmin is. There are difference ones depending
on what happened during the optimization and they're pretty helpful IIRC.
But that may require running Rvmmin directly rather than in optimx.
I did a lot of optimizations ( hundreds ) at one point and I never saw it
return NA ??

2) I wasn't sure about 2) either so I figured it was safer to get away from
L-BFGS-B.








On Sat, Oct 8, 2016 at 7:03 PM, Spencer Graves 
wrote:

> 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
>
>
>
>
>
>
>
> On Sat, Oct 8, 2016 at 2:50 PM, Spencer Graves <
> spencer.gra...@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";)
>>
>>
>>   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@r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>
>
>
>

[[alternative HTML version deleted]]

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