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₁ and V₂ such that all edges have one endpoint in V₁ and the other in V₂. Let $n = |V|$, n₁ = |V₁ | , n₂ = |V₂ |, $m = |E|$ and assume without loss of generality that n₁ n₂. A bipartite network is called unbalanced if n₁ n₂ 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₁, and hence develop algorithms whose running times depend on n₁ 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₁ m + n₁³ ) time and that the analogous version of Ahuja and Orlin’s excess scaling algorithm runs in O(n₁ m + n₁² 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.
No takes yet. Share an insight, caveat, or question.
Ahuja et al. (1994) studied this question.
Synapse has enriched 4 closely related papers on similar clinical questions. Consider them for comparative context: