[R] Very slow optim()

Ben Bolker bbolker at gmail.com
Wed Jul 13 22:20:47 CEST 2011


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



More information about the R-help mailing list