Nelder-Mead method

There are occasions where it has been spectacularly good ... Mathematicians hate it because you can’t prove convergence; engineers seem to love it because it often works. -- John Nelder

The Nelder-Mead (NM) method (also called downhill simplex method is a heuristic (search method for minimizing an objective function $f({\bf x}$ given in an N-dimensional space. The key concept of the mehtod is the simplex, an $N$ dimensional polytope that is a convex hull of a set of $N+1$ linearly independent points ${\bf x}_0,\cdots,{\bf x}_N$. These points are linearly independent in the sense that the $N$ vectors $\{{\bf x}_0,\cdots,{\bf x}_N\}$ are linearliy independent (no three points are colinear):

$\displaystyle S=\left\{\sum_{i=0}^Nc_i{\bf x}_i \;\bigg\vert\;\sum_{i=0}^Nc_i=1,
\;\;\;\;c_i\ge 0\right\}$ (21)

Intuitively, a simplex is a volumn in the N-D space enclosed by flat surfaces and spanned by $N+1$ verticies. For example, a simplex is a line sigment spanned by 2 points in 1-D space, a triangle spanned by 3 points in 2-D space, and a tetrahedron spanned by 4 points in 3-D space.

The NM method is an iterative process which transforms an initial simplex iteratively into a different one following a path in the space along which the function values are progressively reduced. The initial simplex can be generated based on a single point ${\bf x}_0$, an initial guess, by adding a constant along each of the $N$ dimensions spanned by the standard basis $\{{\bf e}_1,\cdots,{\bf e}_N\}$:

$\displaystyle {\bf x}_i={\bf x}_0+c{\bf e}_i$ (22)

In the subsequent iterations, the initial simplex is transformed based on four parameters:

Specially here are the steps in each iteration: