Network Flows. 4. Maximum Flows Problems. Fall 2010 Instructor: Dr. Masoud Yaghini

Similar documents
Graphs and Network Flows IE411. Lecture 12. Dr. Ted Ralphs

Chapter 7 Network Flow Problems, I

Network Flows. 7. Multicommodity Flows Problems. Fall 2010 Instructor: Dr. Masoud Yaghini

Part 4. Decomposition Algorithms

Maximum flow problem CE 377K. February 26, 2015

Energy minimization via graph-cuts

Network Flows. 6. Lagrangian Relaxation. Programming. Fall 2010 Instructor: Dr. Masoud Yaghini

Lecture 13: Polynomial-Time Algorithms for Min Cost Flows. (Reading: AM&O Chapter 10)

The maximum flow problem

Maximum flow problem (part I)

directed weighted graphs as flow networks the Ford-Fulkerson algorithm termination and running time

Math 5490 Network Flows

Mathematics for Decision Making: An Introduction. Lecture 13

Week 4. (1) 0 f ij u ij.

15.082J and 6.855J and ESD.78J October 21, Max Flows 4

Graphs and Network Flows IE411. Lecture 15. Dr. Ted Ralphs

The Maximum Flow Problem with Disjunctive Constraints

Maximum Flow. Reading: CLRS Chapter 26. CSE 6331 Algorithms Steve Lai

10 Max-Flow Min-Cut Flows and Capacitated Graphs 10 MAX-FLOW MIN-CUT

2.13 Maximum flow with a strictly positive initial feasible flow

arxiv: v1 [cs.ds] 26 Feb 2016

CSC Design and Analysis of Algorithms. LP Shader Electronics Example

7.5 Bipartite Matching

GRAPH ALGORITHMS Week 7 (13 Nov - 18 Nov 2017)

Minimum cost transportation problem

(1,3) (3,4) (2,2) (1,2) (2,4) t

The Max Flow Problem

Strongly Polynomial Algorithm for a Class of Minimum-Cost Flow Problems with Separable Convex Objectives

Chapter 7. Network Flow. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.

Discrete Optimization 23

Two Applications of Maximum Flow

A bad example for the iterative rounding method for mincost k-connected spanning subgraphs

Network Flows. CTU FEE Department of control engineering. March 28, 2017

Maximum Flow Problem (Ford and Fulkerson, 1956)

Shortest conditional decreasing path algorithm for the parametric minimum flow problem

5 Flows and cuts in digraphs

Introduction 1.1 PROBLEM FORMULATION

Linear Algebra V = T = ( 4 3 ).

Computer Science & Engineering 423/823 Design and Analysis of Algorithms

Econ 172A, Fall 2012: Final Examination Solutions (II) 1. The entries in the table below describe the costs associated with an assignment

Preliminaries and Complexity Theory

Discrete Optimization 2010 Lecture 3 Maximum Flows

Maximum flow problem

Characterizations of Strongly Regular Graphs: Part II: Bose-Mesner algebras of graphs. Sung Y. Song Iowa State University

Maximum Flow. Jie Wang. University of Massachusetts Lowell Department of Computer Science. J. Wang (UMass Lowell) Maximum Flow 1 / 27

x 1 + 4x 2 = 5, 7x 1 + 5x 2 + 2x 3 4,

ALGORITHMS AND COMPLETE FORMULATIONS FOR THE NETWORK DESIGN PROBLEM Trilochan Sastry Indian Institute of Management, Ahmedabad November 1997 Abstract

Part 1. The Review of Linear Programming Introduction

Part 1. The Review of Linear Programming

Contents. Introduction

Econ 172A, Fall 2012: Final Examination Solutions (I) 1. The entries in the table below describe the costs associated with an assignment

Flows and Cuts. 1 Concepts. CS 787: Advanced Algorithms. Instructor: Dieter van Melkebeek

6.046 Recitation 11 Handout

Algorithms: Lecture 12. Chalmers University of Technology

Bulletin of the Transilvania University of Braşov Vol 8(57), No Series III: Mathematics, Informatics, Physics,

Nonnegative Matrices I

Algorithm Design and Analysis

The Maximum Flows in Planar Dynamic Networks

INVERSE SPANNING TREE PROBLEMS: FORMULATIONS AND ALGORITHMS

A FAST MAX FLOW ALGORITHM

Maximum Integer Flows in Directed Planar Graphs with Multiple Sources and Sinks and Vertex Capacities

Algorithms and Theory of Computation. Lecture 11: Network Flow

On Végh s Strongly Polynomial Algorithm for Generalized Flows

Parallel Graph Algorithms (con4nued)

Graph Algorithms -2: Flow Networks. N. H. N. D. de Silva Dept. of Computer Science & Eng University of Moratuwa

Lecture 3. 1 Polynomial-time algorithms for the maximum flow problem

Linear and Integer Programming - ideas

A simplex method for uncapacitated pure-supply and pure-demand infinite network flow problems

Extreme Point Solutions for Infinite Network Flow Problems

Parallel Graph Algorithms (con4nued)

IE 5531: Engineering Optimization I

x n -2.5 Definition A list is a list of objects, where multiplicity is allowed, and order matters. For example, as lists

Types of Networks. Internet Telephone Cell Highways Rail Electrical Power Water Sewer Gas

Chapter 1 Vector Spaces

ORIE 633 Network Flows October 4, Lecture 10

Semi-Markov/Graph Cuts

Lecture 2: Network Flows 1

Algorithm Design and Analysis

Lecture 20 : Markov Chains

Linear Programming Duality P&S Chapter 3 Last Revised Nov 1, 2004

Hamiltonian paths in tournaments A generalization of sorting DM19 notes fall 2006

Robust Network Codes for Unicast Connections: A Case Study

Combinatorial Optimization

Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik. Combinatorial Optimization (MA 4502)

MIDTERM: CS 6375 INSTRUCTOR: VIBHAV GOGATE October,

Friday, September 21, Flows

CSE 421 Introduction to Algorithms Final Exam Winter 2005

Duality of LPs and Applications

Standard Diraphs the (unique) digraph with no vertices or edges. (modulo n) for every 1 i n A digraph whose underlying graph is a complete graph.

The partial inverse minimum cut problem with L 1 -norm is strongly NP-hard. Elisabeth Gassner

Network Flow Problems Luis Goddyn, Math 408

Lecture 8 Network Optimization Algorithms

Reverse Edge Cut-Set Bounds for Secure Network Coding

2 GRAPH AND NETWORK OPTIMIZATION. E. Amaldi Introduction to Operations Research Politecnico Milano 1

4. Duality Duality 4.1 Duality of LPs and the duality theorem. min c T x x R n, c R n. s.t. ai Tx = b i i M a i R n

- Well-characterized problems, min-max relations, approximate certificates. - LP problems in the standard form, primal and dual linear programs

Lecture 18: More NP-Complete Problems

Flow Network. The following figure shows an example of a flow network:

Computational Integer Programming. Lecture 2: Modeling and Formulation. Dr. Ted Ralphs

Advanced Linear Programming: The Exercises

Transcription:

In the name of God Network Flows 4. Maximum Flows Problems 4.1 Introduction Fall 2010 Instructor: Dr. Masoud Yaghini

Introduction

Introduction The maximum flow problem In a capacitated network, we wish to send as much flow as possible between two special nodes, a source node s and a sink node t, without exceeding the capacity of any arc.

Introduction maximum flow problem vs. shortest path problem Similarities: They are both pervasive in practice They both arise as subproblems in algorithms for the minimum cost flow problem. Differences: Shortest path problems model arc costs but not arc capacities Maximum flow problems model capacities but not costs. Taken together, the shortest path problem and the maximum flow problem combine all the basic ingredients of network flows.

Introduction The algorithms for solving the maximum flow problem are two types: Augmenting path algorithms They maintain mass balance constraints at every node of the network other than the source and sink nodes. These algorithms incrementally augment flow along paths from the source node to the sink node. Preflow-push algorithms They flood the network so that some nodes have excesses (or buildup of flow). These algorithms incrementally relieve flow from nodes with excesses by sending flow from the node forward toward the sink node or backward toward the source node.

Notation and Assumptions G = (N, A) : a capacitated network with a nonnegative capacity u ij associated with each arc (i, j) œ A. Let U = max{u ij :(i, j) œ A}. the arc adjacency list A(i) = {(i, k): (i, k) œ A} contains all the arcs emanating from node i. There are two special nodes in the network G: a source node s a sink node t We wish to find the maximum flow from the source node s to the sink node t that satisfies the arc capacities and mass balance constraints at all nodes.

Notation and Assumptions We can state the problem formally as follows: a vector x = {x ij } that satisfying the constraints is flow the scalar variable v : the value of the flow.

Notation and Assumptions We consider the maximum flow problem subject to the following assumptions. Assumption 1. The network is directed. we can always fulfill this assumption by transforming any undirected network into a directed network.

Notation and Assumptions Assumption 2. All capacities are nonnegative integers. Although it is possible to relax the integrality assumption on arc capacities for some algorithms, this assumption is necessary for others. In reality, the integrality assumption is not a restrictive In reality, the integrality assumption is not a restrictive assumption because all modern computers store capacities as rational numbers and we can always transform rational numbers to integer numbers by multiplying them by a suitably large number.

Notation and Assumptions Assumption 3. The network does not contain a directed path from node s to node t composed only of infinite capacity arcs. Whenever every arc on a directed path P from s to t has infinite capacity, we can send an infinite amount of flow along this path, and therefore the maximum flow value is unbounded.

Notation and Assumptions Assumption 4. Whenever an arc (i, j) belongs to A, arc (j, i) also belongs to A. This assumption is nonrestrictive because we allow arcs with zero capacity.

Notation and Assumptions Assumption 5. The network does not contain parallel arcs i.e., two or more arcs with the same tail and head nodes. This assumption is essentially a notational convenience

Flows and Cuts

Residual network Flows and Cuts The concept of residual network plays a central role in the development of all the maximum flow algorithms we consider. Given a flow x, the residual capacity r ij of any arc (i, j) œ A is the maximum additional flow that can be sent from node i to node j using the arcs (i, j) and (j, i). The residual capacity r ij has two components: (1) u ij - x ij, the unused capacity of arc (i, j), and (2) the current flow x ji on arc (j, i), which we can cancel to increase the flow from node i to node j.

Flows and Cuts We refer to the network G(x) consisting of the arcs with positive residual capacities as the residual network (with respect to the flow x).

Flows and Cuts (a) original network G with a flow x; (b) residual network G(x), r ij = u ij x ij, r ji = x ij

s-t cut Flows and Cuts A cut is a partition of the node set N into two subsets S and S = N - S; We represent this cut using the notation [S, S ]. We can define a cut as the set of arcs whose endpoints belong to the different subsets S and S. We refer to a cut as an s-t cut if s œ S and t œ S. Forward arc of the cut: an arc (i, j) with iœsand jœs Backward arc of the cut: an arc (i, j) with iœs and jœs (S, S ) : denote the set of forward arcs in the cut (S, S) : denote the set of backward arcs in the cut

Flows and Cuts the dashed arcs constitute an s-t cut. (S, S ) = {(1, 2), (3,4), (5, 6)} (S, S) = {(2, 3), (4, 5)}

Capacity of an s-t cut. Flows and Cuts We define the capacity u[s, S ] of an s-t cut [S, S ] as the sum of the capacities of the forward arcs in the cut. That is, Capacity of a cut is an upper bound on the maximum amount of flow we can send from the nodes in S to the nodes in S while honoring arc flow bounds.

Minimum cut. Flows and Cuts We refer to an s-t cut whose capacity is minimum among all s-t cuts as a minimum cut. Residual capacity of an s-t cut. We define the residual capacity r[s, S ] of an s-t cut [S, S ] as the sum of the residual capacities of forward arcs in the cut. That is,

Generic Augmenting Path Algorithm

Generic Augmenting Path Algorithm Augmenting path a directed path from the source to the sink in the residual network Residual capacity of an augmenting path the minimum residual capacity of any arc in the path.

Generic Augmenting Path Algorithm the residual network contains exactly one augmenting path 1-3-2-4 the residual capacity of this path is δ = min{r 13, r 32, r 24 } = min{l, 2, 1} = 1.

Generic Augmenting Path Algorithm The capacity δ of an augmenting path is always positive. Consequently, whenever the network contains an augmenting path, we can send additional flow from the source to the sink. The generic augmenting path algorithm is essentially based on this simple observation. The algorithm proceeds by identifying augmenting paths and augmenting flows on these paths until the network contains no such path.

Generic Augmenting Path Algorithm Generic augmenting path algorithm <Animation>

The End