Network Flow Problems Luis Goddyn, Math 408

Size: px
Start display at page:

Download "Network Flow Problems Luis Goddyn, Math 408"

Transcription

1 Network Flow Problems Luis Goddyn, Math 48 Let D = (V, A) be a directed graph, and let s, t V (D). For S V we write δ + (S) = {u A : u S, S} and δ (S) = {u A : u S, S} for the in-arcs and out-arcs of S respectiely. For V we write δ + () instead of δ + ({}). Ma s, t-flow Problem An s, t-flow is a rational-alued ector = ( a : a A) such that (δ + ()) (δ ()) = for all V (D) {s, t}. (As usual, (δ + ()) is a short notation for a δ + () a.) Let u = (u a : a A) be a capacity function. An s, t-flow is feasible if a u a for all a A. The alue of an s, t-flow, denoted al(), is the quantity (δ + (t)) (δ (t)) = (δ (s)) (δ + (s)), which is the net rate of flow from s to t for. The maimum s, t-flow problem is do determine, for a gien capacitated network (D, s, t, u), a feasible flow of maimum alue. This may be written as a linear program. (L) ma (δ + (t)) (δ (t)) (δ + ()) (δ ()) =, V (D) {s, t} a u a, a A(D) Additionally, one may require that be an integral solution. Let S V (D) be such that s S and t S. Then S is called an s, t-cut. It is intuitiely oious (and easy to proe) that the alue of any feasible s, t-flow in D is bounded aboe by the total capacity of all arcs in δ (S), which we write as cap(s) = u(δ (S)). That is, for any s, t-cut S and any feasible s, t-flow, 2 Ford-Fulkerson Algorithm al() cap(s). (). Input an instance (D, s, t, u) of the maimum s, t-flow problem. Initialize the flow ector to the zero flow =.. Form the auiliary directed graph H = (V, B) with V (H ) = V (D). For each arc u A(D) we add the arc u to B if u < u u, and add the arc u to B if < u. 2. Find an s, t-path P in H. If none eists, then go to step 4.. Augment the flow along P as much as is possible. That is, we replace each u by u + ɛ if u P u ɛ if u P otherwise u Where ɛ is the largest possible rational number such that the new flow is still feasible. 4. Let S V be those ertices which are reachable from s in the final auiliary directed graph H. Output the and the subset S and STOP. It was shown by Ford and Fulkerson (956) that for any finite network D with rational capacities, this algorithm must eentually stop. Howeer, it is possible that this algorithm can take an eponential number of steps before it stops. Een worse, if the capacities u a are allowed to be irrational, it is possible that the algorithm does not stop at all! Fortunately, J. Edmonds and R. Karp found (in 972) that by always choosing P in step 2 to be an s, t-path haing the fewest number of edges, the algorithm stops after a polynomial number of iterations.

2 Suppose that the algorithm stops with and S. Then eery arc a δ (S ) is saturated ( a = u a), and eery arc b δ + (S ) is empty ( b = ). Thus al( ) = cap(s ). In iew of inequality (), the fact this algorithm works proes the following Ma Flow Min Cut theorem. Theorem For any network (D, s, t, u) we hae ma{al() : is an s, t-flow in D} = min{cap(s) : S is an s, t-cut in D} Secondly, if u is integer-alued, then eery flow found in step is integer-alued. It follows that there eists a maimum s, t-flow which is integer alued. Theorem 2 For any ma flow problem (D, s, t, u), if u is integer-alued then there is an integer alued optimum flow. Thus the integer program associated with (L) is no harder to sole than (L) itself. Bipartite matching is closely related to network flows. For eample, let G be a bipartite graph with ertices B R, and suppose we wish to find a matching in G haing the largest possible cardinality. We can sole this problem either by modifying it into a Minimum Weight Bipartite Perfect Matching problem, and using a preiously presented algorithm, or by modifying it into a Ma Flow problem as follows. Let D = (V, A) be a directed graph obtained from G as follows. First we direct each edge in G from B to R. Then we add two new ertices s and t, and add all arcs from s to the ertices in B, and add all arcs from the ertices in R to t. All arcs a A(D) are gien capacity u a =. We use the Ford-Fulkerson algorithm to find a Ma Flow for (D, s, t, u). By Theorem 2, we can assume is integer alued, and thus is,-alued. Let M be those arcs from B to R which get alue in. It is easy to see that M corresponds to a matching in G and that the M = al(). This correspondence is reersible, so M must yield a maimum matching in G. Min Cost Flow Problem Here we hae a directed graph D = (V, A), a capacity function u = (u a : a A), a cost function c = (c a : a A), and a demand function b = (b : V (D)). A flow is feasible if at each erte V, (δ + ()) (δ ()) = b. Thus a erte is a source if b < and a sink if b >. Note that no feasible flow eists unless V b =. The cost of a flow is c = a A c a a. The Min Cost Flow problem for (D, u, c, b) is to find a feasible flow of minimum possible cost. This is clearly a linear program. (L2) min c (δ + ()) (δ ()) = b, V (D) a u a, a A(D) We may write (L) and (L2) more compactly as follows. Let M be the erte-arc incidence matri for D. That is, the rows of M are indeed by V (D), the columns are indeed by A(D), so M = (m a : V, a A). Here if is the head of a m a = if is the tail of a otherwise. Let M be the matri obtained from M by deleting rows s and t, where s, t are ertices of D. Let I be the identity matri. We may write the aboe linear programs as follows. (L) ma al() (L2) min c M = I u M = b I u 2

3 4 The Dual LP We write the dual of (L2) using dual ariables y = (y : V ) and z = (z : A). (D2) ma V b y b A u z y + y w z c, for all A z The student should practice deriing (D2) from (L2). Economically, we interpret y to be the ector of prices of the commodity being shipped. That is, to buy a unit at erte one would hae to pay y dollars. We calculate, for each arc, a new quantity c := c + y y w called the reduced cost of the arc. The reduced cost c is thus the net cost incurred by buying a unit at, shipping it along (at a cost of c dollars), then selling it again at erte w. Using c = (c : A), we can simplify an optimal solution (y, z) to (D2) as follows. Since u, the objectie function of (D2) is maimized when each z is as small as possible subject to z and z c y + y w = c. Thus there is an optimal solution (y, z) with z = ma{, c }. z * u c c z ersus c * ersus c in an optimum solution. For such (y, z), the complementary slackness conditions for (L2,D2) are:. If >, then y + y w z = c (which is equialent to z = c and c ). 2. If z u > (that is, if c < ), then = u. We rewrite these and include the feasibility constraint u.. If c >, then = ( is an unprofitable arc) 2. If c <, then = u ( is a profitable arc). If c =, then u ( is an equality arc). These hae a reasonable economic interpretation, if c > (so shipping anything along is unprofitable), then should be empty. If c <, then it is profitable to ship more along u, thus u should be capacitated (otherwise you could sell more units at a lower price at w). If c =, then the quantity flowing along does not affect one s profit. If all three conditions hold at all, then the commodities are being transported at maimum efficiency. Here is an eample of an optimal flow and dual solution y. Note that we omit z since it can be calculated from y. To test optimality, we simply calculate c for each arc and check that, 2, and hold for the pair (, c). * u,-4 < < < < 2 < < 6, < < 2,8 c c

4 5 A Primal Dual Algorithm for Min Cost Flow With input (D, u, c, b) this algorithm stops with a min cost feasible flow, and a price ector y such that reduced costs c satisfy, 2 and aboe, proided c is conseratie, and a feasible flow eists. Inariants: At any point, we hae a flow = ( : A) and prices y = (y : V ) such that complementary slackness conditions, 2, and hold for all arcs A, where c = c + y y w are the reduced costs determined by y. Plan: We will repeatedly modify and y, maintaining,2 and, until we obtain primal feasibility. That is, we stop when, for each V, 4. (δ + ()) (δ ()) = b. At this point, is a min cost flow, by complementary slackness. Algorithm Summary:. Input points (D, u, c, b). Find initial and y satisfying, 2 and.. While 4 is not satisfied, do the following. (a) (-change) If there is an -augmenting path P of equality arcs, then augment along path P, until either an arc becomes full or empty, or either the -source or the -sink of P becomes feasible. (b) (y-change) Otherwise, find the set R of nodes reachable from the -sources. Increase y for all V R until some arc bumps in condition or Output (, y) and stop. Algorithm Details: There are many details and undefined terms to describe. An arc is an equality arc if the reduced cost c =. Step : Set =. If no arc-cost c is negatie, then set y = (why does this work?). If c has negatie entries, but is still conseratie, then we can find such a y ia a shortest path algorithm (details omitted). Step : First we make an auiliary graph H,y = (V, A ). For each arc A we put A * if < and c = u w A if > and c =. Thus A has or 2 arcs for each equality arc in A: a forward arc, if uncapacitated a backward arc, if nonempty. We present on the right the preious eample (D, u, c, b,, y) with one -alue and one y-alued changed (in boldface). Also drawn is the corresponding auiliary graph H,y. Second we find and indicate on H,y the -sources and - sinks. Each erte V is either an -source, an -sink or is -feasible depending on whether (δ + ()) (δ ()) is greater than, less than or equal to b. That is, is an -source if it not enough fluid is currently leaing, and is an -sink if it not enough fluid is currently entering. We write the alue of b (δ + ())+(δ ()) on each erte of H,y, and indicate -sources and -sinks with boes and circles. Third we look for an -augmenting path P. An - augmenting path is a path in H,y from any -source to any -sink. To do this, we find the set R of nodes which are reachable from any of the -sources ia a directed path in H,y. If R contains an -sink then we find a path P and go to Step., else we go to Step.2 with R. It this eample, there is no -augmenting path. 4 c < < 2 6, -source -sink c -feasible < < < < Equality arcs are bold -, < <, 4 (D,u,c,b,,y,c) H,y 2,4

5 Step. (-change): Here we augment, in the usual way, the flow along an -augmenting path P in D. We augment the flow along P until either -change: Some forward arc in P becomes full, Some backward arc in P becomes empty, The -source in P becomes -feasible, or The -sink in P becomes -feasible. +d +d -d Step.2 (y-change): Here we increase the prices y for eery erte V R. This change will reduce c for all arcs δ (R), increase c for all arcs δ + (R), and leae all other reduced costs unchanged. We increase these prices until condition or 2 is about to be iolated. That is, either Some underfull arc δ (R) (ie. < u ) has its reduced cost reduced to zero. Some nonempty arc δ + (R)(ie. < ) has its reduced cost increased to zero. y -change: Augment flow One of these must happen (why?). This results in R < V-R new equality arcs crossing in or out of R. We illustrate the Steps. and.2 schematically aboe, and complete our eample below. R H,y V-R c < < 2 6, c < <, -4 < < < u < <, 2,8 (D,u,c,b,,y,c) y y+d Decreased from to -4 No longer equality arc. Increased from 4 to 8 Increased to (bump) New equality arc Net Iteration: < < H,y - -augmenting path found < < 2 6, < <, -4 < < 2, 8, Flow augmented (D,u,c,b,,y,c) This flow is feasible (no -sources or -sinks), and is thus optimal. 5

Lecture 1. 1 Overview. 2 Maximum Flow. COMPSCI 532: Design and Analysis of Algorithms August 26, 2015

Lecture 1. 1 Overview. 2 Maximum Flow. COMPSCI 532: Design and Analysis of Algorithms August 26, 2015 COMPSCI 532: Design and Analysis of Algorithms August 26, 205 Lecture Lecturer: Debmalya Panigrahi Scribe: Allen Xiao Oeriew In this lecture, we will define the maximum flow problem and discuss two algorithms

More information

Algorithms and Data Structures 2014 Exercises and Solutions Week 14

Algorithms and Data Structures 2014 Exercises and Solutions Week 14 lgorithms and ata tructures 0 xercises and s Week Linear programming. onsider the following linear program. maximize x y 0 x + y 7 x x 0 y 0 x + 3y Plot the feasible region and identify the optimal solution.

More information

Maximum flow problem

Maximum flow problem Maximum flow problem 7000 Network flows Network Directed graph G = (V, E) Source node s V, sink node t V Edge capacities: cap : E R 0 Flow: f : E R 0 satisfying 1. Flow conservation constraints e:target(e)=v

More information

A = Chapter 6. Linear Programming: The Simplex Method. + 21x 3 x x 2. C = 16x 1. + x x x 1. + x 3. 16,x 2.

A = Chapter 6. Linear Programming: The Simplex Method. + 21x 3 x x 2. C = 16x 1. + x x x 1. + x 3. 16,x 2. Chapter 6 Linear rogramming: The Simple Method Section The Dual roblem: Minimization with roblem Constraints of the Form Learning Objectives for Section 6. Dual roblem: Minimization with roblem Constraints

More information

An Explicit Lower Bound of 5n o(n) for Boolean Circuits

An Explicit Lower Bound of 5n o(n) for Boolean Circuits An Eplicit Lower Bound of 5n o(n) for Boolean Circuits Kazuo Iwama, Oded Lachish, Hiroki Morizumi, and Ran Raz Graduate School of Informatics, Kyoto Uniersity, Kyoto, JAPAN {iwama, morizumi}@kuis.kyoto-u.ac.jp

More information

min 4x 1 5x 2 + 3x 3 s.t. x 1 + 2x 2 + x 3 = 10 x 1 x 2 6 x 1 + 3x 2 + x 3 14

min 4x 1 5x 2 + 3x 3 s.t. x 1 + 2x 2 + x 3 = 10 x 1 x 2 6 x 1 + 3x 2 + x 3 14 The exam is three hours long and consists of 4 exercises. The exam is graded on a scale 0-25 points, and the points assigned to each question are indicated in parenthesis within the text. If necessary,

More information

Maximum Flow Problem (Ford and Fulkerson, 1956)

Maximum Flow Problem (Ford and Fulkerson, 1956) Maximum Flow Problem (Ford and Fulkerson, 196) In this problem we find the maximum flow possible in a directed connected network with arc capacities. There is unlimited quantity available in the given

More information

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

Week 4. (1) 0 f ij u ij. Week 4 1 Network Flow Chapter 7 of the book is about optimisation problems on networks. Section 7.1 gives a quick introduction to the definitions of graph theory. In fact I hope these are already known

More information

Maximum flow problem (part I)

Maximum flow problem (part I) Maximum flow problem (part I) Combinatorial Optimization Giovanni Righini Università degli Studi di Milano Definitions A flow network is a digraph D = (N,A) with two particular nodes s and t acting as

More information

6.046 Recitation 11 Handout

6.046 Recitation 11 Handout 6.046 Recitation 11 Handout May 2, 2008 1 Max Flow as a Linear Program As a reminder, a linear program is a problem that can be written as that of fulfilling an objective function and a set of constraints

More information

Algorithms and Theory of Computation. Lecture 11: Network Flow

Algorithms and Theory of Computation. Lecture 11: Network Flow Algorithms and Theory of Computation Lecture 11: Network Flow Xiaohui Bei MAS 714 September 18, 2018 Nanyang Technological University MAS 714 September 18, 2018 1 / 26 Flow Network A flow network is a

More information

different formulas, depending on whether or not the vector is in two dimensions or three dimensions.

different formulas, depending on whether or not the vector is in two dimensions or three dimensions. ectors The word ector comes from the Latin word ectus which means carried. It is best to think of a ector as the displacement from an initial point P to a terminal point Q. Such a ector is expressed as

More information

Two Applications of Maximum Flow

Two Applications of Maximum Flow Two Applications of Maximum Flow The Bipartite Matching Problem a bipartite graph as a flow network maximum flow and maximum matching alternating paths perfect matchings 2 Circulation with Demands flows

More information

Review of Matrices and Vectors 1/45

Review of Matrices and Vectors 1/45 Reiew of Matrices and Vectors /45 /45 Definition of Vector: A collection of comple or real numbers, generally put in a column [ ] T "! Transpose + + + b a b a b b a a " " " b a b a Definition of Vector

More information

The maximum flow problem

The maximum flow problem The maximum flow problem A. Agnetis 1 Basic properties Given a network G = (N, A) (having N = n nodes and A = m arcs), and two nodes s (source) and t (sink), the maximum flow problem consists in finding

More information

Multicommodity Flows and Column Generation

Multicommodity Flows and Column Generation Lecture Notes Multicommodity Flows and Column Generation Marc Pfetsch Zuse Institute Berlin pfetsch@zib.de last change: 2/8/2006 Technische Universität Berlin Fakultät II, Institut für Mathematik WS 2006/07

More information

Theory of Network Communication

Theory of Network Communication Theory of Network Communication Dr. Christian Scheideler Johns Hopkins Uniersity, Sept. 9 2002 Introduction The goal of this lecture is to gie an introduction to the state of the art in the theory of network

More information

Discrete Optimization

Discrete Optimization Prof. Friedrich Eisenbrand Martin Niemeier Due Date: April 15, 2010 Discussions: March 25, April 01 Discrete Optimization Spring 2010 s 3 You can hand in written solutions for up to two of the exercises

More information

System Planning Lecture 7, F7: Optimization

System Planning Lecture 7, F7: Optimization System Planning 04 Lecture 7, F7: Optimization System Planning 04 Lecture 7, F7: Optimization Course goals Appendi A Content: Generally about optimization Formulate optimization problems Linear Programming

More information

Mathematical Programs Linear Program (LP)

Mathematical Programs Linear Program (LP) Mathematical Programs Linear Program (LP) Integer Program (IP) Can be efficiently solved e.g., by Ellipsoid Method Cannot be efficiently solved Cannot be efficiently solved assuming P NP Combinatorial

More information

CSC Design and Analysis of Algorithms. LP Shader Electronics Example

CSC Design and Analysis of Algorithms. LP Shader Electronics Example CSC 80- Design and Analysis of Algorithms Lecture (LP) LP Shader Electronics Example The Shader Electronics Company produces two products:.eclipse, a portable touchscreen digital player; it takes hours

More information

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

Network Flows. CTU FEE Department of control engineering. March 28, 2017 Network Flows Zdeněk Hanzálek, Přemysl Šůcha hanzalek@fel.cvut.cz CTU FEE Department of control engineering March 28, 2017 Z. Hanzálek (CTU FEE) Network Flows March 28, 2017 1 / 44 Table of contents 1

More information

Linear & Integer programming

Linear & Integer programming ELL 894 Performance Evaluation on Communication Networks Standard form I Lecture 5 Linear & Integer programming subject to where b is a vector of length m c T A = b (decision variables) and c are vectors

More information

Unit 11: Vectors in the Plane

Unit 11: Vectors in the Plane 135 Unit 11: Vectors in the Plane Vectors in the Plane The term ector is used to indicate a quantity (such as force or elocity) that has both length and direction. For instance, suppose a particle moes

More information

Isoperimetric problems

Isoperimetric problems CHAPTER 2 Isoperimetric problems 2.1. History One of the earliest problems in geometry was the isoperimetric problem, which was considered by the ancient Greeks. The problem is to find, among all closed

More information

IE 5531: Engineering Optimization I

IE 5531: Engineering Optimization I IE 5531: Engineering Optimization I Lecture 7: Duality and applications Prof. John Gunnar Carlsson September 29, 2010 Prof. John Gunnar Carlsson IE 5531: Engineering Optimization I September 29, 2010 1

More information

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

Computer Science & Engineering 423/823 Design and Analysis of Algorithms Bipartite Matching Computer Science & Engineering 423/823 Design and s Lecture 07 (Chapter 26) Stephen Scott (Adapted from Vinodchandran N. Variyam) 1 / 36 Spring 2010 Bipartite Matching 2 / 36 Can use

More information

Problem set 1. (c) Is the Ford-Fulkerson algorithm guaranteed to produce an acyclic maximum flow?

Problem set 1. (c) Is the Ford-Fulkerson algorithm guaranteed to produce an acyclic maximum flow? CS261, Winter 2017. Instructor: Ashish Goel. Problem set 1 Electronic submission to Gradescope due 11:59pm Thursday 2/2. Form a group of 2-3 students that is, submit one homework with all of your names.

More information

Linear Programming Duality

Linear Programming Duality Summer 2011 Optimization I Lecture 8 1 Duality recap Linear Programming Duality We motivated the dual of a linear program by thinking about the best possible lower bound on the optimal value we can achieve

More information

Chapter 7 Network Flow Problems, I

Chapter 7 Network Flow Problems, I Chapter 7 Network Flow Problems, I Network flow problems are the most frequently solved linear programming problems. They include as special cases, the assignment, transportation, maximum flow, and shortest

More information

The Budgeted Minimum Cost Flow Problem with Unit Upgrading Cost

The Budgeted Minimum Cost Flow Problem with Unit Upgrading Cost The Budgeted Minimum Cost Flow Problem with Unit Upgrading Cost Christina Büsing Sarah Kirchner Arie Koster Annika Thome October 6, 2015 Abstract The budgeted minimum cost flow problem (BMCF(K)) with unit

More information

Running Time. Assumption. All capacities are integers between 1 and C.

Running Time. Assumption. All capacities are integers between 1 and C. Running Time Assumption. All capacities are integers between and. Invariant. Every flow value f(e) and every residual capacities c f (e) remains an integer throughout the algorithm. Theorem. The algorithm

More information

Section 6: PRISMATIC BEAMS. Beam Theory

Section 6: PRISMATIC BEAMS. Beam Theory Beam Theory There are two types of beam theory aailable to craft beam element formulations from. They are Bernoulli-Euler beam theory Timoshenko beam theory One learns the details of Bernoulli-Euler beam

More information

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

Algorithms Demands and Bounds. Demands and Bounds. Design and Analysis of Algorithms Andrei Bulatov Algorithms Demands and Bounds Demands and Bounds Design and Analysis of Algorithms Andrei Bulato Algorithms Demands and Bounds 1- Demands In our flow network model there is only 1 source and sink Can we

More information

The max flow problem. Ford-Fulkerson method. A cut. Lemma Corollary Max Flow Min Cut Theorem. Max Flow Min Cut Theorem

The max flow problem. Ford-Fulkerson method. A cut. Lemma Corollary Max Flow Min Cut Theorem. Max Flow Min Cut Theorem The max flow problem Ford-Fulkerson method 7 11 Ford-Fulkerson(G) f = 0 while( simple path p from s to t in G f ) 10-2 2 1 f := f + f p output f 4 9 1 2 A cut Lemma 26. + Corollary 26.6 Let f be a flow

More information

Mathematics for Decision Making: An Introduction. Lecture 13

Mathematics for Decision Making: An Introduction. Lecture 13 Mathematics for Decision Making: An Introduction Lecture 13 Matthias Köppe UC Davis, Mathematics February 17, 2009 13 1 Reminder: Flows in networks General structure: Flows in networks In general, consider

More information

NP and NP-Completeness

NP and NP-Completeness 0/2/206 Algorithms NP-Completeness 7- Algorithms NP-Completeness 7-2 Efficient Certification NP and NP-Completeness By a solution of a decision problem X we understand a certificate witnessing that an

More information

Chromatic characterization of biclique cover. Denis Cornaz. Jean Fonlupt. Equipe Combinatoire, UFR 921, Universite Pierre et Marie Curie, 4 place

Chromatic characterization of biclique cover. Denis Cornaz. Jean Fonlupt. Equipe Combinatoire, UFR 921, Universite Pierre et Marie Curie, 4 place Chromatic characterization of biclique coer Denis Cornaz France Telecom R&D, 38-40 rue du General Leclerc, Issy-les-Moulineaux 92794 Jean Fonlupt Equipe Combinatoire, UFR 921, Uniersite Pierre et Marie

More information

Discrete Optimization 23

Discrete Optimization 23 Discrete Optimization 23 2 Total Unimodularity (TU) and Its Applications In this section we will discuss the total unimodularity theory and its applications to flows in networks. 2.1 Total Unimodularity:

More information

Lecture 5 January 16, 2013

Lecture 5 January 16, 2013 UBC CPSC 536N: Sparse Approximations Winter 2013 Prof. Nick Harvey Lecture 5 January 16, 2013 Scribe: Samira Samadi 1 Combinatorial IPs 1.1 Mathematical programs { min c Linear Program (LP): T x s.t. a

More information

Chapter 4: Techniques of Circuit Analysis

Chapter 4: Techniques of Circuit Analysis Chapter 4: Techniques of Circuit Analysis This chapter gies us many useful tools for soling and simplifying circuits. We saw a few simple tools in the last chapter (reduction of circuits ia series and

More information

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

10 Max-Flow Min-Cut Flows and Capacitated Graphs 10 MAX-FLOW MIN-CUT 10 Max-Flow Min-Cut 10.1 Flows and Capacitated Graphs Previously, we considered weighted graphs. In this setting, it was natural to thinking about minimizing the weight of a given path. In fact, we considered

More information

CS675: Convex and Combinatorial Optimization Fall 2014 Combinatorial Problems as Linear Programs. Instructor: Shaddin Dughmi

CS675: Convex and Combinatorial Optimization Fall 2014 Combinatorial Problems as Linear Programs. Instructor: Shaddin Dughmi CS675: Convex and Combinatorial Optimization Fall 2014 Combinatorial Problems as Linear Programs Instructor: Shaddin Dughmi Outline 1 Introduction 2 Shortest Path 3 Algorithms for Single-Source Shortest

More information

Agenda. Soviet Rail Network, We ve done Greedy Method Divide and Conquer Dynamic Programming

Agenda. Soviet Rail Network, We ve done Greedy Method Divide and Conquer Dynamic Programming Agenda We ve done Greedy Method Divide and Conquer Dynamic Programming Now Flow Networks, Max-flow Min-cut and Applications c Hung Q. Ngo (SUNY at Buffalo) CSE 531 Algorithm Analysis and Design 1 / 52

More information

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

C&O 355 Mathematical Programming Fall 2010 Lecture 18. N. Harvey C&O 355 Mathematical Programming Fall 2010 Lecture 18 N. Harvey Network Flow Topics Max Flow / Min Cut Theorem Total Unimodularity Directed Graphs & Incidence Matrices Proof of Max Flow / Min Cut Theorem

More information

LESSON 4: INTEGRATION BY PARTS (I) MATH FALL 2018

LESSON 4: INTEGRATION BY PARTS (I) MATH FALL 2018 LESSON 4: INTEGRATION BY PARTS (I) MATH 6 FALL 8 ELLEN WELD. Integration by Parts We introduce another method for ealuating integrals called integration by parts. The key is the following : () u d = u

More information

Lectures 6, 7 and part of 8

Lectures 6, 7 and part of 8 Lectures 6, 7 and part of 8 Uriel Feige April 26, May 3, May 10, 2015 1 Linear programming duality 1.1 The diet problem revisited Recall the diet problem from Lecture 1. There are n foods, m nutrients,

More information

Review Questions, Final Exam

Review Questions, Final Exam Review Questions, Final Exam A few general questions 1. What does the Representation Theorem say (in linear programming)? 2. What is the Fundamental Theorem of Linear Programming? 3. What is the main idea

More information

An example of LP problem: Political Elections

An example of LP problem: Political Elections Linear Programming An example of LP problem: Political Elections Suppose that you are a politician trying to win an election. Your district has three different types of areas: urban, suburban, and rural.

More information

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

- Well-characterized problems, min-max relations, approximate certificates. - LP problems in the standard form, primal and dual linear programs LP-Duality ( Approximation Algorithms by V. Vazirani, Chapter 12) - Well-characterized problems, min-max relations, approximate certificates - LP problems in the standard form, primal and dual linear programs

More information

Fundamentals of Operations Research. Prof. G. Srinivasan. Indian Institute of Technology Madras. Lecture No. # 15

Fundamentals of Operations Research. Prof. G. Srinivasan. Indian Institute of Technology Madras. Lecture No. # 15 Fundamentals of Operations Research Prof. G. Srinivasan Indian Institute of Technology Madras Lecture No. # 15 Transportation Problem - Other Issues Assignment Problem - Introduction In the last lecture

More information

Math 144 Activity #9 Introduction to Vectors

Math 144 Activity #9 Introduction to Vectors 144 p 1 Math 144 ctiity #9 Introduction to Vectors Often times you hear people use the words speed and elocity. Is there a difference between the two? If so, what is the difference? Discuss this with your

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LETURE 2 Network Flow Finish bipartite matching apacity-scaling algorithm Adam Smith 0//0 A. Smith; based on slides by E. Demaine,. Leiserson, S. Raskhodnikova, K. Wayne Marriage

More information

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

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 2 4. Duality of LPs and the duality theorem... 22 4.2 Complementary slackness... 23 4.3 The shortest path problem and its dual... 24 4.4 Farkas' Lemma... 25 4.5 Dual information in the tableau... 26 4.6

More information

Preliminaries. Graphs. E : set of edges (arcs) (Undirected) Graph : (i, j) = (j, i) (edges) V = {1, 2, 3, 4, 5}, E = {(1, 3), (3, 2), (2, 4)}

Preliminaries. Graphs. E : set of edges (arcs) (Undirected) Graph : (i, j) = (j, i) (edges) V = {1, 2, 3, 4, 5}, E = {(1, 3), (3, 2), (2, 4)} Preliminaries Graphs G = (V, E), V : set of vertices E : set of edges (arcs) (Undirected) Graph : (i, j) = (j, i) (edges) 1 2 3 5 4 V = {1, 2, 3, 4, 5}, E = {(1, 3), (3, 2), (2, 4)} 1 Directed Graph (Digraph)

More information

Lecture 15 (Oct 6): LP Duality

Lecture 15 (Oct 6): LP Duality CMPUT 675: Approximation Algorithms Fall 2014 Lecturer: Zachary Friggstad Lecture 15 (Oct 6): LP Duality Scribe: Zachary Friggstad 15.1 Introduction by Example Given a linear program and a feasible solution

More information

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

Maximum Flow. Jie Wang. University of Massachusetts Lowell Department of Computer Science. J. Wang (UMass Lowell) Maximum Flow 1 / 27 Maximum Flow Jie Wang University of Massachusetts Lowell Department of Computer Science J. Wang (UMass Lowell) Maximum Flow 1 / 27 Flow Networks A flow network is a weighted digraph G = (V, E), where the

More information

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

Flow Network. The following figure shows an example of a flow network: Maximum Flow 1 Flow Network The following figure shows an example of a flow network: 16 V 1 12 V 3 20 s 10 4 9 7 t 13 4 V 2 V 4 14 A flow network G = (V,E) is a directed graph. Each edge (u, v) E has a

More information

The min cost flow problem Course notes for Search and Optimization Spring 2004

The min cost flow problem Course notes for Search and Optimization Spring 2004 The min cost flow problem Course notes for Search and Optimization Spring 2004 Peter Bro Miltersen February 20, 2004 Version 1.3 1 Definition of the min cost flow problem We shall consider a generalization

More information

CS675: Convex and Combinatorial Optimization Fall 2016 Combinatorial Problems as Linear and Convex Programs. Instructor: Shaddin Dughmi

CS675: Convex and Combinatorial Optimization Fall 2016 Combinatorial Problems as Linear and Convex Programs. Instructor: Shaddin Dughmi CS675: Convex and Combinatorial Optimization Fall 2016 Combinatorial Problems as Linear and Convex Programs Instructor: Shaddin Dughmi Outline 1 Introduction 2 Shortest Path 3 Algorithms for Single-Source

More information

4.6 Linear Programming duality

4.6 Linear Programming duality 4.6 Linear Programming duality To any minimization (maximization) LP we can associate a closely related maximization (minimization) LP Different spaces and objective functions but in general same optimal

More information

Polynomial-Solvability of N P-class Problems

Polynomial-Solvability of N P-class Problems Polynomial-Solability of N P-class Problems Anatoly Panyuko paniukoa@susu.ru arxi:1409.03755 [cs.cc] 24 Aug 2018 Abstract LetHamiltoniancomplement ofthegraphg = (V(G), E(G))betheminimal cardinality set

More information

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

GRAPH ALGORITHMS Week 7 (13 Nov - 18 Nov 2017) GRAPH ALGORITHMS Week 7 (13 Nov - 18 Nov 2017) C. Croitoru croitoru@info.uaic.ro FII November 12, 2017 1 / 33 OUTLINE Matchings Analytical Formulation of the Maximum Matching Problem Perfect Matchings

More information

Introduction to Thermodynamic Cycles Part 1 1 st Law of Thermodynamics and Gas Power Cycles

Introduction to Thermodynamic Cycles Part 1 1 st Law of Thermodynamics and Gas Power Cycles Introduction to Thermodynamic Cycles Part 1 1 st Law of Thermodynamics and Gas Power Cycles by James Doane, PhD, PE Contents 1.0 Course Oeriew... 4.0 Basic Concepts of Thermodynamics... 4.1 Temperature

More information

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

Linear Programming Duality P&S Chapter 3 Last Revised Nov 1, 2004 Linear Programming Duality P&S Chapter 3 Last Revised Nov 1, 2004 1 In this section we lean about duality, which is another way to approach linear programming. In particular, we will see: How to define

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LETURE 28 Network Flow hoosing good augmenting paths apacity scaling algorithm A. Smith /4/2008 A. Smith; based on slides by K. Wayne and S. Raskhodnikova Pre-break: Ford-Fulkerson

More information

Topic: Primal-Dual Algorithms Date: We finished our discussion of randomized rounding and began talking about LP Duality.

Topic: Primal-Dual Algorithms Date: We finished our discussion of randomized rounding and began talking about LP Duality. CS787: Advanced Algorithms Scribe: Amanda Burton, Leah Kluegel Lecturer: Shuchi Chawla Topic: Primal-Dual Algorithms Date: 10-17-07 14.1 Last Time We finished our discussion of randomized rounding and

More information

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

Network Flows. 7. Multicommodity Flows Problems. Fall 2010 Instructor: Dr. Masoud Yaghini In the name of God Network Flows 7. Multicommodity Flows Problems 7.3 Column Generation Approach Fall 2010 Instructor: Dr. Masoud Yaghini Path Flow Formulation Path Flow Formulation Let first reformulate

More information

Duality of LPs and Applications

Duality of LPs and Applications Lecture 6 Duality of LPs and Applications Last lecture we introduced duality of linear programs. We saw how to form duals, and proved both the weak and strong duality theorems. In this lecture we will

More information

On Végh s Strongly Polynomial Algorithm for Generalized Flows

On Végh s Strongly Polynomial Algorithm for Generalized Flows On Végh s Strongly Polynomial Algorithm for Generalized Flows by Venus Hiu Ling Lo A thesis presented to the University of Waterloo in fulfillment of the thesis requirement for the degree of Master of

More information

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

Types of Networks. Internet Telephone Cell Highways Rail Electrical Power Water Sewer Gas Flow Networks Network Flows 2 Types of Networks Internet Telephone Cell Highways Rail Electrical Power Water Sewer Gas 3 Maximum Flow Problem How can we maximize the flow in a network from a source or

More information

Introduction 1.1 PROBLEM FORMULATION

Introduction 1.1 PROBLEM FORMULATION Introduction. PROBLEM FORMULATION This book deals with a single type of network optimization problem with linear cost, known as the transshipment or minimum cost flow problem. In this section, we formulate

More information

Lecture #21. c T x Ax b. maximize subject to

Lecture #21. c T x Ax b. maximize subject to COMPSCI 330: Design and Analysis of Algorithms 11/11/2014 Lecture #21 Lecturer: Debmalya Panigrahi Scribe: Samuel Haney 1 Overview In this lecture, we discuss linear programming. We first show that the

More information

Discrete Optimization 2010 Lecture 3 Maximum Flows

Discrete Optimization 2010 Lecture 3 Maximum Flows Remainder: Shortest Paths Maximum Flows Discrete Optimization 2010 Lecture 3 Maximum Flows Marc Uetz University of Twente m.uetz@utwente.nl Lecture 3: sheet 1 / 29 Marc Uetz Discrete Optimization Outline

More information

Combinatorial Optimization

Combinatorial Optimization Combinatorial Optimization 2017-2018 1 Maximum matching on bipartite graphs Given a graph G = (V, E), find a maximum cardinal matching. 1.1 Direct algorithms Theorem 1.1 (Petersen, 1891) A matching M is

More information

6.854 Advanced Algorithms

6.854 Advanced Algorithms 6.854 Advanced Algorithms Homework 5 Solutions 1 10 pts Define the following sets: P = positions on the results page C = clicked old results U = unclicked old results N = new results and let π : (C U)

More information

3. Linear Programming and Polyhedral Combinatorics

3. Linear Programming and Polyhedral Combinatorics Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans April 5, 2017 3. Linear Programming and Polyhedral Combinatorics Summary of what was seen in the introductory

More information

Optimization - Examples Sheet 1

Optimization - Examples Sheet 1 Easter 0 YMS Optimization - Examples Sheet. Show how to solve the problem min n i= (a i + x i ) subject to where a i > 0, i =,..., n and b > 0. n x i = b, i= x i 0 (i =,...,n). Minimize each of the following

More information

princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 17: Duality and MinMax Theorem Lecturer: Sanjeev Arora

princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 17: Duality and MinMax Theorem Lecturer: Sanjeev Arora princeton univ F 13 cos 521: Advanced Algorithm Design Lecture 17: Duality and MinMax Theorem Lecturer: Sanjeev Arora Scribe: Today we first see LP duality, which will then be explored a bit more in the

More information

x 4 = 40 +2x 5 +6x x 6 x 1 = 10 2x x 6 x 3 = 20 +x 5 x x 6 z = 540 3x 5 x 2 3x 6 x 4 x 5 x 6 x x

x 4 = 40 +2x 5 +6x x 6 x 1 = 10 2x x 6 x 3 = 20 +x 5 x x 6 z = 540 3x 5 x 2 3x 6 x 4 x 5 x 6 x x MATH 4 A Sensitivity Analysis Example from lectures The following examples have been sometimes given in lectures and so the fractions are rather unpleasant for testing purposes. Note that each question

More information

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

(P ) Minimize 4x 1 + 6x 2 + 5x 3 s.t. 2x 1 3x 3 3 3x 2 2x 3 6 The exam is three hours long and consists of 4 exercises. The exam is graded on a scale 0-25 points, and the points assigned to each question are indicated in parenthesis within the text. Problem 1 Consider

More information

3. Linear Programming and Polyhedral Combinatorics

3. Linear Programming and Polyhedral Combinatorics Massachusetts Institute of Technology 18.433: Combinatorial Optimization Michel X. Goemans February 28th, 2013 3. Linear Programming and Polyhedral Combinatorics Summary of what was seen in the introductory

More information

Minimum cost transportation problem

Minimum cost transportation problem Minimum cost transportation problem Complements of Operations Research Giovanni Righini Università degli Studi di Milano Definitions The minimum cost transportation problem is a special case of the minimum

More information

Online Companion to Pricing Services Subject to Congestion: Charge Per-Use Fees or Sell Subscriptions?

Online Companion to Pricing Services Subject to Congestion: Charge Per-Use Fees or Sell Subscriptions? Online Companion to Pricing Serices Subject to Congestion: Charge Per-Use Fees or Sell Subscriptions? Gérard P. Cachon Pnina Feldman Operations and Information Management, The Wharton School, Uniersity

More information

Maximum flow problem CE 377K. February 26, 2015

Maximum flow problem CE 377K. February 26, 2015 Maximum flow problem CE 377K February 6, 05 REVIEW HW due in week Review Label setting vs. label correcting Bellman-Ford algorithm Review MAXIMUM FLOW PROBLEM Maximum Flow Problem What is the greatest

More information

Slack Variable. Max Z= 3x 1 + 4x 2 + 5X 3. Subject to: X 1 + X 2 + X x 1 + 4x 2 + X X 1 + X 2 + 4X 3 10 X 1 0, X 2 0, X 3 0

Slack Variable. Max Z= 3x 1 + 4x 2 + 5X 3. Subject to: X 1 + X 2 + X x 1 + 4x 2 + X X 1 + X 2 + 4X 3 10 X 1 0, X 2 0, X 3 0 Simplex Method Slack Variable Max Z= 3x 1 + 4x 2 + 5X 3 Subject to: X 1 + X 2 + X 3 20 3x 1 + 4x 2 + X 3 15 2X 1 + X 2 + 4X 3 10 X 1 0, X 2 0, X 3 0 Standard Form Max Z= 3x 1 +4x 2 +5X 3 + 0S 1 + 0S 2

More information

A-level Mathematics. MM03 Mark scheme June Version 1.0: Final

A-level Mathematics. MM03 Mark scheme June Version 1.0: Final -leel Mathematics MM0 Mark scheme 660 June 0 Version.0: Final Mark schemes are prepared by the Lead ssessment Writer and considered, together with the releant questions, by a panel of subject teachers.

More information

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

Graphs and Network Flows IE411. Lecture 12. Dr. Ted Ralphs 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

More information

CPS 616 ITERATIVE IMPROVEMENTS 10-1

CPS 616 ITERATIVE IMPROVEMENTS 10-1 CPS 66 ITERATIVE IMPROVEMENTS 0 - APPROACH Algorithm design technique for solving optimization problems Start with a feasible solution Repeat the following step until no improvement can be found: change

More information

Part 1. The Review of Linear Programming

Part 1. The Review of Linear Programming In the name of God Part 1. The Review of Linear Programming 1.5. Spring 2010 Instructor: Dr. Masoud Yaghini Outline Introduction Formulation of the Dual Problem Primal-Dual Relationship Economic Interpretation

More information

Advanced Linear Programming: The Exercises

Advanced Linear Programming: The Exercises Advanced Linear Programming: The Exercises The answers are sometimes not written out completely. 1.5 a) min c T x + d T y Ax + By b y = x (1) First reformulation, using z smallest number satisfying x z

More information

Part V. Matchings. Matching. 19 Augmenting Paths for Matchings. 18 Bipartite Matching via Flows

Part V. Matchings. Matching. 19 Augmenting Paths for Matchings. 18 Bipartite Matching via Flows Matching Input: undirected graph G = (V, E). M E is a matching if each node appears in at most one Part V edge in M. Maximum Matching: find a matching of maximum cardinality Matchings Ernst Mayr, Harald

More information

CMPSCI 611: Advanced Algorithms

CMPSCI 611: Advanced Algorithms CMPSCI 611: Advanced Algorithms Lecture 12: Network Flow Part II Andrew McGregor Last Compiled: December 14, 2017 1/26 Definitions Input: Directed Graph G = (V, E) Capacities C(u, v) > 0 for (u, v) E and

More information

Patterns of Non-Simple Continued Fractions

Patterns of Non-Simple Continued Fractions Patterns of Non-Simple Continued Fractions Jesse Schmieg A final report written for the Uniersity of Minnesota Undergraduate Research Opportunities Program Adisor: Professor John Greene March 01 Contents

More information

Lecture 8 Network Optimization Algorithms

Lecture 8 Network Optimization Algorithms Advanced Algorithms Floriano Zini Free University of Bozen-Bolzano Faculty of Computer Science Academic Year 2013-2014 Lecture 8 Network Optimization Algorithms 1 21/01/14 Introduction Network models have

More information

Lecture 2: Network Flows 1

Lecture 2: Network Flows 1 Comp 260: Advanced Algorithms Tufts University, Spring 2011 Lecture by: Prof. Cowen Scribe: Saeed Majidi Lecture 2: Network Flows 1 A wide variety of problems, including the matching problems discussed

More information

Math Mathematical Notation

Math Mathematical Notation Math 160 - Mathematical Notation Purpose One goal in any course is to properly use the language of that subject. Finite Mathematics is no different and may often seem like a foreign language. These notations

More information

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

Flows and Cuts. 1 Concepts. CS 787: Advanced Algorithms. Instructor: Dieter van Melkebeek CS 787: Advanced Algorithms Flows and Cuts Instructor: Dieter van Melkebeek This lecture covers the construction of optimal flows and cuts in networks, their relationship, and some applications. It paves

More information

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

directed weighted graphs as flow networks the Ford-Fulkerson algorithm termination and running time Network Flow 1 The Maximum-Flow Problem directed weighted graphs as flow networks the Ford-Fulkerson algorithm termination and running time 2 Maximum Flows and Minimum Cuts flows and cuts max flow equals

More information

Integer Parameter Synthesis for Real-time Systems

Integer Parameter Synthesis for Real-time Systems 1 Integer Parameter Synthesis for Real-time Systems Aleksandra Joanoić, Didier Lime and Oliier H. Roux École Centrale de Nantes - IRCCyN UMR CNRS 6597 Nantes, France Abstract We proide a subclass of parametric

More information