1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399

\chapter{NelderMead bibliography}
In this section, we present a brief overview of selected
papers, sorted in chronological order, which deals with
the NelderMead algorithm
\section{Spendley, Hext, Himsworth, 1962}
"Sequential Application of Simplex Designs in Optimisation and Evolutionary Operation",
Spendley W., Hext G. R. and Himsworth F. R.,
American Statistical Association and American Society for Quality, 1962
This article \cite{Spendley1962} presents an algorithm for unconstrained optimization in
which a simplex is used. The simplex has a fixed, regular (i.e. all
lengths are equal), shape and is made of n+1 vertices (where n is the
number of parameters to optimize). The algorithm is based on the
reflection of the simplex with respect to the centroid of better
vertices. One can add a shrink step so that the simplex size can converge
to zero. Because the simplex shape cannot change, the convergence rate
may be very slow if the eigenvalues of the hessian matrix have very
different magnitude.
\section{Nelder, Mead, 1965}
"A Simplex Method for Function Minimization",
Nelder J. A. and Mead R.,
The Computer Journal, 1965
This article \cite{citeulike:3009487} presents the NelderMead unconstrained optimization
algorithm. It is based on a simplex made of n+1 vertices and is a
modification of the Spendley's et al algorithm. It includes features
which enables the simplex to adapt to the local landscape of the cost
function. The additional steps are expansion, inside contraction and
outside contraction. The stopping criterion is based on the standard
deviation of the function value on the simplex.
The convergence of the algorithm is better than Spendley's et al. The
method is compared against Powell's freederivative method (1964) with
comparable behaviour. The algorithm is "greedy" in the sense that the
expansion point is kept if it improves the best function value in the
current simplex. Most NelderMead variants which have been analyzed
after are keeping the expansion point only if it improves over the
reflection point.
\section{Box, 1965}
"A New Method of Constrained Optimization and a Comparison With Other Methods",
M. J. Box,
The Computer Journal 1965 8(1):4252,
1965, British Computer Society
In this paper \cite{Box1965}, Box presents a modification of the NM algorithm which
takes into accounts for bound constraints and nonlinear constraints.
This variant is called the Complex method.
The method expects that the initial guess satisfies the nonlinear constraints.
The nonlinear constraints are supposed to define a convex set.
The algorithm ensures that the simplex evolves in the feasible space.
The method to take into account for the bound constraints is based on
projection of the parameters inside the bounded domain. If some
nonlinear constraint is not satisfied, the trial point is moved halfway
toward the centroid of the remaining points (which are all satisfying
the nonlinear constraints).
The simplex may collapse into a subspace if a projection occurs. To
circumvent this problem, k>=n+1 vertices are used instead of the original
n+1 vertices. A typical value of k is k=2n. The initial simplex is computed with a random number
generator, which takes into account for the bounds on the parameters. To
take into account for the nonlinear constraints, each vertex of the
initial simplex is moved halfway toward the centroid of the points
satisfying the constraints (in which the initial guess already is).
\section{Guin, 1968}
"Discussion and correspondence: modification of the complex method of constrained optimization",
J. A. Guin,
The Computer Journal,
1968
In this article \cite{Guin:1968:DCM}, Guin suggest 3 rules to improve the practical convergence
properties of Box's complex method. These suggestions include the use of the
nexttoworst point when the worst point does not produce an improvement
of the function value. The second suggestion is to project the points
strictly into the bounds, instead of projecting inside the bounds.
The third suggestion is related to the failure of the method
when the centroid is no feasible. In that case, Guin suggest to
restrict the optimization in the subspace defined by the best
vertex and the centroid.
\section{O'Neill, 1971}
"Algorithm AS47  Function minimization using a simplex procedure",
R. O'Neill, 1971, Applied Statistics
In this paper \cite{O'Neill1971AAF}, R. O'Neill presents a fortran 77 implementation of the
NelderMead algorithm.
The initial simplex is computed axisbyaxis, given the initial guess
and a vector of step lengths.
A factorial test is used to check if the computed optimum point is a local minimum.
\subsection{Parkinson and Hutchinson, 1972}
In \cite{parkinson1972}, "An investigation into the efficiency of variants on the simplex method",
Parkinson and Hutchinson explored
several ways of improvement. First, they investigate the sensitivity
of the algorithm to the initial simplex. Two parameters were investigated,
i.e. the initial length and the orientation of the simplex.
An automatic setting for the orientation, though very desirable, is
not easy to design. Parkinson and Hutchinson tried to automatically
compute the scale of the initial simplex by two methods, based on
a "line search" and on a local "steepest descent".
Their second investigation adds a new step to the algorithm, the unlimited
expansion. After a sucessful expansion, the algorithm tries to produce
an expansion point by taking the largest possible number of
expansion steps. After an unlimited expansion steps is performed, the
simplex is translated, so that excessive modification of the scale and shape
is avoided. Combined and tested against low dimension problems, the
modified algorithm, named PHS, provides typical gains of 20% gains in
function evaluations.
\section{Richardson and Kuester, 1973}
"Algorithm 454: the complex method for constrained optimization",
Richardson Joel A. and Kuester J. L.,
Commun. ACM,
1973
In this paper \cite{362324}, Richardson and Kuester shows a fortran 77 implementation
of Box's complex optimization method. The paper clarifies several
specific points from Box's original paper while remaining very close to it.
Three test problems are presented with the specific algoritmic settings (such as
the number of vertices for example) and number of iterations.
\section{Shere, 1973}
"Remark on algorithm 454 : The complex method for constrained optimization",
Shere Kenneth D.,
Commun. ACM,
1974
In this article \cite{372783}, Shere presents two counterexamples where the algorithm 454,
implemented by Richardson and Kuester produces an infinite loop.
"This happens whenever the corrected point, the centroid of the remaining
complex points, and every point on the line segment joining these two points
all have functional values lower than the functional values at each of the
remaining complex points.
\section{Subrahmanyam, 1989}
"An extension of the simplex method to constrained nonlinear optimization",
M. B. Subrahmanyam, Journal of Optimization Theory and Applications, 1989
In this article \cite{69970}, the simplex algorithm of Nelder and Mead is extended to handle nonlinear
optimization problems with constraints. To prevent the simplex from
collapsing into a subspace near the constraints, a delayed reflection is
introduced for those points moving into the infeasible region. Numerical
experience indicates that the proposed algorithm yields good results in
the presence of both inequality and equality constraints, even when the
constraint region is narrow.
If a vertex becomes infeasible, we do not increase the value at this
vertex until the next iteration is completed. Thus, the next iteration
is accomplished using the actual value of the function at the infeasible
point. At the end of the iteration, in case the previous vertex is not the worst
vertex, it is assigned a high value, so that it then becomes a candidate
for reflection during the next iteration.
The paper presents numerical experiments which are associated with
thousands of calls to the cost function. This may be related with
the chosen reflection factor equal to 0.95, which probably cause
a large number of reflections until the simplex can finally
satisfy the constraints.
\section{Numerical Recipes in C, 1992}
"Numerical Recipes in C, Second Edition",
W. H. Press, Saul A. Teukolsky, William T. Vetterling and Brian P. Flannery,
1992
In this book \cite{NumericalRecipes}, an ANSI C implementation of the NelderMead algorithm is given.
The initial simplex is based on the axis.
The termination criterion is based on the relative difference of the
function value of the best and worst vertices in the simplex.
\section{Lagarias, Reeds, Wright, Wright, 1998}
"Convergence Properties of the NelderMead Simplex Method in Low Dimensions",
Jeffrey C. Lagarias, James A. Reeds, Margaret H. Wright and Paul E. Wright,
SIAM Journal on Optimization, 1998
This paper \cite{lagarias:112} presents convergence properties of the NelderMead algorithm applied
to stricly convex functions in dimensions 1 and 2. Proofs are given to a minimizer
in dimension 1, and various limited convergence results for dimension 2.
\section{Mc Kinnon, 1998}
"Convergence of the NelderMead Simplex Method to a Nonstationary Point",
SIAM J. on Optimization, K. I. M. McKinnon, 1998
In this article \cite{589109}, Mc Kinnon analyses the behavior of the
NelderMead simplex method for a family of examples which cause the
method to converge to a nonstationnary point. All the examples use
continuous functions of two variables. The family of functions contains
strictly convex functions with up to three continuous derivatives.
In all the examples, the method repeatedly applies the inside
contraction step with the best vertex remaining fixed. The simplices
tend to a straight line which is orthogonal to the steepest descent
direction. It is shown that this behavior cannot occur for functions
with more than three continuous derivatives.
\section{Kelley, 1999}
"Detection and Remediation of Stagnation in the NelderMead Algorithm Using a Sufficient Decrease Condition",
SIAM J. on Optimization, Kelley, C. T., 1999
In this article \cite{589283}, Kelley presents a test for sufficient decrease which,
if passed for the entire iteration, will guarantee convergence of the
NelderMead iteration to a stationary point if the objective function is
smooth. Failure of this condition is an indicator of potential
stagnation. As a remedy, Kelley propose to restart the algorithm with an
oriented simplex, smaller than the previously optimum simplex, but with
a better shape and which approximates the steepest descent step from the
current best point. The method is experimented against Mc Kinnon test
function and allow to converge to the optimum, where the original Nelder
Mead algorithm was converging to a nonstationary point. Although the
oriented simplex works well in practice, other strategies may be chosen
with similar results, such as a simplex based on axis, a regular simplex
(like Spendley's) or a simplex based on the variable magnitude (like
Pfeffer's suggestion in Matlab's fminsearch). The paper also shows one
convergence theorem which prove that if the sufficient decrease
condition is satisfied and if the product of the condition of the simplex
by the simplex size converge to zero, therefore, with additional
assumptions on the cost function and the sequence of simplices, any
accumulation point of the simplices is a critical point of f.
The same ideas are presented in the book \cite{Kelley1999}.
\subsection{Han, 2000}
In his Phd thesis \cite{Han2000}, Lixing Han analyse the
properties of the NelderMead algorithm.
Han present two examples in which the NelderMead
simplex method does not converge to a single point.
The first example is a nonconvex function with bounded
level sets and it exhibits similar nonconvergence properties
with the Mc Kinnon counterexample $f(\xi_1,\xi_2) = \xi_1^2  \xi_2(\xi_22)$.
The second example is a convex function with bounded level sets, for
which the NelderMead simplices converge to a degenerate simplex, but
not to a single point. These nonconvergent examples support the
observations by some practitionners that in the NelderMead
simplices may collapse into a degenerate simplex and therefore support
the use of a restart strategy. Han also investigates
the effect of the dimensionality of the NelderMead method.
It is shown that the NelderMead simplex method becomes less
efficient as the dimension increases. Specifically, Han consider the quadratic
function $\xi_1^2 + \ldots + \xi_1^n$ and shows that the NelderMead
method becomes less efficient as the dimension increases.
The considered example offers insight into understanding the effect
of dimensionnality on the NelderMead method.
Given all the known failures and inefficiencies of the NelderMead
method, a very interesting question is why it is so popular in practice.
Han present numerical results of the NelderMead method on the standard
collection of MorÃ©GarbowHillstrom with dimensions $n\leq 6$.
Han compare the NelderMead method with a finite difference BFGS
method and a finite difference steepest descent method. The numerical
results show that the NelderMead method is much more efficient
than the finite difference steepest descent method for the problems he
tested with dimensions $n\leq 6$. It is also often comparable with the
finite difference BFGS method, which is believed to be the
best derivativefree method.
Some of these results are reproduced in \cite{HanNeumann2006} by Han and Neumann,
"Effect of dimensionality on the Nelderâ€“Mead simplex method"
and in \cite{hanNeumann2003}, "On the roots of certain polynomials arising
from the analysis of the NelderMead simplex method".
\section{Nazareth, Tseng, 2001}
"Gilding the Lily: A Variant of the NelderMead Algorithm Based on GoldenSection Search"
Computational Optimization and Applications, 2001,
Larry Nazareth and Paul Tseng
The article \cite{584536} propose a variant of the NelderMead algorithm derived from
a reinterpretation of univariate goldensection direct search. In the
univariate case, convergence of the variant can be analyzed analogously
to goldensection search.
The idea is based on a particular choice of the reflection, expansion,
inside and outside contraction parameters, based on the golden ratio.
This variant of the NelderMead algorithm is called NelderMeadGolden
Ratio, or NMGS. In one dimension, the authors exploit the connection
with goldensearch method and allows to prove a convergence theorem on
unimodal univariate functions. This is marked contrast to the approach
taken by Lagarias et al. where considerable effort is expended to show
convergence of the original NM algorithm on strictly convex univariate
functions. With the NMGS variant, one obtain convergence in the
univariate case (using a relatively simple proof) on the broader class
of unimodal functions.
In the multivariate case, the authors modify the variant by replacing
strict descent with fortified descent and maintaining the interior
angles of the simplex bounded away from zero. Convergence of the
modified v ariant can be analyzed by applying results for a fortified
descent simplicial search method. Some numerical experience with the
variant is reported.
\section{Perry, Perry, 2001}
"A New Method For Numerical Constrained Optimization"
by Ronald N. Perry, Ronald N. Perry,
March 2001
In this report \cite{Perry01anew}, we propose a new method for constraint
handling that can be applied to established optimization algorithms and
which significantly improves their ability to traverse through
constrained space. To make the presentation concrete, we apply the new
constraint method to the Nelder and Mead polytope algorithm. The
resulting technique, called SPIDER, has shown great initial promise for
solving difficult (e.g., nonlinear, nondifferentiable, noisy)
constrained problems.
In the new method, constraints are partitioned into multiple
levels. A constrained performance, independent of the objective
function, is defined for each level. A set of rules, based on
these partitioned performances, specify the ordering and
movement of vertices as they straddle constraint boundaries;
these rules [...] have been shown to significantly aid motion along
constraints toward an optimum. Note that the new approach uses not
penalty function and thus does not warp the performance surface,
thereby avoiding the possible illconditioning of the objective
function typical in penalty methods.
No numerical experiment is presented.
\section{Andersson, 2001}
"Multiobjective Optimization in Engineering Design  Application to fluid Power Systems"
Johan Andersson, 2001
This PhD thesis \cite{Andersson01multiobjectiveoptimization} gives a brief overview of the Complex method by Box in
section 5.1.
\subsection{Peters, Bolte, Marschner, N\"{u}ssen and Laur, 2002}
In \cite{590075}, "Enhanced Optimization Algorithms for the Development of Microsystems",
the authors combine radial basis function interpolation methods
with the complex algorithm by Box.
Interpolation with radial basis functions is a linear approach
in which the model function $f$ is generated
via the weighted sum of the basis functions $\Phi_i(r)$.
The parameter $r$ describes the distance of the current
point from the center $x_i$ of the ith basis function. It is
calculated via the euclidean norm.
It is named ComplInt strategy. The name stands for
Complex in combination with interpolation. The Complex
strategy due to Box is very well suited for the
combination with radial basis function interpolation
for it belongs to the polyhedron strategies.
The authors presents a test performed on a pratical application,
which leaded them to the following comment :
"The best result achieved with the ComplInt strategy
is not only around 10% better than the best result of
the Complex strategy due to Box, the ComplInt also
converges much faster than the Complex does: while
the Complex strategy needs an average of 7506, the
ComplInt only calls for an average of 2728 quality
function evaluations."
\section{Han, Neumann, 2006}
"Effect of dimensionality on the NelderMead simplex method",
L. Han and M. Neumann (2006),
In this article \cite{HanNeumann2006}, the effect of dimensionality on the NelderMead algorithm is
investigated. It is shown that by using the quadratic function $f(x) = x^T*x$,
the NelderMead simplex method deteriorates as the dimension
increases. More precisely, in dimension 1, with the quadratic function
$f(x) = x^2$ and a particular choice of the initial simplex, applies
inside contraction step repeatedly and the convergence rate (as the
ratio between the length of the simplex at two consecutive steps) is 1/2.
In dimension 2, with a particular initial simplex, the NM algorithm
applies outside contraction step repeatedly and the convergence rate is
$\sqrt(2)/2$.
For n>=3, a numerical experiment is performed on the quadratic function
with the fminsearch algorithm from Matlab. It is shown that the original
NM algorithm has a convergence rate which is converging towards 1 when n
increases. For n=32, the rate of convergence is 0.9912.
\section{Singer, Nelder, 2008}
\url{http://www.scholarpedia.org/article/NelderMead_algorithm}
Singer and Nelder
This article is a complete review of the NelderMead algorithm.
Restarting the algorithm is adviced when a premature termination occurs.
