EXCURSIONS IN MODERN MATHEMATICS SIXTH EDITION Peter Tannenbaum 1.

Slides:



Advertisements
Similar presentations
Introduction to Graph Theory Instructor: Dr. Chaudhary Department of Computer Science Millersville University Reading Assignment Chapter 1.
Advertisements

Graph-02.
Chapter 7 Graph Theory 7.1 Modeling with graphs and finding Euler circuits. Learning Objectives: Know how to use graphs as models and how to determine.
Chapter 15 Graph Theory © 2008 Pearson Addison-Wesley. All rights reserved.
1 Chapter 15.3 Hamilton Paths and Hamilton Circuits Objectives 1.Understand the definitions of Hamilton paths & Hamilton circuits. 2.Find the number of.
Excursions in Modern Mathematics(Tannenbaum) and Thinking Mathematically (Blitzer)
The Mathematics of Touring
§ Algorithms, Algorithms, Algorithms Recall that an algorithm is a set of procedures or rules that, when followed, lead to a ‘solution’ to.
A traveling salesman has customers in 5 cities which we will call A, B, C, D, and E. The salesman needs to travel to all 5 cities with his trip starting.
Traveling Salesman Problems Repetitive Nearest-Neighbor and Cheapest-Link Algorithms Chapter: 6.
Traveling-Salesman Problems
Chapter 2: Business Efficiency Lesson Plan Business Efficiency  Visiting Vertices-Graph Theory Problem Hamiltonian Circuits  Vacation Planning Problem.
Excursions in Modern Mathematics, 7e: Copyright © 2010 Pearson Education, Inc. 7 The Mathematics of Networks 7.1Trees 7.2Spanning Trees 7.3 Kruskal’s.
Slide 14-1 Copyright © 2005 Pearson Education, Inc. SEVENTH EDITION and EXPANDED SEVENTH EDITION.
Excursions in Modern Mathematics, 7e: Copyright © 2010 Pearson Education, Inc. 6 The Mathematics of Touring 6.1Hamilton Paths and Hamilton Circuits.
Excursions in Modern Mathematics, 7e: Copyright © 2010 Pearson Education, Inc. 6 The Mathematics of Touring 6.1Hamilton Paths and Hamilton Circuits.
1 Excursions in Modern Mathematics Sixth Edition Peter Tannenbaum.
Graph Theory Hamilton Paths and Hamilton Circuits.
Excursions in Modern Mathematics, 7e: Copyright © 2010 Pearson Education, Inc. 6 The Mathematics of Touring 6.1Hamilton Paths and Hamilton Circuits.
The Traveling-Salesman Problem. Born August 4, 1805 in Dublin, Ireland Died September 2, 1865 in Dublin, Ireland Made many contributions to the Physics.
Discrete Math Unit 6 Set Theory Number Theory Graph Theory.
Excursions in Modern Mathematics, 7e: Copyright © 2010 Pearson Education, Inc. 6 The Mathematics of Touring 6.1Hamilton Paths and Hamilton Circuits.
1 Excursions in Modern Mathematics Sixth Edition Peter Tannenbaum.
6.1 Hamilton Circuits and Paths: Hamilton Circuits and Paths: Hamilton Path: Travels to each vertex once and only once… Hamilton Path: Travels to each.
© 2010 Pearson Prentice Hall. All rights reserved. 1 §15.3, Hamilton Paths and Circuits.
Spring 2015 Mathematics in Management Science Traveling Salesman Problem Approximate solutions for TSP NNA, RNN, SEA Greedy Heuristic Algorithms.
CS 200 Algorithms and Data Structures
Excursions in Modern Mathematics, 7e: Copyright © 2010 Pearson Education, Inc. 6 The Mathematics of Touring 6.1Hamilton Paths and Hamilton Circuits.
6.4: The Brute-Force Algorithms
Chapter 2: Business Efficiency Lesson Plan Business Efficiency  Visiting Vertices-Graph Theory Problem Hamiltonian Circuits  Vacation Planning Problem.
 Graphs  Paths  Circuits  Euler. Traveling Salesman Problems.
Excursions in Modern Mathematics, 7e: Copyright © 2010 Pearson Education, Inc. 6 The Mathematics of Touring 6.1Hamilton Paths and Hamilton Circuits.
6.1 Hamilton Circuits and Hamilton Path
Mathematics in Management Science
CIRCUITS, PATHS, AND SCHEDULES Euler and Königsberg.
EXCURSIONS IN MODERN MATHEMATICS SIXTH EDITION Peter Tannenbaum 1.
AND.
Euler Paths and Circuits. The original problem A resident of Konigsberg wrote to Leonard Euler saying that a popular pastime for couples was to try.
Excursions in Modern Mathematics, 7e: Copyright © 2010 Pearson Education, Inc. 5 The Mathematics of Getting Around 5.1Euler Circuit Problems 5.2What.
By: Christophe Dufour Chrishon Adams Mischael Joseph.
I can describe the differences between Hamilton and Euler circuits and find efficient Hamilton circuits in graphs. Hamilton Circuits I can compare and.
Excursions in Modern Mathematics, 7e: Copyright © 2010 Pearson Education, Inc. 6 The Mathematics of Touring 6.1Hamilton Paths and Hamilton Circuits.
Chapter 14 Section 3 - Slide 1 Copyright © 2009 Pearson Education, Inc. AND.
Unit 2 Hamiltonian Circuits. Hamiltonian Circuit: A tour that starts at a vertex of a graph and visits each vertex once and only once, returning to where.
1 Euler and Hamilton paths Jorge A. Cobb The University of Texas at Dallas.
Grade 11 AP Mathematics Graph Theory Definition: A graph, G, is a set of vertices v(G) = {v 1, v 2, v 3, …, v n } and edges e(G) = {v i v j where 1 ≤ i,
Mathematical modeling To describe or represent a real-world situation quantitatively, in mathematical language.
Excursions in Modern Mathematics Sixth Edition
Excursions in Modern Mathematics Sixth Edition
Hamilton Paths and Hamilton Circuits
Excursions in Modern Mathematics Sixth Edition
Excursions in Modern Mathematics Sixth Edition
Weighted Graphs and traveling Salesperson problem
6 The Mathematics of Touring
HAMILTONIAN CIRCUIT ALGORITHMS
Chapter 2: Business Efficiency Lesson Plan
Chapter 2: Business Efficiency Lesson Plan
Discrete Math: Hamilton Circuits
* Hamiltonian Circuits introduction
Introduction to Graph Theory Euler and Hamilton Paths and Circuits
Graph Theory.
Chapter 2: Business Efficiency Business Efficiency
6.1 Hamilton Circuits and Hamilton Path
Excursions in Modern Mathematics Sixth Edition
Cheapest-Link Algorithm/Sorted Edges (Unit 10) SOL: DM.2
Chapter 15 Graph Theory © 2008 Pearson Addison-Wesley.
Chapter 15 Graph Theory © 2008 Pearson Addison-Wesley.
Hamilton Paths and Hamilton Circuits
Euler circuit Theorem 1 If a graph G has an Eulerian path, then it must have exactly two odd vertices. Theorem 2 If a graph G has an Eulerian circuit,
Traveling Salesman Problems Nearest Neighbor Method
Presentation transcript:

EXCURSIONS IN MODERN MATHEMATICS SIXTH EDITION Peter Tannenbaum 1

CHAPTER 6 THE TRAVELING SALESMAN PROBLEM Hamilton Joins the Circuit 2

The Traveling Salesman Problem Outline/learning Objectives 3  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.  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.

THE TRAVELING SALESMAN PROBLEM 6.1 Hamilton Circuits and Hamilton Paths 4

Hamilton Circuits and Paths 5  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).

Hamilton Circuits and Paths 6  Dodecahedron

Hamilton Circuits and Paths 7  Herschel Graph  Smallest polyhedral that does not contain a Hamilton circuit.

Hamilton Circuits and Paths 8 Hamilton Circuit (Paths vs Euler Circuit Path)  Figure (b) shows a graph that has no Euler circuits but does have Euler paths (for example C, D, E, B, A, D), has no Hamilton circuits (sooner or later you have to go to C, and then you are stuck) but does have Hamilton paths (for example, A, B, E, D, C). Aha, a graph can have a Hamilton path but no Hamilton Circuit!

Hamilton Circuits and Paths 9 Hamilton Circuit (Paths vs Euler Circuit Path)  Figure (b) shows a graph that has no Euler circuits but does have Euler paths (for example C, D, E, B, A, D), has no Hamilton circuits (sooner or later you have to go to C, and then you are stuck) but does have Hamilton paths (for example, A, B, E, D, C). Aha, a graph can have a Hamilton path but no Hamilton Circuit!

Hamilton Circuits and Paths 10 Hamilton Circuit (Paths vs Euler Circuit Path)  Figure (c) shows a graph that has neither Euler circuits nor paths (it has four odd vertices), has Hamilton circuits (for example A, B, C, D, E, A– there are plenty more), and consequently has Hamilton paths (for example, A, B, C, D, E).

Hamilton Circuits and Paths 11 Hamilton Circuit (Paths vs Euler Circuit Path)  Figure (d) shows a graph that has Euler circuits (the vertices are all even), has no Hamilton circuits (no matter what, your are going to have to go through E more than once!) but has Hamilton paths (for example, A, B, E, D, C).

Hamilton Circuits and Paths 12 Hamilton Circuit (Paths vs Euler Circuit Path)  Figure (e) shows a graph that has no Euler circuits but has Euler paths (F and G are the two odd vertices), had neither Hamilton circuits nor Hamilton paths.

Hamilton Circuits and Paths 13 Hamilton Circuit (Paths vs Euler Circuit Path)  Figure (f) shows a graph that has neither Euler circuits nor Euler paths (too many odd vertices), has neither Hamilton circuits nor Hamilton paths.

Hamilton Circuits and Paths 14

Hamilton Circuits and Paths 15  The lesson in the previous Example is that the existence of an Euler path or circuit in a graph tells us nothing about the existence of a Hamilton path or circuit in that graph.  This is important because it implies that Euler ’ s circuit and path theorems from Chapter 5 are useless when it comes to Hamilton circuits and paths.

Hamilton Circuits and Paths 16 There are, however, nice theorems that identify special situations where a graph must have a Hamilton circuit.  This best known of these theorems is Dirac ’ s theorem : If a connected graph has N vertices (N > 2) and all of them have degree bigger or equal to N/2, then the graph has a Hamilton circuit.

THE TRAVELING SALESMAN PROBLEM 6.2 Complete Graphs 17

Complete Graphs 18 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 K N.

Complete Graphs 19  Every vertex has a degree of N-1  Therefor the sum of all the degrees are N(N-1)  Thus the number of edges is N(N-1)/2

Complete Graphs 20 Number of Edges in K N  K N has N(N – 1)/2 edges.  Of all graphs with N vertices and no multiple edges or loops, K N has the most edges.

Complete Graphs 21 Hamilton Circuits in K 4 If we travel the four vertices of K 4 in an arbitrary order, we get a Hamilton path. For example, C, A, D, B is a Hamilton path.

Complete Graphs 22 Hamilton Circuits in K 4 D, C, A, B is another Hamilton Path.

Complete Graphs 23 Hamilton Circuits in K 4 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.

Complete Graphs 24 Hamilton Circuits in K 4 The path D, C, A, B begets the circuit D, C, A, B, D.

Complete Graphs 25 Hamilton Circuits in K 4 It is important to remember that the same Hamilton circuit can be written in many ways.

Complete Graphs 26 Hamilton Circuits in K 4 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.

Complete Graphs 27 Number of Hamilton Circuits in K N There are (N – 1)! Distinct Hamilton circuits in K N.

THE TRAVELING SALESMAN PROBLEM 6.3 Traveling Salesman Problems 28

The Traveling Salesman Problem 29 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.

The Traveling Salesman Problem 30 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.

The Traveling Salesman Problem 31 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.

The Traveling Salesman Problem 32

The Traveling Salesman Problem 33

The Traveling Salesman Problem 34  15,112 Cities in Germany  Solved in 2001  Network of 110 processors  Total computer time: 22.6 years

The Traveling Salesman Problem 35  24,978 Cities in Sweden  Solved in 2004  Cluster of 96 dual processor Intel Xenon 2.8 Ghz workstations

The Traveling Salesman Problem 36 Currently the largest solved travelling salesman problem  85,900 “cities”  Solved in 2006  Bell Laboratories computer chip  It exhibits the shortest path a laser cutter can follow to sculpt the chip.

The Traveling Salesman Problem 37  Traveler – person going from site to site.  Sites – where the person is going.  Cost – each leg of the trip has a cost.  Tour – the path taken from beginning to end.  Optimal Tour – a tour with the least total cost.

The Traveling Salesman Problem 38 Other ways to look at it:  Sites – vertices of the graph  Costs – weights of the edges  Tour – Hamilton Circuit  Optimal Tour – Hamilton Circuit of the least total weight

The Traveling Salesman Problem 39 Other examples:  Routing School Busses  Delivering Packages  Fabricating Circuit Boards  Running Errands Around Town  Ant Colony Optimization

THE TRAVELING SALESMAN PROBLEM 6.4 Simple Strategies for Solving TSPs 40

The TSP Strategies 41  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.

The TSP Strategies 42 Cheapest: $676

The TSP Strategies 43  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.

The TSP Strategies 44 Cheapest routes:  A to C = $119  C to E = $120  E to D = $199  D to B = $150  B to A = $185 {A, C, E, D, B, A} = $773

The TSP Strategies 45 A Tour of 10 Cities (start at A)

The TSP Strategies 46

The TSP Strategies 47

THE TRAVELING SALESMAN PROBLEM 6.5 The Brute-Force and Nearest Neighbor Algorithms 48

Brute-Force and Nearest-Neighbor 49  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.

Brute-Force and Nearest-Neighbor 50 Algorithm 1: The Brute-Force Algorithm  Step 1. Make a list of all the possible Hamilton circuits of the graph. Exhaustive Search

Brute-Force and Nearest-Neighbor 51 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). Exhaustive Search

Brute-Force and Nearest-Neighbor 52 Algorithm 1: The Brute-Force Algorithm  Step 3. Choose an optimal circuit (there is always more than one optimal circuit to choose from!). Exhaustive Search

Brute-Force and Nearest-Neighbor  Find the length of the total trip starting at A using the Brute-Force method. 53

Brute-Force and Nearest-Neighbor 54 Algorithm 2: The Nearest-Neighbor Algorithm  Start. Start at the designated starting vertex. If there is no designated starting vertex, pick any vertex. Go Cheap

Brute-Force and Nearest-Neighbor 55 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. Go Cheap

Brute-Force and Nearest-Neighbor 56 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. Go Cheap

 Find the nearest-neighbor tour starting at Louisville. Brute-Force and Nearest-Neighbor 57

Brute-Force and Nearest-Neighbor 58  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.

Brute-Force and Nearest-Neighbor 59  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.

Brute-Force and Nearest-Neighbor 60 Computing the Relative Error ε  Describes how far “off” a tour is from the optimal tour. ε = (cost of tour – cost of optimal tour) cost of optimal tour

Brute-Force and Nearest-Neighbor 61  Brute Force = $676  Nearest Neighbor = $773 ε = ($733 - $676) / $676 ≈ 14.35% An optimal tour would be 0%.

THE TRAVELING SALESMAN PROBLEM 6.6 Approximate Algorithm 62

Approximate Algorithm 63 A really good algorithm for solving TSP ’ s in general would have to be both efficient (like the nearest-neighbor) and optimal (like the brute-force). Unfortunately, nobody knows of such an algorithm. We will use the term approximate algorithm to describe any algorithm that produces solutions that are, most of the time, reasonably close to the optimal solution.

Approximate Algorithm 64  Nearest-Neighbor cost: $2153  Brute-Force cost: $1914 (computer program)  Off by the relative error of about 12.49% ε = (2153 – 1914) / 1914 ≈ 12.49%

THE TRAVELING SALESMAN PROBLEM 6.7 The Repetitive Nearest-Neighbor Algorithm 65

The Repetitive Nearest-Neighbor Algorithm 66  Let X be any vertex. Find the nearest-neighbor circuit using X as the starting vertex and calculate the total cost of the circuit. Algorithm 3: The Repetitive Nearest-Neighbor Algorithm

The Repetitive Nearest-Neighbor Algorithm 67  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. Algorithm 3: The Repetitive Nearest-Neighbor Algorithm

The Repetitive Nearest-Neighbor Algorithm 68  Repeat the process with each of the other vertices of the graph as the starting vertex. Algorithm 3: The Repetitive Nearest-Neighbor Algorithm

The Repetitive Nearest-Neighbor Algorithm 69  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. Algorithm 3: The Repetitive Nearest-Neighbor Algorithm

The Repetitive Nearest-Neighbor Algorithm 70  Remember we must start and end the trip at A– this very same circuit would take the form A, E, D, B, C, A. Algorithm 3: The Repetitive Nearest-Neighbor Algorithm

The Repetitive Nearest-Neighbor Algorithm 71  The process is once again repeated using C, D, and E as the starting vertices with respective costs of $722, $722, and $741. Algorithm 3: The Repetitive Nearest-Neighbor Algorithm

The Repetitive Nearest-Neighbor Algorithm 72  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. Algorithm 3: The Repetitive Nearest-Neighbor Algorithm

The Repetitive Nearest-Neighbor Algorithm 73

The Repetitive Nearest-Neighbor Algorithm 74  Brute Force = $676 {A, D, B, C, E, A}  Nearest Neighbor = $773 {A, C, E, D, B, A}  Repetitive Nearest-Neighbor = $722 {B, C, A, E, D, B}

The Repetitive Nearest-Neighbor Algorithm 75

THE TRAVELING SALESMAN PROBLEM 6.8 The Cheapest-Link Algorithm 76

The Cheapest-Link Algorithm 77  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. Algorithm 4: The Cheapest-Link Algorithm

The Cheapest-Link Algorithm 78  Step 2. Pick the next cheapest link available and mark it. In this case edge CE with a cost of $120. Algorithm 4: The Cheapest-Link Algorithm

The Cheapest-Link Algorithm 79  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. Algorithm 4: The Cheapest-Link Algorithm

The Cheapest-Link Algorithm 80  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. Algorithm 4: The Cheapest-Link Algorithm

The Cheapest-Link Algorithm 81  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. Algorithm 4: The Cheapest-Link Algorithm

The Cheapest-Link Algorithm 82  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. Algorithm 4: The Cheapest-Link Algorithm

The Cheapest-Link Algorithm 83  The next cheapest link available is AD ($152) and it works just fine. Algorithm 4: The Cheapest-Link Algorithm

The Cheapest-Link Algorithm 84  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. Algorithm 4: The Cheapest-Link Algorithm

The Cheapest-Link Algorithm 85  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. Algorithm 4: The Cheapest-Link Algorithm

The Cheapest-Link Algorithm 86  Brute Force = $676 {A, D, B, C, E, A}  Nearest Neighbor = $773 {A, C, E, D, B, A}  Repetitive Nearest-Neighbor = $722 {B, C, A, E, D, B}  Cheapest-Link Algorithm = $741 {A, C, E, B, D, A}

 Find the length of the shortest trip using the Cheapest-Link. The Cheapest-Link Algorithm 87

The Cheapest-Link Algorithm 88

The Cheapest-Link Algorithm 89

The Cheapest-Link Algorithm 90

The Traveling Salesman Problem Conclusion 91  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.