Nelder-Mead Minimization Algorithm

ASA047 is a C++ library which seeks to minimize a scalar function of several variables using the Nelder-Mead algorithm, by R ONeill.

ASA047 is Applied Statistics Algorithm 47. Source code for many Applied Statistics Algorithms is available through STATLIB.


The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.


ASA047 is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version and a Python version.

Related Data and Programs:

COMPASS_SEARCH, a C++ library which seeks the minimizer of a scalar function of several variables using compass search, a direct search algorithm that does not use derivatives.

PRAXIS, a C++ routine which minimizes a scalar function of several variables.

TEST_OPT, a FORTRAN90 library which defines test problems requiring the minimization of a scalar function of several variables.

TOMS178, a C++ library which optimizes a scalar functional of multiple variables using the Hooke-Jeeves method.


Original FORTRAN77 version by R ONeill; C++ version by John Burkardt.


  1. John Nelder, Roger Mead,
    A simplex method for function minimization,
    Computer Journal,
    Volume 7, 1965, pages 308-313.
  2. R ONeill,
    Algorithm AS 47: Function Minimization Using a Simplex Procedure,
    Applied Statistics,
    Volume 20, Number 3, 1971, pages 338-345.

Source Code:

Examples and Tests:

List of Routines:

You can go up one level to the C++ source codes.

Last revised on 27 February 2008.