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 .