Engineering Optimization: Theory and Practice, Fourth Edition

(Martin Jones) #1
13.2 Genetic Algorithms 701

The purpose of mutation is (1) to generate a string (design point) in the neigh-
borhood of the current string, thereby accomplishing a local search around the current
solution, (2) to safeguard against a premature loss of important genetic material at a
particular position, and (3) to maintain diversity in the population.
As an example, consider the following population of sizen=5 with a string
length 10:

1 0 0 0 1 0 0 0 1 1
1 0 1 1 1 1 0 1 0 0

1 1 0 0 0 0 1 1 0 1
1 0 1 1 0 1 0 0 1 0

1 1 1 0 0 0 1 0 0 1

Here all the five strings have a 1 in the position of the first bit. The true optimum
solution of the problem requires a 0 as the first bit. The required 0 cannot be created
by either the reproduction or the crossover operators. However, when the mutation
operator is used, the binary number will be changed from 1 to 0 in the location of the
first bit with a probability ofnpm.
Note that the three operators—reproduction, crossover, and mutation—are simple
to implement. The reproduction operator selects good strings for the mating pool, the
crossover operator recombines the substrings of good strings of the mating pool to
create strings (next generation of population), and the mutation operator alters the
string locally. The use of these three operators successively yields new generations
with improved values of average fitness of the population. Although, the improvement
of the fitness of the strings in successive generations cannot be proved mathematically,
the process has been found to converge to the optimum fitness value of the objective
function. Note that if any bad strings are created at any stage in the process, they will
be eliminated by the reproduction operator in the next generation. The GAs have been
successfully used to solve a variety of optimization problems in the literature.

13.2.5 Algorithm


The computational procedure involved in maximizing the fitness function F (x 1 ,
x 2 , x 3 ,... , xn) n the genetic algorithm can be described by the following steps.i

1.Choose a suitable string lengthl=nqto represent thendesign variables of
the design vectorX. Assume suitable values for the following parameters: pop-
ulation sizem, crossover probabilitypc, mutation probabilitypm, permissible
value of standard deviation of fitness values of the population(sf)maxto use as
aconvergence criterion, and maximum number of generations(imax) o be usedt
an a second convergence criterion.
2.Generate a random population of sizem, each consisting of a string of length
l=nq. Evaluate the fitness valuesFi, i = 1 , 2 ,... , m, of themstrings.
3.Carry out the reproduction process.
4.Carry out the crossover operation using the crossover probabilitypc.
Free download pdf