On Mon, 22 Jan 2001, Yves Gauvreau wrote:
> Hi every one,
>
> I''m thinking of using some optimization algorithm in conjunction
with R
> 1.2.[01]. I assume that it is usual for this kind of code be given a
pointer
> to the function to be optimize and a bunch of parameters for both the
> algorithm and for the function. In order to be flexible the ideal would be
> to be able to write the function to be optimize as a R function. But...
>
> I got myself a copy of "S programming" (I got it from Amazon
while it was at
> ~ $17.98) and I read chapter 6 (6.3). I also read "Writing R
extensions".
> >From what I''ve read the authors basically suggest to forget
that and the
> main reason they give is that the process can be "extremely
slow".
You missed the point (p. 139): use the methods in section 6.4 these days.
They have a much smaller penalty. You will need to supplement that by
`Writing R extensions'' as the R internals have changed a bit.
> I even
> took a look at optim.c which does exactly what I would like to be able to
do
> for this algorithm. I also got my hand on the Fortran code for L-BFGS-B
from
> R. H. Byrd, P. Lu, J. Nocedal and C. Zhu (NETLIB) and they also have the
> same example program as R (the extended Rosenbrock function). As expected
> the Fortran program is a lot faster.
That is an extreme example (a trivial function, so the calling overhead
is large in comparison to everything else).
> The functions I would like to optimize will probably be a lot of work for
> both the algorithm and within the functions themselves. So this is kind of
a
> dilemma.
>
> Is the only alternative to this situation is writing the function to be
> optimized as external code and setting up things such that the process can
> be initiated from an R function?
The optim approach (effectively that used by .Call) is likely to be pretty
efficient. call_R is hard to use and now deprecated.
--
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272860 (secr)
Oxford OX1 3TG, UK Fax: +44 1865 272595
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: r-help-request at
stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._