220 likes | 1.15k Views
Formulation. The Traveling Salesman Problem is a deceptively simple combinatorial problem:
E N D
1. The Traveling Salesman Problem
Over Seventy Years of Research, and a Million in Cash
2. Formulation The Traveling Salesman Problem is a deceptively simple combinatorial problem:
Given a set of cities and the distances between them, how can a salesman visit them minimizing the distance traveled?
In terms of graph theory, it means finding the shortest Hamiltonian cycle of a graph G.
3. History of the TSP The general form of TSP problem was considered by mathematicians in the 1930's
During 1950's and 1960's it gained popularity in scientific circles
Researchers from RAND Corporation create a method to optimally solve TSP for 49 cities
In 1972, Karp proves that TSP is NP complete
4. Applications Transportation
School Bus Routes
Traveling Salesman
Technology
Microchip Manufacturing
Network Engineering
Biological
Genome Sequencing
5. Finding a Solution Given a problem that has such wide reaching applications, how can we come up with an optimal solution?
Recall that Karp proved that the Traveling Salesman Problem is NP Complete...
6. NP Complete A problem C is NP Complete if C is in NP and also NP Hard
NP ~ Verifying yes answers in polynomial time
If the TSP can be solved in polynomial time, so can all NP problems!
Furthermore, this would mean P = NP
7. Finding a Solution There are a few general methods for finding solutions for the TSP:
Brute Force
Dynamic Programming
Approximation
8. Brute Force Seems to be the obvious solution
Computationally expensive - turns out to be O(n!)
For n total cities, start from any city, there are n-1 choices for a second city, n-2 choices for a third...
As a point of reference, 20! = 2.43290201 1018
9. Dynamic Programming Here's the subproblem:
Let S be a subset of the cities containing 1 and at least one other city, and let j be a city in S other than one. Define C(S; j) to be the shortest path that starts from 1, visits all nodes in S, and ends up in j
10. Dynamic Programming for all j do C({1,j}, j) := d1j
for s := 3 to n do (the size of the subsets considered this round)
for all subsets S of {1,,n} of size n and containing 1 do
for all j ? S; j ? 1 do
{C(S,j) := mini? j,i?S[C(S - { j }, i)+ dij]}
opt:= minj?1[C({1, 2, , n} , j)+ d1j.O(n2) (Exponential but better than brute force)
11. Approximation An approximation ratio (APR) is a measure of how costly an approximation of the solution is compared to the optimal solution in polynomial time
Two TSP approximation methods are:
Nearest Neighbor (Greedy)
2 Approximation
12. Nearest Neighbor Choose the next unvisited city that is closest (simple)
On average, has an APR of 1.25
There exist graphs for which NN yields the worst route (Gutin, Yeo, and Zverovich, 2002) - both in for G symmetric and asymmetric (Gutin and Yeo, 2007)
13. 2-Approximation 2-Approximation works for Metric TSPs
A TSP problem is metric if:
For any two vertices, d(u,v) = d(v,u)
The triangle inequality holds for all triples of vertices
d(u,w) = d(u,v) + d(v,w)
14. 2-Approximation 2-MST algorithm:
Find the minimum spanning tree MST(G)
Take MST(G) twice: T = 2 * MST(G)
The graph T is Eulerian - we can traverse it visiting each edge exactly once
Make shortcuts
APR of 2-MST is at most 2
15. Find the MST and double it!
16. Find shortcuts
17. Example
18. Summary The TSP is a graph theory minimization problem
The complexity of the problem (NP Complete) makes it difficult to solve optimally
Numerous methods for approximation
Solving TSP optimally sheds light on other problems (P=NP)
Optimal solution carries a prize of $1 Million (Millennium Prize)
19. References http://members.pcug.org.au/~dakin/tsp.htm
www.cs.biu.ac.il/~davidon1/Spring2008/89322/files/Tirgul3.ppt
www.cs.gsu.edu/~cscazz/CS4520/ps15.ppt
www.lsi.upc.edu/~mjserna/docencia/algofib/P07/dynprog.pdf
www.cs.berkeley.edu/~vazirani/s99cs170/notes/dynamic3.pdf
http://en.wikipedia.org/wiki/Travelling_salesman_problem