[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