1 Introduction. 2 The Generic Push-Relabel Algorithm. Improvements on the Push-Relabel Method: Excess Scaling. 2.1 Definitions CMSC 29700

Size: px
Start display at page:

Download "1 Introduction. 2 The Generic Push-Relabel Algorithm. Improvements on the Push-Relabel Method: Excess Scaling. 2.1 Definitions CMSC 29700"

Transcription

1 CMSC 9700 Supervised Reading & Research Week 6: May 17, 013 Improvements on the Push-Relabel Method: Excess Scaling Rahul Mehta 1 Introduction We now know about both the methods based on the idea of Ford and Fulkerson (which gave rise to Edmonds and Karp s algorithm, as well as others) in addition to the PUSH-RELABEL method of Goldberg and Tarjan. However, we see that both of these algorithms have a bottleneck procedure; for Ford and Fulkerson s algorithm, efficiently finding good augmenting paths is a challenge that many have worked on (for a comprehensive list refer to []). For push-relabel algorithms, the bottleneck procedure has always been reducing the amount of nonsaturating pushes executed in the main body of the algorithm. The Relablel-to-Front algorithm reduced the number of nonsaturatng pushes to O(n 3 ) through using a FIFO vertex selection rule [], while Goldberg and Tarjan improved the running time of their original algorithm to O(mn + log(n /m)) by using Sleator and Tarjan s Dynamic Trees data structure to maintain the dynamic transitive closure of the flow network [1]. In this paper, Ahuja and Orlin further improve the running time of the push-relabel method by employing a scaling technique first developed by Edmonds and Karp [3], which introduced the concept of -scaling phases as a method of considering only a certain subset of arcs and/or vertices in the residual flow network G f. In this synopsis, we will first examine the generic push-relabel algorithm and take note of certain facts surrounding its time complexity. Then, we will consider the original scaling technique demonstrated by Edmonds and Karp in [3], and show how their notion of -scaling phases allows a significant improvement to be made in finding good augmenting paths. Finally, we show how Ahuja and Orlin modified this scaling technique to create an ingenious vertex selection rule for the push-relabel algorithms in [1]. The Generic Push-Relabel Algorithm As previously shown, the generic PUSH-RELABEL algorithm maintains a preflow f in place of a feasible flow (as in Ford and Fulkerson s method). This allows flow to be pushed from vertex to vertex and eventually enables us to refine a preflow to a feasible flow. Further, by an important result that states whenever a preflow f and a distance labeling 1 d are compatible, an s t path P in G f. This allows us to see, intuitively, that upon termination, the feasible flow f is indeed a maximum flow by the Max-Flow Min-Cut Theorem of Ford and Fulkerson []. More formally, we define a preflow and a distance labeling as follows;.1 Definitions Definition 1. A preflow on a flow nework G = (V, A) with capacity function c : A R + is a function f : A R + that maintains the following two conditions: (1) f(a) c(a) (capacity) () a v f(a) v a f(a) 0 (permissibility of overflow) 1 This is known as a height function in texts like [], but will be called a distance labeling for the duration of this synopsis. 1

2 Condition () gives rise to a second definition. Definition. The excess of a vertex v is defined as the difference in incoming and outgoing flow. We will denote this as e(v). A vertex v is overflowing or active if e(v) > 0. Definition 3. A distance labeling is a function d : V Z 0 such that: (1) d(t) = 0 () d(u) d(v) + 1, a = (u, v) A f Definition 4. An arc is admissible if and only if a = (u, v) A f : d(u) = d(v) + 1. All of the push-relabel algorithms attempt to push flow through admissible arcs when working towards transforming a preflow f into a feasible flow.. Algorithm and Observations GENERIC-PUSH-RELABEL(G, s, t, c) // G = (V, A), s, t V, c : A R + 1 INITIALIZE(G, s) while v V : e(v) > 0 3 PUSH or RELBAEL v accordingly 4 return f We have already shown the correctness and time complexity of GENERIC-PUSH-RELABEL, but there are some certain facts that are central to the improvements presented here. Fact 1. GENERIC-PUSH-RELABEL terminates with a valid flow f, since e(v) = 0 v V. Further, since an s t path in G f, the valid flow f is in fact a maximum flow. Fact. v V, h(v) < n. Since we can bound the vertex heights, it follows that there are O(n ) relabelings throughout the execution of GENERIC-PUSH-RELABEL. Now, we will consider the invocations of PUSH throughout the main body of GENERIC-PUSH-RELABEL. We will divide them into two categories; saturating pushes, and nonsaturating pushes. Fact 3. There are O(mn) saturating pushes in GENERIC-PUSH-RELABEL. Fact 4. There are O(n m) nonsaturating pushes in GENERIC-PUSH-RELABEL. We are able to achieve this bound through bounding the value of the potential function ϕ = v:e(v)>0 h(v). The overall running time for GENERIC-PUSH-RELABEL is O(n m). From this, it is immediately apparent that the number of nonsaturating pushes is the bottleneck operation here. We can rewrite this time bound as O(mn + T (n, m)), where T (n, m) is the number of nonsaturating pushes executed throughout the procedure. Our goal for improving the running time of GENERIC-PUSH-RELABEL is now immediately apparent. 3 Methods of Scaling Goal: Find a way to reduce then number of nonsaturating pushes that are executed throughout the algorithm. In other words, describe an algorithm such that T (n, m) < O(n m). Idea: Our idea for reducing the number of nonsaturating pushes is an adaptation of a method described by Edmonds and Karp in [3] to speed up the process of finding good augmenting paths (in this case, good means high-capacity augmenting paths). We will first introduce Edmonds and Karp s scaling algorithm, and will then show how Ahuja and Orlin extended this concept to scaling nonsaturating pushes in [1].

3 3.1 The Original Edmonds-Karp Algorithm EDMONDS-KARP(G, s, t, c) 1 u, v V, f(u, v) = 0. construct G f from f 3 while an s t path P in G f 4 augment f along P 5 return f It has been shown that this algorithm runs in O(nm ) time when BFS is used to find the augmenting paths throughout execution. 3. Edmonds-Karp with Scaling However, we can improve the speed of the original EDMONDS-KARP algorithm by applying the following method; Consider some scaling factor K. If we are able to fix a value for K at each iteration of the algorithm, then we can find augmenting paths of at least capacity K in G f. This ensures that we have higher-capacity augmenting paths, and intuitively, that the algorithm terminates faster. Such an algorithm is described below. EDMONDS-KARP-SCALING(G, s, t, c) 1 u, v V, f(u, v) = 0 U = max{c(a) a A}, = lg U 3 while 1 4 while an s t path P of capacity in G f 5 augment f along P in G f 6 = / 7 return f The correctness argument for this procedure is similar to the original algorithm of Edmonds and Karp. It is omitted here for sake of brevity; for a complete correctness argument, see []. Lemma 1. EDMONDS-KARP-SCALING runs in O(m lg U) time. Proof. The procedure to find the augmenting path in a residual flow network based on G (which we will call G f ) was runs in O(m) time. Therefore, asserting that the inner while-loop runs only O(m) times for any given value of implies that only one augmentation will take place. We see that at any iteration, the max flow is at most m, and at each stage of augmentation, the flow will be augmented at least by. Therefore, each phase for augmentation takes only O(m) time. Due to the initialization of to be = lg U, we see that there will be at most m lg U flow augmentations. Further, we know that each augmentation will take O(m) time. Therefore, combining these two facts, we see that the overall running time is O(m lg U). Note: The fact that this algorithm s running time depends on U implies that it is only weakly polynomial. While in practice, this algorithm is quite efficient, especially when U = O(m), it still has the potential to be affected by a sufficiently large value of U. Consider the following flow network: 3

4 a s 1000 t b Although the maximum flow on the network is f = 4, lg 1000 = 10. This means that = 10 = 104 initially, as opposed to when considering only arcs with capacity. Although this is a specificallyconstructed example, this worst-case behavior is possible, and is a downside of having the running time dependent on the arc capacities. 4 Scaling in Push-Relabel Algorithms Several improvements have been made on the original PUSH-RELABEL algorithm. Several of these improvements use a FIFO vertex-selection rule for choosing vertices to push flow through [], while others make use of Sleater and Tarjan s dynamic trees data structure [1]. The FIFO algorithm (also known as RELABEL-TO-FRONT) runs in O(n 3 ) time, while the algorithm that makes use of the dynamic trees structure runs in O(mn + lg(n /m)). Clearly, Goldberg and Tarjan s contribution reduces the number of nonsaturating pushes to O(lg(n /m)). Here, Ahuja and Orlin are able to modify Edmonds and Karp s scaling technique to reduce the number of nonsaturating pushes to O(n lg U) [1]. Idea: We modify slightly the notion of a -scaling phase in terms of the push-relabel method. Instead of finding augmenting paths of capacity at least, we instead search for vertices where the excess e(v). This way, we are guaranteed to make large pushes throughout the execution of the algorithm relative to other vertices excesses. This allows us to improve the running time of the procedure by a significant factor. Below, we define the subroutines and the overall procedure for this algorithm. 4.1 Subroutines - Push, Relabel, and Select PUSH(u, v) // e(u) > 0 and (u, v) A f and d(u) = d(v) δ(u, v) = min{e(u), c f (u, v), e(v)} // If a = (u, v) is a forward arc if (u, v) A 3 f(u, v) = f(u, v) + δ(u, v) 4 else 5 f(v, u) = f(v, u) δ(u, v) 6 update e(u) and e(v) 7 if e(u) / 8 delete u from LIST[d(u)] 9 elseif u {s, t} and e(v) > / 10 add u to LIST[d(u)] 4

5 RELABEL(u) // e(u) > 0 1 delete u from LIST[d(u)] d(u) = 1 + min{d(v) (u, v) A f } 3 add u to LIST[d(u)] SELECT(u) 1 let (u, v) be the current arc of u, and found = FALSE while found TRUE and (u, v) NIL 3 if d(u) = d(v) + 1 then set found to TRUE 4 else replace (u, v) with the next arc adjacent to vertex u 5 if found = TRUE then PUSH(u, v) 6 else RELABEL(u) 4. The Ahuja-Orlin Algorithm The algorithm below utilizes the three subroutines from the previous section to implement a new maximum flow algorithm. AHUJA-ORLIN(G, s, t, c) 1 INITIALIZE(G, s) U = max{c(a) a A}, = lg U 3 while 1 4 while u V : e(u) / 5 let u = min{h(u) u V : e(u) /} 6 SELECT(u) to run either PUSH(u, v) or RELABEL(u) 7 = / 8 return f We will now prove two important facts about the AHUJA-ORLIN algorithm. First, we will show that the excess scaling algorithm satisfies two conditions vital to its running time, and then will show that the number of nonsaturating pushes that will occur at each -scaling phase is bounded above by 8n = O(n ). Lemma. The excess scaling algorithm satisfies the following two conditions: (1) Each nonsaturating push from u to v pushes at least / units of flow. () The excess of any vertex v does not increase more than after any push. Proof. For each push that sends flow through arc a = (u, v), we have e(u) / and e(v) /. This is due to the fact that u, according to our selection rule, is the node with the smallest distance labeling such that e(u) /. Further, since (u, v) is an admissible arc, d(j) = d(i) 1 < d(i). Therefore, we assign F = min{e(u), c f (u, v), e(v)} units of flow, which also is F min{ /, c f (u, v)}. Therefore, by this inequality, we see that we maintain (1) and send at least / units of flow in every nonsaturating push. Further, the push operation will only ever increase the excess flow at v after either a saturating or nonsaturating push. Let e (v) be the excess after a push operation. Then e (v) = e(v)+f e(v)+ e(v). Therefore, all node excesses remain less than or equal to after a push, and () is maintained. 5

6 Note: Conditions (1) and () allow us to see the push procedure, in the words of Ahuja and Orlin, as a restrained greedy approach. Intuitively, this means that in a push from u to v, u shows restraint. Instead of discharging all of its excess flow, u discharges as much flow as it can without causing e(v) to exceed. Lemma 3. If conditions (1) and () from Lemma are satisfied, then the number of nonsaturating pushes per scaling phase is at most 8n = O(n ). Proof. In a manner similar to Goldberg and Tarjan s initial analysis of nonsaturating pushes in GENERIC-PUSH-RELABEL, we will use a potential function to find an upper bound. Let ϕ be defined as follows: ϕ = e(u) d(u) u V The initial value of ϕ at the beginning of a -scaling phase is bounded by n. This is because e(u) at the beginning of a scaling phase, and that d(u) < n by Fact. When vertex u is considered, there are two cases that can occur. Case 1: an admissible arc (u, v) leaving u. This occurs when the current arc of u reaches the end of the list, and that all other arcs are found to be inadmissible. The arc remains inadmissible until u is relabeled and d(u) increases. A relabeling will increase ϕ by at least 1 unit. Since the total increase in d(u) is less than n for every u V, the total increase in ϕ is bounded by n in the scaling iteration. Case : The algorithm finds an admissible arc (u, v), and conducts either a saturating or nonsaturating push. In either case, it is obvious that ϕ decreases since e(u) will decrease. A nonsaturating push sends at least / units of flow, and since d(u) = d(v) + 1 d(v) = d(u) 1, ϕ decreases by at least 1/ units. As the initial value of ϕ is at most 4n, this will not occur more than 8n times. We see that this case dominates, so there are 8n = O(n ) nonsaturating pushes. Observation: There are lg U -scaling iterations throughout AHUJA-ORLIN. This is immediately obvious, since is initialized to lg U, and at the end of each scaling phase, = /. This means that there will be lg U scaling phases. Theorem 1. The complexity of AHUJA-ORLIN is O(mn + n lg U). Proof. This immediately follows from Lemma 3 as well as our previous observation. We cannot say obviously whether or not O(mn) dominates over O(n lg U) or not, since U is not directly proportional to either m or n. Therefore, the overall time complexity is O(mn + n lg U). References [1] R. K. Ahuja and James B. Orlin, A fast and simple algorithm for the maximum flow problem, Operations Research 37 (1989), no. 5, pp (English). [] T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Introduction to algorithms, 3rd ed., The MIT Press, 009. [3] Jack Edmonds and Richard M. Karp, Theoretical improvements in algorithmic efficiency for network flow problems, J. ACM 19 (197), no.,

Maximum Flow Algorithms

Maximum Flow Algorithms Maximum Flow Algorithms Network Algorithms Georgia Kaouri Contents Applications, special cases Flow networks Ford Fulkerson algorithm Preflow push algorithms Lift to front algorithm Material flows Applications

More information

CS261: Problem Set #1

CS261: Problem Set #1 CS261: Problem Set #1 Due by 11:59 PM on Tuesday, April 21, 2015 Instructions: (1) Form a group of 1-3 students. You should turn in only one write-up for your entire group. (2) Turn in your solutions by

More information

Today. Maximum flow. Maximum flow. Problem

Today. Maximum flow. Maximum flow. Problem 5 Maximum Flow (slides 1 4) Today Maximum flow Algorithms and Networks 2008 Maximum flow problem Applications Briefly: Ford-Fulkerson; min cut max flow theorem Preflow push algorithm Lift to front algorithm

More information

Tutorial for Algorithm s Theory Problem Set 5. January 17, 2013

Tutorial for Algorithm s Theory Problem Set 5. January 17, 2013 Tutorial for Algorithm s Theory Problem Set 5 January 17, 2013 Exercise 1: Maximum Flow Algorithms Consider the following flow network: a) Solve the maximum flow problem on the above network by using the

More information

Lecture 4. 1 Overview. 2 Preflows. COMPSCI 532: Design and Analysis of Algorithms September 4, 2015

Lecture 4. 1 Overview. 2 Preflows. COMPSCI 532: Design and Analysis of Algorithms September 4, 2015 COMPSCI 532: Design and Analysis of Algorithms September 4, 2015 Lecture 4 Lecturer: Debmalya Panigrahi Scribe: Allen Xiao 1 Overview In this lecture we will introduce the current fastest strongly polynomial

More information

Workshop In Advanced Data Structures Push-Relabel Heuristics. Maya Orshizer Sagi Hed

Workshop In Advanced Data Structures Push-Relabel Heuristics. Maya Orshizer Sagi Hed Workshop In Advanced Data Structures Push-Relabel Heuristics Maya Orshizer Sagi Hed 1 Contents 1 Overview And Goals 3 2 Our Implementation Of Push Relabel 3 2.1 Definitions...............................

More information

CS261: A Second Course in Algorithms Lecture #3: The Push-Relabel Algorithm for Maximum Flow

CS261: A Second Course in Algorithms Lecture #3: The Push-Relabel Algorithm for Maximum Flow CS26: A Second Course in Algorithms Lecture #3: The Push-Relabel Algorithm for Maximum Flow Tim Roughgarden January 2, 206 Motivation The maximum flow algorithms that we ve studied so far are augmenting

More information

Preflow-Push Algorithm

Preflow-Push Algorithm Preflow-Push Algorithm An s-t preflow obeys the following constraints: Capacity constraints: 0 f(e) c(e) e f (v) = f (u,v) f (v,w) 0 u V w V A labeling h assigns nonnegative integers to vertices. h(t)

More information

Network Design and Optimization course

Network Design and Optimization course Effective maximum flow algorithms Modeling with flows Network Design and Optimization course Lecture 5 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell Informazione Università degli

More information

instead of waiting till hit sink to augment, augment a s a d v ance augment ( v w ) amount is min of ow r e a c hing v and (v w ) \unaugment" when ret

instead of waiting till hit sink to augment, augment a s a d v ance augment ( v w ) amount is min of ow r e a c hing v and (v w ) \unaugment when ret Makeup 3:30{5 on 10/15 1 Push-Relabel Goldberg Tarjan. (earlier work by Karzanov, Dinic) Two \improvements" on blocking ows: be lazy: update distance labels only when necessary make y our work count: instead

More information

Maximum flows & Maximum Matchings

Maximum flows & Maximum Matchings Chapter 9 Maximum flows & Maximum Matchings This chapter analyzes flows and matchings. We will define flows and maximum flows and present an algorithm that solves the maximum flow problem. Then matchings

More information

g(s, w) g(w, s) (in gross model).

g(s, w) g(w, s) (in gross model). 1 Maximum Flow 1.1 Definitions Tarjan: Data Structures and Network Algorithms Ford and Fulkerson, Flows in Networks, 1962 (paper 1956) Ahuja, Magnanti, Orlin Network Flows. Problem: do min-cost. Problem:

More information

and 6.855J March 6, Maximum Flows 2

and 6.855J March 6, Maximum Flows 2 5.08 and.855j March, 00 Maximum Flows Network Reliability Communication Network What is the maximum number of arc disjoint paths from s to t? How can we determine this number? Theorem. Let G = (N,A) be

More information

Network Flows. 1. Flows deal with network models where edges have capacity constraints. 2. Shortest paths deal with edge costs.

Network Flows. 1. Flows deal with network models where edges have capacity constraints. 2. Shortest paths deal with edge costs. Network Flows. Flows deal with network models where edges have capacity constraints. 2. Shortest paths deal with edge costs. 4 u v 2 5 s 6 5 t 4 x 2 y 3 3. Network flow formulation: A network G = (V, E).

More information

Parametric Maximum Flow Problem: Techniques and Algorithms. Deepika Sareen, Dr Deepak Garg. Thapar University, Patiala

Parametric Maximum Flow Problem: Techniques and Algorithms. Deepika Sareen, Dr Deepak Garg. Thapar University, Patiala Parametric Maximum Flow Problem: Techniques and Algorithms Deepika Sareen, Dr Deepak Garg Thapar University, Patiala sareendeepika@yahoo.co.in, dgarg@thapar.edu Abstract We encounter many different types

More information

Chapter 5 Graph Algorithms Algorithm Theory WS 2012/13 Fabian Kuhn

Chapter 5 Graph Algorithms Algorithm Theory WS 2012/13 Fabian Kuhn Chapter 5 Graph Algorithms Algorithm Theory WS 2012/13 Fabian Kuhn Graphs Extremely important concept in computer science Graph, : node (or vertex) set : edge set Simple graph: no self loops, no multiple

More information

Jessica Su (some parts copied from CLRS / last quarter s notes)

Jessica Su (some parts copied from CLRS / last quarter s notes) 1 Max flow Consider a directed graph G with positive edge weights c that define the capacity of each edge. We can identify two special nodes in G: the source node s and the sink node t. We want to find

More information

A Lock-free Multi-threaded Algorithm for the Maximum Flow Problem

A Lock-free Multi-threaded Algorithm for the Maximum Flow Problem A Lock-free Multi-threaded Algorithm for the Maximum Flow Problem Bo Hong Drexel University, Philadelphia, PA 19104 bohong@coe.drexel.edu Abstract The maximum flow problem is an important graph problem

More information

Lecture 11: Maximum flow and minimum cut

Lecture 11: Maximum flow and minimum cut Optimisation Part IB - Easter 2018 Lecture 11: Maximum flow and minimum cut Lecturer: Quentin Berthet 4.4. The maximum flow problem. We consider in this lecture a particular kind of flow problem, with

More information

Solution for Homework set 3

Solution for Homework set 3 TTIC 300 and CMSC 37000 Algorithms Winter 07 Solution for Homework set 3 Question (0 points) We are given a directed graph G = (V, E), with two special vertices s and t, and non-negative integral capacities

More information

Reducing Directed Max Flow to Undirected Max Flow and Bipartite Matching

Reducing Directed Max Flow to Undirected Max Flow and Bipartite Matching Reducing Directed Max Flow to Undirected Max Flow and Bipartite Matching Henry Lin Division of Computer Science University of California, Berkeley Berkeley, CA 94720 Email: henrylin@eecs.berkeley.edu Abstract

More information

SEQUENTIAL AND PARALLEL ALGORITHMS FOR MINIMUM FLOWS

SEQUENTIAL AND PARALLEL ALGORITHMS FOR MINIMUM FLOWS J. Appl. Math. & Computing Vol. 15(2004), No. 1-2, pp. 53-75 SEQUENTIAL AND PARALLEL ALGORITHMS FOR MINIMUM FLOWS ELEONOR CIUREA AND LAURA CIUPALĂ Abstract. First, we present two classes of sequential

More information

16.1 Maximum Flow Definitions

16.1 Maximum Flow Definitions 5-499: Parallel Algorithms Lecturer: Guy Blelloch Topic: Graphs IV Date: March 5, 009 Scribe: Bobby Prochnow This lecture describes both sequential and parallel versions of a maximum flow algorithm based

More information

Detecting negative cycles with Tarjan s breadth-first scanning algorithm

Detecting negative cycles with Tarjan s breadth-first scanning algorithm Detecting negative cycles with Tarjan s breadth-first scanning algorithm Tibor Ásványi asvanyi@inf.elte.hu ELTE Eötvös Loránd University Faculty of Informatics Budapest, Hungary Abstract The Bellman-Ford

More information

Cuts, Connectivity, and Flow

Cuts, Connectivity, and Flow Cuts, Connectivity, and Flow Vertex Cut and Connectivity A separating set or vertex cut of a graph G is a set S V(G) such that G S G S has more than one component A graph G is k-connected if every vertex

More information

CSC 8301 Design & Analysis of Algorithms: Linear Programming

CSC 8301 Design & Analysis of Algorithms: Linear Programming CSC 8301 Design & Analysis of Algorithms: Linear Programming Professor Henry Carter Fall 2016 Iterative Improvement Start with a feasible solution Improve some part of the solution Repeat until the solution

More information

Sequential and parallel deficit scaling algorithms for minimum flow in bipartite networks

Sequential and parallel deficit scaling algorithms for minimum flow in bipartite networks Sequential and parallel deficit scaling algorithms for minimum flow in bipartite networks LAURA CIUPALĂ Department of Computer Science University Transilvania of Braşov Iuliu Maniu Street 50, Braşov ROMANIA

More information

by Ravindra K. Ahuja Murali Kodialam Ajay K. Mishra James B. Orlin WP #

by Ravindra K. Ahuja Murali Kodialam Ajay K. Mishra James B. Orlin WP # Computational Investigations of Flow Algorithms by Ravindra K. Ahuja Murali Kodialam Ajay K. Mishra James B. Orlin Maximum WP #3811-95 April 1995 1 COMPUTATIONAL INVESTIGATIONS OF MAXIMUM FLOW ALGORITHMS

More information

LECTURES 3 and 4: Flows and Matchings

LECTURES 3 and 4: Flows and Matchings LECTURES 3 and 4: Flows and Matchings 1 Max Flow MAX FLOW (SP). Instance: Directed graph N = (V,A), two nodes s,t V, and capacities on the arcs c : A R +. A flow is a set of numbers on the arcs such that

More information

Math 5490 Network Flows

Math 5490 Network Flows Math 590 Network Flows Lecture 7: Preflow Push Algorithm, cont. Stephen Billups University of Colorado at Denver Math 590Network Flows p./6 Preliminaries Optimization Seminar Next Thursday: Speaker: Ariela

More information

A Distributed Mincut/Maxflow Algorithm Combining Path Augmentation and Push-Relabel

A Distributed Mincut/Maxflow Algorithm Combining Path Augmentation and Push-Relabel Author s freely distributed eddition. The final publication is available at http://www.springer.com Int J Comput Vis DOI:.7/s63--57- A Distributed Mincut/Maxflow Algorithm Combining Path Augmentation and

More information

CS2 Algorithms and Data Structures Note 10. Depth-First Search and Topological Sorting

CS2 Algorithms and Data Structures Note 10. Depth-First Search and Topological Sorting CS2 Algorithms and Data Structures Note 10 Depth-First Search and Topological Sorting In this lecture, we will analyse the running time of DFS and discuss a few applications. 10.1 A recursive implementation

More information

arxiv: v2 [cs.ds] 14 Sep 2010

arxiv: v2 [cs.ds] 14 Sep 2010 Multiple-source single-sink maximum flow in directed planar graphs in O(n 1.5 log n) time arxiv:1008.5332v2 [cs.ds] 14 Sep 2010 Philip N. Klein and Shay Mozes Brown University October 28, 2018 Abstract

More information

Solutions for the Exam 6 January 2014

Solutions for the Exam 6 January 2014 Mastermath and LNMB Course: Discrete Optimization Solutions for the Exam 6 January 2014 Utrecht University, Educatorium, 13:30 16:30 The examination lasts 3 hours. Grading will be done before January 20,

More information

Important separators and parameterized algorithms

Important separators and parameterized algorithms Important separators and parameterized algorithms Dániel Marx 1 1 Institute for Computer Science and Control, Hungarian Academy of Sciences (MTA SZTAKI) Budapest, Hungary School on Parameterized Algorithms

More information

Maximum Flow. Flow Networks. Flow Networks Ford-Fulkerson Method Edmonds-Karp Algorithm Push-Relabel Algorithms. Example Flow Network

Maximum Flow. Flow Networks. Flow Networks Ford-Fulkerson Method Edmonds-Karp Algorithm Push-Relabel Algorithms. Example Flow Network Flow Networks Ford-Fulkerson Method Edmonds-Karp Algorithm Push-Relabel Algorithms Maximum Flow Flow Networks A flow network is a directed graph where: Each edge (u,v) has a capacity c(u,v) 0. If (u,v)

More information

Lecture 3: Graphs and flows

Lecture 3: Graphs and flows Chapter 3 Lecture 3: Graphs and flows Graphs: a useful combinatorial structure. Definitions: graph, directed and undirected graph, edge as ordered pair, path, cycle, connected graph, strongly connected

More information

Network Flow. By: Daniel Pham, Anthony Huber, Shaazan Wirani

Network Flow. By: Daniel Pham, Anthony Huber, Shaazan Wirani Network Flow By: Daniel Pham, Anthony Huber, Shaazan Wirani Questions 1. What is a network flow? 2. What is the Big O notation of the Ford-Fulkerson method? 3. How to test if the Hungarian algorithm is

More information

Minimum Cost Edge Disjoint Paths

Minimum Cost Edge Disjoint Paths Minimum Cost Edge Disjoint Paths Theodor Mader 15.4.2008 1 Introduction Finding paths in networks and graphs constitutes an area of theoretical computer science which has been highly researched during

More information

Lecture 6: Shortest distance, Eulerian cycles, Maxflow

Lecture 6: Shortest distance, Eulerian cycles, Maxflow DD2458, Problem Solving and Programming Under Pressure Lecture 6: Shortest distance, Eulerian cycles, Maxflow Date: 2008-10-06 Scribe(s): Adam Kull, David Vuorio Lecturer: Douglas Wikström 1 Shortest path

More information

Problem Set 7 Solutions

Problem Set 7 Solutions Design and Analysis of Algorithms March 0, 2015 Massachusetts Institute of Technology 6.046J/18.410J Profs. Erik Demaine, Srini Devadas, and Nancy Lynch Problem Set 7 Solutions Problem Set 7 Solutions

More information

CSE 417 Network Flows (pt 3) Modeling with Min Cuts

CSE 417 Network Flows (pt 3) Modeling with Min Cuts CSE 417 Network Flows (pt 3) Modeling with Min Cuts Reminders > HW6 is due on Friday start early bug fixed on line 33 of OptimalLineup.java: > change true to false Review of last two lectures > Defined

More information

MAS SAUSETT INSTITUTE -;: S--OF: ;.i:-; zt :: E C H O:G : I., d , :, n0x f,. f;.v t 00 : : : 0 X a < er : : c : , : -. i... -; -I,.

MAS SAUSETT INSTITUTE -;: S--OF: ;.i:-; zt :: E C H O:G : I., d , :, n0x f,. f;.v t 00 : : : 0 X a < er : : c : , : -. i... -; -I,. ; ; : 0 X a < er : : : tt~~~~~~~~~ -. - it _.r)-1. -- ::- I :I.0-, - I -. i... -; -I,.1 i I l I- --... 1. i..- c : i : -;. -, : - c,-. --- ii i -i I,1:i ;. I:-. - ',:' : -.. I. i :- ; :.- -I: : i i :,

More information

ON THE IMPLEMENTATION OF GOLDBERG'S MAXIMUM FLOW ALGORITHM IN EXTENDED MIXED NETWORK

ON THE IMPLEMENTATION OF GOLDBERG'S MAXIMUM FLOW ALGORITHM IN EXTENDED MIXED NETWORK ON THE IMPLEMENTATION OF GOLDBERG'S MAXIMUM FLOW ALGORITHM IN EXTENDED MIXED NETWORK Nguyen Dinh Lau 1, Tran Quoc Chien 1, Phan Phu Cuong 2 and Le Hong Dung 3 1 University of Danang, Danang, Vietnam 2

More information

The Encoding Complexity of Network Coding

The Encoding Complexity of Network Coding The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email: mikel,spalex,bruck @caltech.edu Abstract In the multicast network

More information

Sublinear-Time Parallel Algorithms. for Matching and Related Problems. Andrew V. Goldberg y. Stanford University. Stanford, CA 94305

Sublinear-Time Parallel Algorithms. for Matching and Related Problems. Andrew V. Goldberg y. Stanford University. Stanford, CA 94305 Sublinear-Time Parallel Algorithms for Matching and Related Problems Andrew V. Goldberg y Department of Computer Science Stanford University Stanford, CA 94305 Serge A. Plotkin z Department of Computer

More information

Single Source Shortest Path (SSSP) Problem

Single Source Shortest Path (SSSP) Problem Single Source Shortest Path (SSSP) Problem Single Source Shortest Path Problem Input: A directed graph G = (V, E); an edge weight function w : E R, and a start vertex s V. Find: for each vertex u V, δ(s,

More information

Network flows and Menger s theorem

Network flows and Menger s theorem Network flows and Menger s theorem Recall... Theorem (max flow, min cut strong duality). Let G be a network. The maximum value of a flow equals the minimum capacity of a cut. We prove this strong duality

More information

Greedy Algorithms 1 {K(S) K(S) C} For large values of d, brute force search is not feasible because there are 2 d {1,..., d}.

Greedy Algorithms 1 {K(S) K(S) C} For large values of d, brute force search is not feasible because there are 2 d {1,..., d}. Greedy Algorithms 1 Simple Knapsack Problem Greedy Algorithms form an important class of algorithmic techniques. We illustrate the idea by applying it to a simplified version of the Knapsack Problem. Informally,

More information

PERFECT MATCHING THE CENTRALIZED DEPLOYMENT MOBILE SENSORS THE PROBLEM SECOND PART: WIRELESS NETWORKS 2.B. SENSOR NETWORKS OF MOBILE SENSORS

PERFECT MATCHING THE CENTRALIZED DEPLOYMENT MOBILE SENSORS THE PROBLEM SECOND PART: WIRELESS NETWORKS 2.B. SENSOR NETWORKS OF MOBILE SENSORS SECOND PART: WIRELESS NETWORKS 2.B. SENSOR NETWORKS THE CENTRALIZED DEPLOYMENT OF MOBILE SENSORS I.E. THE MINIMUM WEIGHT PERFECT MATCHING 1 2 ON BIPARTITE GRAPHS Prof. Tiziana Calamoneri Network Algorithms

More information

1 Connected components in undirected graphs

1 Connected components in undirected graphs Lecture 10 Connected components of undirected and directed graphs Scribe: Luke Johnston (2016) and Mary Wootters (2017) Date: October 25, 2017 Much of the following notes were taken from Tim Roughgarden

More information

Retiming. Adapted from: Synthesis and Optimization of Digital Circuits, G. De Micheli Stanford. Outline. Structural optimization methods. Retiming.

Retiming. Adapted from: Synthesis and Optimization of Digital Circuits, G. De Micheli Stanford. Outline. Structural optimization methods. Retiming. Retiming Adapted from: Synthesis and Optimization of Digital Circuits, G. De Micheli Stanford Outline Structural optimization methods. Retiming. Modeling. Retiming for minimum delay. Retiming for minimum

More information

A Parallel Genetic Algorithm for Maximum Flow Problem

A Parallel Genetic Algorithm for Maximum Flow Problem A Parallel Genetic Algorithm for Maximum Flow Problem Ola M. Surakhi Computer Science Department University of Jordan Amman-Jordan Mohammad Qatawneh Computer Science Department University of Jordan Amman-Jordan

More information

A Distributed Mincut/Maxflow Algorithm Combining Path Augmentation and Push-Relabel

A Distributed Mincut/Maxflow Algorithm Combining Path Augmentation and Push-Relabel A Distributed Mincut/Maxflow Algorithm Combining Path Augmentation and Push-Relabel Alexander Shekhovtsov and Václav Hlaváč shekhole@fel.cvut.cz hlavac@fel.cvut.cz Czech Technical University in Prague

More information

Approximability Results for the p-center Problem

Approximability Results for the p-center Problem Approximability Results for the p-center Problem Stefan Buettcher Course Project Algorithm Design and Analysis Prof. Timothy Chan University of Waterloo, Spring 2004 The p-center

More information

arxiv: v3 [cs.ds] 18 Apr 2011

arxiv: v3 [cs.ds] 18 Apr 2011 A tight bound on the worst-case number of comparisons for Floyd s heap construction algorithm Ioannis K. Paparrizos School of Computer and Communication Sciences Ècole Polytechnique Fèdèrale de Lausanne

More information

Lecture 22 Tuesday, April 10

Lecture 22 Tuesday, April 10 CIS 160 - Spring 2018 (instructor Val Tannen) Lecture 22 Tuesday, April 10 GRAPH THEORY Directed Graphs Directed graphs (a.k.a. digraphs) are an important mathematical modeling tool in Computer Science,

More information

Network Flow and Matching

Network Flow and Matching Chapter 4 Network Flow and Matching In this chapter, we examine the network flow problem, a graph problem to which many problems can be reduced. In fact, some problems that don t even appear to be graph

More information

Smoothed Analysis of the Minimum-Mean Cycle Canceling Algorithm and the Network Simplex Algorithm

Smoothed Analysis of the Minimum-Mean Cycle Canceling Algorithm and the Network Simplex Algorithm Smoothed Analysis of the Minimum-Mean Cycle Canceling Algorithm and the Network Simplex Algorithm Kamiel Cornelissen and Bodo Manthey University of Twente, Enschede, The Netherlands k.cornelissen@utwente.nl,

More information

CSE 5311 Notes 9: Maximum Flows

CSE 5311 Notes 9: Maximum Flows CSE 5311 Notes 9: Maximum Flows (Last updated 3/1/17 1:8 PM) Goldberg and Tarjan, http://dl.acm.org.ezproxy.uta.edu/citation.cfm?doid=63661.68036 CLRS, Chapter 6 FORD-FULKERSON (review) Network Flow Concepts:

More information

so when retreat on edge, can \delete" edge when vertex has no outgoing arcs, know it is blocked when augment along path, can also \delete" edges so to

so when retreat on edge, can \delete edge when vertex has no outgoing arcs, know it is blocked when augment along path, can also \delete edges so to advance: follow some outgoing edge from current v ertex eventually, r e a c h sink: augment along current path seems much l i k e aug path algorithm but can save info since don't create residual arcs No

More information

Lecture and notes by: Sarah Fletcher and Michael Xu November 3rd, Multicommodity Flow

Lecture and notes by: Sarah Fletcher and Michael Xu November 3rd, Multicommodity Flow Multicommodity Flow 1 Introduction Suppose we have a company with a factory s and a warehouse t. The quantity of goods that they can ship from the factory to the warehouse in a given time period is limited

More information

A COMPUTATIONAL STUDY OF THE CONSTRAINED MAXIMUM FLOW PROBLEM

A COMPUTATIONAL STUDY OF THE CONSTRAINED MAXIMUM FLOW PROBLEM COMPUTTIONL STUDY OF THE CONSTRINED MXIMUM FLOW PROBLEM Cenk Çalışkan, Woodbury School of Business, Utah Valley University, 800 W. University Pkwy, Orem, UT 84058, (801) 863-6487, cenk.caliskan@uvu.edu

More information

7. NETWORK FLOW III. assignment problem input-queued switching. Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley

7. NETWORK FLOW III. assignment problem input-queued switching. Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley 7. NETWORK FLOW III assignment problem input-queued switching Lecture slides by Kevin Wayne Copyright 5 Pearson-Addison Wesley http://www.cs.princeton.edu/~wayne/kleinberg-tardos Last updated on Apr 3,

More information

Module 11. Directed Graphs. Contents

Module 11. Directed Graphs. Contents Module 11 Directed Graphs Contents 11.1 Basic concepts......................... 256 Underlying graph of a digraph................ 257 Out-degrees and in-degrees.................. 258 Isomorphism..........................

More information

Parasitic Flow Loops in Networks

Parasitic Flow Loops in Networks International Journal of Operations Research International Journal of Operations Research Vol. 0, No. 3, 09 (03) Parasitic Flow Loops in Networks M.Todinov Department of Mechanical Engineering and Mathematical

More information

Single Source Shortest Path

Single Source Shortest Path Single Source Shortest Path A directed graph G = (V, E) and a pair of nodes s, d is given. The edges have a real-valued weight W i. This time we are looking for the weight and the shortest path from s

More information

Lecture 4: Primal Dual Matching Algorithm and Non-Bipartite Matching. 1 Primal/Dual Algorithm for weighted matchings in Bipartite Graphs

Lecture 4: Primal Dual Matching Algorithm and Non-Bipartite Matching. 1 Primal/Dual Algorithm for weighted matchings in Bipartite Graphs CMPUT 675: Topics in Algorithms and Combinatorial Optimization (Fall 009) Lecture 4: Primal Dual Matching Algorithm and Non-Bipartite Matching Lecturer: Mohammad R. Salavatipour Date: Sept 15 and 17, 009

More information

;a^ii;:;t';v.'''..'i'a'-r-,i:.'.h'!]w.si

;a^ii;:;t';v.'''..'i'a'-r-,i:.'.h'!]w.si ;a^ii;:;t';v.'''..'i'a'-r-,i:.'.h'!]w.si '% n- nd28.m414 r' OCT 201987 ) WORKING PAPER ALFRED P. SLOAN SCHOOL OF MANAGEMENT A FAST AXD SIMPLE ALGORITHM FOR THE NLAXIMUM FLOW PROBLEM R. K. Ahuja and

More information

Matchings. Saad Mneimneh

Matchings. Saad Mneimneh Matchings Saad Mneimneh 1 Stable matching Consider n men and n women. A matching is a one to one correspondence between the men and the women. In finding a matching, however, we would like to respect the

More information

Matching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition.

Matching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition. 18.433 Combinatorial Optimization Matching Algorithms September 9,14,16 Lecturer: Santosh Vempala Given a graph G = (V, E), a matching M is a set of edges with the property that no two of the edges have

More information

Maximal Independent Set

Maximal Independent Set Chapter 0 Maximal Independent Set In this chapter we present a highlight of this course, a fast maximal independent set (MIS) algorithm. The algorithm is the first randomized algorithm that we study in

More information

CMPSCI 311: Introduction to Algorithms Practice Final Exam

CMPSCI 311: Introduction to Algorithms Practice Final Exam CMPSCI 311: Introduction to Algorithms Practice Final Exam Name: ID: Instructions: Answer the questions directly on the exam pages. Show all your work for each question. Providing more detail including

More information

Lecture Notes on Karger s Min-Cut Algorithm. Eric Vigoda Georgia Institute of Technology Last updated for Advanced Algorithms, Fall 2013.

Lecture Notes on Karger s Min-Cut Algorithm. Eric Vigoda Georgia Institute of Technology Last updated for Advanced Algorithms, Fall 2013. Lecture Notes on Karger s Min-Cut Algorithm. Eric Vigoda Georgia Institute of Technology Last updated for 4540 - Advanced Algorithms, Fall 2013. Today s topic: Karger s min-cut algorithm [3]. Problem Definition

More information

Greedy Algorithms 1. For large values of d, brute force search is not feasible because there are 2 d

Greedy Algorithms 1. For large values of d, brute force search is not feasible because there are 2 d Greedy Algorithms 1 Simple Knapsack Problem Greedy Algorithms form an important class of algorithmic techniques. We illustrate the idea by applying it to a simplified version of the Knapsack Problem. Informally,

More information

UML CS Algorithms Qualifying Exam Fall, 2003 ALGORITHMS QUALIFYING EXAM

UML CS Algorithms Qualifying Exam Fall, 2003 ALGORITHMS QUALIFYING EXAM NAME: This exam is open: - books - notes and closed: - neighbors - calculators ALGORITHMS QUALIFYING EXAM The upper bound on exam time is 3 hours. Please put all your work on the exam paper. (Partial credit

More information

s-t Graph Cuts for Binary Energy Minimization

s-t Graph Cuts for Binary Energy Minimization s-t Graph Cuts for Binary Energy Minimization E data term ( L) = D ( ) + ( ) P Lp λ Ι Lp Lq p prior term Now that we have an energy function, the big question is how do we minimize it? pq N n Exhaustive

More information

Combinatorial optimization - Structures and Algorithms, GeorgiaTech, Fall 2011 Lectures 1 4: Aug 23 Sep 1

Combinatorial optimization - Structures and Algorithms, GeorgiaTech, Fall 2011 Lectures 1 4: Aug 23 Sep 1 Combinatorial optimization - Structures and Algorithms, GeorgiaTech, Fall 011 Lectures 1 4: Aug 3 Sep 1 László Végh References are from the book Connections in Combinatorial Optimization by András Frank

More information

Lecture 10,11: General Matching Polytope, Maximum Flow. 1 Perfect Matching and Matching Polytope on General Graphs

Lecture 10,11: General Matching Polytope, Maximum Flow. 1 Perfect Matching and Matching Polytope on General Graphs CMPUT 675: Topics in Algorithms and Combinatorial Optimization (Fall 2009) Lecture 10,11: General Matching Polytope, Maximum Flow Lecturer: Mohammad R Salavatipour Date: Oct 6 and 8, 2009 Scriber: Mohammad

More information

Randomized Graph Algorithms

Randomized Graph Algorithms Randomized Graph Algorithms Vasileios-Orestis Papadigenopoulos School of Electrical and Computer Engineering - NTUA papadigenopoulos orestis@yahoocom July 22, 2014 Vasileios-Orestis Papadigenopoulos (NTUA)

More information

COS 423 Lecture 22. Robert E. Tarjan 2011

COS 423 Lecture 22. Robert E. Tarjan 2011 COS 423 Lecture 22 Minimum-cost matchingsand flows Robert E. Tarjan 2011 Given a directed graph with source s, sink t, arc capacities u(v, w), and antisymmetricarc costs c(v, w) (= c(w, v)), the costof

More information

Shortest path problems

Shortest path problems Next... Shortest path problems Single-source shortest paths in weighted graphs Shortest-Path Problems Properties of Shortest Paths, Relaxation Dijkstra s Algorithm Bellman-Ford Algorithm Shortest-Paths

More information

1 Bipartite maximum matching

1 Bipartite maximum matching Cornell University, Fall 2017 Lecture notes: Matchings CS 6820: Algorithms 23 Aug 1 Sep These notes analyze algorithms for optimization problems involving matchings in bipartite graphs. Matching algorithms

More information

Source. Sink. Chapter 10: Iterative Programming Maximum Flow Problem. CmSc250 Intro to Algorithms

Source. Sink. Chapter 10: Iterative Programming Maximum Flow Problem. CmSc250 Intro to Algorithms Chapter 10: Iterative Programming Maximum Flow Problem CmSc20 Intro to Algorithms A flow network is a model of a system where some material is produced at its source, travels through the system, and is

More information

Maximal Independent Set

Maximal Independent Set Chapter 4 Maximal Independent Set In this chapter we present a first highlight of this course, a fast maximal independent set (MIS) algorithm. The algorithm is the first randomized algorithm that we study

More information

Clustering for Faster Network Simplex Pivots

Clustering for Faster Network Simplex Pivots Clustering for Faster Network Simplex Pivots David Eppstein Department of Information and Computer Science University of California, Irvine, CA 92717 Tech. Report 93-19 April 15, 1993 Abstract We show

More information

Copyright 2007 Pearson Addison-Wesley. All rights reserved. A. Levitin Introduction to the Design & Analysis of Algorithms, 2 nd ed., Ch.

Copyright 2007 Pearson Addison-Wesley. All rights reserved. A. Levitin Introduction to the Design & Analysis of Algorithms, 2 nd ed., Ch. Iterative Improvement Algorithm design technique for solving optimization problems Start with a feasible solution Repeat the following step until no improvement can be found: change the current feasible

More information

Faster Algorithms for Constructing Recovery Trees Enhancing QoP and QoS

Faster Algorithms for Constructing Recovery Trees Enhancing QoP and QoS Faster Algorithms for Constructing Recovery Trees Enhancing QoP and QoS Weiyi Zhang, Guoliang Xue Senior Member, IEEE, Jian Tang and Krishnaiyan Thulasiraman, Fellow, IEEE Abstract Médard, Finn, Barry

More information

CSCI 5454 Ramdomized Min Cut

CSCI 5454 Ramdomized Min Cut CSCI 5454 Ramdomized Min Cut Sean Wiese, Ramya Nair April 8, 013 1 Randomized Minimum Cut A classic problem in computer science is finding the minimum cut of an undirected graph. If we are presented with

More information

CS/COE 1501 cs.pitt.edu/~bill/1501/ Network Flow

CS/COE 1501 cs.pitt.edu/~bill/1501/ Network Flow CS/COE 1501 cs.pitt.edu/~bill/1501/ Network Flow Defining network flow Consider a directed, weighted graph G(V, E) Weights are applied to edges to state their capacity c(u, w) is the capacity of edge (u,

More information

(Refer Slide Time: 00:18)

(Refer Slide Time: 00:18) Programming, Data Structures and Algorithms Prof. N. S. Narayanaswamy Department of Computer Science and Engineering Indian Institute of Technology, Madras Module 11 Lecture 58 Problem: single source shortest

More information

Outline. Computer Science 331. Analysis of Prim's Algorithm

Outline. Computer Science 331. Analysis of Prim's Algorithm Outline Computer Science 331 Analysis of Prim's Algorithm Mike Jacobson Department of Computer Science University of Calgary Lecture #34 1 Introduction 2, Concluded 3 4 Additional Comments and References

More information

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

Chapter 7. Network Flow. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. Chapter 7 Network Flow Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. 1 * 7.13 Assignment Problem Assignment Problem Assignment problem. Input: weighted, complete bipartite

More information

Network optimization: An overview

Network optimization: An overview Network optimization: An overview Mathias Johanson Alkit Communications 1 Introduction Various kinds of network optimization problems appear in many fields of work, including telecommunication systems,

More information

and 6.855J. The Successive Shortest Path Algorithm and the Capacity Scaling Algorithm for the Minimum Cost Flow Problem

and 6.855J. The Successive Shortest Path Algorithm and the Capacity Scaling Algorithm for the Minimum Cost Flow Problem 15.082 and 6.855J The Successive Shortest Path Algorithm and the Capacity Scaling Algorithm for the Minimum Cost Flow Problem 1 Pseudo-Flows A pseudo-flow is a "flow" vector x such that 0 x u. Let e(i)

More information

Datenstrukturen & Algorithmen Solution of Sheet 11 FS 14

Datenstrukturen & Algorithmen Solution of Sheet 11 FS 14 Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik 14th May

More information

Mathematics for Decision Making: An Introduction. Lecture 18

Mathematics for Decision Making: An Introduction. Lecture 18 Mathematics for Decision Making: An Introduction Lecture 18 Matthias Köppe UC Davis, Mathematics March 5, 2009 18 1 Augmenting Circuit Algorithm for Min Cost Flow Augmenting Circuit Algorithm, Kantoróvich

More information

Lecture 7. s.t. e = (u,v) E x u + x v 1 (2) v V x v 0 (3)

Lecture 7. s.t. e = (u,v) E x u + x v 1 (2) v V x v 0 (3) COMPSCI 632: Approximation Algorithms September 18, 2017 Lecturer: Debmalya Panigrahi Lecture 7 Scribe: Xiang Wang 1 Overview In this lecture, we will use Primal-Dual method to design approximation algorithms

More information

Final Exam Spring 2003

Final Exam Spring 2003 .8 Final Exam Spring Name Instructions.. Please answer all questions in the exam books that are provided.. Please budget your time carefully. It is often a good idea to read the entire exam first, so that

More information

Shortest Path Problem

Shortest Path Problem Shortest Path Problem CLRS Chapters 24.1 3, 24.5, 25.2 Shortest path problem Shortest path problem (and variants) Properties of shortest paths Algorithmic framework Bellman-Ford algorithm Shortest paths

More information