Download presentation
Presentation is loading. Please wait.
Published byLionel Perkins Modified over 9 years ago
1
Management Science 461 Lecture 9 – Arc Routing November 18, 2008
2
Changing Focus We always assume demand and service is at the nodes … But what if they’re along the edges? What if the edges are more important than the nodes?
3
Arc Routing Is it more important to visit every intersection, or cover every street? What applications can you think of where arcs are more important than nodes? What are the challenges of efficiently visiting each arc in a network?
4
Postman Problem Formerly the Chinese Postman Problem, also called Route Inspection Problem Given a network with nodes and arcs, find the shortest-distance route that traverses all arcs at least once Don’t care which nodes to visit (or how often) Ideally, every arc is visited once (lower bound) – is this always possible?
5
Graph Representation Directed (arcs) Non-Directed (edges) a/k/a bidirectional Mixed (arcs and edges) A E D C BA E D C BA E D C B
6
Remember This? Try to draw the following without lifting your pen from the paper or re-drawing any segments
7
The Königsberg Bridges A B C D A BC D Euler, L. (1736), “Solutio problematis ad geometriam situs pertinentis,” Commentarii Academiae Scientiarum Imperialis Petropolitanae 8 128-140
8
Euler’s answer Calculate the degree of each node If all node degrees are even, we can complete a tour without retracing our steps If all but two are even, can start at one odd node, finish at the other (semi-Eulerian) Otherwise, we have deadheading A BC D 3 3 3 5
9
Formal Definition A graph is Eulerian or unicursal if: Undirected graph: graph is connected, all node degrees are even Directed graph: strongly connected, degree- in equals degree-out for each node
10
Formal Definition Mixed graph (combo of dir/undir) “Every node must be incident to an even number of directed and undirected arcs. Moreover, for every subset S of all nodes V, the difference between the number of directed arcs from subset (V minus S) to subset S must be less or equal to the number of undirected arcs joining S and V minus S.” Eiselt et al (1995), “Arc Routing Problems, Part I: The Chinese Postman Problem,” Operations Research 43(2) 231-242.
11
The Postman Problem What if the graph isn’t Eulerian? Connecting two nodes of odd degree makes them even There are an even number of odd-degree nodes in any graph Algorithms to solve the Postman Problem revolve around “matching” odd-degree nodes with minimal cost
12
Non-Eulerian Graphs Guan’s algorithm (1962) Identify all odd-degree nodes Find shortest paths between each pair Select pairing of minimum cost Augment the graph, solve Eulerian tour 3 3 12 4 3 65 798 31 24 53 4 3 1 1 3 6
13
Non-Eulerian Graphs Identify odd degree nodes. 3 3 12 4 3 65 798 31 24 53 4 3 1 1 3 6
14
Non-Eulerian Graphs 3 3 12 4 3 65 798 31 24 53 4 3 1 1 3 6 Pair nodes through their shortest path in the graph. Select minimum cost pair assignment. Possible pairs: 2-4 and 6-8 (3+5 = 8) 2-6 and 4-8 (4+3 = 7) 2-8 and 4-6 (2+6 = 8)
15
Non-Eulerian Graphs Augment the graph to make it Eulerian (check node degree). Each new arc effectively means we’reretracing our steps Now that graph is Eulerian, we apply end-pairing to find the solution Challenge: the matching problem is difficult and increases exponentially, making this a “hard” problem to solve. 3 3 12 4 3 65 798 31 24 53 4 3 1 1 3 6
16
End-Pairing Algorithm Hierholzer (1873) Step 1: Trace simple tour. If all edges have been included, stop. Step 2: Find a node v on the tour that’s connected to a node not on the tour. Form a second tour from v (do not overlap first tour) Step 3: Merge both tours at the node v. If all edges have been traversed, stop. Otherwise go to Step 2.
17
End-Pairing Algorithm Example 12 345 76
18
End-Pairing Algorithm Example 12 345 76 Step 1: 1-2-4-1
19
End-Pairing Algorithm Example 12 345 76 Step 1: 1-2-4-1 Step 2: v = 2 Path: 2-3-4-6-5-2 Combine them 1-2-3-4-6-5-2-4-1
20
End-Pairing Algorithm 12 345 76 Step 1: 1-2-4-1 Step 2: v = 2 Path: 2-3-4-6-5-2 Combine them 1-2-3-4-6-5-2-4-1 Step 2: v = 6 Path: 6-5-7-6 Combine them 1-2-3-4-6-5-7-6-5-2-4-1 All edges visited. Stop.
21
Rural Postman Problem Only a subset of the edges is mandatory Proven to be NP-Hard (Orloff, 1974) Technique: turn it into a postman problem and solve Frederickson heuristic (1979): uses Min Spanning Tree as a sub-problem. Sol’ns within 3% of optimal
22
Rural Postman Problem 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 5 2 2 2 2 2 2 2 2 2 2 2 2 3 5 2 3 4 6 8 4 Frederickson heuristic: 1. Find a minimum spanning tree (T) to connect the components of the graph 2. Augment graph 3. Apply end-pairing
23
Minimum Spanning Tree (MST) Simple algorithm (Kruskal) Find the cheapest edge that doesn’t make a cycle Repeat until all nodes are connected 4 8 5 6 7 7 6 6 4 5 7 4 5 3 3 3 2 STOP!
24
Minimum Spanning Tree (MST) Provably optimal Solvable in polynomial time Value of this MST: 31 4 5 6 4 4 3 3 2
25
Rural Postman Problem 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 5 2 2 2 2 2 2 2 2 2 2 2 2 3 5 2 3 4 6 8 4 Frederickson algorithm (1979) Determine MST connecting connected components (T).
26
2 2 2 2 2 2 2 2 2 2 2 2 567 8910 111213 4 4 4 4 1 5 2 34 2 2 2 2 2 2 2 2 2 2 2 2 141516 171819 202122 2 3 Now the graph is connected… we need to: A)Make Eulerian B)Find Tour
27
2 2 2 2 2 2 2 2 2 2 2 2 567 8910 111213 4 4 4 4 1 5 2 34 2 2 2 2 2 2 2 2 2 2 2 2 141516 171819 202122 2 3 Identify all nodes of odd degree (there are an even number of them)
28
2 2 2 2 2 2 2 2 2 2 2 2 567 8910 111213 4 4 4 4 1 5 2 34 2 2 2 2 2 2 2 2 2 2 2 2 141516 171819 202122 2 3 Next we find shortest paths between each pair of odd-degree nodes. We use the shortest paths to find the minimum-cost matching: match nodes to minimize total cost of the distances between them (see Excel)
29
2 2 2 2 2 2 2 2 2 2 2 2 567 8910 111213 4 4 4 4 1 5 2 34 2 2 2 2 2 2 2 2 2 2 2 2 141516 171819 202122 2 3
30
Rural Postman Problem The final graph is Eulerian. Apply end-pairing algorithm. 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 5 2 2 2 2 2 2 2 2 2 2 2 2 2 3
31
Review For any arc-routing problem (bidirectional) Step 1. If graph unconnected, connect it (min spanning tree). Step 2. If graph is non-Eulerian, make it Eulerian (find minimum matching using shortest paths, duplicate arcs). Step 3. Apply end-pairing algorithm to find the tour.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.