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-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On Behalf Of Ben Bolker Sent: Wednesday, July 13, 2011 12:21 PM To: r-h...@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@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. ______________________________________________ R-help@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.