The Maximum Concurrent Flow Problem
FARHAD
SHAHROKHI
University ofNorth Texas, Denton, Texas
AND
D. W. MATULA
Southern Methodist University, Dallas, Texas
Abstract. The maximum concurrent flow problem (MCFP) is a multicommodity flow problem in which
every pair of entities can send and receive flow concurrently. The ratio of the flow supplied between a
pair of entities to the predefined demand for that pair is called throughput and must be the same for all
pairs of entities for a concurrent flow. The MCFP objective is to maximize the throughput, subject to
the capacity constraints. We develop a fully polynomial-time approximation scheme for the MCFP for
the case of arbitrary demands and uniform capacity. Computational results are presented. It is shown
that the problem of associating costs (distances) to the edges so as to maximize the minimum-cost of
routing the concurrent flow is the dual of the MCFP. A path-cut type duality theorem to expose the
combinatorial structure of the MCFP is also derived. Our duality theorems are proved constructively
for arbitrary demands and uniform capacity using the algorithm. Applications include packet-switched
networks [ 1, 4, 81, and cluster analysis [ 161.
Categories and Subject Descriptors: F.2.2 [Analysis of Algorithms and Problem Complexity]: Nonnumerical Algorithms and Problems-computations on discrete structures; routing; G.2.2 [Discrete
Mathematics]: Graph Theory-graph algorithms; network problems; path and circuit problems
General Terms: Algorithms, Experimentation, Theory
Additional Key Words and Phrases: Concurrent network flow, cut saturation, duality theorems,
multicommodity flow, network partitioning, polynomial-time approximation scheme, primal-dual
algorithms, routing in networks, throughput
I. Introduction
The single commodity flow problem has a rich theory and many applications in
operations research and combinatorics. The original flow-augmentation algorithm
developed by Ford and Fulkerson [7] has all of the following features:
(i) it identifies a maximum flow value and flow assignment achieving that value,
(ii) it identifies a minimum capacity cut that contains edges saturated under any
optimal solution,
(iii) it provides a proof of the max-flow min-cut theorem.
Authors’ addresses:F. Shahrokhi, Department of Computer Science, University of North Texas, Denton,
TX 76203; D. W. Matula, Department of Computer Science, Southern Methodist University, Dallas,
TX 75275.
Permission to copy without fee all or part of this material is granted provided that the copies are not
made or distributed for direct commercial advantage, the ACM copyright notice and the title of the
publication and its date appear, and notice is given that copying is by permission of the Association for
Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission.
0 1990 ACM 0004-541 l/90/0400-0318 $01.50
Journal
of the Association
for Computing
Machinery.
Vol.
37, No.
2, April
1990.
pp. 318-334.
Maximum Concurrent Flow Problem
319
The elegance of this approach is in the understanding of the structure of the
underlying flow problem provided by the interpretation of the dual problem (the
min-cut problem) that is implicitly solved. The original labeling algorithm to solve
the problem in [7] was not polynomially time bounded, but a series of progressively
faster polynomial-time algorithms have been devised for the problem (see [25]).
Unfortunately, not much of the structure attendant to the single commodity flow
problem has been discovered for multicommodity flow problems. More specifically,
no efficient labeling algorithm is known to solve any multicommodity flow problems except for the cases in which the number of commodities is two [lo] or in
which certain strong planarity conditions exist on the underlying graph [ 5, 14, 231.
Our results here describe a multicommodity flow problem that is shown to possess
many features analogous to the single commodity flow problem.
The maximum concurrent flow problem (MCFP) [ 151is a multicommodity flow
problem in which all pairs of entities can concurrently send or receive flow and
is an optimization version of the feasibility problem in multicommodity flows
[ 11, 181. The MCFP is best motivated by a variation of the routing problem in
packet-switched telecommunication networks, for example, see [ 11, [4], and [8].
Informally, consider a network of entities (cities, computers, etc.) in which there
exists a demand for flow between all pairs of entities. The flow is sustained through
channels with certain capacities. For the MCFP, it is desired to assign flow to each
route of the network, such that the ratio of the flow supplied between each pair of
entities to the demand between that pair (termed the throughput) is the same for
all pairs of entities. This flow assignment must respect the capacity constraints;
that is, the total flow through a channel should not exceed its capacity. The MCFP
is to assign flow to the routes such that the throughput is maximized.
A flow rerouting approximation algorithm for the MCFP was introduced in [3]
and also employed in [26]. An extension of this algorithm in [22] was shown
computationally to provide for the solution of much larger problems than could
be solved by specialized linear programming codes [ 131. No complexity results
were presented in [2], [22], or [26]. The principle result of this paper is to prove
that an appropriately modified version of the flow rerouting algorithm for the
MCFP allowing arbitrary demands with uniform capacity is a fully polynomialtime approximation scheme.
In this paper we also pursue the duality theory of the MCFP. The use of distance
functions in the formulation of the dual of certain multicommodity flow problems
was initially suggested by Ford and Fulkerson [6], and was a key feature of the
supply consumption theorem for the feasibility problem [ 181. Our first duality
theorem extends this dual distance relationship of multicommodity flow. We show
that the maximum throughput of an MCFP can be alternatively obtained by
minimizing (over all distance functions) a distance-derived upper bound on the
throughput. As for a “combinatorial dual” for the MCFP, recall that Menger’s
theorem (see [9]) exhibits a fundamental path-cut duality for standard graph
connectivity. Ford and Fulkerson extended this combinatorial path-cut duality to
single-commodity network flow in their max-flow min-cut theorem [7]. Our effort
to derive a natural combinatorial path-cut dual for the MCFP is embodied in a
second duality theorem. We formalize the notion of the “density of a k-partite
cut,” and then derive the following theorem: The maximum throughput of any
concurrent flow equals the minimum density of any k-partite cut. Both of our
duality theorems are proved constructively for the uniform-capacity MCFP case
using our algorithm.
320
F.SHAHROKHIANDD.W.MATULA
The MCFP is formally defined in Section 2. Two linear programming (LP)
formulations of the MCFP are presented. From established LP theory, the MCFP
is shown to be solvable in polynomially bounded time. Certain combinatorial
properties of the MCFP are explored, and two convenient upper bounds on
throughput are derived. In Section 3, we give our fully polynomial-time approximation scheme for the MCFP with arbitrary demands and uniform capacity.
Computational results indicate that the algorithm is etlicient in practice. Finally,
Section 4 is devoted to the duality theory of the MCFP.
2. The Maximum Concurrent Flow Problem (MCFP)
We assume throughout this paper that graph G = ( V, E) is undirected and has
vertex set I/= (1, 2, . . . , n 1. We denote by P, the set of all paths containing the
edge e, for each edge e E E, and by Pij the set of all paths between end vertices i, j
(called ij paths), for each distinct pair of vertices i, j E I’. Also let P denote the set
of all nontrivial paths in G. A capacity function on G is a function C: E * R+,
where R+ is the set of nonnegative reals. A demand function D on G is a function
D: V x V + R+, such that D(i, j) = D(j, i) and D(i, i) = 0 for all i, j E V, where
D(i, j) > 0 for some i, j E V.
A concurrentflow of throughput Z in G is a functionf: P ---, R+ such that
(i) CPEPijf(p) = ZD(i, j) for all distinct pairs of vertices i, j E Vand
(ii) Cpep,f(p) 1 C(e) for every edge e E E,
where D and Care the given demand and capacity functions on G. For convenience
of notation we extend the domain of a concurrent flowfto P U E using
for all e E E.
f(e) = Ep f(p)
e
A maximum concurreptflow is then a concurrent flow function having the largest
attainable throughput Z. The maximum concurrent j7ow problem (MCFP) is to
determine a maximum concurrent flow and the maximum throughput 2.
For any particular concurrent flow functionf; we term the paths assigned nonzero
flows activepaths forf; and those edges e for whichf(e) = C(e) edgessaturated by
f: An edge of G is critical if it is saturated by every maximum concurrent flow.
The established literature on linear programming and multicommodity network
flow provides several immediate observations about the solution of an MCFP, and
the active paths and saturated edges corresponding to particular maximum concurrent flows. First note that the MCFP can be formulated as a network linear
program in either the edge-path form or the node-arc form.
2.1 EDGE-PATHFORMOFTHE
MCFP.
Maximize Z subject to
LP,~~(P) - ZD(i, j) = 0
C,H+J(P) 5 C(e),
for all distinct
i, j E V,
(2.1)
{
where D, C are the demand and capacity functions on G = ( V, E).
2.2 NODE-ARCFORMOFTHE
MCFP
Maximize Z subject to
Z Cj D(i, j)
hf+(i(l) (.f;k - &> = -ZD(i >,)
if I = i,
otherwise,
for all
for all edges e = lk in E,
i, I E V, (2.2)
Maximum Concurrent Flow Problem
321
where fh, is the flow of the commodity i on the edge kl from k to 1 for all i, k,
I E C/and N(I) is the set of vertices adjacent to 1, for all 1 E V.
Observation 1. The MCFP is solvable in polynomially bounded time. Furthermore, the uniform demand MCFP is solvable by a strongly polynomial algorithm.
Reason. The linear program (2.2) is solvable in polynomially bounded time by
algorithms of either Khachiyan or Karmarkar [ 121. For uniform demand, the
MCFP falls into a class of combinatorial linear programs for which Tardos exhibits
a strongly polynomial-time solution [24]. Specifically, this latter case means the
solution of (2.2) is obtained in polynomially bounded time where the number of
arithmetic operations is polynomially bounded in ] V] + ] E ] and independent of
the size of the numbers occurring as capacities. The node-arc solution of (2.2) is
readily transformed in (strongly) polynomial time to an edge-path solution of (2.1)
yielding at most ] T/J] E ] active paths, so both the maximum throughput and a
maximum concurrent flow are obtainable in polynomial time.
Observation 2. For any MCFP there is a maximum concurrent flow with at most
(‘2”‘) + ] E ] active paths, that is, an average of at most two active paths per pair of
vertices.
Reason. Clearly an optimal basic solution to (2.1) provides a solution where at
most (‘2”‘) + ] E ] paths are active. Note that since any routing table requires at
least one route per vertex pair, this observation affirms the existence of a solution
to the MCFP with reasonably practical size in the resulting routing table.
Two convenient upper bounds on throughput are given in the following lemma.
One bound derives from determining flow across the most constraining cut.
Notationally, the cut (A, 2) is the set of edges between A and 2 = V - A, where
CM 3 = L(A,Z) C(e) and WA, 2) = CieA,jez D(i, j) denote, respectively, the
capacity and demand across the cut. Another bound on throughput is obtained
from relating the total available capacity to the total demand. The most restrictive
form of this latter constraint is obtained by weighting the capacities and demands
by a distance function, with the distance defined on the edges, vertex pairs, and
paths as follows.
A distance function on G = (V, E) is a function d: E + RC such that d(e) > 0
for at least one edge e, where the domain of d is extended to E U V X I/ U P by
for all p E P,
d(p) = C 44
eEP
d(i,
j)
=
for all
$;W(P)l
i, j E V.
A shortest distance ij path p E Pij has d(p) = d(i, j). We denote by Z, the distance
ratio of capacity to demand for distance d, as given by
zd =
LE d(eK’(e)
J&j d(i, jP(i, j) ’
(2.3)
LEMMA 2.1. Let G, D, and C be an instance ofthe MCFP. Then the throughput
Z of any concurrent flow f satisfies
(i) [Cut Upper Bound]. For any cut (A, 2) in G with C;EA,jEzD(i, j) > 0,
z
I
C(A,
D(A,
=
A)
CeE64,.z~
C(e)
C;EA,jEZ
D(i,j)
(2.4)
’
322
F.SHAHROKHIANDD.W.MATULA
(ii) [Distance Upper Bound]. For any distance don G with C;<j d(i, j)D(i, j) > 0,
LEE d(ejC(ej
zrz,=
C;<, 46 jjD(i, jj ’
(2.5)
PROOF OF (i). The total flow supplied between A and 2 is Z C;EA,jEzD(i, jj,
while the total capacity available between A and 2 is CeEcA,z)C(e); therefore,
or
Z5
c &A,.?
CiEA,jEx
(ii).
PROOF OF
C(e)
DO,
jj
.
Consider the expression CpEPd( p)f( p j. Then,
C d(pjf(p)
2 C 46 j) E,,f(p)
= Z C d(i, j)D(i, j).
i<j
PEP
i<j
Furthermore,
C d(pjf(p)
= &
44
.Ecpf(p) 5 .& d(e)C(e).
PEP
e
It follows that
z
(
&E
d(e)C(ej
Ci<j d(i, j)D(i, j)
=
z
d’
Q.E.D.
Gerla [8] observed and employed the cut upper bound of Lemma 2.1 in his
development of the cut saturation algorithm for packet-switched network routing
(see also [4]). Unfortunately, the cut upper bound is subject to an inherent gap
[ 15, 171. Specifically, the MCFP for the graph & with unit capacities on the
edges and unit demands between all vertex pairs is readily seen (by employing
d(e) = 1 on each edge in (2.5)) to have an optimal throughput of 3/7 with a lowest
minimum-cut upper bound (over all cuts) of l/2. The possibility that an inherent
gap can exist in (2.4) and that removal of the saturated (critical) edges may yield a
partition into more than two parts means that less than complete solutions to the
MCFP are obtainable by methods (e.g., [2, 81) focusing on a saturated-edges
partition into two parts. Our methods derive from the more general Distance
Upper Bound (2.5).
We call d an optimal distancefunction for the MCFP whenever the corresponding
distance ratio Zd equals the maximum throughput Z. Our results in Sections 3 and
4 are specific to MCFPs with uniform capacity and are sufficient to prove that an
optimal distance function always exists for these instances. A further aspect of the
duality between maximum concurrent flows and optimal distances valid for all
MCFPs is given in the following lemma.
LEMMA 2.2. f is a maximum concurrent flow and d is an optimal distance
function for a given MCFP ifand only ifboth
(i) all active paths for f are shortest paths under d, and
(ii) edges assigned nonzero distance by d are saturated byf:
Maximum Concurrent Flow Problem
323
PROOF. Assuming (i) and (ii) we have
Z C d(i,jP(i,
j> = C 4kj)
C f(p)
icj
i<J
p-t,
= C d(p)f(~) = C d(e) C f(p) = C d(e)C(e),
&E
PEP
PEP,
FGE
so then
z
=
LEE
d(eK(e)
d(i, j)D(i, j) = zd
Ci<j
confirming Z to be the maximum throughput, f to be a maximum concurrent
flow, and d to be an optimal distance function. On the contrary, if(i) is false, then
C 4L j) .Ecpf(p) < pzp d(~)f(p),
i<j
u
and if (ii) is false, then
C 44 .Fp f(p) < EE 4dC(d,
CEE
e
so if either (i) or (ii) is false, the throughput Z forfis strictly less than the distance
ratio Zd for d. If 2 is the maximum throughput, then either Z < 2 and f is
not a maximum concurrent flow, or Z < Zd and d is not an optimal distance
function. Q.E.D.
COROLLARY2.3. Any optimal distancefunction dfor an MCFP assignsnonzero
distancesonly on critical edges.
PROOF. Assume the optimal distance function d assigns nonzero distance to
some noncritical edge e. There must exist some maximum concurrent flow fe that
does not saturate e since e is not critical. But these properties forfe and d contradict
Lemma 2.2, verifying the corollary. Q.E.D.
It is sometimes more convenient to treat maximizing the throughput of the
concurrent flow as minimizing the utilized capacity to realize the demands. For a
given G, D and C, a concurrent flow f: P -+ R+ of capacity utilization u in G
satisfies Cpgp,jf(p) = D(i, j) for all i, j E Vand Cpsp,f(p) 5 UC(e) for all e E E.
The minimum capacity utilization problem (MCUP) is to find the smallest capacity
utilization u* achieved by a concurrent flowf: Observe that iff is a solution to the
MCUP with the capacity utilization u *, then jdefmed by j‘(p) = f(p)/u* for all
p E P is a maximum concurrent flow of throughput 2 = l/u*.
3. An Approximation Algorithm for the Uniform Capacity MCFP
Although the linear programming technique for the MCFP (in Section 2) is
polynomially bounded, it is practically ineffective on all but very small problems.
The edge-path formulation of the MCFP can be solved using linear programming
techniques that use special network structures [ 131. Such methods store the LP
matrix implicitly. However, ( I2‘I ) + 1E ] rows and at least as many columns must
be explicitly stored. Thus, LP techniques are typically limited to problems of at
most 40-odd vertices [20].
324
F. SHAHROKHI
AND D. W. MATULA
We now present an c-approximate algorithm [ 191 to solve the MCFP with
uniform capacity for any t > 0. In this algorithm, there is an implicit need for very
high precision computation. We give Algorithm R for analysis of the complexity,
assuming sufficient precision. We have introduced in our implementation slight
refinements to Algorithm R for finite precision computation. Regarding approximate solutions to the MCFP, we shall term fan t-optimal concurrent flow if its
throughput 2 satisfies (Z - 2)/Z 5 t. We shall further term d an t-optimal distance
function if its distance ratio & satisfies (Z, - 2)/Z, 5 t.
Algorithm R [Reroute]. The input to the algorithm is a nontrivial connected
graph G, a demand matrix D, constant capacity function C: E + c and 0 < t I 1.
The output is an c-optimal concurrent flow 7 of throughput z and an e-optimal
distance function d with distance ratio Z, such that (Z - 2)/Z I 6 and
(Z, - z)/Z, 5 Ewhere 2 is the optimal throughput. Without loss of generality, we
assume that C;<j D(i, j) = 1 and c = 1. The reader will note that these assumptions
implyZ2
1.
Rl. [Determine the initial feasible solution.] Set d(e) = l/] E I for all edges e E
E. For each pair of distinct vertices i, j E V, set f(p) = D(i, j) for one shortest
distance ij path p. Setf(e) = CpEP,f(p) for all e E E. Set P’ = (p If(p) > 0). Set u.
= e2/32 ] E I 3. (Here and in subsequent steps, we shall maintain CrEE d(e) = 1 and
’ f(P) = 1. We further maintain for p E P’ that either f(p) 2 go or
izp= D(i, j) < go for p an ij path.}
R2. [Compute new distance function and find shortest paths.]
d(e) =
ewK2 I E I ‘l4fCeN
L-Z exp((2 I E I */4f(e’>)
for all
Set
e E E.
For each pair of distinct vertices i, j find a shortest distance ij path and the distance
d(i, 3.
R3. [Compute the throughput, distance upper bound, and check for termination.]
Set f* = max{f(e) 1e E El, 2 = l/f*, and Zd = l/xi<, d(i, j)D(i, j). If
(Zd - z)/Zd 5 6, then compute the concurrent flow 7 with the throughput z
using
Y(p)
J$.$)
for all paths p with f(p) > 0.
Output 7, Z, d, and Zd and halt. {Note then that (Z - 2)/Z
1 - z/z, = (Zd - Z)/Z, 5 E.1
= 1 - z/Z 5
R4. [Reroute flow.] For each i, j E V, denote by pi’ a particular active path
between i and j whose length d(piJ) computed using the edge distances d(e) is at
least as great as any of the active paths (i.e., those currently assigned nonzero flow)
between vertices i and j. Then determine a particular vertex pair k, 1 E Vsuch that
d(pk’) - d(k, 1) = max(d(p’j)
- d(i, j) I i, j E V, D(i, j) 1 ao].
For this vertex pair k, 1E V, denote by p * a particular shortest path between k and
1 (thus, d(p,) = d(k, I)), and let the notation pk’ - p.+ indicate those edges in pk’
and not in p,. Then set d* = &p~~--p. d(e) and d, = CeEp,+ d(e). Set
fJ = qg
d*
1% d, *
Maximum Concurrent Flow Problem
325
Iff(pk’) 2 u + uo, then reroute u units of flow from pk’ to p* and set P’ = P’ U
(p, ); otherwise, reroute all the flow on pk’ to p* and set P’ = P’ U (p, 1 - {p”‘).
Update the flow valuesf(pk’),f(p*),
andf(e) for edgesin p*, pk’. Go to R2. (Note
that d* gives the sum of distances on edgeswhose flows are to be lowered and d,
gives the sum of distances on edgeswhose flows must be raised.)
The relationship between the MCFP and the MCUP is used by Algorithm R. In
fact, Algorithm R solves the MCUP by supplying the demand between all pairs
(step R 1) and assigning much larger distances to the edges hosting larger flows
(step R2). This will make the paths containing highly utilized edges less attractive
for future flow assignments, since rerouted flow is always sent on a shortest distance
path. Step R3 computes a concurrent flow and its throughput using the current
utilization factor which isf*. Step R4 is the most important part of the algorithm.
In this step, the algorithm generally reduces the flow on highly utilized edges and
increases the flow on poorly utilized edges.
More important, it is not claimed that the computedf* should monotonically
decreasewith each cycle through steps R2-R4. Rather the result that Algorithm R
eventually (and efficiently) achieves an acceptably low utilization factor without
the possibility of cycling is proved in Theorem 3.3. We first obtain two lemmas.
LEMMA3.1. Let f and d be the existingflow and distancefunctions at R2. Then
P - p~pfb)4p)
= f” - ezEfCeV(e) 5 &,
wheref* = max(f(e) I e E El.
PROOF. Observe that CpEPf(p)d(p)
therefore
= CeEEf(e)d(e) and CCE~d(e) = 1,
The nonzero terms of the right-hand side of (3.1) must correspond to e E E with
f(e) c f*, for which
d(e) =
ew((2 I E I ‘/4f(e>)
LTE w-%(2 I E I */4f(e’)>
1
5 ew(@ I E I ‘MP
- f(e)>)
I
5 (2 I E I */t)(f* - f(e)) *
Thus
f* -f(e)
'
(p
CEE
implyingf*
- f(e))d(e)
5
eE~,&=~*
((2 I E I */W*
- f(e)>)
- CpEPf(p)d(p) I 42 1E 1, which proves the lemma. QED.
326
F. SHAHROKHI
AND D. W. MATULA
LEMMA 3.2. Assume R has not terminated at R3. Then in R4 for pk’, d*, d,, k,
I, U, we have
(i) d* - d, = d(pk’) - d(k, I) > c/31 E 1 and
(ii)
(T-z 2ao, where u. is defined as in R 1.
PROOF.
Assume
that R has not terminated and that d* - d, = d(pk’) d(k, I) 5 t/3 1E I. We show that, for Zd and z as computed in R3 of the current
iteration, we have (Zd - z)/Z, 5 6. This will, however, contradict the assumption
that R has not halted. We proceed as follows:
p;pf‘04r4
=
c p&f(p)d(p) + i;j P;ptjf(p)d(p)*
r<i
W,i)<e3
D(l.jkq
But d(pk’) - d(k, ,) 5 c/3 1E 1 implies that d(p) - d(i, j) 5 e/3 I E I for any active
z’jpath p with D(i, j) I uo. Thus,
C p~ijf04a)
=
icj
D(i,j)BBrJ
E
icj
D(i,j)‘O,J
5 izj d(i, jW,
j> + C W, 3 -
3l’El
i<j
= C d(i,jPG,j)
(3.2)
+ 3,cEl.
i<j
Note that for any i, j E V with D(i, j) < u. the rerouting procedure in R4 guarantees
that there is exactly one active jj path and that this path hosts D(i, j) < u. units of
flow. Also, d(p) zs-1 for all p E P. Therefore
C
pZ,,jfW(p)
5
i-cj
D(i,iFq
C,
i<J
D(i.Wo0
&f(p)
5
8,
(3.3)
Using (3.2) and (3.3), we get
C f(p)d(p)
5 C 44 jP(i,
c2
+ ~
3w1
j) + fq
i<j
PEP
< ++d
2 IA
(3.4)
Also, by Lemma 3.1,
p~pfW(p)
rf*
-&
Combining this and (3.4) we have
L+z.f*=&
zd
IEI
(3.5)
Z
However, CeEEd(e) = 1 for any distance function constructed by R. Therefore,
using the distance ratio in Lemma 2.1, we have l/z 2 l/Z& Thus, (3.5) implies
L+
&
E
-z=zIEl
1
z
1
.&
Or
1
1
?-z,=z’&
& - z
(3.6)
Maximum Concurrent Flow Problem
327
Note that assigning a distance of 1 to all edges and applying Lemma 2.1 will
yield a distance ratio which is at most ] E 1. Thus, Z I Z I I E) and (3.6) implies
(Z, - Z)/Zd 5 t, which is the desired contradiction for part (i).
To prove (ii), note that 0 < d, 5 1 and by part (i) d* - d, 2 c/3 I E I. Thus,
d*/d, = 1 + (d* - d, )/d, 1 1 f 43 I E 1, implying
a=qp
c
-&)z
16;El,=2q,.
Q.E.D.
An t-approximate algorithm with computing time polynomially bounded both
in problem size and 1/E is called a fully polynomial-time approximation scheme.
THEOREM 3.3. Algorithm R is a fully polynomial-time approximation scheme
and terminates with an e-optimal concurrent flow and an t-optimal distance
function. Furthermore, the concurrentflow constructed at any iteration of R does
not utilize more than 0( I E I 3/e2)activepaths.
PROOF. Lemma 3.2 implies that in R4 u 2 coo;therefore, the rerouting procedure
in R4 guarantees that in any iteration of the algorithm each active ij path has at
least u. units of flow on it, unless D(i, j) < co. Since the sum of demands for all
pairs is unity, it follows that there are at most (l/go) + (‘2”‘) = 0( ] E ( 3/c2) active
paths at any iteration of R. We now show that R terminates.
Let Si denote J&E exp((2 I E I ‘/c) f(e)) in iteration i of R, where f is the
concurrent flow function as in step R2. The idea underlying the proof is to show
that Si+r/Si is always less than some fixed positive constant (which is less than
unity), yielding convergence (as we will show) in polynomially bounded time.
Consider pki, p *, d*, d, as they are defined in R4. We consider two casesderived
from whether part or all of the flow is rerouted from pk’ to p* , and obtain a general
upper bound on Si+,/Sj.
Case 1. [Partial rerouting from pk’ to p * .] This corresponds to f(pk’) z
g + uo, so that u units of flow are rerouted from pk’ to p* . This then increases the
flow on the edgesof p * - pk’ by u and decreasesthe flow on the edges of pk’ - p*
by u, all other edge flows remaining the same. Hence, employing functionsJ; d as
existing from step R2,
si - s,,, = ILw-~,
si
+
ew((2 I E I 2/c)f(e))
si
CrEp,-~k/
w((:! I E I 2/t)f(e))
si
CrEpk~-p,
wU
I E I 2/c)(f(e) - a))
si
C1jEp,--pk~
wW
I E I 2/E)(f(e) + a))
si
= d* + d, - exp(-2’f’2u)d*
- exp(F)d,.
(3.7)
328
F. SHAHROKHI
However, exp((2 ] E ] ‘/t)o) = m.
si
-
si+k
AND D. W. MATULA
Therefore, (3.7) implies
=d*+d*+Yi*-(~yd*
Si
= d* + d, - 2@&
(3.8)
But @ + <
5 2 and since R has not halted, by Lemma 3.2, d* - d, >
43 ] E 1. Thus, (3.8) implies
simSi+,
,
Si
E2
(3.9)
- 36IEl*’
Case 2. [Total rerouting from pk’ to p* .] In this casef(pk’) < u + u. and all
the flow on pk’ is rerouted to p *. As in case 1, we have
Si
-
Si+l
= d* + d, - exp
-2 1E;I/(Pk’))d*
_ exp(2 1EI;f(Pk’))d,.
c3.10j
Si
Treat the right-hand side of (3.10) as a function of the flow to be rerouted and
observe that for any fixed d*, d, the function
F(x) = d* + d, - exp(-’
Iflix)d*
_ exp(??)&
is monotonically increasing for x E [0, ~1 and monotonically decreasing for x E
[a, 2~1; furthermore, for all x E [0, a], F(u + x) = F(u - x).
Also, the rerouting procedure in R4 implies that u. 5 f(pk’) < u. + u. Thus,
F(f(pk’)) I min(F(uo), F(uo + u)). But by Lemma 3.2, u 2 2uo, implying that
u - u. 1 uo, which implies that F(uo + u) = F(a - uo) 2 F(uo). Therefore,
Si
-
Si+l
= W(Pk’>)
2 Rue)
Si
= exp(2 I E I *UO/C) - 1
exp(2 I E I *uo/~
)(d*
- exp(’
] t’2uo)d,).
(3.11)
Considering u > uo, we have (d* (d* -
m
J* - d,)/2,
= m(@
sz by Lemma 3.2
d* - exp
(3.12)
Also,
exp(2 1E I *uO/t) - 1)= 1 -exp(-21f12uo)
exp(2 I E I *u0/4
= 1 -exp
-2IEl*
t
= 1 -exp(*)Zk(l-$&).
t*
32lE(”
(3.13)
329
Maximum Concurrent Flow Problem
It follows from (3.12) and (3.13) that
Si-Sj+l
1
Tic0
si
C *
(4 JEl
(3.14)
.
Note that (3.14) and (3.9) indicate that in either case 1 or case 2,
1 - C2
100 i IEl )
si+l
-<I-si
for all
i I 1.
Now assume that R did not halt after m iterations. Then
(3.15)
For any concurrent flow f existing in any iteration of R, 0 I f(e) P 1, for all
e E E. Thus, S, 5 ( E I exp(2 I E I ‘/t) and Sm+-lL I E I. Therefore, (3.15) implies
and
-2IEl*
m 5 t log(1 - (l/lOO)(~/l E I)’
21E12
< t(l/lOO)(t/l
E I)* =
200lEl”
t3
.
(3.16)
Note that R2 and R4 are the most expensive steps of R. At any iteration,
R2 and R4 require 0( I 1/l ‘) and 0( I VI I P’ I ) time, respectively, where P’
is the set of all active paths in this iteration. But I P’ I = O() E) ‘/t’) and R
halts after at most 0( 1E I “/e3) iterations. Thus, Algorithm R has time complexity
O( 1 I’1 ) E I’/c’). Q.E.D.
Observe in the proof of Theorem 3.3 that it is the quantity
which experiences a guaranteed monotonically decreasing behavior through successive cycles of steps R2-R4 of Algorithm R. This fact confirms that successive
flow functions cannot be identical even though some successive values off* may
be identical.
According to our analysis the worst case behavior of Algorithm R, although
polynomially time bounded, does not look too promising. We feel that a better
upper bound on the worst-case complexity probably exists. But of greater practical
significance is the improved efficiency observed for our implementation over a
wide selection of applications.
PERFORMANCEOF ALGORITHM R. A slightly modified version of R was implemented using the Pascal language on a VAX 1l/780 with the UNIX 4.2 operating
system. In order to avoid overflow, the distance function was computed using
ew(df(e) - P>)
LTE ew(4f(e’)
- YV ’
where f* = max( f(e) I e E EJ. In theory, for any CY1 2 I E I */t, the algorithm
d(e) =
330
F. SHAHROKHI
TABLE I.
Graph
1
2
3
4
5
6
7
8
K4.6
K 8.12
K 16.24
K32,48
KSO.50
Q3
Q4
ii
random
random
random
AND D. W. MATUL.A
PERFORMANCEOFTHEFLOWREROUTINGALGORITHMS
No. of
vertices
No. of
edges
Avg no. of
active
paths
per pair
5
8
8
15
12
15
20
31
10
20
40
80
100
8
16
32
64
60
100
120
7
14
15
26
31
49
33
188
24
96
384
1536
2500
12
32
80
192
895
2446
3598
1.16
1.11
1.50
1.49
1.50
1.66
1.25
1.88
1.87
2.17
2.30
2.17
2.16
1.58
1.53
1.54
1.32
2.10
2.13
2.23
Avg length
of active
paths
CPU
time
set
z
Upper
bound
1.70
1.62
1.88
2.77
1.79
1.80
3.80
2.45
1.I2
1.77
1.79
1.78
1.77
1.94
2.37
2.76
3.13
1.I5
1.77
1.77
2.8
0.5
2.3
11.7
7.0
21.7
13.4
67.0
4.6
23.9
96.0
819.6
1490.0
2.3
9.2
36.3
148.0
334.0
885.8
1296.0
.4993
.1999
.3120
.0799
.2590
.2776
.0290
.1997
.3635
.3379
.3245
.3209
.3376
.2499
.1249
.0624
.0312
.2840
.3278
.3345
.5000
.2000
.3125
.0800
.2592
.2777
.0312
.2000
.3636
.3380
.3265
.3210
.3378
.2500
.1250
.0625
.0312
.2844
.3281
.3368
converges to a desirable t-optimal solution, but large values of LYwill cause
underflow in finite precision computation. Our test results, however, indicate that
small values of (Y(which do not cause underflow) will also result in convergence to
reasonably good approximations. In our implementation the value of a is initially
selected such that d(e) > 0.00001 for all e E E. If the convergence rate is slow,
however, the value of (Yis increased. The values for (Ywere observed to be in the
range of 0.5 to 50 for all test casesin Table I.
We ran our implementation on a wide range of data and the results summarized
in Table I are selected from those described in [22]. Graphs 1 through 8 are from
the current literature [3, 261. Since these benchmark cases did not go beyond
graphs of 31 vertices, we supplemented them with sequences of bipartite and
random graphs, and cubes. The capacity and demand are both unit functions for
all casesin Table I. Our results in Table I show a significant improvement in the
size of the problem solved compared to [3], [20], and [26], which only solve
problems of size at most 40 vertices. Note that the random graph on 120 vertices
and 3598 edges in Table I would yield a formidable linear program (node-arc or
edge-path) of some 10,000 rows and at least 10,000 columns. Algorithm R took
only 20 minutes of VAX time to solve this case. The upper bounds given in Table
I are each the better of the computed distance upper bound 2, and a determined
cut upper bound when available as per Lemma 2.1.
As a final remark in this section, we compare the results summarized in Table I
to the statement of Observation 2 in Section 2, by observing that the average
number of active paths per pair of vertices is in all casesat most 2.3.
4. Duality Theory for the MCFP
Various extensions of the max-flow min-cut theorem to multicommodity flow
problems have been discussed by previous researchers. Ford and Fulkerson
331
Maximum Concurrent Flow Problem
employed a dual distance function for a multicommodity flow problem in an early
application of this technique [6]. A duality result analogous to that of the single
commodity flow problem for the 2-commodity flow problem was presented in
[lo]. Regarding duality in the feasibility problem for multicommodity flow, an
initial significant result was the supply consumption theorem of Onaga [ 181:
Given the source-sink pairs (Si, ti), positive demands D(s,, ti) i E Q, and capacity
function C, the demands are realizable iff for any distance function d on G,
CeGEC(e)d(e) 2 CiEo D(si, ti)d(si, ti). hi [ 1I] gave a concise proof of this theorem
using the duality theory of linear programming. He also showed that it is sufficient
to consider a finite number of inequalities involving only bounded integral values
for distances.
We now shall give two duality theorems for the MCFP. The first continues the
development of associated distance functions and may be considered a natural
generalization of Onaga’s realizability result to the arena of dual optimization. For
the case of uniform capacity, our result is shown constructively (in the limit) using
our approximation algorithm.
THEOREM 4.1 [Max-flow Min-distance ratio Theorem]. Let G, D, represent an
instance of the MCFP with uniform capacity c on each edge and pn optimal
throughput 2. Then
2 = mini& 1d is a distance function on G),
where
Zd =
c CeEEd(e)
Ci<j d(i, j)D(i, j) ’
PROOF. For simplicity and with no loss of generality assume that c = 1,
Ci<j D(i, j) = 1, and CpEEd(e) = 1 for all distance functions d. Let S be the set of
all distance ratios. By Lemma 2.1, Z is a lower bound of S. The correctness of
Algorithm R implies that, for any e > 0, there exist concurrent flow and distance
functions 7 and d, respectively, such that Z 2 Z 2 Z,-( 1 - t). Thus, Z = inf S. To
complete the proof we show that inf S E S. Denote the edges in E by el, q, . . . ,
elEl and let X be the subset of the Euclidean space RIEl with CXi = 1 for all
(Xl, x2, **a, xl El ) E X, Xi z 0 for all i. Consider the function f: X + R’ by
fh,
x2,.
. . , xl El ) = Ci<j d(i, j)D(i, j), where d is the distance function identified
by assigning distance xi to the edge ei, i = 1, 2, . . . , ] E ]. It is readily seen that
f is a continuous function from the compact metric space X to the metric
space R+. Thus sup f(X) E f(X), implying that inf S = l/sup(f(X)) and that
inf S E S. Q.E.D.
Our second duality theorem is more revealing and exposes the combinatorial
structure of the MCFP. Recall that the dual for the single commodity flow problem
is characterized by a cut, in particular by the “max flow-min cut theorem” [7]. We
now exhibit the “cut structure” of the MCFP through its dual relation to a unique
partition into k 2 2 parts, where the value of k is determined by the instance of
the MCFP.
Let G = ( V, E) be a graph; denote by (A,, AZ, . . . , Ak) for k 2 2, the set of all
edgesin G whose end vertices are in distinct elements of the partition (A,, AZ, . . . ,
Ak) of V. We call (A,, AZ, . . . , Ak) a k-partite cut in G. The following theorem is
an extension of [ 151and explores the structure of the critical edges, that is, those
edges that are necessarily saturated by any maximum concurrent flow. We point
out that the following result holds for arbitrary capacities and demands.
332
F.SHAHROKHI
AND D.W.MATUL,A
THEOREM 4.2. Let G, D, C be an instanceof the MCFP. Denote by fa maximum
concurrentflow, by E,, the set of all saturated edgesunder f, andfinally by E,, the
set oj’critical edges.Then
(i) G - E, is disconnectedand
(ii) E, is a k-partite cut, for some k 2 2.
PROOF. Assume, to the contrary that G - E, is connected. Then there is a
spanning tree T of G such that none of the edges in T are saturated under f We
can increase the flow on some path p E Pij by ED(i, j) for all i, j E I/ and some
c > 0, concurrently. This contradicts the optimality of 7 and proves (i).
To prove (ii) note that if E = E,, then the result is trivially true. Assume that
E # E,, then for every e E E - E, there must be a maximum concurrent flow
function fE such that f,(e) < C(e) (i.e., fe does not saturate e, since e is not
critical). Define 7: P + R+ by
yyp) = LEE-E, fp(P)
IEI - IEcl *
Then 7 is a maximum concurrent flow in G only saturating the edges in E,. By
part (i), G - E, is disconnected. Let A,, AZ, . . . , Ak denote the vertex sets of the
components of G - E,. We have (A,, AZ, . . . , Ak) G E,. Assume that (A,, AZ, . . . ,
Ak) # E,; let e = tl E E, - (A,, AS, . . . , Ak). Then vertices t, 1are in Aj for some j,
1 I j % k. Since Aj is connected, there is a tf path D (in A,) containing only
unsaturated edges. Let c = mine,5 (C(e) - J’(e)). Then t > 0. Let p E P, be an
active mn path, m, n E V. There exists an mn path q such that q does not contain
e, and every edge in q is either in p or p. Reroute min(c, f(p)] units of flow from
p to q, maintaining the optimality of the new concurrent flow and contradicting
the criticality of e, which proves part (ii). Q.E.D.
From Theorems 4.1 and 4.2, we can now fashion a combinatorial duality relation
between concurrent flow and k-partite cuts. Let G, D, and C represent an instance
of the MCFP and let (A,, AZ, . . . , Ak) denote any k-partite cut of G. For 1 I i,
j 5 k, let C(Ai, A,) denote the total capacity of all edges between Ai and A,,
and let D(Ai, Aj) denote the total demand between vertices of Ai and Aj. Let
den(A,, AZ, . . . , Ak) denote the density of the k-partite cut (A,, AZ, . . . , Ak) as
defined by
Clsi<jck WijC(Ai, Aj)
den(A, , AZ, . . . , Ak) = min
w Cisi<jsk wijD(A;, Aj) ’
(4.1)
where the minimum is over all symmetric distance functions w satisfying the
triangle inequality Wij + Wj/I Wi/for all 1 5 i, j, 1~ k, where Crci<j5k w;jD(Ai, Aj)
# 0. Note that for any 2-partite cut (A, A) of G, the density is simply
which is the expression for the cut upper bound in Lemma 2.1. Formula (4.1)
generalizes the notion of density to k-partite cuts in a manner allowing us to
formulate the following combinatorial duality theorem. In order to be consistent
with Theorem 4.1, our proof here again is restricted to the caseof uniform capacity.
THEOREM 4.3 [Max-concurrent
flow Min k-partite cut Theorem]. For any
untform capacity MCFP, the maximum throughput of any concurrentjlow equals
333
Maximum Concurrent Flow Problem
TABLE II.
ANALOGOU
RESULTS IN THE THEORIES OF THE SINGLE COMMODITY
FLOW [7] AND THE CONCURRENT FLOW
NETWORK
Flow Type
Properties
Objective
Cut Inequality
Critical Saturated Edges
Single Commodity
(Source-Sink)
Flow
Concurrent
(All Pairs)
Flow
Maximize value of sourceto-sink flow
Plow value less than or
equal to capacity of any
cut
Edges saturated by every
maximum flow contain a
minimum cut
Maximize throughput of
concurrent flow
Throughput less than or
equal to density of
any cut
Edges saturated by every
maximum concurrent
flow constitute a
k-partite cut
The maximum
throughput of any
concurrent flow
equals the minimum
density of any
k-partite cut
Plow rerouting proves
duality and provides
an efticient algorithm
Duality Theorem
The maximum value of any
flow equals the minimum
capacity of any cut
Proof/Algorithm Paradigm
Plow augmentation proves
duality and provides an
efftcient algorithm
the minimum density of any k-partite cut, and in particular, equals the density of
the k-partite cut of critical edges.
PROOF. Let G, D, and constant capacity C be an instance of the MCFP. By
Corollary 2.3 any optimal distance function d assigns nonzero distance values only
to critical edges, which by Theorem 4.2 compose the k-partite cut E, =
(A,,
A2, * * . , Ak). Furthermore, an optimal distance function must clearly then
ascribe the same distance d(u, v) for any u E A;, v E Aj for parts A;, Aj of E,. So
we may set wij = d(u, v), and so determine W;jfor all 1 I i, j 5 k, i # j, and from
Theorem 4.1, then obtain den(A,, AZ, . . . , Ak) 5 2.
Conversely, for any j-partite cut (A,, AZ, . . . , Aj), 2 I j P n, let w’ be a weight
function minimizing (4.1). Now we may construct a distance function by setting
d’(e) = w’(i, j) whenever the end vertices of e are in different parts Ai, Aj, i # j
and d’(e) = 0, otherwise. The shortest distance function extension of d’ in G to
V X I/ yields d’(u, v) 2 WQfor u E Ai, v E Aj, i # j, since w’ satisfies the triangle
inequality. Furthermore, d’(u, v) = wl: if some edge e E E joins a vertex Of Ai to a
vertex of AI. If there are no edges between Ai and Aj, then C(Ai, Aj) = 0; hence,
&GE d’(e)C(e) = Cix;<jsk wbC(Ai, Aj). Recalling d’(u, V) 2 w,$ for u E Ai, v E Aj,
i # j, we obtain w$ = d’(u, v) since w’ minimizes the right-hand side of (4.1).
Thus, den(Ar , AZ, . . . , Aj) 2 & 1 2, and the theorem follows. Q.E.D.
The form of Theorem 4.3 in our mind properly identifies the inherent path-cut
duality in the MCFP, and illustrates the particular significance of distance as
pertinent only between parts of the uniquely determined critical k-partite cut. We
note that Theorem 4.3 can be readily extended by suitable linear programming
arguments and shown to hold for arbitrary capacity and demand functions.
Table II as extended from [ 151,summarizes the results for duality of the MCFP
analogous to the important aspects of single commodity flow theory.
334
F. SHAHROKHI
AND D. W. MATULA
REFERENCES
R. A Distributive Adaptive Multi-path Routing-Consistent and Conflicting Decision
Making, ‘80/‘8 1, Aiken Computation Laboratory, Harvard Univ., Cambridge, Mass.
1. AI-TAR,
2. BIANCHINI, R. P., AND SHEN, J. P. Interprocessor traffic scheduling algorithms for multipleprocessor networks. IEEE Trans. Comput. C-36 (1987), 396-409.
3. BISWAS, J., AND MATULA, D. W. Two-flow routing algorithms for the maximum concurrent flow
problem. In Proceedings of the ACM Fall Joint Conference. ACM, New York, 1986, pp. 629-635.
4. BOORSTYN, R. R., AND FRANK, H. Large-scale network topological
optimization.
IEEE
Communications (Jan. 1977), 29-47.
5. DIAZ, H., AND GHELLINK, G. Multicommodity
maximum flow in planar networks (D-algorithm
approach). CORE Discussion Paper No. 72 12. Center for Operations Research and Econometrics,
Louvain-la-Neuve,
Belgium, 1972.
6. FORD, L. R., AND FULKERSON, D. R. A suggested computation for maximal multicommodity
network flows. Manage. Sci. 5 (1958), 97-101.
7. FORD, L. R., AND FULKERSON, D. R. Flows in Networks. Princeton University Press, Princeton,
N.J., 1962.
8. GERLA, M. A cut saturation algorithm for topological design of packet-switched communication networks. In Proceedings of the National Telecommunication Conference. Dec. 1974, pp.
1074-1085.
9. HARARY, F. Graph Theory. Addison-Wesley, Reading, Mass., 1969.
10. Hu, T. C. Integer Programming and Network Flows. Addison-Wesley, Reading, Mass., 1969.
11. IRI, M. On an extension of the maximum-flow
minimum-cut theorem to multicommodity
flows.
J. Oper. Res. SOC.Japan 5,4 (Dec. 1967), 691-703.
12. KARMARKAR, N. A new polynomial time algorithm for linear programming. Combinatorics 4, 4
(1984), 373-395.
13. KENNINGTON, J. L., AND HELGASON, R. V. Algorithms for Network Programming. Wiley, New
York, 1980.
14. MATSUMOTO, K., NISHIZEKI, T., AND SAITO, N. Planar multicommodity
flows, maximum
matchings and negative cycles. SIAM J. Comput. 15,2 (May 1986), 495-5 10.
15. MATULA, D. W. Concurrent flow and concurrent connectivity in graphs. In Graph Theory and
Its Applications to Algorithms and Computer Science, Alavi, Y., Chartrand, G., Lesniak, L., Lick,
D., and Wall, C. E., eds. Wiley, New York, 1985, pp. 543-559.
16. MATULA, D. W. Divisive vs. agglomerative average linkage hierarchical clustering. In Classification
Amsterdam, 1986, pp.
as a Tool of Research. Gaul, W., and Schader, M., eds. North-Holland,
289-301.
17. OKAMURA, H., AND SEMOUR, P. D. Multicommodity
flows in planar graphs. J. Comput. Theory,
Ser. B 31 (1981), 75-81.
18. ONAGA, K. A multicommodity
flow theorem. Trans. ZECE, Japan, 53-A, 7 (1970), 350-356.
19. PAPADIMITRIOU, H., AND STIEGLITZ, K. Combinatorial Optimization: Algorithms and Complexity.
Prentice-Hall, Englewood Cliffs, N.J., 1982.
20. PATTY, B. W. The basis suppression method for linear programs with special structure excluded
by an objective side column. Ph.D. dissertation, Dept. of Operations Research and Engineering
Management. Southern Methodist Univ., Dallas, Tex., 1984.
2 1. SHAHROKHI, F. Approximation
algorithms for the maximum concurrent flow problem. ORSA J.
Comput. 1, 2 (1989), 62-69.
22. SHAHROKHI, F., AND MATULA, D. W. On solving large maximum concurrent flow problems. In
Proceedings of the ACM Computer Conference. ACM, New York, 1987, 205-209.
flows. IEEE Trans. Circuit Theory CT-1 1
23. TANG, D. T. Bi-path networks and multicommodity
(1964), 468-474.
24. TARDOS, E. A strongly polynomial algorithm to solve combinatorial
linear programs. J. Oper.
Res. 34 (1986), 250-256.
25. TARJAN, R. E. Data Structures and Network Algorithms. Society for Industrial and Applied
Mathematics, Philadelphia, Pa., 1983.
26. THOMPSON, B., AND MATULA, D. W. A flow rerouting algorithm for the maximum concurrent
flow problem with variable capacities and demands, and its applications to cluster analysis. Tech.
Rep. 86-CSE-12. Dept. of Computer Science and Engineering. Southern Methodist Univ., 1986.
RECEIVED
Journal
MARCH
of the Association
1987;
REVISED
for Computing
FEBRUARY
Machinery,
1988
AND
APRIL
Vol. 37, No. 2, April
1990
1989;
ACCEPTED
JUNE
1989
© Copyright 2026 Paperzz