anms.RdAn implementation of the Nelder-Mead algorithm for derivative-free optimization / function minimization.
anms(fn, x0, ...,
tol = 1e-10, maxfeval = NULL)Also called a `simplex' method for finding the local minimum of a function of several variables. The method is a pattern search that compares function values at the vertices of the simplex. The process generates a sequence of simplices with ever reducing sizes.
anms can be used up to 20 or 30 dimensions (then `tol' and `maxfeval'
need to be increased). It applies adaptive parameters for simplicial search,
depending on the problem dimension – see Fuchang and Lixing (2012).
With upper and/or lower bounds, anms will apply a transformation of
bounded to unbounded regions before utilizing Nelder-Mead. Of course, if the
optimum is near to the boundary, results will not be as accurate as when the
minimum is in the interior.
List with following components:
minimum solution found.
value of f at minimum.
number of function calls performed.
Nelder, J., and R. Mead (1965). A simplex method for function minimization. Computer Journal, Volume 7, pp. 308-313.
O'Neill, R. (1971). Algorithm AS 47: Function Minimization Using a Simplex Procedure. Applied Statistics, Volume 20(3), pp. 338-345.
J. C. Lagarias et al. (1998). Convergence properties of the Nelder-Mead simplex method in low dimensions. SIAM Journal for Optimization, Vol. 9, No. 1, pp 112-147.
Fuchang Gao and Lixing Han (2012). Implementing the Nelder-Mead simplex algorithm with adaptive parameters. Computational Optimization and Applications, Vol. 51, No. 1, pp. 259-277.
Copyright (c) 2012 by F. Gao and L. Han, implemented in Matlab with a permissive license. Implemented in R by Hans W. Borchers. For another elaborate implementation of Nelder-Mead see the package `dfoptim'.