[R] About the efficiency of R optimization function

cls59 sharpsteen at mac.com
Fri May 15 05:07:53 CEST 2009

popo UBC wrote:
> Hi all!
> The objective function I want to minimize contains about 10 to 20
> variables,
> maybe more in the future. I never solved such problems in R, so I had no
> idea about the efficiency of R's optimization functions. I know doing loop
> in R is quite slow, so I am not sure whether this shortage influences the
> speed of R's optimization functions.
> I would be very appreciated if anyone could share some experiences with
> me.
> The speed, stability of the R's optimization functions. Is it helpful to
> call a C/Fortran code to do the job, if possible.
> Many thanks in advance.
> Popo

Many functions available in R are implemented using a compiled language such
as C or Fortran- not the R language it's self. For example, the "Source"
section of the help page for optim states that the code for the Nelder-Mead,
BFGS and Conjugate Gradient methods were translated to C from Pascal and
then further optimized. The L-BFGS-B method appears to be implemented as
Fortran code.

Looking at the source of the optim function reveals that results are
computed by a call to .Internal(). Such calls usually indicate that R is
handing computations off to a compiled, rather than interpreted, routine.

If you have C or Fortran code you would prefer to use, take a look at the
help pages for .C() and .Fortran() as well as the "Writing R Extensions"
manual. The command line tool R CMD SHLIB will help you compile your code to
shared libraries that can be loaded by R using dyn.load().


Charlie Sharpsteen
Environmental Resources Engineering
Humboldt State University
View this message in context: http://www.nabble.com/About-the-efficiency-of-R-optimization-function-tp23552061p23552668.html
Sent from the R help mailing list archive at Nabble.com.

More information about the R-help mailing list