Genetic Algorithms: Solving the Traveling Salesman Problem Thomas Abtey SUNY Oswego
Genetic Algorithm - Invented by John Holland, 1960's - Analogies to Biological Evolution - Fitness - Selection - Crossover (Reproduction) - Mutation - Uses in Optimization, Approximation
Genetic Algorithm (cont.) - Evolution is a process of selection and reproduction - Inheritance from Parents to Children - Simplified cycle: - For a population, assign fitness values to each individual - Create a new population by breeding (and mutating) the fittest individuals
Traveling Salesman Problem - “Given a set of cities and their distances, what is the shortest tour possible visiting each city only once?” - For 9 cities, 9! = 362,880 possible solutions - Application in scheduling/order problems - Brute-force method time becomes enormous
Genetic Approach to TSP - Population is a list of individuals - Individual is a list of cities - City is a name (and a set of distances) > Houston Hollywood Las-Vegas SLC Chicago NYC Oswego Miami Philadelphia
Mutation - A mutation alters city ordering in an Individual - Two cities are chosen randomly to be switched (A B* C D E F G* H) (A G* C D E F B* H)
Crossover - Based on Greedy Subtour Crossover (GSX) by Sengoku and Yoshihara: - Choose two parents, i1 and i2 - Choose a city as a mid-point for new tour - From midpoint, do until tour will be invalid: - Place i1's cities to front of new tour - Place i2's cities to back of new tour - Remaining cities (if any) will be appended to back of new tour
Crossover (cont.) Example: Mom = (ABCDEFGHI) Dad = (DFEGAHBCI) Mid-Point = G (G) (FG) (FGA) (EFGA) (EFGAH) (DEFGAH) (DEFGAHB-) (-CDEFGAHB-) =>(CDEFGAHBI)
Results Brute-Force Solution: - (Hollywood Las-Vegas SLC Houston Chicago Philadelphia NYC Oswego Miami) - A length of 40* - Multiple tours of length 40 * Multiplying this value by 1,000 will give actual geographic distance in miles.
Results (cont.) - GA Solution: - Quickly reduces average tour length in a pop - Comes close to actual solution - GA with 25 individuals over 55 generations: Generation 1 average fitness Generation 2 average fitness Generation 3 average fitness Generation 4 average fitness … Generation 54 average fitness Generation 55 average fitness
References & Resources Senguko, H., Yoshihara, I. “A Fast TSP Solver Using GA on JAVA” Mitchell, M. “Introduction to Genetic Algorithms” Holland, H. “Adaptation in Natural and Artificial System: an introductory analysis with applications to biology, control, and artificial intelligence” Common LISP.
Questions? o o / \ o o \ / o o