Fast Approximation Algorithms for Multicommodity Flow Problems

T. Leighton, Fillia Makedon, Serge Plotkin, Clifford Stein, Éva Tardos, Spyros Tragoudas

Journal of Computer and System Sciences · 1995 · 125 citations · 0 references

DOIFull text

Open access

Concepts

TL;DR

Existing multicommodity flow algorithms rely on linear programming and fast matrix multiplication, yielding high runtimes that make even few‑commodity instances harder than single‑commodity flow problems. The authors develop the first polynomial‑time combinatorial algorithms for approximately solving multicommodity flow problems, including faster approximations for special structured instances such as sparsest‑cut and uniform concurrent flow problems. Their randomized method solves k single‑commodity flows in O(knm log⁴n) time, while a deterministic variant uses an O(k)‑factor more time; both guarantee a feasible solution to a modified problem with capacities increased by (1+ε) or prove infeasibility. The randomized algorithm’s runtime matches that of solving k single‑commodity flows, and the authors prove that a k‑commodity flow can be approximated by solving O(k log²n) single‑commodity minimum‑cost flows with high probability.

Abstract

All previously known algorithms for solving the multicommodity flow problem with capacities are based on linear programming. The best of these algorithms uses a fast matrix multiplication algorithm and takes O(k3.5n3m0.5 log(nDU)) time for the multicommodity flow problem with integer demands and at least O(k2.5n2m0.5 log(nϵ−1DU)) time to find an approximate solution, where k is the number of commodities, n and m denote the number of nodes and edges in the network, D is the largest demand, and U is the largest edge capacity. As a consequence, even multicommodity flow problems with just a few commodities are believed to be much harder than single-commodity maximum-flow or minimum-cost flow problems. In this paper, we describe the first polynomial-time combinatorial algorithms for approximately solving the multicommodity flow problem. The running time of our randomized algorithm is (up to log factors) the same as the time needed to solve k single-commodity flow problems, thus giving the surprising result that approximately computing a k-commodity maximum-flow is not much harder than computing about k single-commodity maximum-flows in isolation. In fact, we prove that a (simple) k-commodity flow problem can be approximately solved by approximately solving O(k log2n) single-commodity minimum-cost flow problems. Our k-commodity algorithm runs in O (knm log4n) time with high probability. We also describe a deterministic algorithm that uses an O(k)-factor more time. Given any multicommodity flow problem as input, both algorithms are guaranteed to provide a feasible solution to a modified flow problem in which all capacities are increased by a (1 + ϵ)-factor, or to provide a proof that there is no feasible solution to the original problem. We also describe faster approximation algorithms for multicommodity flow problems with a special structure, such as those that arise in "sparsest cut" problems and uniform concurrent flow problems.