Chapter 7 * 7.13 Assignment Problem

Chapter 7 * 7.13 Assignment Problem

* 7.13 Assignment Problem Chapter 7 Network Flow Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved. 1 Assignment Problem Applications Assignment problem. Natural applications. Input: weighted, complete bipartite graph G = (L ∪ R, E) Match jobs to machines. with |L| = |R|. Match personnel to tasks. Goal: find a perfect matching of min weight. Match PU students to writing seminars. Non-obvious applications. 1' 2' 3' 4' 5' Vehicle routing. 1 3 8 9 15 10 Min cost perfect matching Signal processing. Virtual output queueing. 2 4 10 7 16 14 M = { 1-2', 2-3', 3-5', 4-1', 5-4' } Multiple object tracking. 3 9 13 11 19 10 cost(M) = 8 + 7 + 10 + 8 + 11 = 44 Approximate string matching. 4 8 13 12 20 13 Enhance accuracy of solving linear systems of equations. 5 1 7 5 11 9 3 4 Bipartite Matching Alternating Path Bipartite matching. Can solve via reduction to max flow. Alternating path. Alternating sequence of unmatched and matched edges, from unmatched node x ∈ X to unmatched node y ∈ Y. Flow. During Ford-Fulkerson, all capacities and flows are 0/1. Flow corresponds to edges in a matching M. 1 Residual graph GM simplifies to: 1 1 y y y If (x, y) ∉ M, then (x, y) is in GM. s t If (x, y) ∈ M, the (y, x) is in GM. X Y Augmenting path simplifies to: x x x Edge from s to an unmatched node x ∈ X. Alternating sequence of unmatched and matched edges. matching M alternating path matching M' Edge from unmatched node y ∈ Y to t. 5 6 Assignment Problem: Successive Shortest Path Algorithm Finding The Shortest Alternating Path Cost of an alternating path. Pay c(x, y) to match x-y; receive c(x, y) to Shortest alternating path. Corresponds to shortest s-t path in GM. unmatch x-y. 1 10 1' 10 1 1' 0 -6 6 cost(2 - 1') = 7 s t cost(2 - 2'- 1 - 1') = 2 - 6 + 10 = 6 0 7 7 2 2 2' 2 2 2' Concern. Edge costs can be negative. Shortest alternating path. Alternating path from any unmatched node x ∈ X to any unmatched node y ∈ Y with smallest cost. Fact. If always choose shortest alternating path, then GM contains no negative cycles ⇒ compute using Bellman-Ford. Successive shortest path algorithm. Start with empty matching. Our plan. Use duality to avoid negative edge costs (and negative cost Repeatedly augment along a shortest alternating path. cycles) ⇒ compute using Dijkstra. 7 8 Equivalent Assignment Problem Equivalent Assignment Problem Duality intuition. Adding (or subtracting) a constant to every entry in Duality intuition. Adding p(x) to row x and subtracting p(y) from row y row x or column y does not change the min cost perfect matching(s). does not change the min cost perfect matching(s). c(x, y) cp(x, y) c(x, y) cp(x, y) 3 8 9 15 10 3 8 9 4 10 3 8 9 15 10 5 0 0 3 1 2 4 10 7 16 14 subtract 11 from 4 10 7 2 14 4 10 7 16 14 4 0 1 0 1 5 column 4 9 13 11 19 10 9 13 11 8 10 9 13 11 19 10 3 4 3 3 3 0 8 13 12 20 13 8 13 12 9 13 8 13 12 20 13 0 0 0 1 1 0 1 7 5 11 9 1 7 5 0 9 1 7 5 11 9 8 1 2 2 0 4 11 8 13 11 19 13 9 + 8 - 13 9 10 Reduced Costs Compatible Prices Reduced costs. For x ∈ X, y ∈ Y, define cp(x, y) = p(x) + c(x, y) - p(y). Compatible prices. For each node v, maintain prices p(v) such that: p (i) c (x, y) ≥ 0 for for all (x, y) ∉ M. p Observation 1. Finding a min cost perfect matching with reduced costs (ii) c (x, y) = 0 for for all (x, y) ∈ M. is equivalent to finding a min cost perfect matching with original costs. Observation 2. If p are compatible prices for a perfect matching M, then M is a min cost perfect matching. c(x, y) cp(x, y) c(x, y) cp(x, y) 3 8 9 15 10 5 0 0 3 1 2 3 8 9 15 10 5 0 0 3 1 2 4 10 7 16 14 4 0 1 0 1 5 4 10 7 16 14 4 0 1 0 1 5 9 13 11 19 10 3 4 3 3 3 0 9 13 11 19 10 3 4 3 3 3 0 8 13 12 20 13 0 0 0 1 1 0 8 13 12 20 13 0 0 0 1 1 0 1 7 5 11 9 8 1 2 2 0 4 1 7 5 11 9 8 1 2 2 0 4 8 13 11 19 13 8 13 11 19 13 9 + 8 - 13 cost(M) = Σ(x, y) ∈ M c(x, y) = (8+7+10+8+11) = 44 cost(M) = Σy ∈Y p(y) − Σx ∈X p(x) = (8+13+11+19+13) - (5+4+3+0+8) = 44 11 12 Successive Shortest Path Algorithm Maintaining Compatible Prices Successive shortest path. Lemma 1. Let p be compatible prices for matching M. Let d be p shortest path distances in GM with costs c . All edges (x, y) on shortest path have cp+d(x, y) = 0. forward or reverse edges Successive-Shortest-Path(X, Y, c) { Pf. Let (x, y) be some edge on shortest path. M ← φ p foreach x ∈ X: p(x) ← 0 p is compatible If (x, y) ∈ M, then (y, x) on shortest path and d(x) = d(y) - c (x, y). with M = φ p foreach y ∈ Y: p(y) ← min e into y c(e) If (x, y) ∉ M, then (x, y) on shortest path and d(y) = d(x) + c (x, y). p In either case, d(x) + c (x, y) - d(y) = 0. while (M is not a perfect matching) { p Compute shortest path distances d By definition, c (x, y) = p(x) + c(x, y) - p(y). p p P ← shortest alternating path using costs c Substituting for c (x, y) yields: M ← updated matching after augmenting along P (p(x) + d(x)) + c(x, y) - (p(y) + d(y)) = 0. foreach v ∈ X ∪ Y: p(v) ← p(v) + d(v) p+d } In other words, c (x, y) = 0. ▪ return M } Reduced costs: cp(x, y) = p(x) + c(x, y) - p(y). 13 14 Maintaining Compatible Prices Maintaining Compatible Prices Lemma 2. Let p be compatible prices for matching M. Let d be Lemma 3. Let M' be matching obtained by augmenting along a min cost p p+d shortest path distances in GM with costs c . Then p' = p + d are also path with respect to c . Then p' = p + d is compatible with M'. compatible prices for M. Pf. Pf. (x, y) ∈ M By Lemma 2, the prices p + d are compatible for M. (y, x) is the only edge entering x in GM. Thus, (y, x) on shortest path. Since we augment along a min cost path, the only edges (x, y) that p+d By Lemma 1, c (x, y) = 0. swap into or out of the matching are on the shortest path. p+d By Lemma 1, these edges satisfy c (x, y) = 0. Pf. (x, y) ∉ M Thus, compatibility is maintained. ▪ p (x, y) is an edge in GM ⇒ d(y) ≤ d(x) + c (x, y). p Substituting c (x, y) = p(x) + c(x, y) - p(y) ≥ 0 yields (p(x) + d(x)) + c(x, y) - (p(y) + d(y)) ≥ 0. p+d In other words, c (x, y) ≥ 0. ▪ Compatible prices. For each node v: Compatible prices. For each node v: (i) cp(x, y) ≥ 0 for for all (x, y) ∉ M. (i) cp(x, y) ≥ 0 for for all (x, y) ∉ M. (ii) cp(x, y) = 0 for for all (x, y) ∈ M. (ii) cp(x, y) = 0 for for all (x, y) ∈ M. 15 16 Successive Shortest Path: Analysis Weighted Bipartite Matching Invariant. The algorithm maintains a matching M and compatible prices Weighted bipartite matching. Given weighted bipartite graph, find p. maximum cardinality matching of minimum weight. m edges, n nodes Pf. Follows from Lemmas 2 and 3 and initial choice of prices. ▪ Successive shortest path algorithm. O(mn log n) time using heap-based Theorem. The algorithm returns a min cost perfect matching. version of Dijkstra's algorithm. Pf. Upon termination M is a perfect matching, and p are compatible prices. Optimality follows from Observation 2. ▪ Best known bounds. O(mn1/2) deterministic; O(n2.376) randomized. Theorem. The algorithm can be implemented in O(n3) time. Planar weighted bipartite matching. O(n3/2 log5 n). Pf. Each iteration increases the cardinality of M by 1 ⇒ n iterations. Bottleneck operation is computing shortest path distances d. Since all costs are nonnegative, each iteration takes O(n2) time using (dense) Dijkstra. ▪ 17 18 Input-Queued Switching Input Queued Switching Input-queued switch. n inputs and n outputs in an n-by-n crossbar layout. At most one cell can depart an input at a time. At most one cell can arrive at an output at a time. Cell arrives at input x and must be routed to output y. x1 inputs x2 x3 y1 y2 y3 outputs 20 Input-Queued Switching Input-Queued Switching FIFO queueing.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    6 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us