Bounds for the travelling salesman problemEdexcel International A Level Maths: Revision notes
Section 1
Why we use bounds
For a large network there is no quick method that always finds the shortest tour for the travelling salesman problem. Instead we find an upper bound, the length of a tour that exists, so the shortest tour is no longer than it, and a lower bound, a value the shortest tour is no shorter than. The shortest tour then lies between them: The smaller the gap, the better we know the answer. If the two bounds are equal, the tour found is optimal.
Treating a nearest neighbour tour as the shortest tour. It is only an upper bound.
Section 2
Converting to a complete network of shortest distances
The bound methods need a complete network, where every pair of vertices is joined by an arc. If some pairs are not joined by a road, create an arc between them whose length is the shortest distance along the original network. Example: roads , , , , . Then (via ), , (via ), (via ) and (via ). The new arcs satisfy the triangle inequality, because each is a shortest distance. After finding a tour in the complete network, replace each new arc by the shortest path it stands for. The resulting route in the original network may revisit vertices, which is allowed in the practical problem.
Fill in the table of shortest distances row by row, checking routes through each other vertex.
Section 3
Upper bound: the nearest neighbour algorithm
The nearest neighbour algorithm builds a tour step by step.
- Choose a starting vertex.
- Move along the shortest arc to a vertex not yet visited.
- Repeat until all vertices are visited, then return to the start. Example on a complete network with , , , , , , , , , : from go to (), then (), then (), then (), then back to (). The tour has length , so is an upper bound. Different starting vertices can give different tours. Start from each vertex in turn and take the smallest tour length as the best upper bound.
Forgetting the final arc back to the start vertex when adding up the tour.
Section 4
Upper bound: minimum spanning trees and shortcuts
A walk that goes all the way round a minimum spanning tree, out along each arc and back, visits every vertex and returns to the start. It uses each arc twice, so its length is the weight of the tree. This gives an upper bound. Use shortcuts to improve it: whenever the walk would revisit a vertex, go straight to the next new vertex instead. In a complete network satisfying the triangle inequality a shortcut is never longer than the route it replaces. Example: a network has a minimum spanning tree that is the path ---- with arcs , , , (weight ), and . The walk gives . Shortcutting from straight back to () gives the tour ----- of length . Shortcuts can also be used on a nearest neighbour tour: if replacing two arcs by one shorter arc still gives a tour, use it.
After a shortcut, check the new route is still a tour: every vertex once, back to the start.
Section 5
Lower bound: deleting a vertex
To find a lower bound:
- Delete one vertex , with all its arcs.
- Find a minimum spanning tree of the remaining vertices.
- Add the lengths of the two shortest arcs at . This is a lower bound because every tour contains two arcs at , each at least as long as the two shortest, and removing from a tour leaves a path joining the other vertices, which is at least as long as their minimum spanning tree. Example (the same network, with and the two shortest arcs at ): delete , and the minimum spanning tree on , , , has arcs , , and weight , so the lower bound is . Deleting a different vertex can give a different lower bound. Repeat for several vertices and take the largest, since it is the best lower bound.
Adding the arcs at the deleted vertex to the tree, rather than the two shortest arcs only.
Section 6
Using the bounds
Give the best bounds you have found, and state them as an inequality such as . If the lower bound equals the upper bound, the tour is optimal. Otherwise the shortest tour lies in between. You can say how close the upper bound is, for example within of the lower bound. In the practical problem, convert the tour back to the original network by replacing each arc of the complete network with its shortest path. State the final route as a list of vertices, and check its length equals the upper bound.
Show each bound with its working. Marks are given for the tree, the added arcs and the total.
That's the notes covered.
Carry on to the next subtopic.
Exam questions on Bounds for the travelling salesman problem
- A complete network has five vertices , , , and , with lengths , , , , , , , , and .Apply the nearest neighbour algorithm starting at . Write down the tour and its length, and state what this tells you about the shortest tour.2 marks
- A complete network has five depots , , , and , with lengths , , , , , , , , and . A lower bound for the travelling salesman problem is found by deleting vertex .Find the lower bound for the length of the shortest tour from deleting , and explain why it is a lower bound.2 marks
- A delivery firm has five depots to . The only direct roads and their lengths in km are , , , and . A driver must visit every depot and return to the start, and may pass through a depot more than once.Find the shortest distances between and , between and , and between and .3 marks
Written by the Exaim team, led by Shaun Daswani (Head of Upper Secondary, Improve ME Institute; MSc Financial Mathematics, Imperial College London; BSc, UCL) and Jason Daswani (operational lead, Improve ME Institute; LSE).