1 / 62

Excursions in Modern Mathematics Sixth Edition

2. Chapter 6 The Traveling Salesman Problem. Hamilton Joins the Circuit. 3. The Traveling Salesman Problem Outline/learning Objectives. To identify and model Hamilton circuit and Hamilton path problems.To recognize complete graphs and state the number of Hamilton circuits that they have.To identify traveling-salesman problems and the difficulties faced in solving them..

arleen
Télécharger la présentation

Excursions in Modern Mathematics Sixth Edition

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    1. 1 Excursions in Modern Mathematics Sixth Edition Peter Tannenbaum

    2. 2

    3. 3 The Traveling Salesman Problem Outline/learning Objectives To identify and model Hamilton circuit and Hamilton path problems. To recognize complete graphs and state the number of Hamilton circuits that they have. To identify traveling-salesman problems and the difficulties faced in solving them.

    4. 4 The Traveling Salesman Problem Outline/learning Objectives To implement brute-force, nearest-neighbor, repeated nearest-neighbor, and cheapest-link algorithms to find approximate solutions to traveling –salesman problems. To recognize the difference between efficient and inefficient algorithms. To recognize the difference between optimal and approximate algorithms.

    5. 5 The Traveling Salesman Problem 6.1 Hamilton Circuits and Hamilton Paths

    6. 6 The Traveling Salesman Problem Hamilton path A path that visits each vertex of the graph once and only once. Hamilton circuit A circuit that visits each vertex of the graph once and only once (at the end, of course, the circuit must return to the starting vertex).

    7. 7 The Traveling Salesman Problem

    8. 8 The Traveling Salesman Problem

    9. 9 The Traveling Salesman Problem

    10. 10 The Traveling Salesman Problem

    11. 11 The Traveling Salesman Problem

    12. 12 The Traveling Salesman Problem

    13. 13 The Traveling Salesman Problem

    14. 14 The Traveling Salesman Problem

    15. 15 The Traveling Salesman Problem 6.2 Complete Graphs

    16. 16 The Traveling Salesman Problem If a graph has a Hamilton circuit, then how many different Hamilton circuits does a it have? A graph with N vertices in which every pair of distinct vertices is joined by an edge is called a complete graph on N vertices and denoted by the symbol KN.

    17. 17 The Traveling Salesman Problem Number of Edges in KN KN has N(N – 1)/2 edges. Of all graphs with N vertices and no multiple edges or loops, KN has the most edges.

    18. 18 The Traveling Salesman Problem Hamilton Circuits in K4 If we travel the four vertices of K4 in an arbitrary order, we get a Hamilton path. For example, C, A, D, B is a Hamilton path.

    19. 19 The Traveling Salesman Problem Hamilton Circuits in K4 D, C, A, B is another Hamilton Path.

    20. 20 The Traveling Salesman Problem Hamilton Circuits in K4 Each of these Hamilton paths can be closed into a Hamilton circuit-- the path C, A, D, B begets the circuit D, A, D, B, C.

    21. 21 The Traveling Salesman Problem Hamilton Circuits in K4 The path D, C, A, B begets the circuit D, C, A, B, D.

    22. 22 The Traveling Salesman Problem Hamilton Circuits in K4 It is important to remember that the same Hamilton circuit can be written in many ways.

    23. 23 The Traveling Salesman Problem Hamilton Circuits in K4 For example, C, A, D, B, C is the same circuit as A, D, B, C, A– the only difference is that in the first case we used C as the reference point in the second case we used A.

    24. 24 The Traveling Salesman Problem Number of Hamilton Circuits in KN There are (N – 1)! Distinct Hamilton circuits in KN.

    25. 25 The Traveling Salesman Problem 6.3 Traveling Salesman Problems

    26. 26 The Traveling Salesman Problem The “ traveling salesman” is a convenient metaphor for many different important real-life applications, all involving Hamilton circuits in complete graphs but only occasionally involving salespeople.

    27. 27 The Traveling Salesman Problem Any graph whose edges have numbers attached to them is called a weighted graph, and the numbers are called the weights of the edges. The graph is called a complete weighted graph.

    28. 28 The Traveling Salesman Problem The problem we want to solve is fundamentally the same– find an optimal Hamilton circuit (a Hamilton circuit with least total weight) for the given weighted graph.

    29. 29 The Traveling Salesman Problem 6.4 Simple Strategies for Solving TSPs

    30. 30 The Traveling Salesman Problem Strategy 1 (Exhaustive Search) Make a list of all possible Hamilton circuits. For each circuit in the list, calculate the total weight of the circuit. From all the circuits, choose the circuit with smallest total weight.

    31. 31 The Traveling Salesman Problem Strategy 2 (Go Cheap) Start from the home city. From there go to the city that is the cheapest to get to. From each new city go to the next city that is cheapest to get to. When there are no more new cities to go to, go back home.

    32. 32 The Traveling Salesman Problem 6.5 The Brute-Force and Nearest Neighbor Algorithms

    33. 33 The Traveling Salesman Problem The Exhaustive Search strategy can be formalized into an algorithm generally known as the brute-force algorithm; the Go Cheap strategy can be formalized into an algorithm known as the nearest-neighbor algorithm. In both cases, the objective of the algorithm is to find an optimal (cheapest, shortest, fastest) Hamilton circuit in a complete weighted graph.

    34. 34 The Traveling Salesman Problem Algorithm 1: The Brute-Force Algorithm Step 1. Make a list of all the possible Hamilton circuits of the graph.

    35. 35 The Traveling Salesman Problem Algorithm 1: The Brute-Force Algorithm Step 2. For each Hamilton circuit calculate its total weight (add the weights of all the edges in the circuit).

    36. 36 The Traveling Salesman Problem Algorithm 1: The Brute-Force Algorithm Step 3. Choose an optimal circuit (there is always more than one optimal circuit to choose from!).

    37. 37 The Traveling Salesman Problem Algorithm 2: The Nearest-Neighbor Algorithm Start. Start at the designated starting vertex. If there is no designated starting vertex, pick any vertex.

    38. 38 The Traveling Salesman Problem Algorithm 2: The Nearest-Neighbor Algorithm First step. From the starting vertex go to its nearest neighbor (the vertex for which the corresponding edge has the smallest weight.

    39. 39 The Traveling Salesman Problem Algorithm 2: The Nearest-Neighbor Algorithm Middle steps. From each vertex go to its nearest neighbor, choosing only among the vertices that haven’t been yet visited. (If there is more than one, choose at random). Keep doing this until all the vertices have been visited.

    40. 40 The Traveling Salesman Problem The brute-force algorithm is a classic example of what is formally known as an inefficient algorithm– an algorithm for which the number of steps needed to carry it out grows disproportionately with the size of the problem.

    41. 41 The Traveling Salesman Problem The nearest-neighbor algorithm is an efficient algorithm. Roughly speaking, an efficient algorithm is an algorithm for which the amount of computational effort required to implement the algorithm grows in some reasonable proportion with the size of the input to the problem.

    42. 42 The Traveling Salesman Problem 6.6 Approximate Algorithm

    43. 43 The Traveling Salesman Problem

    44. 44 The Traveling Salesman Problem 6.7 The Repetitive Nearest-Neighbor Algorithm

    45. 45 The Traveling Salesman Problem Let X be any vertex. Find the nearest-neighbor circuit using X as the starting vertex and calculate the total cost of the circuit.

    46. 46 The Traveling Salesman Problem We compute the nearest-neighbor circuit with A as the starting vertex, and we got A, C, E, D, B, A with a total cost of $773.

    47. 47 The Traveling Salesman Problem Repeat the process with each of the other vertices of the graph as the starting vertex.

    48. 48 The Traveling Salesman Problem If we use B as the starting vertex, the nearest-neighbor circuit takes us from B to C, then to A, E, D, and back to B, with a total cost of $722.

    49. 49 The Traveling Salesman Problem Remember we must start and end the trip at A– this very same circuit would take the form A, E, D, B, C, A.

    50. 50 The Traveling Salesman Problem The process is once again repeated using C, D, and E as the starting vertices with respective costs of $722, $722, and $741.

    51. 51 The Traveling Salesman Problem Of the nearest-neighbor circuits obtained, keep the best one. If there is a designated starting vertex, rewrite the circuit using that vertex as the reference point.

    52. 52 The Traveling Salesman Problem 6.8 The Cheapest-Link Algorithm

    53. 53 The Traveling Salesman Problem Step 1. Pick the cheapest link (edge with smallest weight) available. Among all the edges of the graph, the “cheapest link” is edge AC, with a cost of $119.

    54. 54 The Traveling Salesman Problem Step 2. Pick the next cheapest link available and mark it. In this case edge CE with a cost of $120.

    55. 55 The Traveling Salesman Problem Step 3, 4, …, N -1 Continue picking and marking the cheapest unmarked link available that does not (a) close a circuit, or (b) create three edges coming out of a single vertex.

    56. 56 The Traveling Salesman Problem The next cheapest link available is edge BC ($121), but we should not choose BC– we would have three edges coming out of vertex C.

    57. 57 The Traveling Salesman Problem The next cheapest link available is AE ($133), but we can’t take AE either-- the vertices A, C, and E would form a small circuit.

    58. 58 The Traveling Salesman Problem The next cheapest link available is BD ($150). Choosing BD would not violate either of the two rules, so we can add it to our budding circuit.

    59. 59 The Traveling Salesman Problem The next cheapest link available is AD ($152) and it works just fine.

    60. 60 The Traveling Salesman Problem Step N. Connect the last two vertices to close the red circuit. At this point, we have only one way to close up the Hamilton circuit, edge BE.

    61. 61 The Traveling Salesman Problem The Hamilton circuit can now be described using any vertex as the reference point. For A, we describe it as A, C, E, B, D, A with a total cost of $741.

    62. 62 The Traveling Salesman Problem Conclusion How does one find an optimal Hamilton circuit in a complete weighted graph? The nearest-neighbor and cheapest-link algorithms are two fairly simple strategies for attacking TSPs. The search for an optimal and efficient general algorithm.

More Related