Max Flow Application: Precedence Relations

Slides:



Advertisements
Similar presentations
Algorithm Design Methods Spring 2007 CSE, POSTECH.
Advertisements

Max Flow Min Cut. Theorem The maximum value of an st-flow in a digraph equals the minimum capacity of an st-cut. Theorem If every arc has integer capacity,
Outline LP formulation of minimal cost flow problem
1 Material to Cover  relationship between different types of models  incorrect to round real to integer variables  logical relationship: site selection.
Max Flow Problem Given network N=(V,A), two nodes s,t of V, and capacities on the arcs: uij is the capacity on arc (i,j). Find non-negative flow fij for.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
EMIS 8374 Vertex Connectivity Updated 20 March 2008.
Chapter 6 Maximum Flow Problems Flows and Cuts Augmenting Path Algorithm.
Parallel Scheduling of Complex DAGs under Uncertainty Grzegorz Malewicz.
Lecture 5 Set Packing Problems Set Partitioning Problems
MAXIMUM FLOW Max-Flow Min-Cut Theorem (Ford Fukerson’s Algorithm)
1 The Max Flow Problem. 2 Flow networks Flow networks are the problem instances of the max flow problem. A flow network is given by 1) a directed graph.
Modelling with Max Flow 1. 2 The Max Flow Problem.
Section 4.2 Network Flows By Christina Touhey. The flow out of a equals the flow into z. Algorithm 1.Make vertex a: (0, ). 2.Scan the first vertex and.
Optimisation Methods Network Models.
Network Optimization Models: Maximum Flow Problems In this handout: The problem statement Solving by linear programming Augmenting path algorithm.
Maximum Flows Lecture 4: Jan 19. Network transmission Given a directed graph G A source node s A sink node t Goal: To send as much information from s.
3/24/03Tucker, Section 4.31 Tucker, Applied Combinatorics, Sec. 4.3, prepared by Jo E-M Bipartite GraphMatching Some Definitions X-Matching Maximal Matching.
NetworkModel-1 Network Optimization Models. NetworkModel-2 Network Terminology A network consists of a set of nodes and arcs. The arcs may have some flow.
1 Lecture 4 Maximal Flow Problems Set Covering Problems.
Hungarian Algorithm Vida Movahedi Elderlab, York University June 2007.
Maximization of Network Survivability against Intelligent and Malicious Attacks (Cont’d) Presented by Erion Lin.
EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.
Chapter 1. Formulations 1. Integer Programming  Mixed Integer Optimization Problem (or (Linear) Mixed Integer Program, MIP) min c’x + d’y Ax +
Network Flow. Network flow formulation A network G = (V, E). Capacity c(u, v)  0 for edge (u, v). Assume c(u, v) = 0 if (u, v)  E. Source s and sink.
Maximum Flow Problem (Thanks to Jim Orlin & MIT OCW)
EMIS 8374 Network Flow Models updated 29 January 2008.
The Ford-Fulkerson Augmenting Path Algorithm for the Maximum Flow Problem Thanks to Jim Orlin & MIT OCW.
15.082J and 6.855J March 4, 2003 Introduction to Maximum Flows.
CSCI-256 Data Structures & Algorithm Analysis Lecture Note: Some slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved. 25.
Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,
and 6.855J March 6, 2003 Maximum Flows 2. 2 Network Reliability u Communication Network u What is the maximum number of arc disjoint paths from.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
ENGM 631 Maximum Flow Solutions. Maximum Flow Models (Flow, Capacity) (0,3) (2,2) (5,7) (0,8) (3,6) (6,8) (3,3) (4,4) (4,10)
1 Job Shop Scheduling. 2 Job shop environment: m machines, n jobs objective function Each job follows a predetermined route Routes are not necessarily.
1 Maximum Flows CONTENTS Introduction to Maximum Flows (Section 6.1) Introduction to Minimum Cuts (Section 6.1) Applications of Maximum Flows (Section.
Dilworth’s theorem and extremal set theory 張雁婷 國立交通大學應用數學系.
Max Flow Application: Precedence Relations
Max-flow, Min-cut Network flow.
Richard Anderson Lecture 23 Network Flow
Lecture 22 Network Flow, Part 2
Max Flow min Cut.
James B. Orlin Presented by Tal Kaminker
Maximum Flow Solutions
Max-flow, Min-cut Network flow.
3.3 Applications of Maximum Flow and Minimum Cut
The Shortest Augmenting Path Algorithm for the Maximum Flow Problem
Integer Programming (정수계획법)
Introduction to Maximum Flows
Vertex Covers, Matchings, and Independent Sets
Chapter 1. Formulations (BW)
Max Flow Min Cut, Bipartite Matching Yin Tat Lee
Primal-Dual Algorithm
Integer Programming (정수계획법)
Project Selection Bin Li 10/29/2008.
Max Flow Problem Given network N=(V,A), two nodes s,t of V, and capacities on the arcs: uij is the capacity on arc (i,j). Find non-negative flow fij for.
EE5900 Advanced Embedded System For Smart Infrastructure
and 6.855J March 6, 2003 Maximum Flows 2
Flow Feasibility Problems
The Shortest Augmenting Path Algorithm for the Maximum Flow Problem
The Shortest Augmenting Path Algorithm for the Maximum Flow Problem
Introduction to Maximum Flows
Lecture 22 Network Flow, Part 2
Introduction to Maximum Flows
Chapter 1. Formulations.
Maximum Flow Problems in 2005.
Vertex Covers and Matchings
EMIS 8374 Max-Flow in Undirected Networks Updated 18 March 2008
EMIS The Maximum Flow Problem: Flows and Cuts Updated 6 March 2008
The Residual Network Given a flow x, the residual capacity rij of arc (i, j) is the maximum additional flow that can be sent from i to j using arcs (i,
Presentation transcript:

Max Flow Application: Precedence Relations Updated 4/2/08

Precedence Relations Given a finite set of elements B we define a precedence relation as relation  between pairs of elements of S such that: i not  i for all i in B i  j implies j  i for all i, j in B i  j and j  k implies i  k for all i, j, k in B

Examples of Precedence Relations Let B be the set of integers. The < relation is a precedence relation on B. Let B be a set of jobs and let i  j mean that job j cannot start until job i is complete.

Network Representation of Precedence Relations a  e, a  f, d  e, d  c, d  b, f  c a e c d b

Minimum Chain Covering Problem A chain i1, i2, …, ik is a sequence of elements in B such that i1  i2  …  ik. The minimum chain covering problem is to find a minimum number of chains that collectively contain (cover) all the elements of B.

Example: Aircraft Scheduling Given a set of flight legs that must be serviced, determine the minimum number of planes required. Example Flight 1: SFO -> LAX Flight 2: LAX -> DFW Flight 3: OAK -> MSP Flight 4: LAX -> CVG

Aircraft Scheduling Example Four-Chain Solution: {{F1},{F2},{F3},{F4}} Three-Chain Solution: {{F1, F2},{F3},{F4}} Three-Chain Solution: {{F1, F4},{F2},{F3}} F1 F2 F3 F4

Max Flow Formulation of Minimum Chain Covering Problem a  e, a  f, d  e, d  c, d  b, f  c a e c d b

Max Flow Formulation  a a' 1 1 b b' 1 1 1 c c' 1 s t 1 1 d d' 1 1 e

Representing Chains with Flows If i  j and elements i and j are consecutive elements in the same chain, then let xsi = xij' = xj't = 1 If element i starts a chain, then let xi't = 0 If element i ends a chain, then let xsi = 0 If element i is itself a chain, then let xsi = xi't = 0 Example Covers 6 chains: {{a}, {b}, {c}, {d}, {e}, {f}} 4 chains: {{a, f, c}, {b}, {d}, {e}} 3 chains: {{a, f, c}, {b}, {d, e}}

Cover 1: Flow Representation a a' b b' c c' s t d d' e e' # chains = 6 v = 0 f f'

Cover 2: Flow Representation 1 b b' c c' 1 1 s t d d' e e' 1 1 1 # chains = 4 v = 2 f f'

Cover 3: Flow Representation 1 b b' c c' 1 1 s t 1 d d' 1 1 e e' 1 1 1 # chains = 3 v = 3 f f'

Finding Chains from a Feasible Flow Chose i' such that the flow from i' to t = 0. Let k = 1. chain[k] = i. If the flow from s to i = 0, then stop. {chain[1], chain[2], …, chain[k]} is a chain. If the flow from s to i = 1 then find the unique j' such that the flow from i to j' = 1. Let k = k+1, chain[k] = j. Let i = j. Go to step 2.

A Feasible Flow v = 2 a a' 1 b b' c c' 1 1 s t d d' e e' 1 1 1 f f'

Finding a Chain Step 1: i' = a', k = 1, chain[1] = a Step 2: xsa=1 Step 3: j' =f', k = 2, chain[2] = f, i = f Step 2: xsf = 1 Step 3: j' =c', k = 3, chain[3] = c, i = c Step 2: xsc = 0. Chain: a, f, c

Observation There is a one-to-one correspondence between feasible flows and chain coverings The number of chains in a cover plus the value of the flow is equal to the number of elements in the set Cover 1: 6 + 0 = 6 Cover 2: 4 + 2 = 6 Cover 3: 3 + 3 = 6 # chains + v = |B| # chains = |B| - v Since |B| is fixed, maximizing v minimizes the number of chains

Interpretation of Min Cuts Observe that S = {s, 1, 2, …, |B|}, T = N \{S} is a cut with finite capacity. Arcs of the form (i, j') cannot be in a minimum cut. If xsi = 0 in a maximum flow then Node i will be reachable from the source in the residual network Node j' will also be reachable from the source if i  j

Interpretation of Min Cuts Arcs of the form (s, i) and (i', t) each contribute 1 unit to u[S, T]. Minimizing u[S, T] is equivalent to finding the largest subset A of B such that i can be in S and i' can be in T for all i in A Since the capacity of a minimum cut is finite, it follows that the set of elements in A mutually incomparable

Maximum Flow v = 3 a a' 1 b b' c c' 1 1 s t 1 d d' 1 1 e e' 1 1 1 f f'

Residual Network  a a' 1 b b' c c' s t d d' e e' f f'

Residual Network  a a' 1 b b' c c' s t d d' e e' f f'

Residual Network  a a' 1 b b' c c' s t d d' e e' f f'

Residual Network  a a' 1 b b' c c' s t d d' e e' f f'

Mutually Incomparable Elements f f is not  e, e is not  f, e is not  b, b is not  e, f is not  b, b is not  b a e c b, e, and f form an anti-chain d b

Dilworth’s Theorem Given a set B and a precedence relation, the size of the largest anti-chain is equal to the size of the minimum chain covering Proof follows from the max-flow min-cut theorem