[R] using optimize() correctly ...
Berend Hasselman
bhh at xs4all.nl
Sun May 24 15:27:35 CEST 2009
On 24-05-2009, at 14:24, Esmail wrote:
> Hello Berend,
>
> Berend Hasselman wrote:
>> Your function is not unimodal.
>> The help for optimize states: "If f is not unimodal, then
>> optimize() may approximate a local, but perhaps
>> non-global, minimum to the same accuracy."
>
> Ah ok, I didn't read the manual page carefully enough.
>
> Do you know if R has a function to find the global maximum/minimum
> of a
> function of x over a given interval?
>
If you do
resopt <- optim(-5,f, method="SANN",control=list(fnscale=-1))
you will get the global maximum. SANN: simulated annealing. But
starting in -4 takes you to the local maximum.
But the help for optim recommends optimize for one-dimensional
maximization.
As far as I know there is no general foolproof method for finding a
global optimum except trying different initial points.
No method can really replace one's own knowledge about a function.
Berend
btw. i am away during this week so i won't be replying.
More information about the R-help
mailing list