[SciPy-user] Nelder-Mead

joris at ster.kuleuven.ac.be joris at ster.kuleuven.ac.be
Wed May 24 06:05:06 EDT 2006


Hi Ryan,

> My advisor is asking me questions about convergence guarantees.

To my knowledge there is no sufficiently general mathematical
convergence proof for the Nelder-Mead algorithm.  

In fact, it is known that the Nelder-Mead can sometimes fail to
converge, especially when the dimension of the search space is
large. In such cases, the simplex is moving perpendicular
to the gradient. It is also known that the simplex sometimes
can become degenerate after which is has to be reinitialised.

Having said that, you should know that there is another simplex
method, invented by Torczon in 1989 which is more robust than
the Nelder-Mead algorithm but at the price of slower convergence.
The Torczon simplex doesn't change shape, only size, and it
tries to replace the best simplex corner rather than the worse
simplex corner. The algorithm is mathematically more tractable
and Torczon has a "convergence proof", of course with idealised
assumptions.


> Are there any convergence proofs for the other minimization 
> methods in scipy.optimize?

I don't think so. Optimization is an art, not an exact science.
Even an algorithm as simple as the Newton one can easily fail, 
for example because the Jacobian is ill-conditioned, or because 
an iteration step leads again to an earlier point so that infinite 
looping occurs.

Cheers,
Joris




Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm




More information about the SciPy-User mailing list