Page 282 - MATLAB an introduction with applications
P. 282

Optimization ———  267


                    5.6 FLETCHER-REEVES METHOD

                   The algorithm is described below:
                   (a)  select a starting point x 0
                   (b)  g  ← – ∇F(x )
                                  0
                        0
                   (c)  V  ← g 0
                         0
                   (d)  loop with i = 0, 1, 2, …
                          minimize F(x) along V ; x i + 1  is the minimum point assumed
                                            i
                          g i + 1  ← –∇F(x i + 1 )
                          if |g i + 1 | < ∈ or |F(x i + 1 ) – F(x )| < ∈ exit loop
                                                  i
                          r ← (g i + 1  . g i + 1 )/(g . g )
                                           i
                                             i
                          V i + 1  ← g i + 1  + rV i
                          end loop
                   The method will find the minimum of a quadratic function in n iterations. Also, V  and V i + 1  are mutually
                                                                                      i
                   conjugate. In other words,
                                   T
                                 VAV  i+ 1  =  0   and   gg i  i+ 1  =  0 .
                                                   i
                                  i
                    5.7  HOOKE AND JEEVES METHOD

                   Hooke and Jeeves method is a sequential technique each step of which consists of two kinds of moves,
                   the exploratory move and the pattern move.
                   General procedure:

                                                            x
                                                           
                                                             1
                                                           
                                                            x
                                                           
                                                             2
                   1.  Start with an arbitrarily chosen point  X =  , called the starting base point and prescribed step
                                                        1

                                                           
                                                           
                                                            x
                                                           
                                                             n
                       lengths ∆x  in each of the coordinate directions u , i = 1, 2, …, n. Set k = 1.
                               i
                                                               i
                   2.  Compute f  = f (X ). Set i = 1, Y  = X , and start the exploratory move as stated in step 3.
                               k
                                                      k
                                     k
                                                 k0
                   3.  The variable x  is perturbed about the current temporary base point Y k, i–1  to obtain the new temporary
                                  i
                       base point as
                                        Y   +∆ x u   if f  +  =  ( f Y  +∆ x u  )
                                                                 ,1
                                          ,1
                                         ki−   i i              ki−    i i
                                                          <  f =  ( f Y ki ,1 −  )
                                                         −
                                        Y ki−  −∆ x u  if f  =  ( f Y ki−  −∆ x u  )
                                                                        i i
                                                                 ,1
                                                i i
                                          ,1
                                  Y  , ki  = 
                                                          <  f =  ( f Y ki ,1 −  )
                                                             +
                                                          <  f  =  ( f Y ki−  + ∆ x u  )
                                                                     ,1
                                                                            i i
                                        Y            if f =  ( f Y  ) <  min( f  + , f  −  )
                                         ki−                   ki−
                                          ,1
                                                                 ,1
   277   278   279   280   281   282   283   284   285   286   287