Matt Heavner CSE710 Fall 2009

Similar documents
Lecture 15: Genetic Algorithms

Stochastic Search: Part 2. Genetic Algorithms. Vincent A. Cicirello. Robotics Institute. Carnegie Mellon University

Evolutionary computation

Evolutionary Computation. DEIS-Cesena Alma Mater Studiorum Università di Bologna Cesena (Italia)

how should the GA proceed?

Fundamentals of Genetic Algorithms

Genetic Algorithm approach to Solve Shortest Path and Travelling Salesman Problem

Fall 2003 BMI 226 / CS 426 LIMITED VALIDITY STRUCTURES

CSC 4510 Machine Learning

Lecture 9 Evolutionary Computation: Genetic algorithms

Genetic Algorithms & Modeling

Tabu Search. Biological inspiration is memory the ability to use past experiences to improve current decision making.

Metaheuristics and Local Search

Chapter 8: Introduction to Evolutionary Computation

Metaheuristics and Local Search. Discrete optimization problems. Solution approaches

Evolutionary Functional Link Interval Type-2 Fuzzy Neural System for Exchange Rate Prediction

Havrda and Charvat Entropy Based Genetic Algorithm for Traveling Salesman Problem

Evolutionary Computation

Genetic Algorithms. Seth Bacon. 4/25/2005 Seth Bacon 1

Genetic Algorithms and Genetic Programming Lecture 17

Evolutionary computation

Computational statistics

A GA Mechanism for Optimizing the Design of attribute-double-sampling-plan

High-Contrast Algorithm Behavior Observation, Hypothesis, and Experimental Design

Genetic Algorithm. Outline

Evolutionary Computation: introduction

Zebo Peng Embedded Systems Laboratory IDA, Linköping University

Using Evolutionary Techniques to Hunt for Snakes and Coils

Estimation-of-Distribution Algorithms. Discrete Domain.

Crossover Techniques in GAs

An artificial chemical reaction optimization algorithm for. multiple-choice; knapsack problem.

Department of Mathematics, Graphic Era University, Dehradun, Uttarakhand, India

TUTORIAL: HYPER-HEURISTICS AND COMPUTATIONAL INTELLIGENCE

S0214 : GPU Based Stacking Sequence Generation For Composite Skins Using GA

Genetic Learning of Firms in a Competitive Market

Evolving more efficient digital circuits by allowing circuit layout evolution and multi-objective fitness

Available online at ScienceDirect. Procedia Computer Science 20 (2013 ) 90 95

Local Search & Optimization

GENETIC ALGORITHM FOR CELL DESIGN UNDER SINGLE AND MULTIPLE PERIODS

Development. biologically-inspired computing. lecture 16. Informatics luis rocha x x x. Syntactic Operations. biologically Inspired computing

The European Applied Business Research Conference Rothenburg, Germany 2002

Quad-trees: A Data Structure for Storing Pareto-sets in Multi-objective Evolutionary Algorithms with Elitism

Parallel Genetic Algorithms

Computational intelligence methods

Genetic Algorithm for Solving the Economic Load Dispatch

Bounded Approximation Algorithms

Algorithm Design Strategies V

Antti-Pekka Hynninen, 5/10/2017, GTC2017, San Jose CA

Optimization Methods via Simulation

[Read Chapter 9] [Exercises 9.1, 9.2, 9.3, 9.4]

Evolving a New Feature for a Working Program

Local Search & Optimization

The Role of Crossover in Genetic Algorithms to Solve Optimization of a Function Problem Falih Hassan

Evolutionary computation in high-energy physics

Homework 2: MDPs and Search

Overview. Optimization. Easy optimization problems. Monte Carlo for Optimization. 1. Survey MC ideas for optimization: (a) Multistart

Lecture 22. Introduction to Genetic Algorithms

NP, polynomial-time mapping reductions, and NP-completeness

R ij = 2. Using all of these facts together, you can solve problem number 9.

Binary Particle Swarm Optimization with Crossover Operation for Discrete Optimization

Adaptive Generalized Crowding for Genetic Algorithms

arxiv:cs/ v1 [cs.ne] 4 Mar 2004

Symbolic Computation using Grammatical Evolution

CSC 421: Algorithm Design & Analysis. Spring 2018

Quiz 1 Solutions. Problem 2. Asymptotics & Recurrences [20 points] (3 parts)

Demographic Inference with Coalescent Hidden Markov Model

Turing Machine Variants. Sipser pages

Constraints Preserving Genetic Algorithm for Learning Fuzzy Measures with an Application to Ontology Matching

Scaling Up. So far, we have considered methods that systematically explore the full search space, possibly using principled pruning (A* etc.).

Parallel programming using MPI. Analysis and optimization. Bhupender Thakur, Jim Lupo, Le Yan, Alex Pacheco

NUMERICAL SOLUTION FOR FREDHOLM FIRST KIND INTEGRAL EQUATIONS OCCURRING IN SYNTHESIS OF ELECTROMAGNETIC FIELDS

Algorithm Design CS 515 Fall 2015 Sample Final Exam Solutions

Lecture 5: Linear Genetic Programming

JENETICS LIBRARY USER S MANUAL 4.0. Franz Wilhelmstötter

Search. Search is a key component of intelligent problem solving. Get closer to the goal if time is not enough

Data Warehousing & Data Mining

Problem. Problem Given a dictionary and a word. Which page (if any) contains the given word? 3 / 26

Set-based Min-max and Min-min Robustness for Multi-objective Robust Optimization

CS 161: Design and Analysis of Algorithms

Ajit Narayanan and Mark Moore. University of Exeter

CSE 421 Greedy Algorithms / Interval Scheduling

CSE 21 Practice Exam for Midterm 2 Fall 2017

An Effective Chromosome Representation for Evolving Flexible Job Shop Schedules

Evolutionary Computation. Algorytmy Niedeterministyczne II. Evolutionary Computation. Evolutionary Computation. Evolutionary Computation

Artificial Intelligence Methods (G5BAIM) - Examination

A Genetic Algorithm for Optimization Design of Thermoacoustic Refrigerators

Unit 1A: Computational Complexity

Genetic Algorithms: Basic Principles and Applications

Busy Beaver The Influence of Representation

Evolutionary Algorithms: Introduction. The Czech Institute of Informatics, Robotics and Cybernetics CTU Prague

Recap: Prefix Sums. Given A: set of n integers Find B: prefix sums 1 / 86

Nearest Neighbor Search with Keywords: Compression

CHAPTER 4 INTRODUCTION TO DISCRETE VARIABLE OPTIMIZATION

Sorting Algorithms. We have already seen: Selection-sort Insertion-sort Heap-sort. We will see: Bubble-sort Merge-sort Quick-sort

CS 170 DISCUSSION 10 MAXIMUM FLOW. Raymond Chan raychan3.github.io/cs170/fa17.html UC Berkeley Fall 17

Searching. Sorting. Lambdas

Computational Intelligence Winter Term 2018/19

Individual learning and population evolution

JENETICS LIBRARY USER S MANUAL FRANZ WILHELMSTÖTTER VERSION 3.8

Artificial Neural Networks Examination, March 2004

Transcription:

Matt Heavner mheavner@buffalo.edu CSE710 Fall 2009

Problem Statement: Given a set of cities and corresponding locations, what is the shortest closed circuit that visits all cities without loops??

Fitness Function: Function or routine to optimize Population: Current set of candidate solutions Chromosome: A specific candidate solution to optimization problem, usually encoded into a string of values Fitness: Fitness function output for a given chromosome

generate initial population evaluate fitness of population while termination criteria not met: breed new population: apply elitism select two chromosomes from old pop: perform crossover? perform mutation? evaluate fitness of new population

Select a certain percentage, called the elitism percentage. When breeding new population, sort by fitness. Bring this percent of top performing solutions to new population. Ensures top performers won t get lost.

When creating new population, need a way of selecting chromosomes from the old population for breeding. Various methods include: Fitness-Proportionate Tournament Etc.

Select crossover probability When two chromosomes are selected for breeding. If a random number meets this probability, crossover is performed Select a random crossover point Swap chromosome sections about this point crossover

Select a mutation probability For each new population member, select random number. If within probability mutate Point mutation: Swap mutation:

Chromosome: Candidate permutation of ordered city visits, no repeats. Stored as a sequence is city indices corresponding to a lookup table 1 6 3 8 4 7 9 2 5 0 Fitness: 1/(total Euclidean distance of circuit) Optimization: maximum fitness == chromosome with smallest closed nonlooping circuit

Roulette Wheel Selection was used for this problem. Roulette Wheel Selection Probability of a chromosome being selected is dependent on its fitness Rank by fitness and normalize. Choose random number in this range and iterate through ranked chromosomes, summing fitness values, until this random number is reached. Pick corresponding member.

Used modified one-point crossover Randomly select swap point as before and swap. Iterate through elements in old chromosome and fill in the missing elements in order Necessary to preserve uniqueness of city visits 1 7 2 4 5 9 8 3 6 0 crossover 2 0 9 8 1 7 4 5 3 6 2 0 9 8 1 7 6 3 5 4 1 7 2 4 5 0 9 8 6 3

Rather than point mutation, swap mutation was used to ensure uniqueness of locations Swap mutation:

Split global population into subpopulations one for each node. On each node, split subpopulation into 4. For each of these groups use CUDA to calculate fitness and create new population using sequential method. Do this until a fixed number of sub-iterations has completed. Once sub-iterations have completed, recombine at a global level, redistribute and repeat until global iterations are finished.

glob_iters = 0 while glob_iters!= MAX_GLOB_ITERS: distribute global population via MPI sub_iters = 0 while sub_iters!= MAX_SUB_ITERS: split sub-population into 4 calculate fitness of each sub-population via CUDA breed new sub-population sub_iters++ gather sub-populations via MPI breed new global population glob_iters++

MPI GLOBAL POPULATION GLOBAL POPULATION BREEDING SUB POP SUB POP SUB POP SUB POP SUB POP OpenMP SUBPOPULATION BREEDING SUB POP/4 SUB POP/4 SUB POP/4 SUB POP/4 CUDA Evaluate Fitness Evaluate Fitness Evaluate Fitness Evaluate Fitness

Runtime (seconds) Runtime vs. Population Size (Sequential) 14000 12000 10000 8000 6000 4000 2000 0 480 960 1920 3840 7680 15360 23040 46080 Population Size Platform: Intel(R) Xeon(R) CPU E5430 @ 2.66GHz (same as worker nodes 9-13)

Runtime (seconds) Runtime vs. Population Size (2 Nodes, 4 Teslas/Node) 3000 2500 2000 1500 1000 500 0 480 960 1920 3840 7680 15360 23040 46080 Population Size

Runtime (seconds) Runtime vs. Population Size (4 Nodes, 4 Teslas/Node) 800 700 600 500 400 300 200 100 0 480 960 1920 3840 7680 15360 23040 46080 Population Size

Runtime (seconds) Runtime vs. Population Size (6 Nodes, 4 Teslas/Node) 400 350 300 250 200 150 100 50 0 480 960 1920 3840 7680 15360 23040 46080 Population Size

Runtime (seconds) Runtime vs. Population Size (8 Nodes, 4 Teslas/Node) 300 250 200 150 100 50 0 480 960 1920 3840 7680 15360 23040 46080 Population Size

Runtime (seconds) Runtime vs. Population Size (10 Nodes, 4 Teslas/Node) 250 200 150 100 50 0 480 960 1920 3840 7680 15360 23040 46080 Population Size

Runtime (seconds) Runtime vs. Population Size (Various Number of Nodes, 4 Teslas/Node) 3000 2500 2000 1500 1000 500 2 Nodes 4 Nodes 6 Nodes 8 Nodes 10 Nodes 0 480 960 1920 3840 7680 15360 23040 46080 Population Size

Runtime (seconds) Runtime vs. Population Size (Including Sequential) 14000 12000 10000 8000 6000 4000 2000 Sequential 2 Nodes 4 Nodes 6 Nodes 8 Nodes 10 Nodes 0 480 960 1920 3840 7680 15360 23040 46080 Population Size Sequential Platform: Intel(R) Xeon(R) CPU E5430 @ 2.66GHz (same as worker nodes 9-13)

Runtime (seconds) Runtime vs. Number of Nodes (4 Teslas/Node) (Various Population Sizes) 800 700 600 500 400 300 200 100 0 480 960 1920 3840 7680 15360 23040 2 4 6 8 10 Number of Nodes

Sequential would eventually converge to a result and stick there. Simple parallelization of fitness evaluation just speeded this up but didn t result in better answers Advantages of parallelism (aside from speed of performance) came from use of subpopulations Each node allowed to converge to a (possibly) suboptimal answer, recombination at a global scale learned from all of these

50 Cities Crossover Probability: 65% Mutation Probability: 15% Fairly high to help with early convergence Elitism: 3%

120 100 80 60 40 20 0 0 20 40 60 80 100 120

120 100 80 60 Series1 40 20 0 0 20 40 60 80 100 120

What s next? Modification of crossover / mutation operators Tweaking parameters specific to this problem: Population size Proper balance between global and sub iterations Generalize algorithmic framework for use in other optimization problems