Page 352 - Applied Numerical Methods Using MATLAB
P. 352

UNCONSTRAINED OPTIMIZATION  341

             Step 2.For k = 1to k max , do the following:

              1. Decode each number in the pool into a (decimal) number by

                    X k (n, m) = decimal representation of

                                           m−1        m
                                P k n, 1 +     N bi :     N bi  with N bm bits
                                            i=1        i=1
                                     u(m) − l(m)
                            = P k (n, ·)        + l(m)
                                       2 N bm − 1
                                for n = 1: N p and m = 1: N            (7.1.28)

                 and evaluate the value f(n) of function for every row X k (n, :) = x(n)
                 corresponding to each chromosome and find the minimum f min = f(n b )
                 corresponding to X k (n b , :) = x(n b ).
                                  o
                                                           o
                                             o
              2. If f min = f(n b )<f ,thenset f = f(n b ) and x = x(n b ).
              3. Convert the function values into the values of fitness by
                                  f 1 (n) = Max N p  {f(n)}− f(n)      (7.1.29)
                                             n=1
                 which is nonnegative ∀ n = 1: N p and is large for a good chromosome.
                                                                          o
              4. If Max N p  {f 1 (n)}≈ 0, then terminate this procedure, declaring x as
                       n=1
                 the best.
                 Otherwise, in order to make more chromosomes around the best point
                 x(n b ) in the next generation, use the reproduction rule
                                      f 1 (n b ) − f 1 (n)
                        x(n) ← x(n) + η            (x(n b ) − x(n))    (7.1.30)
                                          f 1 (n b )
                 to get a new population X k+1 with X k+1 (n, :) = x(n) and encode it to
                 reconstruct a new pool array P k+1 by Eq. (7.1.27).
              5. Shuffle the row indices of the pool array for random mating of the chro-
                 mosomes.
              6. With the crossover probability P c , exchange the tail part starting from
                 some random bit of the numbers in two randomly paired chromosomes
                 (rows of P k+1 ) with each other’s to get a new pool array P     .
                                                                   k+1
              7. With the mutation probability P m , reverse a random bit of each number
                 represented by chromosomes (rows of P     ) to make a new pool array
                                                   k+1
                 P k+1 .
   347   348   349   350   351   352   353   354   355   356   357