Efficient GPU Implementation of Genetic Algorithm to Solve the Traveling Salesman Problem
Adam Kidwell, Alex Fillmore, Shadi G. Alawneh · 2024
The traveling salesman problem is a popular problem in computer science due to its ease of explanation but difficulty in solving. As it is an NP-hard problem, heuristic methods such as genetic algorithms are often utilized to solve it. Genetic algorithms have many similar, repetitive steps in their evaluation, leading them to benefit from parallelization. This paper presents optimizations applied to a public genetic algorithm designed to solve the traveling salesman problem implemented in CUDA for GPU parallelization. Our optimizations were able to reduce the runtime by 87% with no reduction in the result quality and to further reduce the runtime by 98% with an 18% reduction in the quality of the results when compared to the initial CUDA implementation.