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

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

Math 5490 Network Flows

The Minimum Cost Network Flow Problem

Discrete Optimization 2010 Lecture 3 Maximum Flows

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

Energy minimization via graph-cuts

Maximum flow problem CE 377K. February 26, 2015

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

Minimum cost transportation problem

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

The Maximum Flow Problem with Disjunctive Constraints

Two Applications of Maximum Flow

Linear Programming. Jie Wang. University of Massachusetts Lowell Department of Computer Science. J. Wang (UMass Lowell) Linear Programming 1 / 47

The maximum flow problem

Chapter 7 Network Flow Problems, I

The α-maximum Flow Model with Uncertain Capacities

Maximum flow problem (part I)

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

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

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

A FAST MAX FLOW ALGORITHM

Discrete Optimization 23

Mathematics for Decision Making: An Introduction. Lecture 13

A Bound for the Number of Different Basic Solutions Generated by the Simplex Method

On Végh s Strongly Polynomial Algorithm for Generalized Flows

2.13 Maximum flow with a strictly positive initial feasible flow

Lecture 8 Network Optimization Algorithms

CMSC 451: Max-Flow Extensions

Introduction 1.1 PROBLEM FORMULATION

IE 5531: Engineering Optimization I

Max Flow: Algorithms and Applications

7.5 Bipartite Matching

Algorithm Design and Analysis

Friday, September 21, Flows

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

ORIE 6334 Spectral Graph Theory October 25, Lecture 18

Algorithm Design and Analysis

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

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

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

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

Integer Equal Flows. 1 Introduction. Carol A. Meyers Andreas S. Schulz

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

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

Algorithms and Theory of Computation. Lecture 11: Network Flow

Maximum Flow Problem (Ford and Fulkerson, 1956)

Linear and Integer Programming - ideas

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

CSC Design and Analysis of Algorithms. LP Shader Electronics Example

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

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

Lecture 5 January 16, 2013

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

arxiv: v1 [cs.ds] 26 Feb 2016

Extreme Point Solutions for Infinite Network Flow Problems

INVERSE SPANNING TREE PROBLEMS: FORMULATIONS AND ALGORITHMS

Flows. Chapter Circulations

Introduction to Integer Programming

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

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

Shortest conditional decreasing path algorithm for the parametric minimum flow problem

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

Advanced Linear Programming: The Exercises

Minimum Cost Flow. Lecture 5: Jan 25

C&O 355 Mathematical Programming Fall 2010 Lecture 18. N. Harvey

ORIE 633 Network Flows October 4, Lecture 10

The maximum flow in dynamic networks

DEPARTMENT OF STATISTICS AND OPERATIONS RESEARCH OPERATIONS RESEARCH DETERMINISTIC QUALIFYING EXAMINATION. Part I: Short Questions

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 17: Combinatorial Problems as Linear Programs III. Instructor: Shaddin Dughmi

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

The Max Flow Problem

Network Flows. CS124 Lecture 17

Notes on Dantzig-Wolfe decomposition and column generation

Robust Network Codes for Unicast Connections: A Case Study

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

Algorithms: Lecture 12. Chalmers University of Technology

Introduction to Mathematical Programming IE406. Lecture 13. Dr. Ted Ralphs

Internet Routing Example

u = 50 u = 30 Generalized Maximum Flow Problem s u = 00 2 u = 00 u = 50 4 = 3=4 u = 00 t capacity u = 20 3 u = 20 = =2 5 u = 00 gain/loss factor Max o

. CS711008Z Algorithm Design and Analysis. Lecture 10. Algorithm design technique: Network flow and its applications 1. Dongbo Bu

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.

Financial Optimization ISE 347/447. Lecture 21. Dr. Ted Ralphs

The Budget-Constrained Maximum Flow Problem

CMPSCI 611: Advanced Algorithms

Minimum Cost Flow Algorithms

0-1 Reformulations of the Network Loading Problem

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

7. Shortest Path Problems and Deterministic Finite State Systems

Introduction to Integer Linear Programming

Max-min Fair Rate Allocation and Routing in Energy Harvesting Networks: Algorithmic Analysis

Review Questions, Final Exam

Multicommodity flows over time: Efficient algorithms and complexity

CS 580: Algorithm Design and Analysis. Jeremiah Blocki Purdue University Spring 2018

PRAM lower bounds. 1 Overview. 2 Definitions. 3 Monotone Circuit Value Problem

The min cost flow problem Course notes for Optimization Spring 2007

EXERCISES SHORTEST PATHS: APPLICATIONS, OPTIMIZATION, VARIATIONS, AND SOLVING THE CONSTRAINED SHORTEST PATH PROBLEM. 1 Applications and Modelling

Semi-Markov/Graph Cuts

MAS210 Graph Theory Exercises 5 Solutions (1) v 5 (1)

Discrete Optimization

Maximum flow problem

Transcription:

Graphs and Network Flows IE411 Lecture 12 Dr. Ted Ralphs

IE411 Lecture 12 1 References for Today s Lecture Required reading Sections 21.1 21.2 References AMO Chapter 6 CLRS Sections 26.1 26.2

IE411 Lecture 12 2 Flows in Network For the remainder of the course, a capacitated network, or just simply a network, will refer to some combination of a directed graph G = (N, A), a cost and a capacity associated with each arc, and a supply or demand associated with each node. A flow in a given network is a set of nonnegative integer values that correspond to the flow of some commodity from tail to head. Generally, we will require that flows be balanced. We will define what balanced means in different contexts.

IE411 Lecture 12 3 Circulations The simplest kind of flow is a circulation. This is a flow in which the flow into each node equals the flow out. The flow decomposition theorem tells us that any circulation is the sum of flows along at most A arcs. This is easy to show, but has important consequences.

IE411 Lecture 12 4 s-t Flows An s-t flow is a flow in which flow in equals flow out at all nodes except for special nodes s and t. The requirement for nodes s and t is simply that the flow out of s must be equal to the flow into t. Node s is referred to as the source and node t is referred to as the sink. The value of the flow is the flow out of s. An s-t flow can be easily converted into a circulation by adding an arc from t to s with infinite capacity. In this augmented network, the flow value is the flow on arc (t, s).

IE411 Lecture 12 5 The Maximum Flow Problem Maximum Flow Problem: Given a capacitated network G = (N, A) and two designated nodes s and t, find the s-t flow of maximum value. Two types of algorithms Augmenting path algorithms Preflow-push algorithms Correctness of algorithms relies on Max-Flow Min-Cut Theorem

IE411 Lecture 12 6 Linear Programming Formulation Given a network G = (N, A) with a non-negative capacity u ij associated with each arc (i, j) A and two nodes s and t, find the maximum flow from s to t that satisfies the arc capacities. Maximize subject to v (1) x sj x js = v (2) j:(s,j) A j:(i,j) A j:(t,j) A x ij x tj j:(j,s) A j:(j,i) A j:(j,t) A x ji = 0 i N \ {s, t} (3) x jt = v (4) x ij u ij (i, j) A (5) x ij 0 (i, j) A (6)

IE411 Lecture 12 7 Assumptions 1. The network is directed. 2. All capacities are non-negative integers. 3. The network does not contain a directed path from node s to node t composed only of infinite capacity arcs. 4. Whenever arc (i, j) belongs to A, arc (j, i) also belongs to A. 5. The network does not contain parallel arcs.

IE411 Lecture 12 8 Residual Network Suppose that an arc (i, j) with capacity u ij carries x ij units of flow. Then, we can send up to u ij x ij additional units of flow. We can also send up to x ij units of flow backwards, canceling the existing flow and decreasing the flow cost. The residual network G(x 0 ) is defined with respect to a given flow x 0 and consists of arcs with positive residual capacity. Note that if for some pair of nodes i and j, G already contains both (i, j) and (j, i), the residual network may contain parallel arcs with different residual capacities.

IE411 Lecture 12 9 Residual Network Example

IE411 Lecture 12 10 Definitions A cut is a partition of the node set N into two parts S and S = N \ S. An s t cut is defined with respect to two distinguished nodes s and t and is a cut [S, S] such that s S and t S. A forward arc with respect to a cut is an arc (i, j) with i S and j S. A backward arc with respect to a cut is an arc (i, j) with i S and j S.

IE411 Lecture 12 11 Definitions (cont) The capacity of an s t cut is the sum of the capacities of the forward arcs in the cut. A minimum cut is the s t cut whose capacity is minimum among all s t cuts. The residual capacity of an s t cut is the sum of the residual capacities of the forward arcs in a cut.

IE411 Lecture 12 12 Weak Duality Property 1. [6.1] The value of any feasible flow is less than or equal to the capacity of any cut in the network. Proof: Let x be an arbitrary flow with value v. Let [S, S] be an arbitrary cut. Then we need to show that v u[s, S].

IE411 Lecture 12 13 Implications of Property 1 Suppose x is a feasible flow with value v and [S, S] is a cut with capacity v. Since u[s, S] = v is an upper bound on the maximum flow, then x must be a maximum flow. Since x is a feasible flow with value v, any cut must have a capacity of at least v. [S, S] has a capacity of v, so therefore [S, S] is a minimum cut. Property 2. [6.2] For any flow x of value v, the additional flow that can be sent from s to t is less than or equal to the residual capacity of any s t cut.

IE411 Lecture 12 14 Generic Augmenting Path Algorithm An augmenting path is a directed path from the source to the sink in the residual network. The residual capacity of an augmenting path is the minimum residual capacity of any arc in the path, which we denote by δ. By definition, δ > 0. When the network contains an augmenting path, we can send additional flow from the source to the sink.

IE411 Lecture 12 15 Generic Augmenting Path Algorithm Input: A network G = (N, A) and a vector of capacities u Z A Output: x represents the maximum flow from node s to node t x 0 while G(x) contains a directed path from s to t do identify an augmenting path P from s to t δ min{r ij : (i, j) P } augment the flow along P by δ units and update G(x) accordingly. end while