You are on page 1of 32

Date of Presentation: 1/12/2012

GENETIC ALGORITHMS FOR PROCESS CONTROL

Presented by: Saran Satsangi M.Tech.(Part Time) Roll No. 104612

THE GENETIC ALGORITHM


1/12/2012

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

THE GENETIC ALGORITHM (CONT.)




It is based on the study of Genetics.


1/12/2012

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

String with all parameters Parent selection

Fitness function

Reproduction
Crossover Mutation

Convergence

When to stop

BASIC PRINCIPLES (CONT.)


1/12/2012

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

Generating offspring from two selected parents


Single point crossover Two point crossover (Multi point crossover) Uniform 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

Suppose we want to maximize the number of ones in a string of l binary digits

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

EXAMPLE (SELECTION) (CONT.)


1/12/2012

Suppose that, after performing selection, we get the following population: s1` = 1111010101 s2` = 1110110101 s3` = 1110111101 (s1) (s3) (s5)

s4` = 0111000101 (s2) s5` = 0100010011 (s4) s6` = 1110111101 (s5)


16

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

EXAMPLE (CROSSOVER) (CONT.)


1/12/2012

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

Before applying mutation:

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

GEOGRAPHICAL OVERVIEW MUSCAT REGION

OF
1/12/2012

25

EXISTING

CAPACITOR

& GA RESULTS
1/12/2012

26

CAPACITOR COMPARISON
1/12/2012

27

RO PLANT CONTROL USING GENETIC ALGORITHM COMBINED WITH PID


CONTROLLER

28

1/12/2012

RESPONSE
1/12/2012

29

POSITION CONTROL WITH GA

OF

D C MOTOR
1/12/2012

30

RESPONSE
1/12/2012

31

1/12/2012

THANK YOU

32

You might also like