using genetic algorithms to solve the minimum labeling
play

Using Genetic Algorithms to solve the Minimum Labeling Spanning Tree - PowerPoint PPT Presentation

Using Genetic Algorithms to solve the Minimum Labeling Spanning Tree Problem MLST; problem set-up Genetic Algorithms Oliver Rourke, oliverr@umd.edu MLST: GA Advisor: Dr Bruce L. Golden, bgolden@rhsmith.umd.edu MLST: GA++ R. H. Smith


  1. Using Genetic Algorithms to solve the Minimum Labeling Spanning Tree Problem MLST; problem set-up Genetic Algorithms Oliver Rourke, oliverr@umd.edu MLST: GA Advisor: Dr Bruce L. Golden, bgolden@rhsmith.umd.edu MLST: GA++ R. H. Smith School of Business Implementation/ Validation Timeline/ Results Abstract: Cellular Genetic Algorithms (CGAs) have shown themselves to be very powerful tools for combinatorial optimization. Through this project I hope to investigate CGAs, develop a parallel implementation of a CGA, use these techniques on the Minimum Labeling Spanning Tree Problem, and compare results with other heuristics.

  2. Introduction to MLST MLST; problem First proposed in 1996 [Chang:1996]- variant on minimum set-up weight spanning tree Genetic Algorithms MLST: GA MLST: Connected Graph - set of vertices and edges. GA++ Each edge has a color Implementation/ Validation Find the smallest set of colors which gives a connected Timeline/ Results sub-graph

  3. An example of a labelled spanning tree, and some feasible solutions [Xiong:2005] MLST; problem set-up Genetic Algorithms MLST: GA MLST: GA++ Implementation/ Validation Timeline/ Results

  4. Introduction to MLST MLST; problem set-up First proposed in 1996 [Chang:1996]- variant on minimum Genetic Algorithms weight spanning tree MLST: GA Shown to be NP-complete MLST: GA++ Two heuristics and an exhaustive search proposed in the Implementation/ Validation original paper - heuristics achieved moderate success Timeline/ Results

  5. Introduction to Genetic Algorithms (GAs) MLST; problem set-up Evolutionary-inspired heuristic for optimization problems Genetic Algorithms MLST: GA MLST: GA++ Implementation/ Validation Timeline/ Results

  6. Introduction to Genetic Algorithms (GAs) MLST; problem set-up Evolutionary-inspired heuristic for optimization problems Genetic Population = set of solutions Algorithms MLST: GA Select, Breed, Replace MLST: GA++ Implementation/ Validation Timeline/ Results

  7. Introduction to Genetic Algorithms (GAs) MLST; problem set-up Evolutionary-inspired heuristic for optimization problems Genetic Population = set of solutions Algorithms MLST: GA Select, Breed, Replace MLST: Advantages: GA++ Flexible and adaptable Implementation/ Validation Robust performance at global search Timeline/ Simple to parallelize Results

  8. Key steps in a Genetic Algorithm MLST; problem set-up Genetic Algorithms MLST: GA MLST: GA++ Implementation/ Validation Timeline/ Results

  9. One Parameter GA for MLST - Serial MLST; problem set-up From Xiong, 2005 Genetic Algorithms Designed to be simple - no fine tuning MLST: GA One parameter - p , population size MLST: GA++ Representation: List of labels Implementation/ Validation Gene: Label in the list Timeline/ Results

  10. Step 1: Initialization MLST; problem set-up Create first generation of individuals - viable, varied Genetic Algorithms MLST: GA MLST: GA++ Implementation/ Validation Timeline/ Results

  11. Step 1: Initialization MLST; problem set-up Create first generation of individuals - viable, varied Genetic Algorithms Initialization from Xiong:2005: MLST: GA For each individual in population: MLST: Individual = {} GA++ While Individual Is Not Viable: Implementation/ Validation Individual.AddRandomColor() Timeline/ Results

  12. Step 2: Evaluation MLST; problem set-up Defined by problem Genetic Algorithms For some problems can be extremely time consuming MLST: GA Multiple criteria MLST: → Penalty functions? GA++ Implementation/ Validation Timeline/ Results

  13. Step 2: Evaluation MLST; problem set-up Defined by problem Genetic Algorithms For some problems can be extremely time consuming MLST: GA Multiple criteria MLST: → Penalty functions? GA++ Implementation/ Evaluation in Xiong:2005: Validation Eval(T) = len(T) Timeline/ Results

  14. Step 3: Selection MLST; problem set-up How? Random, Sweep, ... . Genetic Algorithms Favor strongest? MLST: GA MLST: GA++ Implementation/ Validation Timeline/ Results

  15. Step 3: Selection MLST; problem set-up How? Random, Sweep, ... . Genetic Algorithms Favor strongest? MLST: GA Selection in Xiong:2005; MLST: GA++ for j = 1:Size(Population) Implementation/ Offspring( j ) = Breed(Parent( j ), parent(( j + k ) mod p )) Validation (where k is the generation number) Timeline/ Results

  16. Step 4: Crossover Combine genes from parents to produce viable offspring MLST; problem set-up Choose genes randomly? Follow order (pick ’strongest’ Genetic genes first)? Algorithms MLST: GA MLST: GA++ Implementation/ Validation Timeline/ Results

  17. Step 4: Crossover Combine genes from parents to produce viable offspring MLST; problem set-up Choose genes randomly? Follow order (pick ’strongest’ Genetic genes first)? Algorithms Crossover in Xiong:2005: MLST: GA MLST: S = Union of genes (colors) from both parents GA++ Sort( S ) %According to frequency of labels in Graph Implementation/ Validation T = {} Timeline/ while T Is Not Viable: Results T.AddLabel(NextLabel(S)) return T

  18. Crossover operator MLST; problem set-up Genetic Algorithms MLST: GA MLST: GA++ Implementation/ Validation Timeline/ Results Figure: The crossover operator used in Xiong’s GA [Xiong:2005]

  19. Step 5: Mutation Introduce new genetic material MLST; problem set-up Typically done with small probability Genetic Algorithms MLST: GA MLST: GA++ Implementation/ Validation Timeline/ Results

  20. Step 5: Mutation Introduce new genetic material MLST; problem set-up Typically done with small probability Genetic Mutation in Xiong:2005 (100% chance of mutation): Algorithms T.AddRandomColor MLST: GA MLST: Sort( T ) %According to frequency of labels in Graph GA++ For Label in T(-1:-1:): %Reverse iterate Implementation/ Validation T.Remove(Label) Timeline/ if T Is Not Viable: Results if T.Add(Label) return T

  21. Mutation operator MLST; problem set-up Genetic Algorithms MLST: GA MLST: GA++ Implementation/ Validation Timeline/ Results Figure: The mutation operator used in Xiong’s GA [Xiong:2005]

  22. Step 6: Replacement MLST; problem set-up Find new generation from strongest offspring and parents Genetic Algorithms Replace parents where warranted MLST: GA MLST: GA++ Implementation/ Validation Timeline/ Results

  23. Step 6: Replacement MLST; problem set-up Find new generation from strongest offspring and parents Genetic Algorithms Replace parents where warranted MLST: GA Replacement in Xiong:2005: MLST: GA++ If Eval(Offspring) < Eval(Parent): Implementation/ Parent.Replace(Offspring) Validation Timeline/ Results

  24. Step 7: Stopping Conditions MLST; problem set-up Genetic Algorithms Generations count/computational time MLST: GA Population Stagnant MLST: GA++ Implementation/ Validation Timeline/ Results

  25. Step 7: Stopping Conditions MLST; problem set-up Genetic Algorithms Generations count/computational time MLST: GA Population Stagnant MLST: GA++ Stopping Condition in Xiong:2005: Do p generations Implementation/ Validation Timeline/ Results

  26. GA improvements MLST; problem set-up Improve Crossover/Mutation operators? Genetic Algorithms Make crossover/mutation stochastic. Mix up ordering MLST: GA MLST: GA++ Implementation/ Validation Timeline/ Results

  27. GA improvements MLST; problem set-up Improve Crossover/Mutation operators? Genetic Algorithms Make crossover/mutation stochastic. Mix up ordering MLST: GA Favor retention of mutated genes? MLST: GA++ Keep equally good offspring? Implementation/ Validation Timeline/ Results

  28. GA improvements MLST; problem set-up Improve Crossover/Mutation operators? Genetic Algorithms Make crossover/mutation stochastic. Mix up ordering MLST: GA Favor retention of mutated genes? MLST: GA++ Keep equally good offspring? Implementation/ Validation Divide up population space - promote diversity Timeline/ Results

  29. 3 Different types of GA MLST; problem set-up Genetic Algorithms MLST: GA MLST: GA++ Implementation/ Validation Timeline/ Figure: Three different types of GAs showing interaction between Results individuals (black dots) in the population. a)Panmictic b) Distributed c) Cellular [Alba:2008]

  30. Genetic Algorithm − > Cellular Genetic Algorithm MLST; problem set-up Modify Selection operator- limit to neighborhood on grid Genetic Algorithms MLST: GA MLST: GA++ Implementation/ Validation Timeline/ Results

  31. Genetic Algorithm − > Cellular Genetic Algorithm MLST; problem set-up Modify Selection operator- limit to neighborhood on grid Genetic Arrangement of entire population space Algorithms MLST: GA Neighborhood size? MLST: GA++ Implementation/ Validation Timeline/ Results

  32. Genetic Algorithm − > Cellular Genetic Algorithm MLST; problem set-up Modify Selection operator- limit to neighborhood on grid Genetic Arrangement of entire population space Algorithms MLST: GA Neighborhood size? MLST: Choosing within neighborhood: GA++ Step through neighborhood Implementation/ Validation Randomly choose one Timeline/ Pick ’strongest’ neighbor? Results

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend