Genetic Algorithms
Objectives
To provide a background and understanding of basic genetic
algorithms and some of their applications.
•a basic genetic algorithm
•the basic discussion
•the applications of the algorithm
Genetic Algorithms
1859
Origin of the Species
Survival of the Fittest
Genetic Algorithms
1975
Genetic Algorithms
Artificial Survival of the Fittest
Genetic Algorithms
Terms
Biological GA Terms
Chromosome String
Gene Feature, character
Genomes Guesses, solutions, collection of genes
Genetic algorithms are search procedures based on
the mechanics of genetics and natural selection.
Genetic Algorithms
Numerous techniques and algorithms have been
developed to assist the engineer in the creation of
optimum development strategies.
These procedures quickly converge to optimal
solutions after examining only a small fraction of the
search space and have been successfully applied
to complex engineering optimisation problems.
Genetic Algorithms
Evolution in the animal world allows developing
species to thrive in particular environments.
Genetic algorithms are capable of solving other
types of problems, using genetic operators
abstracted from nature, they form a mechanism
suitable for a variety of search problems.
Genetic Algorithms
Genetic algorithms try to imitate the Darwinian
evolution process in computer programs.
Conceivable solutions are represented, the 'fittest'
will have the greatest chance of reproducing.
Successful properties will therefore be favourably
represented within the population of solutions.
The population is the successively 'optimised' after a
number of generations.
Genetic Algorithms
In evolutionary systems, populations evolve by
selective pressures, mating between individuals, and
alterations such as mutations.
In genetic algorithms, operators duplicate,
recombine and change solutions in the current
population to create a new population, simulating
similar effects.
Genetic Algorithms
A genetic algorithm simulates Darwinian theory of
evolution using highly parallel, mathematical
algorithms that, transform a set (population) of
mathematical object (typically strings of 1's and 0's)
into a new population, using operators such as:
reproduction, mutation and crossover.
Genetic Algorithms
The initial population is selected at random, which
could be the toss of a coin, computer generated or
by some other means, and the algorithm will
continue until a certain time or a certain condition is
met.
Genetic Algorithms
Determine the initial population of creatures
Determine the fitness of the population
Reproduce the population using the fittest parents
of the last generation
Determine the crossover point, this can also be
random
Determine if mutation occurs and if so on which
creature(s)
• Repeat from step 2 with the new population until
condition (X) is true
Genetic Algorithms
Such algorithms differ from traditional search and
optimisation methods in that they
use codings of the control parameters
adapt solutions themselves
process successive generations
use randomised operators.
Genetic Algorithms
Encoding the Solutions
The decision variables of a problem are
normally encoded into a finite length string
This could be a binary string or a list of integers
For example :
0 1 1 0 1 1 0 1 0 or 5 1 4 2 3 4 1
We could also represent
numbers as coloured boxes
Genetic Algorithms
Encoding the Solutions
Initial population
Evaluations on the population
Breeding (iteratively)
Choose suitable parents
Produce two offspring
Mutation
Evaluation function - Domain knowledge
Genetic Algorithms
Flowchart (20 generations)
Generate Initial Population
Population n=1 Generation 'n'
Reproduce
Population
Crossover
Population
Final
Mutate Population
Population
n < 20
n=n+1
n = 20
Genetic Algorithms
Reproduction
Solutions are carried
forward to the next
1 1 stage based on
weighted probability.
2 2
Some will survive (1)
3 3 Some will reproduce (2)
Some will die out (3)
Genetic Algorithms
Parent selection
•Sum the fitnesses of all the Roulette Wheel
population members, TF Selection
•Generate a random number, m,
between 0 and TF
•Return the first population member
whose fitness added to the preceding
population members is greater than or
equal to m
Genetic Algorithms
Crossover
A percentage of the
Crossover
population is selected for
1 1 breeding and assigned
random mates.
2 2 A random crossover
point is selected and a
pair of new solutions
One Point Crossover in
are produced
Genetic Algorithms
© Graham Kendall
gxk@[Link] Adapted from Dr Graham Kendall’s G5BAIM lecture example
[Link]
Genetic Algorithms
Mutation
In a small percentage of
the population random
changes are made.
Genetic Algorithm Performance
There are a number of factors which affect
the performance of a genetic algorithm.
• The size of the population
• The cross-over probability
• The mutation probability
• Defining convergence
• Local optimisation
Genetic Algorithms
Each iteration of the loop is called a generation, fitness
can be gauged in several different ways depending on the
application of the algorithm.
Reproduction and crossover play the primary role in artificial
genetic search. Reproduction emphasises highly fit strings
(or good solutions), and crossover recombines these selected
solutions for new, potentially better solutions.
Mutation plays a secondary role in the search by providing
diversity in the population.
Genetic Algorithm Example I
Maximise f(x) = x3 - 60 * x2 + 900 * x +100
0 <= x <= 31
Crossover probability, PC = 1.0
Mutation probability, PM = 0.0
x can be represented using five binary digits
0
1
100
941 f(x) = x^3 - 60x^2 + 900x + 100
2 1668
3 2287
4 2804
5 3225
6 3556 Max : x = 10
7 3803
8 3972
9 4069
10 4100 4500
11 4071
12 3988 4000
13 3857
14 3684 3500
15 3475
16 3236 3000
17 2973
18 2692
2500
19 2399
20 2100
2000
21 1801
1500
22 1508
23 1227
1000
Adapted from Dr Graham Kendall’s G5BAIM lecture example
24 964
25 725
500
26 516
27 343
0
28 212
29 129 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37
30 100
Genetic Algorithm Example I
Generating random initial population
Maximise f(x) = x3 - 60 * x2 + 900 * x +100 (0 <= x <= 31)
chromosome binary string x f(x)
P1 11100 28 212
P2 01111 15 3475
P3 10111 23 1227
P4 00100 4 2804
Total 7718
Average 1929.50
Genetic Algorithm Example I
Choose two parents (roulette selection)
Roulette wheel Parents
4116 P3
1915 P2
Genetic Algorithm Example I
One point crossover (random position 1)
P3 1 0 1 1 1 P4 0 0 1 0 0
P2 0 1 1 1 1 P2 0 1 1 1 1
C1 1 1 1 1 1 C3 0 0 1 1 1
C2 0 0 1 1 1 C4 0 1 1 0 0
Genetic Algorithm Example I
New generation
Maximise f(x) = x3 - 60 * x2 + 900 * x +100 (0 <= x <= 31)
chromosome binary string x f(x)
P1 11111 31 131
P2 00111 7 3803
P3 00111 7 3803
P4 01100 12 3889
Total 11735
Average 2933.75
Genetic Algorithm Example I
Two generations
Maximise f(x) = x3 - 60 * x2 + 900 * x +100 (0 <= x <= 31)
chromosome binary x f(x) chromosome binary x f(x)
string string
P1 11100 28 212 P1 11111 31 131
P2 01111 15 3475 P2 00111 7 3803
P3 10111 23 1227 P3 00111 7 3803
P4 00100 4 2804 P4 01100 12 3889
Total 7718 Total 11735
Average 1929.50 Average 2933.75
Mutation
Genetic Algorithm Example II
Traveling Salesman Problem
a number of cities
costs of traveling between cities
a traveling sales man needs to visit all these
cities exactly once and return to the starting
city
What’s the cheapest route?
Genetic Algorithm Example II
Traveling Salesman Problem
Genetic Algorithm Example II
Initial generation
P1 5 8 1 … … 84 32 27 54 67 6.5
P2 78 81 27 … … 9 11 7 44 24 7.8
…
P30 8 1 7 … … 9 16 36 24 19 6.0
Genetic Algorithm Example II
Choose pairs of parents
P30 8 1 7 … … 9 16 36 24 19 6.0
P2 78 81 27 … … 9 11 7 44 24 7.8
Crossover
C1 8 1 7 … … 9 11 13
7 44 24 5.9
C2 78 81 27 … … 9 16 36 24 19 6.2
Genetic Algorithm Example II
Next generation
P1 8 1 7 … … 9 11 7 44 24 5.9
P2 78 81 27 … … 9 16 36 24 19 6.2
…
P2 7 8 2 … … 5 10 76 4 79 6.0
Genetic Algorithm Example II
Traveling Salesman Problem
No. of cities: 100
Population size: 30
Cost: 6.37 Cost: 6.34
Generation: 88 Generation: 1100
Genetic Algorithms
Genetic algorithms by their very nature consider a
wide range of the search space for a particular
problem.
Unlike other techniques they search from a population
of points not from a single point, they are therefore
less likely to become trapped on false optimisation
peaks.
Using simple operations, genetic algorithms are able
to rapidly optimise design parameters after examining
only a small fraction of the search space.
Genetic Algorithms
There are many diverse applications of genetic algorithms,
but there are proviso's. They are best suited to problems
where the efficient solutions are not already known. If
they are applied to these solvable problems then they will
be easily out-performed by the efficient known, standard
computing method.
The strength of GA's is their ability to heuristically search
for solutions when all else fails. But before one can use
the algorithm you must be able to represent the solutions
to the problem in a suitable format, such as a series of 1's
and 0's. If you can do this then the GA will do the rest.
Applying
Genetic Algorithms
to Personnel Scheduling
Personnel Scheduling
Personnel scheduling in healthcare
is usually a very complex operation
which has a profound effect upon the
efficient usage of expensive resources.
Personnel Scheduling
•shift coverage
A number of nurses •one shift per day
A number of shifts each day
A set of constraints •resting time
•workload per month
•consecutive shifts
•working weekends
•…
Personnel Scheduling
Personnel Scheduling
Genetic Algorithm
-Initial population
-construct rosters
-repair infeasible ones
Personnel Scheduling
Genetic Algorithm
-Select parents
-Recombine rows in the two rosters
-repair infeasible ones
+
Personnel Scheduling
Genetic Algorithm
-Mutation
-Local optimiser
Testing Scheme
Population Size 50
Crossover Probability 0.7
Mutation Probability 0.001
Local Optimiser ON
Future Development
Improving Efficiency
• Parameter tuning
• Crossover operators
• Local optimiser
Conclusions
GA approach is feasible and practical
Heuristic
• Can produce better results
• Not guaranteed
Flexible
• Fitness (evaluation) function
• Independent of GA engine
Conclusions
Predictions have been made that advances in
mathematics, fuzzy logic, chaos and fractals will
promote and enhance the work currently being
undertaken by GA's.
The future will bring forth new applications of
genetic algorithms and new techniques which will
allow GA's to be fully exploited.
Conclusions
Survival of the fittest, the most fit of a particular
generation (the nearest to a correct answer) are used
as parents for the next generation.
The most fit of this new generation are parents for the
next, and so on. This eradicates bad solutions and
eliminates bad family lines, bad parents don't have
opportunity to produce bad children.
This facilitates the progression towards an answer to
be onwards and upwards.
Conclusions
As we have seen Genetic algorithms are a very
powerful tool, allowing searching for solutions when
there are no other feasible means to do so.
The algorithm is easy to produce and simple to
understand and enhancements easily introduced. This
gives the algorithm much flexibility, which increases
it's value.
But, exploitation of the algorithm has still much more
work to be done.