Download presentation
Presentation is loading. Please wait.
Published byGilles Léger Modified over 5 years ago
1
EMIS 8374 The Maximum Flow Problem: Flows and Cuts Updated 6 March 2008
2
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
3
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
4
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.
5
LP Formulation of Max Flow
6
Max Flow Example 2 4 1 6 3 5 (0,2) (0,5) (0,4) (0,4) t s (0,6) (0,7)
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
8
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.
9
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
10
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
11
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
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 Implications x12 + x56 – x25 = v v ≤ u[S, T] = 12
13
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.
14
Flow Across a Generic s-t Cut
15
Max Flow Example 2 2 5 4 1 4 s 2 t 6 5 3
16
Max Flow Example 2: LP
17
Max Flow Example 2: Flow Balance Constraints
1 4 3
18
Max Flow Example 2: LP Dual
19
Max Flow Example 2: LP Dual
20
Max Flow Example 2: LP Dual
21
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 = = 11 Let y4 = 1 and yi = 0 for i in {1, 2, 3} z24 = z34 = 1 z12 = z13 = z23 = 0 Objective function value = = 9
22
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 = = 12 Let y1 = y3 = 0 and y2 = y4 = 1 z12 = z34 = 1 z13 = z23 = z24 = 0 Objective function value = = 10
23
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
24
LP Dual of the Max Flow Problem
25
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
26
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)
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.