Improved Algorithms for Bipartite Network Flow

In this paper, network flow algorithms for bipartite networks are studied. A network $G=(V,E)$ is called bipartite if its vertex set $V$ can be partitioned into two subsets $V_1$ and $V_2$ such that all edges have one endpoint in $V_1$ and the other in $V_2$. Let $n=|V|$, $n_1 = |V_1|$, $n_2 = |V_2|$, $m=|E|$ and assume without loss of generality that $n_1 \leq n_2$. A bipartite network is called unbalanced if $n_1 \ll n_2$ and balanced otherwise. (This notion is necessarily imprecise.) It is shown that several maximum flow algorithms can be substantially sped up when applied to unbalanced networks. The basic idea in these improvements is a two-edge push rule that allows one to "charge" most computation to vertices in $V_1$, and hence develop algorithms whose running times depend on $n_1$ rather than $n$. For example, it is shown that the two-edge push version of Goldberg and Tarjan's FIFO preflow-push algorithm runs in $O(n_1 m + n_1^3)$ time and that the analogous version of Ahuja and Orlin's excess scaling algorithm runs in $O(n_1 m + n_1^2 log U)$ time, where $U$ is the largest edge capacity. These ideas are also extended to dynamic tree implementations, parametric maximum flows, and minimum-cost flows.

[1]  D. Bertsekas,et al.  Distributed asynchronous relaxation methods for convex network flow problems , 1987 .

[2]  Dimitri P. Bertsekas,et al.  Distributed Asynchronous Relaxation Methods for Linear Network Flow Problems , 1987 .

[3]  Dan Gusfield,et al.  Connectivity and Edge-Disjoint Spanning Trees , 1983, Information Processing Letters.

[4]  Robert E. Tarjan,et al.  Data structures and network algorithms , 1983, CBMS-NSF regional conference series in applied mathematics.

[5]  Richard Cole,et al.  Parallel merge sort , 1988, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).

[6]  Charles U. Martel,et al.  Fast Algorithms for Bipartite Network Flow , 1987, SIAM J. Comput..

[7]  Robert E. Tarjan,et al.  Self-adjusting binary search trees , 1985, JACM.

[8]  Andrew V. Goldberg,et al.  Solving minimum-cost flow problems by successive approximation , 1987, STOC.

[9]  Dimitri P. Bertsekas,et al.  Dual coordinate step methods for linear network flow problems , 1988, Math. Program..

[10]  W. Daniel Hillis,et al.  Data parallel algorithms , 1986, CACM.

[11]  C. Nash-Williams Edge-disjoint spanning trees of finite graphs , 1961 .

[12]  E. A. Dinic Algorithm for solution of a problem of maximal flow in a network with power estimation , 1970 .

[13]  Andrew Vladislav Goldberg,et al.  Efficient graph algorithms for sequential and parallel computers , 1987 .

[14]  I. Mazin,et al.  Theory , 1934 .

[15]  Robert E. Tarjan,et al.  Improved Time Bounds for the Maximum Flow Problem Improved Time Bounds for the Maximum Flow Problem Improved Time Bounds for the Maximum Flow Problem , 2008 .

[16]  William H. Cunningham,et al.  Optimal attack and reinforcement of a network , 1985, JACM.

[17]  Dan Gusfield,et al.  Computing the Strength of a Graph , 1991, SIAM J. Comput..

[18]  Ravindra K. Ahuja,et al.  A Fast and Simple Algorithm for the Maximum Flow Problem , 2011, Oper. Res..

[19]  B. L. Schwartz Possible Winners in Partially Completed Tournaments , 1966 .

[20]  S. N. Maheshwari,et al.  Analysis of Preflow Push Algorithms for Maximum Network Flow , 1988, SIAM J. Comput..

[21]  Robert E. Tarjan,et al.  A Fast Parametric Maximum Flow Algorithm and Applications , 1989, SIAM J. Comput..

[22]  Maurice Queyranne,et al.  A network flow solution to some nonlinear 0-1 programming problems, with applications to graph theory , 1982, Networks.

[23]  Robert E. Tarjan,et al.  A data structure for dynamic trees , 1981, STOC '81.

[24]  Dennis G. Severance,et al.  Mathematical Techniques for Efficient Record Segmentation in Large Shared Databases , 1976, JACM.

[25]  Andrew V. Goldberg,et al.  A new approach to the maximum flow problem , 1986, STOC '86.

[26]  Robert E. Tarjan,et al.  Network Flow Algorithms , 1989 .

[27]  Richard P. Brent,et al.  The Parallel Evaluation of General Arithmetic Expressions , 1974, JACM.

[28]  Ravindra K. Ahuja,et al.  Network Flows: Theory, Algorithms, and Applications , 1993 .

[29]  R. Tarjan A simple version of Karzanov's blocking flow algorithm , 1984 .

[30]  Uzi Vishkin,et al.  An O(log n) Parallel Connectivity Algorithm , 1982, J. Algorithms.

[31]  W. A. Horn Some simple scheduling algorithms , 1974 .

[32]  Steven Fortune,et al.  Parallelism in random access machines , 1978, STOC.