Page 179 - Compact Numerical Methods For Computers
P. 179

Chapter 14
                                           DIRECT SEARCH METHODS




                                  14.1. THE NELDER-MEAD SIMPLEX SEARCH FOR THE
                                  MINIMUM OF A FUNCTION OF SEVERAL PARAMETERS

                            The first method to be examined for minimising a function of n parameters is a
                            search procedure based on heuristic ideas. Its strengths are that it requires no
                            derivatives to be computed, so it can cope with functions which are not easily
                            written as analytic expressions (for instance, the result of simulations), and that it
                            always increases the information available concerning the function by reporting its
                            value at a number of points. Its weakness is primarily that it does not use this
                            information very effectively, so may take an unnecessarily large number of
                            function evaluations to locate a solution. Furthermore, the method requires (n+1)
                            by (n+2) storage locations to hold intermediate results in the algorithm, so is not
                            well adapted to problems in a large number of parameters. However. for more
                            than about five parameters the procedure appears to become inefficient. Justifica-
                            tion of the choice of this algorithm is postponed until §14.4.
                              The original paper of Nelder and Mead (1965) outlines quite clearly and
                            succinctly their method, which is based on that of Spendley et al (1962). The
                            method will be described here to point out some particular modifications needed
                            to improve its reliability on small machines, particularly those with arithmetic
                            having few digits in the mantissa.
                              A simplex is the structure formed by (n+1) points, not in the same plane, in an
                            n-dimensional space. The essence of the algorithm is as follows: the function is
                            evaluated at each point (vertex) of the simplex and the vertex having the highest
                            function value is replaced by a new point with a lower function value. This is done
                            in such a way that ‘the simplex adapts itself to the local landscape, and contracts
                            on to the final minimum.’ There are four main operations which are made on the
                            simplex: reflection, expansion, reduction and contraction. In order to operate on
                            the simplex, it is necessary to order the points so that the highest is b , the next-
                                                                                         H
                            to-highest b , and the lowest b . Thus the associated function values obey
                                                        L
                                      N
                                                   S(b )>S(b )>S(b )>S(b )                    (14.1)
                                                                    i
                                                                          L
                                                             N
                                                      H
                            for all i  H, N or L. Figure 14.1 illustrates the situation.
                              The centroid of all the points other than b H  is defined by
                                                                                               (14.2)
   174   175   176   177   178   179   180   181   182   183   184