EMIS The Maximum Flow Problem: Flows and Cuts Updated 6 March 2008

Slides:



Advertisements
Similar presentations
Maximum Flow and Minimum Cut Problems In this handout: Duality theory Upper bounds for maximum flow value Minimum Cut Problem Relationship between Maximum.
Advertisements

Outline LP formulation of minimal cost flow problem
Solving IPs – Cutting Plane Algorithm General Idea: Begin by solving the LP relaxation of the IP problem. If the LP relaxation results in an integer solution,
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.
EMIS 8374 Vertex Connectivity Updated 20 March 2008.
Chapter 6 Maximum Flow Problems Flows and Cuts Augmenting Path Algorithm.
Network Optimization Models: Maximum Flow Problems
1 Maximum Flow Networks Suppose G = (V, E) is a directed network. Each edge (i,j) in E has an associated ‘capacity’ u ij. Goal: Determine the maximum amount.
Chapter 7 Maximum Flows: Polynomial Algorithms
Network Optimization Models: Maximum Flow Problems In this handout: The problem statement Solving by linear programming Augmenting path algorithm.
Routing algorithms, all distinct routes, ksp, max-flow, and network flow LPs W. D. Grover TRLabs & University of Alberta © Wayne D. Grover 2002, 2003 E.
A network is shown, with a flow f. v u 6,2 2,2 4,1 5,3 2,1 3,2 5,1 4,1 3,3 Is f a maximum flow? (a) Yes (b) No (c) I have absolutely no idea a b c d.
Network Flow & Linear Programming Jeff Edmonds York University Adapted from NetworkFlow.ppt.
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.
Section 2.9 Maximum Flow Problems Minimum Cost Network Flows Shortest Path Problems.
EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.
Kramer’s (a.k.a Cramer’s) Rule Component j of x = A -1 b is Form B j by replacing column j of A with b.
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.
1 1 © 2003 Thomson  /South-Western Slide Slides Prepared by JOHN S. LOUCKS St. Edward’s University.
11.5 Implicit Partitioning/Packing Problems  Given M = {1, …, m}, K implicitly described sets of feasible subsets of M. Find a maximum value packing or.
Max Flow – Min Cut Problem. Directed Graph Applications Shortest Path Problem (Shortest path from one point to another) Max Flow problems (Maximum material.
Maximum Flow Problem (Thanks to Jim Orlin & MIT OCW)
EMIS 8374 Network Flow Models updated 29 January 2008.
Network Optimization Network optimization models: Special cases of linear programming models Important to identify problems that can be modeled as networks.
15.082J & 6.855J & ESD.78J October 7, 2010 Introduction to Maximum Flows.
15.082J and 6.855J March 4, 2003 Introduction to Maximum Flows.
EMIS 8373: Integer Programming Column Generation updated 12 April 2005.
Problems in Combinatorial Optimization. Linear Programming.
Approximation Algorithms Duality My T. UF.
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 Maximum Flows CONTENTS Introduction to Maximum Flows (Section 6.1) Introduction to Minimum Cuts (Section 6.1) Applications of Maximum Flows (Section.
Max Flow Application: Precedence Relations
Part 3 Linear Programming
St. Edward’s University
Maximum Flow c v 3/3 4/6 1/1 4/7 t s 3/3 w 1/9 3/5 1/1 3/5 u z 2/2
The minimum cost flow problem
ENGM 535 Optimization Networks
EMIS 8373: Integer Programming
Lecture 5 – Integration of Network Flow Programming Models
Lecture 5 – Integration of Network Flow Programming Models
Maximum Flow Solutions
Part 3 Linear Programming
Maximum Flow c v 3/3 4/6 1/1 4/7 t s 3/3 w 1/9 3/5 1/1 3/5 u z 2/2
Introduction to Maximum Flows
Introduction Basic formulations Applications
1.206J/16.77J/ESD.215J Airline Schedule Planning
EMIS 8374 Arc-Path Formulation Updated 2 April 2008
Vertex Covers, Matchings, and Independent Sets
Not Always Feasible 2 (3,5) 1 s (0,2) 3 (, u) t.
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
Advanced LP models column generation.
Maximum Flow c v 3/3 4/6 1/1 4/7 t s 3/3 w 1/9 3/5 1/1 3/5 u z 2/2
Minimum Cost Network Flow Problems
Advanced LP models column generation.
Network Flow.
EMIS 8374 Maximum Concurrent Flow Updated 3 April 2008
Part 3 Linear Programming
Network Flow.
Kramer’s (a.k.a Cramer’s) Rule
Not Always Feasible 2 (3,5) 1 s (0,2) 3 (, u) t.
Network Optimization Models: Maximum Flow Problems
A feasible solution for problem 2.
Network Flow Problems – Maximal Flow Problems
Maximum Flow Problems in 2005.
“Easy” Integer Programming Problems: Network Flow Problems
EMIS 8374 Max-Flow in Undirected Networks Updated 18 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,
Lecture 12 Network Models.
Presentation transcript:

EMIS 8374 The Maximum Flow Problem: Flows and Cuts Updated 6 March 2008

The Maximum Flow Problem Defined on a network with Source node s Sink node t All other nodes are transshipment nodes Arcs have capacities, but no costs Maximize the total flow from s to t

Assumptions The network is directed All capacities are non-negative integers The network does not contain an infinite-capacity path from s to t If (i, j) is in A, then (j, i) is also in A

Assumption 4 If we wish to solve a max flow problem on a network where (i, j) is in A, but (j, i) is not, then we set the capacity of (j, i) to zero. Arcs with capacity zero will generally not be shown in our examples.

LP Formulation of Max Flow

Max Flow Example 2 4 1 6 3 5 (0,2) (0,5) (0,4) (0,4) t s (0,6) (0,7)

Max Flow Solution (flow,cap) (2,2) 2 4 (2,4) (4,5) 1 (2,4) 6 s t (7,7) (5,6) (5,5) 3 5 v = 9

s-t Cuts An s-t cut is a partition of the nodes into disjoint sets S and T such that s is in S and t is in T. An arc (i, j) with i in S and j in T is called a forward arc An arc (i, j) with i in T and j in S is called a backwards arc The set of forward arcs in an s-t cut is denoted by [S, T] The capacity of an s-t cut, denoted by u[S, T], is the sum of the capacities of the forward arcs Removing the forward arcs of an s-t cut from G eliminates all directed paths from the source to the sink.

Cut 1: S={1}, T={2,3,4,5,6} 2 4 1 6 3 5 (0,2) (0,5) (0,4) (0,4) t s (0,6) (0,7) (0,5) 3 5 u[S, T] = 11

Cut 2: S={1,3,5}, T={2,4,6} 2 4 1 6 3 5 (0,2) (0,5) (0,4) (0,4) t s (0,6) (0,7) (0,5) 3 5 u[S, T] = 12

Cut 3: S={1,2,3,5}, T={4,6} 2 4 1 6 3 5 (0,2) (0,5) (0,4) (0,4) t s (0,6) (0,7) (0,5) 3 5 u[S, T] = 9

Flow Across Cut 2 S = {1, 3, 5}, T = {2, 4, 6} Flow balance constraints for nodes in S Node 1: x12 + x13 = v Node 3: x35 – x13 = 0 Node 5: x56 – x25 – x35= 0 Implications x12 + x56 – x25 = v v ≤ u[S, T] = 12

Flow Across Cut 2 S = {1, 3, 5}, T = {2, 4, 6} Flow balance constraints for nodes in S Node 1: x12 + x13 = v Node 3: x35 – x13 = 0 Node 5: x56 – x25 – x35= 0 Implication: x12 + x56 – x25 = v v = x[S, T] - x[T, S] where x[S, T] and x[S, T] denote the total flow on the forward and backward arcs, respectively.

Flow Across a Generic s-t Cut

Max Flow Example 2 2 5 4 1 4 s 2 t 6 5 3

Max Flow Example 2: LP

Max Flow Example 2: Flow Balance Constraints 1 4 3

Max Flow Example 2: LP Dual

Max Flow Example 2: LP Dual

Max Flow Example 2: LP Dual

Max Flow Example 2: LP Dual Solutions Let y1 = 0 and yi = 1 for i in {2, 3, 4} z12 = z13 = 1 z23 = z24 = z34 = 0 Objective function value = 5 + 6 = 11 Let y4 = 1 and yi = 0 for i in {1, 2, 3} z24 = z34 = 1 z12 = z13 = z23 = 0 Objective function value = 4 + 5 = 9

Max Flow Example 2: LP Dual Solutions Let y1 = y2 = 0 and y3 = y4 = 1 z13 = z23 = z24 = 1 z12 = z34 = 0 Objective function value = 6 + 2 + 4 = 12 Let y1 = y3 = 0 and y2 = y4 = 1 z12 = z34 = 1 z13 = z23 = z24 = 0 Objective function value = 5 + 5 = 10

Max Flow Example 2: LP Dual Solutions Let y1 = 0, and y2 = y3 = 0.5, and y4 = 1 z12 = z13 = z24 = z34 = 1 z23 = 0 Objective function value = 10 For every s-t cut there is a corresponding dual solution, but not every dual solution corresponds to an s-t cut

LP Dual of the Max Flow Problem

s-t Cut Solutions to Dual of Max Flow LP Given any s-t Cut in G a feasible solution to the dual with objective function value u[S, T] can be obtained by letting yi = 0 if i is in S and yi = 1 if i is in T yt – ys = 1 – 0 = 1 If arc (i, j) is a forward arc in the cut, yj – yi = 1 which forces zij = 1 zij = 0 for all other arcs The objective function value is the capacity of the cut

Property 6.1 For any maximum flow problem the value of any feasible flow is less than or equal to the capacity of any s-t cut the value of the maximum flow is less than or equal to the capacity of a minimum-capacity cut (i.e., a minimum cut)