Page 371 - Applied Numerical Methods Using MATLAB
P. 371

360    OPTIMIZATION
                   Table P7.2.2 Points Reached by Several Optimization Routines
                    Initial Point                Reached Point
                       x 0   Nelder Steepest Newton  fminunc  fminsearch  SA  GA
                      (0, 0)  (5)/m
                      (1, 0)        (3)/G
                      (1, 1)               (9)/m
                      (0, 1)                       (3)/G
                     (−1, 1)                                (5)/m
                     (−1, 0)                                        ≈(3)/G
                     (−1, −1)                                             (3)/G
                     (0, −1)  (9)/m
                     (1, −1)        (9)/m
                      (2, 2)               (3)/G
                     (−2, −2)                      (7)/m

                (c) Overall, the point reached by each minimization algorithm depends on
                   the starting point—that is, the initial value of the independent variable
                   as well as the characteristic of the algorithm. Fill in the blanks in
                   the following sentences. Most algorithms succeed to find the global
                   minimum if only they start from the initial point ( , ), ( , ), ( , ), or ( , ).
                   An algorithm most possibly goes to the closest local minimum (5) if
                   launched from ( , ) or ( , ), and it may go to the closest local minimum
                   (7) if launched from ( , ) or ( , ). If launched from ( , ), it may go to
                   one of the two closest local minima (7) and (9) and if launched from
                   ( , ), it most possibly goes to the closest local minimum (9). But, the
                   global optimization techniques SA and GA seem to work fine almost
                   regardless of the starting point, although not always.
            7.3 Minimization of an Objective Function Having Many Local Minima/
                Maxima

                Consider the problem of minimizing the following objective function
                                                          2
                              Min f(x) = sin(1/x)/((x − 0.2) + 0.1)     (P7.3.1)
                which is depicted in Fig. P7.3. The graph shows that this function has
                infinitely many local minima/maxima around x = 0 and the global mini-
                mum about x = 0.2.
                (a) Find the solution by using the MATLAB built-in routine “fminbnd()”.
                    Is it plausible?
                (b) With nine different values of the initial guess x 0 = 0.1, 0.2,... , 0.9, use
                    the four MATLAB routines “opt_Nelder()”, “opt_steep()”, “fmin-
                    unc()”, and “fminsearch()” to solve the problem. Among those 36
                    tryouts, how many times have you got the right solution?
   366   367   368   369   370   371   372   373   374   375   376