MATLAB File Help: cv.DownhillSolver Index
cv.DownhillSolver

Non-linear non-constrained minimization of a function.

defined on an n-dimensional Euclidean space, using the Nelder-Mead method, also known as downhill simplex method. The basic idea about the method can be obtained from http://en.wikipedia.org/wiki/Nelder-Mead_method.

It should be noted, that this method, although deterministic, is rather a heuristic and therefore may converge to a local minima, not necessary a global one. It is iterative optimization technique, which at each step uses an information about the values of a function evaluated only at n+1 points, arranged as a simplex in n-dimensional space (hence the second name of the method). At each step new point is chosen to evaluate function at, obtained value is compared with previous ones and based on this information simplex changes it's shape, slowly moving to the local minimum. Thus this method is using only function values to make decision, on contrary to, say, Nonlinear Conjugate Gradient method (which is also implemented in OpenCV).

Algorithm stops when the number of function evaluations done exceeds Termcrit.maxCount, when the function values at the vertices of simplex are within Termcrit.epsilon range or simplex becomes so small that it can enclosed in a box with Termcrit.epsilon sides, whatever comes first, for some defined by user positive integer Termcrit.maxCount and positive non-integer Termcrit.epsilon.

NOTE: term criteria should meet the following conditions:

See also
Class Details
Superclasses handle
Sealed false
Construct on load false
Constructor Summary
DownhillSolver Creates a DownhillSolver object. 
Property Summary
InitStep initial step that will be used in downhill simplex algorithm. 
ObjectiveFunction The optimized function represented by a structure with the 
TermCriteria Terminal criteria for solver. 
id Object ID 
Method Summary
  addlistener Add listener for event. 
  clear Clears the algorithm state. 
  delete Destructor 
  empty Returns true if the Algorithm is empty. 
  eq == (EQ) Test handle equality. 
  findobj Find objects matching specified conditions. 
  findprop Find property of MATLAB handle object. 
  ge >= (GE) Greater than or equal relation for handles. 
  getDefaultName Returns the algorithm string identifier. 
  gt > (GT) Greater than relation for handles. 
Sealed   isvalid Test handle validity. 
  le <= (LE) Less than or equal relation for handles. 
  load  
  lt < (LT) Less than relation for handles. 
  minimize Runs the algorithm and performs the minimization. 
  ne ~= (NE) Not equal relation for handles. 
  notify Notify listeners of event. 
  save