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

Anthony Bishara abishara at indiana.edu
Mon Jun 12 19:18:53 CEST 2006

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?

***Matlab's fminsearch defaults***
MaxFunEvals: '200*numberofvariables'
MaxIter: '200*numberofvariables'
TolFun: 1.0000e-004		#Termination tolerance on the function
TolX: 1.0000e-004		#Termination tolerance on x.

***R's optim defaults (for Nelder-Mead)***
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

More information about the R-help mailing list