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

Slides:



Advertisements
Similar presentations
Lecture 5: Network Flow Algorithms Max-Flow Min-Cut Single-Source Shortest-Path (SSSP) Job Sequencing.
Advertisements

1 LP Duality Lecture 13: Feb Min-Max Theorems In bipartite graph, Maximum matching = Minimum Vertex Cover In every graph, Maximum Flow = Minimum.
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.
Introduction to Algorithms
ENGM 732 Formalization of Network Flows Network Flow Models.
An Application of Maximum Flow: The Baseball Elimination Problem
Network Optimization Models: Maximum Flow Problems
MAXIMUM FLOW Max-Flow Min-Cut Theorem (Ford Fukerson’s Algorithm)
1 Augmenting Path Algorithm s t G: Flow value = 0 0 flow capacity.
1 Chapter 7 Network Flow Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
1 Chapter 7 Network Flow Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
Chapter 7 Maximum Flows: Polynomial Algorithms
1 COMMONWEALTH OF AUSTRALIA Copyright Regulations 1969 WARNING This material has been reproduced and communicated to you by or on behalf.
In this handout, Maximum flow problem Minimum cut An application of max flow problem: Baseball Elimination Problem.
Applications of Maximum Flow and Minimum Cut Problems In this handout Transshipment problem Assignment Problem.
Duality Lecture 10: Feb 9. Min-Max theorems In bipartite graph, Maximum matching = Minimum Vertex Cover In every graph, Maximum Flow = Minimum Cut Both.
Maximum Flow and Minimum Cut Problems In this handout: Good choices for augmenting paths Duality theory Upper bounds for maximum flow value Minimum Cut.
1 Augmenting Path Algorithm s t G: Flow value = 0 0 flow capacity.
Network Optimization Models: Maximum Flow Problems In this handout: The problem statement Solving by linear programming Augmenting path algorithm.
Linear Programming – Max Flow – Min Cut Orgad Keller.
1 1 Slide © 2000 South-Western College Publishing/ITP Slides Prepared by JOHN LOUCKS.
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.
Max-flow/min-cut theorem Theorem: For each network with one source and one sink, the maximum flow from the source to the destination is equal to the minimal.
Introduction to Operations Research
Duality Theory 對偶理論.
Mathematical Modeling and Optimization: Summary of “Big Ideas”
Lecture 5: Network Flow Algorithms Single-Source Shortest-Path (SSSP) (Dijkstra's Algorithm) Max Flow - Min Cut (Ford-Fulkerson) Job Sequencing.
1 CPSC 320: Intermediate Algorithm Design and Analysis July 11, 2014.
1 COMMONWEALTH OF AUSTRALIA Copyright Regulations 1969 WARNING This material has been reproduced and communicated to you by or on behalf.
1 1 © 2003 Thomson  /South-Western Slide Slides Prepared by JOHN S. LOUCKS St. Edward’s University.
CS 4407, Algorithms University College Cork, Gregory M. Provan Network Optimization Models: Maximum Flow Problems In this handout: The problem statement.
10. Lecture WS 2006/07Bioinformatics III1 V10: Network Flows V10 follows closely chapter 12.1 in on „Flows and Cuts in Networks and Chapter 12.2 on “Solving.
Max Flow – Min Cut Problem. Directed Graph Applications Shortest Path Problem (Shortest path from one point to another) Max Flow problems (Maximum material.
1 Network Models Transportation Problem (TP) Distributing any commodity from any group of supply centers, called sources, to any group of receiving.
Maximum Flow Problem (Thanks to Jim Orlin & MIT OCW)
& 6.855J & ESD.78J Algorithm Visualization The Ford-Fulkerson Augmenting Path Algorithm for the Maximum Flow Problem.
The Ford-Fulkerson Augmenting Path Algorithm for the Maximum Flow Problem Thanks to Jim Orlin & MIT OCW.
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.
CSCI-256 Data Structures & Algorithm Analysis Lecture Note: Some slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved. 25.
Chapter 8 Maximum Flows: Additional Topics All-Pairs Minimum Value Cut Problem  Given an undirected network G, find minimum value cut for all.
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.
10/11/10 A. Smith; based on slides by E. Demaine, C. Leiserson, S. Raskhodnikova, K. Wayne Adam Smith Algorithm Design and Analysis L ECTURE 21 Network.
CSCI 256 Data Structures and Algorithm Analysis Lecture 20 Some slides by Kevin Wayne copyright 2005, Pearson Addison Wesley all rights reserved, and some.
1 CPSC 320: Intermediate Algorithm Design and Analysis July 14, 2014.
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)
Cycle Canceling Algorithm
Max-flow, Min-cut Network flow.
Finding a Path With Largest Smallest Edge
CSCI 3160 Design and Analysis of Algorithms Tutorial 8
Maximum Flow Solutions
Max-flow, Min-cut Network flow.
Network Flow 2016/04/12.
Instructor: Shengyu Zhang
The Shortest Augmenting Path Algorithm for the Maximum Flow Problem
Chapter 7 Network Flow Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
Introduction to Maximum Flows
Lecture 19-Problem Solving 4 Incremental Method
Not Always Feasible 2 (3,5) 1 s (0,2) 3 (, u) t.
Augmenting Path Algorithm
The Shortest Augmenting Path Algorithm for the Maximum Flow Problem
The Shortest Augmenting Path Algorithm for the Maximum Flow Problem
The Ford-Fulkerson Algorithm
Augmenting Path Algorithm
Introduction to Maximum Flows
Introduction to Maximum Flows
Not Always Feasible 2 (3,5) 1 s (0,2) 3 (, u) t.
Maximum Flow Problems in 2005.
EMIS The Maximum Flow Problem: Flows and Cuts Updated 6 March 2008
Presentation transcript:

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

Primal and Dual Problems in Optimization For many optimization problems, there is a dual problem associated with the primal (original) problem. The relationship between the primal and dual problems prove to be extremely useful in a variety of ways. Particularly, it helps to find efficient algorithms for solving the primal problem; provides arguments for proving the optimality (or close-to- optimality) of a primal solution. Next we will discuss the dual of Maximum Flow Problem, known as Minimum Cut Problem.

Upper bounds for maximum flow value Recall our example. Can we give upper bounds on the maximum flow value before finding any augmenting paths? One possible upper bound is the total capacity of the arcs leaving the source: Another upper bound is the total capacity of the arcs entering the sink: Note that this upper bound is equal to the maximum flow value. Thus, we could recognize that the algorithm output is optimal simply by comparing the flow value with the upper bound O A D B C T

Upper bounds for maximum flow value Consider another example given by the network below. After solving the problem by the augmenting path algorithm (see blackboard), we get the following optimal residual network with maximum flow value equal to O A D B C T O A D B C T

Upper bounds for maximum flow value Upper bounds for this problem: Both of these upper bounds are strictly greater than the maximum flow value. Can we get a tighter (smaller) upper bound? Consider the set of directed arcs going from node set {O,A} to its complement node set {B,C,D,T}: Cut = { A C, O B}. Any flow from node O to node T should go through the arcs of Cut. Thus, Maximum flow Capacity(Cut) = 2+3 = 5. 5 is the best upper bound which is equal to the maximum flow value O A D B C T

Generalizing the Concept of Cut Let S be a subset of V such that O S and T S. Then the set of the arcs going from S to V-S is called a cut. S is called the O-side of the cut, and V-S is the T-side of the cut. E.g., Cut1={ A C, B C, B D} with O-side={O,A,B} and T-side={C,D,T}. Cut2={ O A, O B} with O-side={O} and T-side={A,B,C,D,T}. In other words, a cut may be defined as a set of directed arcs such that if we remove the arcs of the cut, no directed path from the source to the sink will be left O A D B C T Cut1 Cut2

Cut Capacities and Weak Duality Capacity of a cut is the total capacity of the arcs forming the cut. E.g., cap(Cut1) = = 8, cap(Cut2) = 8+3 = 11. Note: The arcs going from T-side to O-side dont count in the cut. E.g., the cut defined by O-side={O,A,C} doesnt include arc B C : Cut3 = { O B, C T} with cap(Cut3) = 3+4 = 7. Weak duality property: Maximum flow value capacity of any cut, i.e., capacity of any cut is an upper bound on the maximum flow. E.g., cap(Cut3) = 7 > 5 = max flow value O A D B C T Cut1 Cut2 Cut3

Proving the correctness of augmenting path algorithm Using the relationship between flows and cuts, we prove below that the output of Augmenting Path Algorithm is really an optimal flow. Consider the optimal residual network of our example. Let S be the set of those nodes which are reachable from the source via augmenting paths: S={O, A}. Consider the cut that has S as its O-side: Cut = { A C, O B }. All the arcs of this cut are used up to capacity. Thus, the current flow = capacity of this cut. Hence the current flow is optimal (maximum) O A D B C T

Minimum Cut and Strong Duality The cut considered in the previous slide has the minimum possible capacity. Call it minimum cut. Summary of the procedure for finding minimum cut: –Apply the Augmenting Path Algorithm to find an optimal residual network; –Find the set S of the nodes which are reachable from O via augmenting paths; –The cut that has S as O-side is a minimum cut. Based on the arguments of the previous slide, we have Strong Duality Property: Maximum flow value = Capacity of minimum cut O A D B C T

Minimum Cuts Why do we care about minimum cuts? Minimum cuts provide an intuitive argument for proving that our current flow is maximum. There are many applications where we need to find not a maximum flow but a minimum cut. Note that the maximum-flow-based procedure of the previous slide is the best way to find a minimum cut. The number of cuts in a network is exponential on the problem size; thus, finding a minimum cut by enumerating all the cuts is not efficient. Next time: Applications of Maximum Flow and Minimum Cut Problems