A Polynomial Algorithm for Abstract Maximum Flow

Size: px
Start display at page:

Download "A Polynomial Algorithm for Abstract Maximum Flow"

Transcription

1 A Polynomial Algorithm for Abstract Maximum Flow S. Thomas McCormick Faculty of Commerce and Business Administration University of British Columbia Vancouver, BC V6T 1Z2 Canada May 1998 UBC Faculty of Commerce Working Paper 95-MSC-001 Abstract Ford and Fulkerson s original 1956 max flow/min cut paper formulated max flow in terms of flows on paths, rather than the more familiar flows on arcs. In 1974 Hoffman pointed that Ford and Fulkerson s original proof was quite abstract, and applied to a wide range of max flow-like problems. In this abstract model we have capacitated elements, and linearly ordered subsets of elements called paths. When two paths share an element ( cross ), then there must be a path that is a subset of the first path up to the cross, and a subset of the second path after the cross. (Hoffman s generalization of) Ford and Fulkerson s proof showed that the max flow/min cut theorem still holds under this weak assumption. However, this proof is non-constructive. To get an algorithm, we assume that we have an oracle whose input is an arbitrary subset of elements, and whose put is either a path contained in that subset, or the statement that no such path exists. We then use complementary slackness to show how to augment any feasible set of path flows to a set with a strictly larger total flow value using a polynomial number of calls to the oracle. Then standard scaling techniques yield an overall polynomial algorithm for finding both a max flow and a min cut. 1 Introduction Perhaps the single most celebrated result in combinatorial optimization is the Max Flow-Min Cut Theorem (MFMC Theorem). This theorem, established by Ford and Fulkerson [4, Theorem 1] and independently by Elias, Feinstein, and Shannon [3], inspired a lot of later work in analysis of algorithms, data structures, polyhedral combinatorics, and min-max theorems; see Ahuja, Magnanti and Orlin [1], and Schrijver [10]. Thus the seminal paper [4] is one of the most widely cited in all of combinatorial optimization. Despite being widely cited, [4] is seldom actually read: At the Netflow93 Conference of 116 network flow specialists, Alan Hoffman, during his talk [8], asked how many of those present had read [4]. Only two people raised their hands (I was one of those in the audience who had not read [4], an omission I ve since rectified). It seems that most researchers in this field have largely formed their opinion of Ford and Fulkerson s work by reading their excellent book [5]. This research was partially supported by an NSERC Operating Grant, an NSERC Grant for Research Abroad, and a UBC Killam Faculty Study Leave Fellowship. Parts of this research were done while the author was visiting Laboratoire ARTEMIS IMAG at Université Joseph Fourier de Grenoble, France. An extended abstract of this paper appeared in [9] 1

2 Part of the point of Hoffman s talk was that there is a great difference between Ford and Fulkerson s original paper [4] and their later book [5] in how the MFMC Theorem is proved. The proof in [4] is quite abstract, non-constructive, uses flows on paths, and is general enough to apply to both directed and undirected graphs (with needing to reduce one to the other). By contrast, the proof in [5] is concrete, constructive (for integral capacities), uses flows on arcs, and refers only to directed graphs. In [7] Hoffman observed that in fact Ford and Fulkerson s original MFMC proof made very few assumptions ab the network. Hoffman s abstraction of [4] is as follows: We are given a finite set E of (capacitated) elements; each e E has integral capacity u e > 0. We are also given a family P of subsets of E, where each P P is called a path and has a linear order < P (if P and Q are two paths both containing elements e and f, it is entirely possible that e < P f but e > Q f). If e P Q (paths P and Q cross at e), define We then require that: (P, e, Q) = {f E f P and f P e} {f E f Q and f Q e}. There is a path contained in the element subset (P, e, Q) (and so also in (Q, e, P)). (1) Intuitively, (1) says that when P and Q cross at e, we could re flow from the beginning of P up to e, and on Q after e. However, (1) gives no guarantee that, e.g., the the path P contained in (P, e, Q) contains e, or, if P does contain e, that the set of elements on P less than e is a subset of the set of elements on P less than e, or that < P is at all consistent with either < P or < Q. This framework is implicit in [4]. It is easy to see that any of the usual variants of max flow, e.g., with directed or undirected graphs, with capacities on nodes and/or arcs in any combination, and with multiple and/or single sources and/or sinks, fit into this model (in their path flow versions). The abstract max flow problem associated with E and P puts a flow variable x P on each P P and a weight y e on each element e E. The dual linear programs are: (P) max x P P s.t. x P u e for all e E (2) P e x 0 (D) min u e y e e s.t. y e 1 for all P P (3) e P y 0 Here (P) wants to maximize the sum of flows on all paths, the value of x, denoted val(x), subject to the total flow through any element not being more than its capacity, whereas (D) wants a minimum capacity weighting of elements that covers all paths. The main theorem Hoffman proved in [7] is quite general. Here we give a simple version that applies to the model above. Theorem 1.1 (Hoffman, [7, Theorem 2.4]) When u is a non-negative integral vector, linear programs (P) and (D) have integral optimal solutions. 2

3 Since we assume that u is integral, a consequence of Theorem 1.1 is that there is in fact a 0-1 optimal solution to (D), which then picks a subset of elements L E that meets all paths. Such a subset is called a cut. The capacity of a cut L is cap(l) = e L u e, so problem (D) is indeed a minimum cut problem. Thus Theorem 1.1 simultaneously proves MFMC for all the variations of max flow mentioned above. We say that an element e is saturated (by a flow x) if (2) is satisfied with equality for e w.r.t. x, and that a path P is positive (w.r.t. x) if x P > 0. Complementary slackness between (P) and (D) says that if we can find an x and a 0-1 y, corresponding to element subset L, which are respectively feasible and which satisfy CS (i) every positive P has exactly one element in common with L; and (ii) every e L is saturated; then x and L are a max flow and a min cut, respectively. Unfortunately, Hoffman s proof of Theorem 1.1 follows Ford and Fulkerson s [4] proof of MFMC in being non-constructive. This raises the natural question of whether there is a polynomial algorithm for solving the abstract max flow problem. Hoffman challenged his audience during his talk at Netflow93 [8] as follows: Is there a reasonable way using only [the above assumptions] and some modest oracle to find a generalized max flow and a min cut? Since it is known [7] that, for integral capacities, there is an optimum flow which is integral, it would even be progress to find an algorithm which increases a given flow by one unit, if the given flow is not optimum. The main result in this paper is to answer yes to Hoffman s question. Indeed, the key to our algorithm is a subrine that achieves what the second sentence above asks for, which is the subject of Section 2. First we must deal with the question of an oracle, which is connected to how we represent such problems, and what we mean by polynomial algorithm in this case. We take the point of view that E is fairly small, so that we can, e.g., explicitly search through all elements to discover which are saturated. On the other hand, we will think of P as being big, possibly exponential in E. A small E and big P is consistent with most applications of this model. Thus a polynomial bound is allowed to involve E, but not P. Since we cannot explicitly search over all paths, we need some sort of oracle to represent P. A reasonable choice (suggested by Hoffman, personal communication) is an oracle that: (O) when given a subset F E, will return either a path whose elements are all contained in F, or the statement that there is no path whose elements are all contained in F. Note that we shall assume nothing ab which path (O) chooses to return when there is more than one path whose elements are contained in F, i.e., a returned path could be shortest, longest, or anything in between. However, we do assume that (O) gives us < P along with P, when a path does exist in F. Also, this oracle allows us to operationalize assumption (1), since we can send subset (P, e, Q) to (O), and be sure of getting a path in return. We will use this uncrossing ability later with explicit reference to (O). Section 2 gives a strongly polynomial algorithm for either augmenting a feasible flow or proving that it is optimal. Section 3 uses this rine a part of a standard scaling scheme to get a (weakly) polynomial algorithm for abstract max flow and min cut. Section 4 concludes with some open questions. 3

4 2 How to Augment a Flow We start by recalling a characterization of a min cut from Ford and Fulkerson s original paper [4]. Following [4], when e < P f we say that e is to the left of f on P. Define S as the subset of elements saturated by every maximum flow. Element e S is a left element of S if there is a path P with e P such that e is the left-most element of S on P. Then [4] shows that the set L of left-most elements of S is a min cut (by showing that it satisfies CS w.r.t. every max flow). Given some feasible integral flow x, our Augment subrine will take the point of view of trying to prove that x is optimal by finding an element subset L satisfying CS with x. Define S as the set of elements saturated by the current x, and initialize L as the set of left-most saturated elements from every currently positive path. As the algorithm proceeds, we may discover that an element e L is not saturated by a flow with value val(x). In this case we know that e cannot belong to L (assuming that x is a max flow), so we move e of L into T, the trash elements (initially empty). We also define A = S (L T), the active elements, which are selectively added to L when elements move from L to T to try to maintain the property that L is a cut. We might also discover that an e A is not saturated in every flow of value val(x), and so move e from A to T. Thus, once an element joins T (leaves A), it cannot leave T (re-join A) until val(x) is increased. Lemma 2.1 will justify treating elements of T as if they were not really saturated. Note that L, T, and A partition S. We will maintain the property that: Every e L is the left-most element of L A on some positive path, call it P(e). (4) This is certainly true initially. The overall subrine Augment calls four subrines. ReduceL moves elements from L A to T as necessary to ensure that every positive path contains at most one L-element. Variable time is incremented in ReduceL. The time of element e T is t(e) = the value of time during the call to ReduceL that added e to T. FindViol looks for a violating path, i.e., a path violating (3) w.r.t. the current L, and either concludes that the current x is optimal (if no violating path exists), or returns a violating path V. Augment calls ReduceL and FindViol in a loop. When FindViol finds a violating path with an A-element, Augment moves the left-most such element to L, and then calls ReduceL to update T based on this new information ab L. This continues until either we are optimal, or FindViol returns a violating path V whose only saturated elements are in T. Every iteration of this loop causes A to strictly decrease, so there can be at most E iterations before we either discover that we are optimal, or find a such a violating path. Thus Augment takes only polynomial time, exclusive of the subrine calls. Once a path V whose only saturated elements are in T is found, Augment calls FindPath, which constructs a sequence of paths that will be able to unsaturate the T-elements on V. Then Augment calls DoAug, which adjusts the structure returned by FindPath so that a feasible, integral augmentation can be done, and then does it. Detailed descriptions of these four subrines follow. Since L S, CS (ii) is satisfied, but CS (i) might be violated (because, e.g., positive P contains two or more elements of L). We apply subrine ReduceL to change L so that CS (i) is closer to being satisfied. Somewhat counterintuitively, when ReduceL finds a positive path P containing more than one element of L, it moves all elements of L A to the left of the right-most element of L on P to T. The reason is that (as Lemma 2.1 below shows) there is a simple flow change that preserves val(x) and unsaturates all elements moved to T, proving that they are not saturated by every flow of this value, and so are not eligible for L. ReduceL must look at every positive path. Section 3 will show a polynomial bound on the number of iterations of the max flow algorithm. Below we will see that DoAug adds only a polynomial number of positive paths at each step, so the number of positive paths is bounded by a polynomial. Thus ReduceL takes only polynomial time. 4

5 Algorithm Augment: Initialize L = {left-most S-elements on every positive path}, time = 0. ReduceL, FindViol. [All saturated elements on violating path V are in T A.] While V contains A-elements do: Let e be the left-most A-element on V. Move e from A to L. ReduceL, FindViol. [Now all saturated elements on V are in T.] FindPath, DoAug. Algorithm ReduceL: For each positive P with more than one element of L do time = time + 1. Set e to be the right-most element of L on P. For each element f of L A to the left of e on P, move f from L A to T and set t(f) = time. [Now in(f) = e and P (f) = P.] We need to introduce some notation to describe the state of the problem at the time t = t(f) that element f is moved to T by ReduceL. This will be needed later to describe FindPath. The event that caused f to move to T is that f is to the left of an element e in L on some positive path P. We denote e as in(f) and P as P (f). Furthermore, (4) guarantees that in(f) is the left-most element of L A on some positive path, call it P in (f). Note that by definition of in(f) on path P in (f): At time t = t(f), every S-element g to the left of in(f) on P in (f) is in T and has t(g) < t(f). (5) We now show that ReduceL is correct in moving elements to T. Strictly speaking, this lemma is not necessary for proving overall correctness, but it is useful as a warm-up for the more complicated flow changes we use later. Lemma 2.1 If x is a max flow and ReduceL adds f to T, then there is a max flow where f is not saturated. Thus f does not belong to the canonical set of left elements L, and so ReduceL has correctly moved f to T. Proof: Consider the first f moved to T. Since f is the first element to move to T, in fact in(f) is the left-most of all saturated elements on P in (f). Use (1) on (P in (f), in(f), P (f)) to get P. Suppose that we decrease x on P (f) by ɛ = 1/2 and increase x on P by ɛ to get x. The only elements whose total flow can increase during such a change are those on P which do not belong to P (f). But all such elements are also on P in (f) and are to the left of in(f) on P in (f), and so are unsaturated. Thus x is feasible, and val(x ) = val(x), so x is also a max flow. But f is not saturated w.r.t. x. Now let g be the second saturated element moved to T. The only possible T-element to the left of in(g) on P in (g) is f. But the previous paragraph unsaturated f by at least 1/2. Thus, as before, we can use (1) on (P in (g), in(g), P (g)) to get Q, and change x on Q and P (g) by ɛ = 1/4, yielding max flow x that does not saturate g. Continuing by induction gives the result. 5

6 This proof justifies treating elements in T as not being saturated, but is unsatisfactory from the point of view of Theorem 1.1 because it (lazily) uses fractional flows. However, we will see later that a more careful accounting will be able to unsaturate enough elements in T with integral flows to be able to increase val(x) (when x is not yet optimal). Since ReduceL creates no new elements of L it needs to scan each positive path only once, and when it ends: Each positive path contains at most one element in L, and (4) is still satisfied. (6) However, it is possible that there is a positive P with no elements in L, i.e., CS (i) might still not be satisfied. It is the job of FindViol to look for such paths. FindViol checks to see if L is feasible for (D), i.e., whether (3) is satisfied by the incidence vector of L, i.e., whether every P contains an element of L. It does this by sending the set L to (O); if (O) returns a path, it must be violating. If the oracle tells us that there is no path in L, then the current x and L must be optimal: After all, x is feasible to (P), by the non-existence of a violating path L is feasible to (D), by (6) and dual feasibility CS (i) is satisfied, and by definition of L CS (ii) is satisfied. Thus the absence of a violating path proves that x is a max flow and that L is a min cut, and Augment can stop. Since the number of positive paths is polynomial, FindViol takes polynomial time also. Algorithm FindViol: Send L E L to (O). If L has no path, we are optimal, stop. Set V = the returned path. [Now the only S-elements on V are in T A.] Because we are thinking of T-elements as not really being saturated, when FindViol returns a violating path whose only S-elements are in T, it signals that we can augment the flow. Lemma 2.1 gives a method to unsaturate all T-elements, but using fractional flows. FindPath will find a more complicated structure that will allow us to unsaturate enough T-elements to be able to do a positive, integral augmentation. Note that we have not constructively used property (1) yet. It becomes important in FindPath. Now let P 1 = V, and if there are T-elements on P 1, let e 1 be the right-most such. Set P1 = P (e 1 ), i 1 = in(e 1 ), and P1 in = P in (e 1 ). Now compute a path P 1 contained in (P1, e 1, P 1) as guaranteed by (1) (see Figure 1). Assume that P1 in has T-elements to the left of i 1, and let e 2 be the right-most of these. Note that t(e 2 ) < t(e 1 ) by (5). Now use (1) again on (P1 in, i 1, P1 ) to get P 2. Set P2 = P (e 2 ), i 2 = in(e 2 ), and P2 in = P in (e 2 ). Use (1) again on (P2, e 2, P 2 ) to get P 2. FindPath continues in this way, and stops when it finds a P k with no T-elements in P k P It then sets j to be the final value of k. It must stop in at most E iterations, because t(e k ) is strictly decreasing in k, and t(e 1 ) is bounded by T E. Since j E, FindPath clearly takes polynomial time. Our final picture is as in Figure 1. Note, however, that the order of the elements on the P k s might be quite different from the order of the elements on the Pk s. Note that all elements of P j Pj 1 are unsaturated, for 1 < k < j all elements of P k Pk 1 Pk (which might be empty) are unsaturated, and all elements of P 1 P1 are unsaturated. We call these path subsets positive segments. Also, all Pk s are positive paths; we call the parts of the Pk s between e k and i k negative segments. For 1 k < j we call the part of Pk from its beginning up to and including e k its initial segment; we also call P k Pk the initial segment of P k. Similarly, the part of Pk from and including i k to its end is its final segment, and P k+1 P k is the final k 1. 6

7 Algorithm FindPath: Initialize P 1 = V, k = 1, and P0 =. While there is a T-element in P k P k 1 do: Let e k be the right-most of the T-elements in P k P k 1 on P k. Set Pk = P (e k ), i k = in(e k ), and Pk in = P in (e k ). Apply (1) to (Pk, e k, P k ) to get P k. [Now there can be no T-elements remaining in P k P k 1 P k, because there are no T-elements in P k P k 1 to the right of e k on P k, by definition of e k.] Apply (1) to (Pk in, i k, Pk ) to get P k+1. [Now any T-elements e in P k+1 P k have t(e) < t(e k ), because all such were T-elements to the left of i k on Pk in, see (5).] k = k + 1. [Now there are no T-elements in P k P k 1.] Set j = k, and P j = P j. segment of P k+1. Thus each P k is partitioned into its initial segment, positive segment, and final segment. Note that: The initial segment of every P k is a subset of the initial segment of Pk, and the final segment of every P k+1 is a subset of the final segment of Pk. Because all elements in positive segments are unsaturated, and all paths traversing negative segments are positive, it naively seems as if we could feasibly choose an integral ɛ > 0 such that we could increase flow by ɛ on all P k, and decrease flow by ɛ on all Pk. This apparently would have the net effect of increasing total flow on all elements in positive segments, decreasing flow on elements in negative segments, and leaving flow in other elements the same. Since there is one more P k than Pk, this would increase val(x) by ɛ. We have effectively built an augmenting path consisting of the positive segments in the forward direction, and the negative segments in the backwards direction. However, there is no guarantee that all these paths are disjoint other than at the e k s and i k s. If, e.g., there is an element e common to the positive segment of P k and the positive segment of P l, then the augmentation suggested above would increase total flow on e by (at least) 2ɛ. This could then give a non-integral bound on ɛ coming from e. We can fix this as follows. Note that there is an asymmetry between upper bounds on flow and lower bounds on flow: Flow is upper bounded in (2) by total flow through each element, whereas it is lower bounded only by non-negativity of the path flows. Thus, as long as we decrease flow only on positive paths, we will never have a problem with lower bounds causing a fractional bound on ɛ. Also, due to (7), the net contribution of our proposed flow change to an element belonging to an initial segment of Pk coming from flow changes on Pk and P k must be non-positive; similarly for final segments. Thus an element can belong to an arbitrary number of initial and/or final segments and at most one positive segment with causing a fractional bound on ɛ. Thus we need to worry only ab elements belonging to more than one positive segment, and this is taken care of by subrine DoAug. Whenever such an overlap occurs, DoAug shortcuts the augmenting path: If the positive segments of P k and P l intersect in e for l < k, then use (1) on (P k, e, P l ) and cut the part of the old augmenting path between e on P k and e on P l. This can happen at most E times before we get an augmenting path with all positive segments disjoint. Now DoAug chooses a positive integral ɛ, decreases x P by ɛ on the Pk s, and increases x P by ɛ on the P k s. All of this can clearly be done in polynomial time. Note also that the number of new positive paths resulting from the augmentation is at most E, which is also polynomial. (7) 7

8 P 1 P1 e 1 pos 1 P 1 neg P 2 P2 e 2 pos i 1 2 P1 P 2 neg P 3 P 3 e 3 pos i 2 3 P 2 P 4 P 4 e 4 P3 neg pos i 3 4 P 3 neg j 1 P j 1 e j 1 pos neg P j 1 j pos i j 1 j P j 1 Figure 1: This is a schematic picture of the path structure built up by the time FindPath exits. The Pk move from left to right, and each segment is labeled by the paths that include its elements. Segments that get a net +ɛ in the augmentation are marked pos, those that get a net ɛ are marked neg, and those with no net change are not marked. This picture is simplified; in reality, paths may overlap arbitrarily, and the order of elements on paths sharing a common segment might be different. The foregoing discussion of the subrines and their running times has established: Theorem 2.2 Subrine Augment terminates in polynomial time, and either proves that its input x is optimal, or is able to change x to an integral x such that val(x ) > val(x). Thus Augment answers the second part of Hoffman s challenge in [8] quoted above. 3 A Polynomial Scaling Algorithm for Max Flow and Min Cut Since the seminal paper by Edmonds and Karp [2], researchers have increasingly realized that scaling is an extremely useful technique for turning algorithms that augment a feasible solution into algorithms that can find an optimal solution. For example, Schulz, Weismantel, and Ziegler [11] have used scaling to show that augmentation in strongly polynomial time and optimization in strongly polynomial time are equivalent for 0-1 optimization problems. Our Augment rine is strongly polynomial, but our problem is not 0-1, so we can t use the results in [11]. However, we can still get a (weakly) polynomial algorithm by generalizing the use of scaling for max flow by Gabow [6]. 8

9 Algorithm DoAug: While the positive segments are not disjoint do: Suppose that, for l < k, the positive segments of P k and P l both contain e. Use (1) on (P k, e, P l ) to get P. Shortcut the augmenting path by deleting P i and Pi for l i < k and replacing P k by P. Renumber all P i and Pi, i k, with numbers smaller by k l to re-gain Figure 1 but with j decreased by k l. Compute ɛ as the minimum of the smallest x P for the Pk s, and the slack in (2) for elements with a net flow change of +ɛ. Decrease x P by ɛ for all Pk, and increase x P by ɛ for all P k. Define U to be the largest capacity of any element, and b = log 2 U (one less than the number of bits needed to represent the largest capacity). For 0 k b + 1, define u k e = u e/2 k, the k-th scale of u. Thus u b+1 = 0, u b is a 0-1 vector, and u 0 = u. We use this to build the overall algorithm AbsMF for abstract max flow and min cut. Algorithm AbsMF: Initialize x b+1 = 0, L b+1 = E. For k = b to 0 by 1 do: Initialize x = 2x k+1, compute u k. Do: Augment. Until x is optimal. Let x k be the optimal flow and L k be the final element subset L for scale k. Output x 0 as a max flow, and L 0 as a min cut. Theorem 3.1 Algorithm AbsMF terminates after O( E log U) calls to Augment, and correctly computes an integral max flow x 0 and a min cut L 0. Proof: Note that 2u k+1 u k 2u k (8) Thus 2x k+1 is feasible to (P) with capacities u k. Write cap k (L) for the capacity of element subset L w.r.t. u k. By weak duality between x k and L k+1, (8), and the optimality of x k+1 and L k+1 at scale k + 1, we get val(x k ) cap k (L k+1 ) 2cap k+1 (L k+1 ) + L k+1 = 2val(x k+1 ) + L k+1. Thus AbsMF makes at most O( L k+1 ) O( E ) calls to Augment at scale k. Since b = O(log U), this gives the time bound. Since u 0 = u, and by Theorem 2.2, x 0 is a max flow and L 0 is a min cut for the original data u. Also, x 0 is integral because x is initially integral in AbsMF, and Augment and AbsMF preserve integrality. Thus AbsMF answers the first part of Hoffman s challenge in [8] quoted above. Theorem 3.1 also gives a new, constructive proof for Theorem

10 4 Open Problems Hoffman [7] actually proved a more general version of Theorem 1.1 with a sort of supermodular weights on paths. The conclusion is still that there exists an integral optimal solution with integer data. It is natural to wonder if our algorithm can be generalized to this case. There are other aspects of abstract max flow that we would like to understand better. First, is AbsMF, or some simple variant of it, a strongly polynomial algorithm? I conjecture, with much evidence, that the answer to this is no. Perhaps it would be possible to use a more clever scaling scheme and achieve a strongly polynomial bound. Second, suppose that we have a somewhat stronger oracle than (O), is it then possible to prove a strongly polynomial bound on AbsMF? Given that Edmonds and Karp s classic paper [2] derives the first strongly polynomial max flow algorithm based on augmenting along shortest paths, it is natural to wonder if we would get a strongly polynomial time bound if we are guaranteed that (O) always returns a shortest path contained within F. My intuition says yes, but that it would require a somewhat different proof than in [2]. Third, LP theory tells us that there is an optimal solution to (P) with at most E positive paths. However, DoAug is rather extravagant in possibly using many positive paths. It seems as if more careful implementations of the subrines in Section 2 could maintain a basic set of positive paths. Such a result would be nice since it would give more compact optimal solutions and better running time bounds. Also, achieving some such result seems to be a necessary precursor to solving the more general version of Hoffman s model. Finally, when our max flow problem comes from an actual network, can we use oracle (O) to construct the underlying network? Some preliminary results indicate that this can be done in some cases (N. Simonetti, personal communication), but a more complete understanding of which families of paths can be realized by networks is necessary to fully answer this. Acknowledgements I thank Alan Hoffman for publicizing this interesting problem at Netflow93, and for suggesting (O). I thank Bill Pulleyblank for passing the suggested oracle along to me. I thank Maurice Queyranne for pointing reference [11], and for helpful comments on earlier drafts. References [1] Ahuja, R.K., T.L. Magnanti, and J.B. Orlin (1993). Network Flows: Theory, Algorithms and Applications. Prentice Hall, New York, NY. [2] Edmonds J., and Karp, R.M. (1972). Theoretical Improvements in Algorithmic Efficiency for Network Flow Problems. J. ACM 19, [3] Elias, P., A. Feinstein, and C.E. Shannon (1956). A Note on the Maximum Flow through a Network. IRE Transactions on Information Theory, IT 2, [4] Ford, L.R., Jr., and D.R. Fulkerson (1956). Maximal Flow through a Network. Canadian J. of Mathematics, 8, [5] Ford, L.R., Jr., and D.R. Fulkerson (1962). Flows in Networks. Princeton University Press, Princeton, NJ. [6] Gabow, H.N. (1985). Scaling Algorithms for Network Problems. J. of Comput. Sys. Sci. 35 pp

11 [7] Hoffman, A.J. (1974). A Generalization of Max Flow-Min Cut. Math. Prog., 6, [8] Hoffman, A.J. (1993). How Can One Calculate a Generalized Maximum Flow? NETFLOW93 (the program book of extended abstracts from Netflow93, 3 7 October 1993, San Miniato, Italy), Technical Report TR-21/93, Università Degli Studi Di Pisa, Dipartimento Di Informatica, [9] S.T. McCormick (1995). A Polynomial Algorithm for Abstract Maximum Flow (extended abstract). In Proceedings of the Seventh Annual ACM-SIAM Symposium on Discrete Algorithms, [10] Schrijver, A. (1986). Theory of Linear and Integer Programming. John Wiley & Sons, New York, NY. [11] Schulz, A.S., R. Weismantel, and G.M. Ziegler (1995). 0/1-Integer Programming: Optimization and Augmentation are Equivalent. Technical Report No. 441/1995, Fachbereich Mathematik, Technische Universität Berlin. 11

Approximate Binary Search Algorithms for Mean Cuts and Cycles

Approximate Binary Search Algorithms for Mean Cuts and Cycles Approximate Binary Search Algorithms for Mean Cuts and Cycles S. Thomas McCormick Faculty of Commerce and Business Administration University of British Columbia Vancouver, BC V6T 1Z2 Canada June 1992,

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

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

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

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

The min cost flow problem Course notes for Optimization Spring 2007

The min cost flow problem Course notes for Optimization Spring 2007 The min cost flow problem Course notes for Optimization Spring 2007 Peter Bro Miltersen February 7, 2007 Version 3.0 1 Definition of the min cost flow problem We shall consider a generalization of the

More information

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

WEAKLY AND STRONGLY POLYNOMIAL ALGORITHMS FOR COMPUTING THE MAXIMUM DECREASE IN UNIFORM ARC CAPACITIES Yugoslav Journal of Operations Research 6 (016), Number, 159 171 DOI: 10.98/YJOR14117015G WEAKLY AND STRONGLY POLYNOMIAL ALGORITHMS FOR COMPUTING THE MAXIMUM DECREASE IN UNIFORM ARC CAPACITIES Mehdi GHIYASVAND

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

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

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

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

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

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Matroids and Greedy Algorithms Date: 10/31/16

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Matroids and Greedy Algorithms Date: 10/31/16 60.433/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Matroids and Greedy Algorithms Date: 0/3/6 6. Introduction We talked a lot the last lecture about greedy algorithms. While both Prim

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

Lecture 21 November 11, 2014

Lecture 21 November 11, 2014 CS 224: Advanced Algorithms Fall 2-14 Prof. Jelani Nelson Lecture 21 November 11, 2014 Scribe: Nithin Tumma 1 Overview In the previous lecture we finished covering the multiplicative weights method and

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

Lecture notes on the ellipsoid algorithm

Lecture notes on the ellipsoid algorithm Massachusetts Institute of Technology Handout 1 18.433: Combinatorial Optimization May 14th, 007 Michel X. Goemans Lecture notes on the ellipsoid algorithm The simplex algorithm was the first algorithm

More information

The Maximum Flow Problem with Disjunctive Constraints

The Maximum Flow Problem with Disjunctive Constraints The Maximum Flow Problem with Disjunctive Constraints Ulrich Pferschy Joachim Schauer Abstract We study the maximum flow problem subject to binary disjunctive constraints in a directed graph: A negative

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

We say that a flow is feasible for G (or just feasible if the graph and capacity function in question are obvious) if

We say that a flow is feasible for G (or just feasible if the graph and capacity function in question are obvious) if CS787: Advanced Algorithms Lecture 4: Network Flow We devote this lecture to the network flow problem and the max-flow min-cut theorem. A number of other problems can be cast into a maximum flow or minimum

More information

7. Lecture notes on the ellipsoid algorithm

7. Lecture notes on the ellipsoid algorithm Massachusetts Institute of Technology Michel X. Goemans 18.433: Combinatorial Optimization 7. Lecture notes on the ellipsoid algorithm The simplex algorithm was the first algorithm proposed for linear

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

Fast algorithms for even/odd minimum cuts and generalizations

Fast algorithms for even/odd minimum cuts and generalizations Fast algorithms for even/odd minimum cuts and generalizations András A. Benczúr 1 and Ottilia Fülöp 2 {benczur,otti}@cs.elte.hu 1 Computer and Automation Institute, Hungarian Academy of Sciences, and Department

More information

FRACTIONAL PACKING OF T-JOINS. 1. Introduction

FRACTIONAL PACKING OF T-JOINS. 1. Introduction FRACTIONAL PACKING OF T-JOINS FRANCISCO BARAHONA Abstract Given a graph with nonnegative capacities on its edges, it is well known that the capacity of a minimum T -cut is equal to the value of a maximum

More information

Some results on max-min fair routing

Some results on max-min fair routing Some results on max-min fair routing Dritan Nace, Linh Nhat Doan University of Technology of Compiegne. Laboratory Heudiasyc UMR CNRS 6599, 60205 Compiègne Cedex, France. Phone: 00 33 344234302, fax: 00

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

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

CS 6820 Fall 2014 Lectures, October 3-20, 2014 Analysis of Algorithms Linear Programming Notes CS 6820 Fall 2014 Lectures, October 3-20, 2014 1 Linear programming The linear programming (LP) problem is the following optimization problem. We are given

More information

CS264: Beyond Worst-Case Analysis Lecture #18: Smoothed Complexity and Pseudopolynomial-Time Algorithms

CS264: Beyond Worst-Case Analysis Lecture #18: Smoothed Complexity and Pseudopolynomial-Time Algorithms CS264: Beyond Worst-Case Analysis Lecture #18: Smoothed Complexity and Pseudopolynomial-Time Algorithms Tim Roughgarden March 9, 2017 1 Preamble Our first lecture on smoothed analysis sought a better theoretical

More information

Lecture 2: Divide and conquer and Dynamic programming

Lecture 2: Divide and conquer and Dynamic programming Chapter 2 Lecture 2: Divide and conquer and Dynamic programming 2.1 Divide and Conquer Idea: - divide the problem into subproblems in linear time - solve subproblems recursively - combine the results in

More information

INVERSE SPANNING TREE PROBLEMS: FORMULATIONS AND ALGORITHMS

INVERSE SPANNING TREE PROBLEMS: FORMULATIONS AND ALGORITHMS INVERSE SPANNING TREE PROBLEMS: FORMULATIONS AND ALGORITHMS P. T. Sokkalingam Department of Mathematics Indian Institute of Technology, Kanpur-208 016, INDIA Ravindra K. Ahuja Dept. of Industrial & Management

More information

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

Bulletin of the Transilvania University of Braşov Vol 8(57), No Series III: Mathematics, Informatics, Physics, Bulletin of the Transilvania University of Braşov Vol 8(57), No. - 05 Series III: Mathematics, Informatics, Physics, -8 MAXIMUM CUTS FOR A MINIMUM FLOW Eleonor CIUREA Abstract In this paper we resolve

More information

CS264: Beyond Worst-Case Analysis Lecture #15: Smoothed Complexity and Pseudopolynomial-Time Algorithms

CS264: Beyond Worst-Case Analysis Lecture #15: Smoothed Complexity and Pseudopolynomial-Time Algorithms CS264: Beyond Worst-Case Analysis Lecture #15: Smoothed Complexity and Pseudopolynomial-Time Algorithms Tim Roughgarden November 5, 2014 1 Preamble Previous lectures on smoothed analysis sought a better

More information

Contents. Introduction

Contents. Introduction Introduction Contents Chapter 1. Network Flows 1 1.1. Graphs 1 1.2. Shortest Paths 8 1.3. Maximum Flow 17 1.4. Min Cost Flows 22 List of frequently used Symbols 31 Bibliography 33 Index 37 iii i Introduction

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

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

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

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

The partial inverse minimum cut problem with L 1 -norm is strongly NP-hard. Elisabeth Gassner FoSP Algorithmen & mathematische Modellierung FoSP Forschungsschwerpunkt Algorithmen und mathematische Modellierung The partial inverse minimum cut problem with L 1 -norm is strongly NP-hard Elisabeth

More information

Network Flow Problems Luis Goddyn, Math 408

Network Flow Problems Luis Goddyn, Math 408 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

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

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

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

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

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: Lecture 12. Chalmers University of Technology

Algorithms: Lecture 12. Chalmers University of Technology Algorithms: Lecture 1 Chalmers University of Technology Today s Topics Shortest Paths Network Flow Algorithms Shortest Path in a Graph Shortest Path Problem Shortest path network. Directed graph G = (V,

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

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

A NEW PROPERTY AND A FASTER ALGORITHM FOR BASEBALL ELIMINATION

A NEW PROPERTY AND A FASTER ALGORITHM FOR BASEBALL ELIMINATION A NEW PROPERTY AND A FASTER ALGORITHM FOR BASEBALL ELIMINATION KEVIN D. WAYNE Abstract. In the baseball elimination problem, there is a league consisting of n teams. At some point during the season, team

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

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

u = 50 u = 30 Generalized Maximum Flow Problem s u = 00 2 u = 00 u = 50 4 = 3=4 u = 00 t capacity u = 20 3 u = 20 = =2 5 u = 00 gain/loss factor Max o Generalized Max Flows Kevin Wayne Cornell University www.orie.cornell.edu/~wayne = 3=4 40 v w 30 advisor: Eva Tardos u = 50 u = 30 Generalized Maximum Flow Problem s u = 00 2 u = 00 u = 50 4 = 3=4 u =

More information

Extreme Point Solutions for Infinite Network Flow Problems

Extreme Point Solutions for Infinite Network Flow Problems Extreme Point Solutions for Infinite Network Flow Problems H. Edwin Romeijn Dushyant Sharma Robert L. Smith January 3, 004 Abstract We study capacitated network flow problems with supplies and demands

More information

Alternating paths revisited II: restricted b-matchings in bipartite graphs

Alternating paths revisited II: restricted b-matchings in bipartite graphs Egerváry Research Group on Combinatorial Optimization Technical reports TR-2005-13. Published by the Egerváry Research Group, Pázmány P. sétány 1/C, H 1117, Budapest, Hungary. Web site: www.cs.elte.hu/egres.

More information

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

Lexicographic Flow. Dexter Kozen Department of Computer Science Cornell University Ithaca, New York , USA. June 25, 2009 Lexicographic Flow Dexter Kozen Department of Computer Science Cornell University Ithaca, New York 14853-7501, USA June 25, 2009 Abstract The lexicographic flow problem is a flow problem in which the edges

More information

Finding k disjoint paths in a directed planar graph

Finding k disjoint paths in a directed planar graph Finding k disjoint paths in a directed planar graph Alexander Schrijver CWI Kruislaan 413 1098 SJ Amsterdam The Netherlands and Department of Mathematics University of Amsterdam Plantage Muidergracht 24

More information

Santa Claus Schedules Jobs on Unrelated Machines

Santa Claus Schedules Jobs on Unrelated Machines Santa Claus Schedules Jobs on Unrelated Machines Ola Svensson (osven@kth.se) Royal Institute of Technology - KTH Stockholm, Sweden March 22, 2011 arxiv:1011.1168v2 [cs.ds] 21 Mar 2011 Abstract One of the

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

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

CSC 373: Algorithm Design and Analysis Lecture 12

CSC 373: Algorithm Design and Analysis Lecture 12 CSC 373: Algorithm Design and Analysis Lecture 12 Allan Borodin February 4, 2013 1 / 16 Lecture 12: Announcements and Outline Announcements Term test 1 in tutorials. Need to use only two rooms due to sickness

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

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

Maximum Integer Flows in Directed Planar Graphs with Multiple Sources and Sinks and Vertex Capacities Maximum Integer Flows in Directed Planar Graphs with Multiple Sources and Sinks and Vertex Capacities Yipu Wang University of Illinois at Urbana-Champaign ywang298@illinois.edu July 12, 2018 Abstract We

More information

CS264: Beyond Worst-Case Analysis Lecture #11: LP Decoding

CS264: Beyond Worst-Case Analysis Lecture #11: LP Decoding CS264: Beyond Worst-Case Analysis Lecture #11: LP Decoding Tim Roughgarden October 29, 2014 1 Preamble This lecture covers our final subtopic within the exact and approximate recovery part of the course.

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

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

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

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

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

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

The Steiner Network Problem

The Steiner Network Problem The Steiner Network Problem Pekka Orponen T-79.7001 Postgraduate Course on Theoretical Computer Science 7.4.2008 Outline 1. The Steiner Network Problem Linear programming formulation LP relaxation 2. The

More information

CS261: A Second Course in Algorithms Lecture #8: Linear Programming Duality (Part 1)

CS261: A Second Course in Algorithms Lecture #8: Linear Programming Duality (Part 1) CS261: A Second Course in Algorithms Lecture #8: Linear Programming Duality (Part 1) Tim Roughgarden January 28, 2016 1 Warm-Up This lecture begins our discussion of linear programming duality, which is

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

Math 301: Matchings in Graphs

Math 301: Matchings in Graphs Math 301: Matchings in Graphs Mary Radcliffe 1 Definitions and Basics We begin by first recalling some basic definitions about matchings. A matching in a graph G is a set M = {e 1, e 2,..., e k } of edges

More information

CS261: Problem Set #3

CS261: Problem Set #3 CS261: Problem Set #3 Due by 11:59 PM on Tuesday, February 23, 2016 Instructions: (1) Form a group of 1-3 students. You should turn in only one write-up for your entire group. (2) Submission instructions:

More information

Price of Stability in Survivable Network Design

Price of Stability in Survivable Network Design Noname manuscript No. (will be inserted by the editor) Price of Stability in Survivable Network Design Elliot Anshelevich Bugra Caskurlu Received: January 2010 / Accepted: Abstract We study the survivable

More information

A simple LP relaxation for the Asymmetric Traveling Salesman Problem

A simple LP relaxation for the Asymmetric Traveling Salesman Problem A simple LP relaxation for the Asymmetric Traveling Salesman Problem Thành Nguyen Cornell University, Center for Applies Mathematics 657 Rhodes Hall, Ithaca, NY, 14853,USA thanh@cs.cornell.edu Abstract.

More information

34.1 Polynomial time. Abstract problems

34.1 Polynomial time. Abstract problems < Day Day Up > 34.1 Polynomial time We begin our study of NP-completeness by formalizing our notion of polynomial-time solvable problems. These problems are generally regarded as tractable, but for philosophical,

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

An Analysis of the Highest-Level Selection Rule in the Preflow-Push Max-Flow Algorithm

An Analysis of the Highest-Level Selection Rule in the Preflow-Push Max-Flow Algorithm An Analysis of the Highest-Level Selection Rule in the Preflow-Push Max-Flow Algorithm Joseph Cheriyan Kurt Mehlhorn August 20, 1998 Abstract Consider the problem of finding a maximum flow in a network.

More information

Discrete Optimization 2010 Lecture 2 Matroids & Shortest Paths

Discrete Optimization 2010 Lecture 2 Matroids & Shortest Paths Matroids Shortest Paths Discrete Optimization 2010 Lecture 2 Matroids & Shortest Paths Marc Uetz University of Twente m.uetz@utwente.nl Lecture 2: sheet 1 / 25 Marc Uetz Discrete Optimization Matroids

More information

FINAL EXAM PRACTICE PROBLEMS CMSC 451 (Spring 2016)

FINAL EXAM PRACTICE PROBLEMS CMSC 451 (Spring 2016) FINAL EXAM PRACTICE PROBLEMS CMSC 451 (Spring 2016) The final exam will be on Thursday, May 12, from 8:00 10:00 am, at our regular class location (CSI 2117). It will be closed-book and closed-notes, except

More information

Algorithms: COMP3121/3821/9101/9801

Algorithms: COMP3121/3821/9101/9801 NEW SOUTH WALES Algorithms: COMP32/382/90/980 Aleks Ignjatović School of Computer Science and Engineering University of New South Wales LECTURE 7: MAXIMUM FLOW COMP32/382/90/980 / 24 Flow Networks A flow

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

Lecture 11 October 7, 2013

Lecture 11 October 7, 2013 CS 4: Advanced Algorithms Fall 03 Prof. Jelani Nelson Lecture October 7, 03 Scribe: David Ding Overview In the last lecture we talked about set cover: Sets S,..., S m {,..., n}. S has cost c S. Goal: Cover

More information

Two-Commodity Multiroute Maximum Flow Problem

Two-Commodity Multiroute Maximum Flow Problem Two-Commodity Multiroute Maximum Flow roblem Donglei Du R. Chandrasekaran August, 005 Abstract We consider a two-commodity multiroute maximum flow problem in an undirected network a generalization of the

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

CMSC 451: Lecture 7 Greedy Algorithms for Scheduling Tuesday, Sep 19, 2017

CMSC 451: Lecture 7 Greedy Algorithms for Scheduling Tuesday, Sep 19, 2017 CMSC CMSC : Lecture Greedy Algorithms for Scheduling Tuesday, Sep 9, 0 Reading: Sects.. and. of KT. (Not covered in DPV.) Interval Scheduling: We continue our discussion of greedy algorithms with a number

More information

Partition is reducible to P2 C max. c. P2 Pj = 1, prec Cmax is solvable in polynomial time. P Pj = 1, prec Cmax is NP-hard

Partition is reducible to P2 C max. c. P2 Pj = 1, prec Cmax is solvable in polynomial time. P Pj = 1, prec Cmax is NP-hard I. Minimizing Cmax (Nonpreemptive) a. P2 C max is NP-hard. Partition is reducible to P2 C max b. P Pj = 1, intree Cmax P Pj = 1, outtree Cmax are both solvable in polynomial time. c. P2 Pj = 1, prec Cmax

More information

Elisabeth Gassner Introduction THE PARTIAL INVERSE MINIMUM CUT PROBLEM WITH L 1 -NORM IS STRONGLY NP-HARD

Elisabeth Gassner Introduction THE PARTIAL INVERSE MINIMUM CUT PROBLEM WITH L 1 -NORM IS STRONGLY NP-HARD RAIRO-Oper. Res. 44 (010) 41 49 DOI: 10.1051/ro/010017 RAIRO Operations Research www.rairo-ro.org THE PARTIAL INVERSE MINIMUM CUT PROBLEM WITH L 1 -NORM IS STRONGLY NP-HARD Elisabeth Gassner 1 Abstract.

More information

Midterm Exam 2 Solutions

Midterm Exam 2 Solutions Algorithm Design and Analysis November 12, 2010 Pennsylvania State University CSE 565, Fall 2010 Professor Adam Smith Exam 2 Solutions Problem 1 (Miscellaneous). Midterm Exam 2 Solutions (a) Your friend

More information

Soviet Rail Network, 1955

Soviet Rail Network, 1955 Ch7. Network Flow Soviet Rail Network, 955 Reference: On the history of the transportation and maximum flow problems. Alexander Schrijver in Math Programming, 9: 3, 2002. 2 Maximum Flow and Minimum Cut

More information

On Polynomial Cases of the Unichain Classification Problem for Markov Decision Processes

On Polynomial Cases of the Unichain Classification Problem for Markov Decision Processes On Polynomial Cases of the Unichain Classification Problem for Markov Decision Processes Eugene A. Feinberg Department of Applied Mathematics and Statistics State University of New York at Stony Brook

More information

Network Flows made simple

Network Flows made simple Network Flows made simple A mild but rigorous introduction to Network Flows Periklis A. Papakonstantinou York University Network Flows is the last algorithmic paradigm we consider. Actually, we only address

More information

Linear Programming Redux

Linear Programming Redux Linear Programming Redux Jim Bremer May 12, 2008 The purpose of these notes is to review the basics of linear programming and the simplex method in a clear, concise, and comprehensive way. The book contains

More information

Tree sets. Reinhard Diestel

Tree sets. Reinhard Diestel 1 Tree sets Reinhard Diestel Abstract We study an abstract notion of tree structure which generalizes treedecompositions of graphs and matroids. Unlike tree-decompositions, which are too closely linked

More information

Combinatorial Algorithms for Minimizing the Weighted Sum of Completion Times on a Single Machine

Combinatorial Algorithms for Minimizing the Weighted Sum of Completion Times on a Single Machine Combinatorial Algorithms for Minimizing the Weighted Sum of Completion Times on a Single Machine James M. Davis 1, Rajiv Gandhi, and Vijay Kothari 1 Department of Computer Science, Rutgers University-Camden,

More information

Bounds on the Traveling Salesman Problem

Bounds on the Traveling Salesman Problem Bounds on the Traveling Salesman Problem Sean Zachary Roberson Texas A&M University MATH 613, Graph Theory A common routing problem is as follows: given a collection of stops (for example, towns, stations,

More information

Selected partial inverse combinatorial optimization problems with forbidden elements. Elisabeth Gassner

Selected partial inverse combinatorial optimization problems with forbidden elements. Elisabeth Gassner FoSP Algorithmen & mathematische Modellierung FoSP Forschungsschwerpunkt Algorithmen und mathematische Modellierung Selected partial inverse combinatorial optimization problems with forbidden elements

More information

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

Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik. Combinatorial Optimization (MA 4502) Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik Combinatorial Optimization (MA 4502) Dr. Michael Ritter Problem Sheet 1 Homework Problems Exercise

More information

Section Notes 8. Integer Programming II. Applied Math 121. Week of April 5, expand your knowledge of big M s and logical constraints.

Section Notes 8. Integer Programming II. Applied Math 121. Week of April 5, expand your knowledge of big M s and logical constraints. Section Notes 8 Integer Programming II Applied Math 121 Week of April 5, 2010 Goals for the week understand IP relaxations be able to determine the relative strength of formulations understand the branch

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

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

Strongly Polynomial Algorithm for a Class of Minimum-Cost Flow Problems with Separable Convex Objectives Strongly Polynomial Algorithm for a Class of Minimum-Cost Flow Problems with Separable Convex Objectives László A. Végh April 12, 2013 Abstract A well-studied nonlinear extension of the minimum-cost flow

More information

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

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 17: Combinatorial Problems as Linear Programs III. Instructor: Shaddin Dughmi CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 17: Combinatorial Problems as Linear Programs III Instructor: Shaddin Dughmi Announcements Today: Spanning Trees and Flows Flexibility awarded

More information