Page 184 - Compact Numerical Methods For Computers
P. 184

Direct search methods                     173

                     be chosen are unfortunately difficult to state. Quite obviously any starting step
                     should appreciably alter the function. In many ways this is an (n+1)-fold
                     repetition of the necessity of good initial estimates for the parameters as in §12.2.

                       More recently other workers have tried to improve upon the Nelder-Mead
                     strategies, for example Craig et al (1980). A parallel computer version reported by
                     Virginia Torczon seems to hold promise for the solution of problems in relatively
                     large numbers of parameters. Here we have been content to stay close to the original
                     Nelder-Mead procedure, though we have simplified the method for ranking the
                     vertices of the polytope, in particular the selection of the point b .
                                                                            N
                     Algorithm 19. A Nelder-Mead minimisation procedure

                       procedure nmmin(n: integer; {the number of parameters in the
                                        function to be minimised}
                                        var Bvec,X: rvector; {the parameter values on
                                        input (Bvec) and output (X) from minmeth}
                                        var Fmin: real; {‘minimum’ function value}
                                        Workdata: probdata; {user defined data area}
                                        var fail: boolean; {true if method has failed}
                                        var intol: real); {user-initialized convergence
                                        tolerance; zero on entry if it is not set yet.}
                       {alg19.pas == Nelder Mead minimisation of a function of n parameters.
                             Original method due to J. Nelder and R. Mead., Computer Journal,
                                vol 7, 1965 pp. 308-313.
                             Modification as per Nash J and Walker-Smith M, Nonlinear Parameter
                             Estimation: an Integrated System in BASIC, Marcel Dekker: New York,
                             1987.
                             Modifications are principally
                             - in the computation of the “next to highest” vertex of the current
                             polytope,
                             - in the verification that the shrink operation truly reduces the size
                             of the polytope, and
                             - in form of calculation of some of the search points.
                             We further recommend an axial search to verify convergence. This can
                             be called outside the present code. If placed in-line, the code can
                             be restarted at STEP3.
                             If space is at a premium, vector X is not needed except to return
                             final values of parameters.
                                         Copyright 1988 J.C.Nash
                        }
                        const
                          Pcol= 27; {Maxparm + 2 == maximum number of columns in polytope}
                          Prow = 26; {Maxparm + 1 == maximum number of rows in polytope}
                          alpha = 1.0; (reflection factor)
                          beta = 0.5; {contraction and reduction factor}
                          gamma = 2.0; {extension factor}
                        var
                          action : string[15]; {description of action attempted on polytope. The
                                         program does not inform the user of the success of
                                         the attempt. However, the modifications to do
                                         this are straightforward.]
   179   180   181   182   183   184   185   186   187   188   189