Title: A Genetic Solution to the Travelling Salesman Problem
1A Genetic Solution to the Travelling Salesman
Problem
Ryan Honig
2What is the Travelling Salesman Problem?
Traveling Salesman Problem (TSP) Definition
Given a set of points, find the shortest path
that visits each point exactly once and returns
to the starting point.
3My Goal
- Main Things I want to do
- Create an algorithm that can find near-optimal
solutions for symmetric TSPs. - Create a way of heuristically generating a pool
- Build off of the first algorithm to allow it to
find near-optimal solutions for asymmetric TSPs.
4What is the Travelling Salesman Problem? (Cont.)?
Two Types of Problems Symmetric Asymmetric
5What is the Travelling Salesman Problem? (Cont.)?
Symmetric
A
B
Distance 100
Distance 100
6Genetic Algorithm
Genetic algorithm an algorithm that has a pool
of solutions, and will at random pick two
solutions and combine them to create a child
solution, then a fitness function is used to rank
the solutions
7Genetic Algorithm (Cont)?
Parent A
Parent B
A
A
B
B
C
E
E
C
D
D
8Genetic Algorithm (Cont)?
Combined Path
B
A
B
A
A
B
A
B
E
B
C
A
A
B
D
9Genetic Algorithm (Cont)?
Child
B
A
B
A
B
E
C
A
B
D
10Mutations
- Chance of 1 in 50 to introduce a mutation to the
next generation (the child if it replaces a
parent, or the first parent)?
R1
R2
E
B
F
D
G
A
C
E
A
G
D
F
B
C
11Pool Creating Heuristic
A
A
B
A
E
A
B
A
B
A
A
B
C
E
E
D
D
12Pool Creating Heuristic (Cont)?
After testing the two different versions of my
program, I found that while the heuristic program
was still slightly better than the random-pool
program, the time it took to run still did not
justify its improvement.
13Pool Creating Heuristic (Testing)?
A280 2579
2780.54
2729.37
1.75 sec
5.11 sec
12017.46
7.32 sec
ATT48 10628
12104.32
2.31 sec
1.33 sec
BAYG29 1610
1750.92
1693.84
4.32 sec
2385.34
2327.77
1.86 sec
5.76 sec
BAYS29 2020
CH130 6110
6487.37
6.43 sec
6493.65
2.76 sec
14What is the Travelling Salesman Problem? (Cont.)?
Asymmetric Travelling Salesman Problem
A
B
Distance 100
Distance 200
15Asymmetric Travelling Salesman
- After testing my two versions of the symmetric
program, I began work on converting the
random-pool program so that it could solve
asymmetric travelling salesman problems. - Working with a data set that only contains 17
points, data is read in as a text file that
contains a grid of distances between points
rather than the coordinates of points - I can successfully read the data into a matrix,
but I am having a hard time converting the actual
genetic algorithm
16Asymmetric Travelling Salesman (cont)?
- I attempted to use the data to create two sets of
absolute coordinates depending on whether you
were moving in the clockwise or counter clockwise
direction, rather than just having the matrix of
relative distances - While this was slightly easier to work with than
the relative coordinates, I was still not able to
get an algorithm that can find solutions to the
asymmetric problem sets in the end
17The Future of my Program
- If anyone wants to continue this project, they
can - Finish making the genetic algorithm compatible
with asymmetric TSPs - Make a GUI
18THE END
Any Questions?