Decision Maths: 5. The Travelling Salesman Problem Flashcards

1
Q

Walk Defintion

A

A finite sequence of edges such that the end vertex or one edge is the start vertex of the next, basically can repeat vertices and edges.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Tour Definition

A

A walk that visits every vertex, returning to its start vertex, is called a tour

(A tour could visit some vertices more than once)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

How many times can a Tour visit some vertices

A

A tour could visit some vertices more than once

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Hamiltonian Cycle Defintion

A

A Hamiltonian Cycle is a tour that visits every vertex exactly once

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is the difference between the two variations of the travelling salesmen problem (Classic Travelling Salesman and Practical Travelling Salesman)

A
  • In the classical problem, each vertex must be visited exactly once before returning to the start.
  • In the practical problem, each vertex must be visited at least once before returning to the start.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

How can you make the classical and practical travelling salesman problems equivalent

A

If you convert the network into a complete network of least distances, the classical and practical travelling salesman problems are equivalent.

To create a complete network of least distances you ensure that the triangle inequality holds for all triangles in the network.

(The triangle inequality states:
The longest side of any triangle ≤ the sum of the two shorter sides)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What can you do if you have a network where the triangle inequality does not hold in one or more triangles?

A

If you have a network where the triangle inequality does not hold in one or more triangles, you simply replace the longest arc in those triangles by the sum of the two smaller ones, thereby creating a network which shows the shortest distances.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is a Table of Least Distances

A

The distance matrix for a complete network of least distances is called a table of least distances. It shows the shortest path between any two points in the network.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

How do you use a Minimum Spanning Tree (MST) to find an Upper Bound

A
  1. Find a MST for a network using Prims or Kruskal’s
  2. Double this (in effect you are retracing your steps along each edge)
  3. Seek ‘shortcuts’ this makes use of some of the omitted arcs to enable you to bypass some of the repeats and improve your upper bound.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

How to use a Minimum Spanning Tree (MST) to find a Lower Bound (LB)

A

You can use this method to find a LB for the classical problem.

  1. Remove each vertex in turn (or whichever you are directed to remove)
  2. Find the residual minimum spanning tree (RMST)
  3. Add to the RMST the ‘cost’ of reconnecting the deleted vertex by the two shortest, distinct arcs
  4. The greatest of these totals is used for the lower bound
  5. Make the lower bound as high as possible to reduce the interval in which the optimal solution is known to be
  6. If the LB is a Hamiltonian Cycle, or if the LB is the same as the UP you have found an optimal solution.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is an alternative approach to finding the Upper Bound (UB) for large networks

A

The method of finding a minimum spanning tree and selecting shortcuts is inefficient and difficult for large networks, an alternative approach is to use the nearest neighbour algorithm.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

How do you carry out the Nearest Neighbour Algorithm to find the Upper Bound (UB)

A
  1. Select each vertex in turn as a starting point
  2. Go to the nearest vertex which has not yet been visited.
  3. Repeat step 2 until all vertices have been visited and then return to the start vertex using the shortest route.
  4. Once all the vertices have been used as the starting vertex, select the tour with the smallest length as the upper bound.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are the differences between the nearest neighbour algorithm and Primm’s algorithm

A
  • Nearest neighbour finds a Hamiltonian cycle, Primm’s finds a minimum spanning tree
  • Nearest neighbour finds the closest vertex to the vertex last chosen, Primm’s finds the closest vertex to any of the vertices already selected.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly