Professional Documents
Culture Documents
Genetic Algorithms are good at taking large, potentially huge search spaces and navigating them, looking for optimal combinations of things, solutions you might not otherwise find in a lifetime.
- Salvatore Mangano Computer Design, May 1995
Genetics is the study of heredity, the process in which a parent passes certain genes onto their children and it continued. Genetic algorithms (GAs) are stochastic algorithms whose search methods inspired from phenomena found in living nature developed by John Holland(1970s):
To understand the adaptive processes of natural systems To design artificial systems software that retains the robustness of 3 natural systems
CONCEPTUAL ALGORITHM
1/12/2012
ALGORITHM
1/12/2012
Suedo Code BEGIN Generate initial population; Compute fitness of each individual; REPEAT /* New generation /* FOR population_size / 2 DO Select two parents from old generation; /* biased to the fitter ones */ Recombine parents for two offspring; Compute fitness of offspring; Insert offspring in new generation END FOR UNTIL population has converged END
BASIC PRINCIPLES
1/12/2012
Coding or Representation
Fitness function
Reproduction
Crossover Mutation
Convergence
When to stop
An individual is characterized by a set of parameters: Genes The genes are joined into a string: Chromosome The chromosome forms the genotype The genotype contains all information to construct an organism: the phenotype Reproduction is a dumb process on the chromosome of the genotype Fitness is measured in the real world (struggle for life) of the phenotype
CODING
Parameters of the solution (genes) are concatenated to form a string (chromosome) All kind of alphabets can be used for a chromosome (numbers, characters), but generally a binary alphabet is used Order of genes on chromosome can be important Generally many different codings for the parameters of a solution are possible Good coding is probably the most important factor for the performance of a GA In many cases many possible chromosomes do not code for feasible solutions
8
1/12/2012
FITNESS FUNCTION
Chance to be selected as parent proportional to fitness
Roulette
wheel
1/12/2012
Problem: Its selective pressure reduces as population converges upon a solution, which reduces the convergence rate and may not allow finding the better solutions. To avoid problems with fitness function Tournament
REPRODUCTION
1/12/2012
Crossover
Two parents produce two offspring There is a chance that the chromosomes of the two parents are copied unmodified as offspring There is a chance that the chromosomes of the two parents are randomly recombined (crossover) to form offspring Generally the chance of crossover is between 0.6 and 1.0
Mutation
There is a chance that a gene of a child is changed randomly Generally the chance of mutation is low (e.g. 0.001)
10
REPRODUCTION (CONT.)
1/12/2012
Crossover
Mutation
Generating new offspring from single parent Maintaining the diversity of the individuals
Crossover can only explore the combinations of the current gene pool Mutation can generate new genes
11
FUNDAMENTAL
OPERATION OF
CYCLE AND
GA
1/12/2012
12
EXAMPLE
1/12/2012
An individual is encoded (naturally) as a string of l binary digits The fitness f of a candidate solution to the problem is the number of ones in its genetic code We start with a population of n random strings. Suppose that l = 10 and n = 6
13
EXAMPLE( INITILIASATION)
1/12/2012
We toss a fair coin 60 times and get the following initial population: s1 = 1111010101 s2 = 0111000101 s3 = 1110110101 s4 = 0100010011 s5 = 1110111101 s6 = 0100110000 f (s1) = 7 f (s2) = 5 f (s3) = 7 f (s4) = 4 f (s5) = 8 f (s6) = 3
14
EXAMPLE (SELECTION)
1/12/2012
Next we apply fitness proportionate selection with the roulette wheel method: Individual i will have a
f (i) f (i)
i
probability to be chosen
We repeat the extraction as many times as the number of individuals we need to have the same parent population size(6 in our case)
15
Suppose that, after performing selection, we get the following population: s1` = 1111010101 s2` = 1110110101 s3` = 1110111101 (s1) (s3) (s5)
EXAMPLE (CROSSOVER)
1/12/2012
Next we mate strings for crossover. For each couple we decide according to crossover probability (for instance 0.6) whether to actually perform crossover or not
Suppose that we decide to actually perform crossover only for couples (s1`, s2`) and (s5`, s6`). For each couple, we randomly extract a crossover point, for instance 2 for the first and 5 for the second
17
Before crossover: s1` = 1111010101 s2` = 1110110101 s5` = 0100010011 s6` = 1110111101
After crossover s1`` = 1110110101 s2`` = 1111010101 s5`` = 0100011101 s6`` = 1110110011
18
EXAMPLE (MUTATION)
1/12/2012
The final step is to apply random mutation: for each bit that we are to copy to the new population we allow a small probability of error (for instance 0.1) s1`` = 1110110101 s2`` = 1111010101 s3`` = 1110111101 s4`` = 0111000101 s5`` = 0100011101 s6`` = 1110110011
19
EXAMPLE (MUTATION)(CONT.)
1/12/2012
After applying mutation: s1``` = 1110100101 s2``` = 1111110100 s3``` = 1110101111 s4``` = 0111000101 s5``` = 0100011101 s6``` = 1110110001 f (s1``` ) = 6 f (s2``` ) = 7 f (s3``` ) = 8 f (s4``` ) = 5 f (s5``` ) = 5 f (s6``` ) = 6
20
EXAMPLE(END)
1/12/2012
In one generation, the total population fitness changed from 34 to 37, thus improved by ~9%
At this point, we go through the same process all over again, until a stopping criterion is met
21
THE GA FOR THE OPTIMAL CAPACITOR BANKS LOCATION AND SIZE FOR VOLTAGE CONTROL ZONES
1/12/2012
Each capacitor is represented by a string C of a number of binary bits. The first bit represents the state of the capacitor (1 for on, 0 for off). The remaining bits represent the capacity level of the capacitor. As an example, the string C = [10000] represents a capacitor working at minimum MVAR; C = [00000] represents a capacitor which is not operating (or not existing); the string C= [11111] represents a capacitor working at full capacity. In order to represent the type of each capacitor, a new string T is defined as consisting of the concatenation of 2 strings C (thus T contains 10 bits). Therefore, let T = C1C2, where C1 represents type A of capacitor.
22
THE GA FOR THE OPTIMAL CAPACITOR BANKS LOCATION AND SIZE FOR VOLTAGE CONTROL ZONES (CONT.)
For example, at a given node the string T = [1111100000] represents the situation where only one capacitor should be placed on that node, and this capacitor should be a type A working at full capacity. It is assumed, based on this representation, that a maximum of one capacitor of each type can be placed on any given node. As each string T represents the capacitor (and size) to be placed at a given node, the representation of the general location of the capacitor over the network is straightforward. A string S is defined as consisting of the concatenations of 20 T strings. This sequence S contains 20 (nodes) 10
23
1/12/2012
1/12/2012
Constraints
24
OF
1/12/2012
25
EXISTING
CAPACITOR
& GA RESULTS
1/12/2012
26
CAPACITOR COMPARISON
1/12/2012
27
28
1/12/2012
RESPONSE
1/12/2012
29
OF
D C MOTOR
1/12/2012
30
RESPONSE
1/12/2012
31
1/12/2012
THANK YOU
32