NOTE
The Traveling Salesman Problem (TSP) is an optimization problem where, given a set of cities and the distances between each pair of cities, the goal is to find the shortest possible route that visits each city exactly once and returns to the starting city.
The Traveling Salesman Problem is NP-complete. This can be shown by reducing the Hamiltonian cycle problem to TSP.
Given a graph , we construct the complete graph and define the edge lengths
Then has a Hamiltonian cycle if and only if the optimal TSP tour in with length function has total length . So if we can solve TSP, then we can solve the Hamiltonian cycle problem
Metric TSP
Suppose we work on a complete graph
Triangle Inequality
In the Metric TSP, the distance function is required to satisfy the triangle inequality: for any three cities , the following holds:
2-approximation
- Compute Minimum Spanning Tree (MST)
- Double the edges
- Find the Eulerian Tour
- Short cut the Eulerian Tour and find Hamiltonian cycle
- This works because of the triangle inequality
- The result is smaller or equal to
Time Complexity:
1.5-approximation
This is the Christofides(-Serdyukov) algorithm for Metric TSP.
-
Compute Minimum Spanning Tree (MST)
-
Let vertices of odd degree in
-
is even (handshaking lemma)
-
Compute a minimum-weight perfect matching on
-
(See Overview of Matching Algorithms for perfect matchings / algorithms.)
-
Key bound:
-
-
Let be an optimal TSP tour. Consider the order in which visits the vertices in .
-
Taking every second edge along this induced cycle on gives a perfect matching on with .
-
Since is minimum-weight, .
-
Add the edges:
-
Every vertex has even degree in is Eulerian
-
Find an Eulerian tour in
-
Short cut the Eulerian tour and find a Hamiltonian cycle
- This works because of the triangle inequality
Time Complexity: dominated by the matching step (minimum-weight perfect matching on , polynomial-time; typically for general graphs), plus MST and Euler tour.