Genetic Algorithms Contents 1. Basic Concepts 2. Algorithm 3. Practical considerations 1 Literature 1. Modern Heuristic Techniques for Combinatorial Problems, (Ed) C.Reeves 1995, McGraw-Hill. Chapter 4. 2. Operations Scheduling with Applications in Manufacturing and Services, Michael Pinedo and Xiuli Chao, McGraw Hill, 2000, Chapter 3.7. or Scheduling, Theory, Algorithms, and Systems, Second Addition, Michael Pinedo, Prentice Hall, 2002, Chapter 14.5 2 Basic Concepts Simulated Annealing Tabu Search versus • a single solution is carried over from one iteration to the next Genetic Algorithms • population based method • Individuals (or members of population or chromosomes) generation individuals surviving from the previous generation + children 3 Fitness of an individual (a schedule) is measured by the value of the associated objective function Representation Example. the order of jobs to be processed can be represented as a permutation: [1, 2, ... ,n] Initialisation How to choose initial individuals? • High-quality solutions obtained from another heuristic technique can help a genetic algorithm to find better solutions more quickly than it can from a random start. 4 Reproduction • Crossover: combine the sequence of operations on one machine in one parent schedule with a sequence of operations on another machine in another parent. Example 1. Ordinary crossover operator is not useful! Cut Point P1 = [2 1 3 4 5 6 7] P2 = [4 3 1 2 5 7 6] O1 = [2 1 3 2 5 7 6] O2 = [4 3 1 4 5 6 7] Example 2. Partially Mapped Crossover Cut Point 1 Cut Point 2 P1 = [2 1 3 4 5 6 7] P2 = [4 3 1 2 5 7 6] O1 = [4 3 1 2 5 6 7] O2 = [2 1 3 4 5 7 6] 31 42 555 Example 3. Preserves the absolute positions of the jobs taken from P1 and the relative positions of those from P2 Cut Point 1 P1 = [2 1 3 4 5 6 7] P2 = [4 3 1 2 5 7 6] O1 = [2 1 4 3 5 7 6] O2 = [4 3 2 1 5 6 7] Example 4. Similar to Example 3 but with 2 crossover points. Cut Point 1 Cut Point 2 P1 = [2 1 3 4 5 6 7] P2 = [4 3 1 2 5 7 6] O1 = [3 4 5 1 2 7 6] 6 • Mutation enables genetic algorithm to explore the search space not reachable by the crossover operator. Adjacent pairwise interchange in the sequence [1,2, ... ,n] [2,1, ... ,n] Exchange mutation: the interchange of two randomly chosen elements of the permutation Shift mutation: the movement of a randomly chosen element a random number of places to the left or right Scramble sublist mutation: choose two points on the string in random and randomly permuting the elements between these two positions. 7 Selection • Roulette wheel: the size of each slice corresponds to the fitness of the appropriate individual. selected individual slice for the 1st individual slice for the 2nd individual .. . Steps for the roulette wheel 1. Sum the fitnesses of all the population members, TF 2. Generate a random number m, between 0 and TF 3. Return the first population member whose fitness added to the preceding population members is greater than or equal to m 8 • Tournament selection 1. Randomly choose a group of T individuals from the population. 2. Select the best one. How to guarantee that the best member of a population will survive? • Elitist model: the best member of the current population is set to be a member of the next. 9 Algorithm Step 1. k=1 Select N initial schedules S1,1 ,... , S1,N using some heuristic Evaluate each individual of the population Step 2. Create new individuals by mating individuals in the current population using crossover and mutation Delete members of the existing population to make place for the new members Evaluate the new members and insert them into the population Sk+1,1 ,... , Sk+1,N Step 3. k = k+1 If stopping condition = true then return the best individual as the solution and STOP else go to Step 2 10 Example jobs pj dj 1 4 5 2 3 6 3 7 8 4 2 8 5 2 17 1 || Tj • Population size: 3 • Selection: in each generation the single most fit individual reproduces using adjacent pairwise interchange chosen at random there are 4 possible children, each is chosen with probability 1/4 Duplication of children is permitted. Children can duplicate other members of the population. • Initial population: random permutation sequences 11 Generation 1 Individual 25314 Cost 25 14352 17 12345 16 Selected individual: 12345 with offspring 13245, cost 20 Generation 2 Individual 13245 Cost 20 14352 17 12345 16 Average fitness is improved, diversity is preserved Selected individual: 12345 with offspring 12354, cost 17 Generation 3 Individual 12354 Cost 17 14352 17 12345 16 Selected individual: 12345 with offspring 12435, cost 11 12 Generation 4 Individual 14352 Cost 17 12345 16 12435 11 Selected individual: 12435 This is an optimal solution. Disadvantages of this algorithm: • Since only the most fit member is allowed to reproduce (or be mutated) the same member will continue to reproduce unless replaced by a superior child. 13 Practical considerations • Population size: small population run the risk of seriously under-covering the solution space, while large populations will require computational resources. Empirical results suggest that population sizes around 30 are adequate in many cases, but 50-100 are more common. • Mutation is usually employed with a very low probability. 14 Summary Meta-heuristic methods are designed to escape local optima. They work on complete solutions. However, they introduce parameters (such as temperature, rate of reduction of the temperature, memory, ...) How to choose the parameters? 15