Page 343 - Applied Numerical Methods Using MATLAB
P. 343

332    OPTIMIZATION
           Remark 7.1. Weak Point of Newton Method.
              The Newton method is usually more efficient than the steepest descent method
           if only it works as illustrated above, but it is not guaranteed to reach the minimum
           point. The decisive weak point of the Newton method is that it may approach one
           of the extrema having zero gradient, which is not necessarily a (local) minimum,
           but possibly a maximum or a saddle point (see Fig. 7.13).

           7.1.6  Conjugate Gradient Method
           Like the steepest descent method or Newton method, this method also uses the
           gradient to search for the minimum point of an objective function, but in a
           different way. It has two versions—the Polak–Ribiere (PR) method and the
           Fletcher–Reeves (FR) method—that are slightly different only in the search
           direction vector. This algorithm, summarized in the following box, is cast into
           the MATLAB routine “opt_conjg()”, which implements PR or FR depending
           on the last input argument KC = 1 or 2. The quasi-Newton algorithm used in
           the MATLAB built-in routine “fminunc()” is similar to the conjugate gradi-
           ent method.
              This method borrows the framework of the steepest descent method and needs
           a bit more effort for computing the search direction vector s(n). It takes at most N
           iterations to reach the minimum point in case the objective function is quadratic
           with a positive-definite Hessian matrix H as
                      1  T      T
               f(x) =  x Hx + b x + c  where x:an N-dimensional vector  (7.1.15)
                      2


             CONJUGATE GRADIENT ALGORITHM
             Step 0. With the iteration number k = 0, find the objective function value
                  f 0 = f(x 0 ) for the initial point x 0 .
             Step 1. Initialize the inside loop index, the temporary solution and the search
                  direction vector to n = 0, x(n) = x k and s(n) =−g k =−g(x k ), respec-
                  tively, where g(x) is the gradient of the objective function f(x).
             Step 2.For n = 0to N − 1, repeat the following things:
               Find the (optimal) step-size

                                  α n = ArgMin f(x(n) + αs(n))         (7.1.16)
                                              α
               and update the temporary solution point to
                                     x(n + 1) = x(n) + α n s(n)        (7.1.17)

               and the search direction vector to

                                    s(n + 1) =−g n+1 + β n s(n)        (7.1.18)
   338   339   340   341   342   343   344   345   346   347   348