5 - Travelling salesman problem Flashcards
What is the difference between the classical and practical travelling salesman problem?
Classical: each vertex is visited exactly once
Practical: each vertex is visited at least once
What is the triangle inequality?
longest side of a triangle is less than or equal to the sum of its sides
How can a minimum spanning tree be used to find an upper bound for the travelling salesman problem?
- Find minimum spanning tree using Kruskal’s or Prim’s
- Double this (complete cycle)
- Seek shortcuts by intuition
How can a minmum spanning tree be used to find a lower bound for the travelling salesman problem?
- Remove each vertex and its arc
- Find residual minimum spanning tree and its length
- Add to RMST the cost of reconnecting the deleted node by two shortest arcs
- Greatest of these totals is the lower bound
- Make lower bound as high as possible to narrow inteveral for optimal solution
- An optimal solution is found if
* Lower bound contains a Hamiltonian cycle
* Lower bound = upper bound
How can an upper bound to the travelling salesman problem be found using the Nearest neighbour algorithm?
- Select each vertex in turn as a starting point
- Go the nearest vertex not yet selected
- Repeat step 2 until all vertices are visited and then return to the start vertex using the shortest route
- Once all vertices have been used as starting vertex, select tour with smallest length as upper bound
It’s basically prim’s but you go to the nearest from that vertex not the nearest from any labelled column