CMSC 451: Max-Flow Extensions

Similar documents
Two Applications of Maximum Flow

Review Questions, Final Exam

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

Flows. Chapter Circulations

Math 5490 Network Flows

Algorithm Design and Analysis

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

Mathematics for Decision Making: An Introduction. Lecture 13

Lexicographic Flow. Dexter Kozen Department of Computer Science Cornell University Ithaca, New York , USA. June 25, 2009

2-7 Solving Absolute-Value Inequalities

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

IE 5531: Engineering Optimization I

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

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

The Simplex Method. Lecture 5 Standard and Canonical Forms and Setting up the Tableau. Lecture 5 Slide 1. FOMGT 353 Introduction to Management Science

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

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

Algorithms Demands and Bounds. Demands and Bounds. Design and Analysis of Algorithms Andrei Bulatov

10-6 Changing Dimensions. IWBAT find the volume and surface area of similar three-dimensional figures.

WEAKLY AND STRONGLY POLYNOMIAL ALGORITHMS FOR COMPUTING THE MAXIMUM DECREASE IN UNIFORM ARC CAPACITIES

The maximum flow in dynamic networks

Analysis of Algorithms. Unit 5 - Intractable Problems

CS Algorithms and Complexity

Bob Brown, CCBC Essex Math 163 College Algebra, Chapter 1 Section 7 COMPLETED 1 Linear, Compound, and Absolute Value Inequalities

The Minimum Cost Network Flow Problem

CS 170 DISCUSSION 10 MAXIMUM FLOW. Raymond Chan raychan3.github.io/cs170/fa17.html UC Berkeley Fall 17

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

ORIE 633 Network Flows October 4, Lecture 10

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

Internet Routing Example

Online Path Computation & Function Placement in SDNs

Earliest Arrival Flows with Multiple Sources. Imran Rauf

7.5 Bipartite Matching

Introduction to Integer Programming

Lecture 8 Network Optimization Algorithms

Minimum cost transportation problem

The Steiner Network Problem

Graph theoretic uncertainty principles

Section 1.4. Meaning of Slope for Equations, Graphs, and Tables

The Capacity of a Network

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

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

Maximum flow problem CE 377K. February 26, 2015

Chapter 7 Network Flow Problems, I

Some results on max-min fair routing

LINEAR PROGRAMMING: A GEOMETRIC APPROACH. Copyright Cengage Learning. All rights reserved.

Topic: Balanced Cut, Sparsest Cut, and Metric Embeddings Date: 3/21/2007

Abelian Sandpile Model: Symmetric Sandpiles

The 2-valued case of makespan minimization with assignment constraints

Discrete Optimization 23

CS 6820 Fall 2014 Lectures, October 3-20, 2014

Modeling with non-linear functions Business 8. Consider the supply curve. If we collect a few data points we might find a graph that looks like

CMSC 722, AI Planning. Planning and Scheduling

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

Lecture 7: Dynamic Programming I: Optimal BSTs

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

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

Lecture 10: Duality in Linear Programs

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

Reconnect 04 Introduction to Integer Programming

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

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

Today s class. Constrained optimization Linear programming. Prof. Jinbo Bi CSE, UConn. Numerical Methods, Fall 2011 Lecture 12

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: NP-Completeness I Date: 11/13/18

Review Questions, Final Exam

6.854 Advanced Algorithms

Adventures in random graphs: Models, structures and algorithms

Lecture 19: NP-Completeness 1

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

The Budget-Constrained Maximum Flow Problem

In other words, we are interested in what is happening to the y values as we get really large x values and as we get really small x values.

The Max Flow Problem

CMSC 858F: Algorithmic Game Theory Fall 2010 Market Clearing with Applications

An example of LP problem: Political Elections

Lecture 22: Counting

2.13 Maximum flow with a strictly positive initial feasible flow

Understand the vocabulary used to describe polynomials Add polynomials Subtract polynomials Graph equations defined by polynomials of degree 2

6.046 Recitation 11 Handout

Lecture 11: Generalized Lovász Local Lemma. Lovász Local Lemma

(a) If A is a 3 by 4 matrix, what does this tell us about its nullspace? Solution: dim N(A) 1, since rank(a) 3. Ax =

Vertex Form of a Parabola

Combinatorial optimization problems

The Dual Simplex Algorithm

14:332:231 DIGITAL LOGIC DESIGN. 2 s-complement Representation

Flow Formulations for Curriculum-based Course Timetabling

Tuesday, September 29, Page 453. Problem 5

1.2 Graphs and Lines. Cartesian Coordinate System

Abelian Sandpile Model: Symmetric Sandpiles

On Végh s Strongly Polynomial Algorithm for Generalized Flows

Lecture 9 4.1: Derivative Rules MTH 124

A simple LP relaxation for the Asymmetric Traveling Salesman Problem

A NEW PROPERTY AND A FASTER ALGORITHM FOR BASEBALL ELIMINATION

SAT, Coloring, Hamiltonian Cycle, TSP

Introduction to Integer Linear Programming

The Transportation Problem. Experience the Joy! Feel the Excitement! Share in the Pleasure!

Network Error Correction Model

On the Linear Programming Duals of Temporal Reasoning Problems

MAC Learning Objectives. Logarithmic Functions. Module 8 Logarithmic Functions

Definition (The carefully thought-out calculus version based on limits).

(P ) Minimize 4x 1 + 6x 2 + 5x 3 s.t. 2x 1 3x 3 3 3x 2 2x 3 6

Transcription:

CMSC 51: Max-Flow Extensions Slides By: Carl Kingsford Department of Computer Science University of Maryland, College Park Based on Section 7.7 of Algorithm Design by Kleinberg & Tardos.

Circulations with Demands Suppose we have multiple sources and multiple sinks. Each sink wants to get a certain amount of flow (its demand). Each source has a certain amount of flow to give (its supply). We can represent supply as negative demand.

Demand Example 6 supply d 1 = - 1 2 2 supply d 2 = -7 d = 0 5 1 10 5 demand d 5 = 11 7 7 9 9 8 d 8 = 8

Constraints Goal: find a flow f that satisfies: 1 Capacity constraints: For each e E, 0 f (e) c e. 2 Demand constraints: For each v V, f in (v) f out (v) = d v. The demand d v is the excess flow that should come into node.

Sources and Sinks Let S be the set of nodes with negative demands (supply). Let T be the set of nodes with positive demands (demand). In order for there to be a feasible flow, we must have: s S d s = t T d t Let D = t T d t.

Reduction How can we turn the circulation with demands problem into the maximum flow problem?

Reduction How can we turn the circulation with demands problem into the maximum flow problem? 1 Add a new source s with an edge (s, s) from s to every node s S. 2 Add a new sink t with an edge (t, t ) from t to every node t T.

Reduction How can we turn the circulation with demands problem into the maximum flow problem? 1 Add a new source s with an edge (s, s) from s to every node s S. 2 Add a new sink t with an edge (t, t ) from t to every node t T. The capacity of edges (s, s) = d s (since d s < 0, this is +ve) The capacity of edges (t, t ) = d t.

Circulation Reduction Example s* 7 supply d 1 = - 1 2 2 5 1 11 10 7 9 7 6 9 8 d 8 = 8 8 supply d 2 = -7 5 t* demand d 5 = Feasible circulation if and only if there is a flow of value D = t T d t.

Notes Intuition: Capacity of edges (s, s) limit the supply for source nodes s. Capacity of edges (t, t ) require that d t flow reaches each t. Hence, we can use max-flow to find these circulations.

Lower Bounds Another extension: what if we want lower bounds on what flow goes through some edges? In other words, we want to require that some edges are used. Goal: find a flow f that satisfies: 1 Capacity constraints: For each e E, l e f (e) c e. 2 Demand constraints: For each v V, f in (v) f out (v) = d v.

Lower Bounds Suppose we defined an initial flow f 0 by setting the flow along each edge equal to the lower bound. In other words: f 0 (e) = l e. This flow satisfies the capacity constraints, but not the demand constraints. Define: L v = f0 in (v) f out 0 (v). Recall that the demand constraints say that f in (v) f out (v) = d v. Hence, L v is equal to the amount of the demand that f 0 satisfies at node v.

New Graph For each node, our flow f 0 satisfies L v of its demand, hence we have: New demand constraints: f in (v) f out (v) = d v L v Also, f 0 uses some of the edge capacities already, so we have: New capacity constraints: 0 f (e) c e l e These constraints give a standard instance of the circulation problem.

Lower Bound Example lower bound = 1 - - -2 1-1 2 1 10 10 2 2 (a) Small instance where one edge has a lower bound. This makes the most obvious flow not feasible. (b) After transformation, we have an equivalent instance with no lower bounds.

Reduction: Given a circulation instance G with lower bounds, we: 1 subtract l e from the capacity of each edge e, and 2 subtract L v from the demand of each node v. (This may create some new sources or sinks.) We then solve the circulation problem on this new graph to get a flow f. To find the flow that satisfies the original constraints, we add l e to every f (e).

Summary We can efficiently find a feasible flow for the following general problem: Circulations with demands and lower bounds Given: a directed graph G a nonnegative lower bound l e for each edge e G a nonnegative upper bound c e l e for each edge e G and a demand d v for every node Find: a flow f such that l e f (e) c e for every e, and f in (v) f out (v) = d v for every v.

Serial Reductions... We designed the algorithm for this general problem by reducing Circulation with Lower Bounds problem to the Circulation without Lower Bounds problem. We in turn reduced that problem to the Max Flow problem.