[R] Very slow optim(): solved

Hamazaki, Hamachan (DFG) toshihide.hamazaki at alaska.gov
Thu Jul 14 22:44:18 CEST 2011


After Googling and trial and errors, the major cause of optimization was not functions, but data setting. 
Originally, I was using data.frame for likelihood calculation. Then, I changed data.frame to vector and matrix for the same likelihood calculation.  Now convergence takes ~ 14 sec instead of 25 min. Certainly, I didn't know this simple change makes huge computational difference.

 

Toshihide "Hamachan" Hamazaki, 濱崎俊秀PhD
Alaska Department of Fish and Game: アラスカ州漁業野生動物課
Diivision of Commercial Fisheries: 商業漁業部
333 Raspberry Rd.  Anchorage, AK 99518
Phone:  (907)267-2158
Cell:  (907)440-9934

-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of Ben Bolker
Sent: Wednesday, July 13, 2011 12:21 PM
To: r-help at stat.math.ethz.ch
Subject: Re: [R] Very slow optim()

Hamazaki, Hamachan (DFG <toshihide.hamazaki <at> alaska.gov> writes:

> 
> Dear list, 
> 
> I am using optim() function to MLE ~55 parameters, but it is very slow to
converge (~ 25 min), whereas I can do
> the same in ~1 sec. using ADMB, and ~10 sec using MS EXCEL Solver.
> 
> Are there any tricks to speed up?
> 
> Are there better optimization functions? 
> 

  There's absolutely no way to tell without knowing more about your code.  You
might try method="CG":

    Method ‘"CG"’ is a conjugate gradients method based on that by
     Fletcher and Reeves (1964) (but with the option of Polak-Ribiere
     or Beale-Sorenson updates).  Conjugate gradient methods will
     generally be more fragile than the BFGS method, but as they do not
     store a matrix they may be successful in much larger optimization
     problems.

  If ADMB works better, why not use it?  You can use the R2admb
package (on R forge) to wrap your ADMB calls in R code, if you
prefer that workflow.

  Ben

______________________________________________
R-help at 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.


More information about the R-help mailing list