[R] r's optim vs. matlab's fminsearch

Michael H. Prager Mike.Prager at noaa.gov
Mon Jun 12 21:39:32 CEST 2006


In using Nelder-Mead outside R, I find it critical to restart the 
algorithm (repeatedly) after it thinks it's found a solution, to see if 
it can do better.  I can't say whether the R and Matlab implementations 
do this automatically or not.


on 6/12/2006 3:00 PM Anthony Bishara said the following:
> 	Thanks for the feedback.  I should've mentioned before that the
> function is non-smooth.  Also, it has a 3-element free parameter vector, and
> I've been using a grid of 27 vectors of starting parameters.  
>
> Anthony
>
> -----Original Message-----
> From: Prof Brian Ripley [mailto:ripley at stats.ox.ac.uk] 
> Sent: Monday, June 12, 2006 1:40 PM
> To: Anthony Bishara
> Cc: r-help at stat.math.ethz.ch
> Subject: Re: [R] r's optim vs. matlab's fminsearch
>
> Unless you know the function to be non-smooth, I suggest you use 
> method="BFGS" in R.
>
> BTW, all such algorithms are only designed to find local minima, and so 
> the choice of starting point may be crucial.
>
> On Mon, 12 Jun 2006, Anthony Bishara wrote:
>
>   
>> Hi,
>> I'm having a problem converting a Matlab program into R.  The R code works
>> almost all the time, but about 4% of the time R's optim function gets
>>     
> stuck
>   
>> on a local minimum whereas matlab's fminsearch function does not (or at
>> least fminsearch finds a better minimum than optim).  My understanding is
>> that both functions default to Nelder-Mead optimization, but what's
>> different about the two functions?  Below, I've pasted the relevant
>>     
> default
>   
>> options I could find. Are there other options I should to consider?  Does
>> Matlab have default settings for reflection, contraction, and expansion,
>>     
> and
>   
>> if so what are they?  Are there other reasons optim and fminsearch might
>> work differently?
>> Thanks.
>>
>> ***Matlab's fminsearch defaults***
>> MaxFunEvals: '200*numberofvariables'
>> MaxIter: '200*numberofvariables'
>> TolFun: 1.0000e-004		#Termination tolerance on the function
>> value.
>> TolX: 1.0000e-004		#Termination tolerance on x.
>>
>> ***R's optim defaults (for Nelder-Mead)***
>> maxit=500
>> reltol=1e-8
>> alpha=1.0			#Reflection
>> beta=.5			#Contraction
>> gamma=2.0			#Expansion
>>
>>
>> Anthony J. Bishara
>> Post-Doctoral Fellow
>> Department of Psychological & Brain Sciences
>> Indiana University
>> 1101 E. Tenth St.
>> Bloomington, IN 47405
>> (812)856-4678
>>
>> ______________________________________________
>> R-help at stat.math.ethz.ch mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide!
>>     
> http://www.R-project.org/posting-guide.html
>   
>
>   

-- 
Michael Prager, Ph.D.
Southeast Fisheries Science Center
NOAA Center for Coastal Fisheries and Habitat Research
Beaufort, North Carolina  28516
** Opinions expressed are personal, not official.  No
** official endorsement of any product is made or implied.



More information about the R-help mailing list