approach to solve multicommodity network flow problems. Other researchers ..... viewed as a network-based scaling version of Frank-Wolfe algorithm. While in ...
Dewey HD28 .MA14 no.
96
A Scaling Algorithm
for
Multicommodity Flow Problems by Rina R. Schneur James B. Orlin
WP #3808-95
April 1995
A SCALING ALGORITHM FOR MULTICOMMODITY
FLOW PROBLEMS
Rina R. Schneur
i/ASSAOHUSSrrS INSTITUTE
OF TECHNOLOGY
PTCG Inc. Burlington, Massachusetts
MAY
3
1995
LIBRARIES
James B. Orlin Massachusetts
Instittite
of Technology
Cambridge, Massachusetts
Abstract
We
present a penalty-based algorithm that solves the multicommodity flow problem as a
sequence of a fmite number of scaling phases. In the 8-scaling phase the algorithm determines an
e-
are satisfied to within
8.
optimal solution, that
is,
one
in
which complementary slackness conditions
We analyze the performance of the algorithm from both the theoretical and practical perspectives.
Introduction
1.
Multicommodity flow problems
arise
whenever commodities,
vehicles, or
messages are
to
be shipped or transmitted simultaneously from certain origins to certain destinations along arcs of an underlying network. These problems find applications in the study of urban traffic, railway systems, logistics, communication systems, and al.
many
other areas as well (see for example Ali
[1984], Schneur [1991], Ahuja, Magnanti and Oriin [1993]).
et.
The multicommodity flow problem
is a generalization of the single commodity network flow problem in which different commodities share a common network, and interact with each other typically through common capacity
constraints. In the absence
of any interaction among the commodities, the problem can be solved as
separate single commodity flow problems. The interaction between the commodities, however, requires one to solve all the single commodity problems concurrently and, therefore, makes multicommodity flow problems much more difficult to solve than the corresponding set of single
commodity problems. Linear multicommodity flow problems can be formulated as linear programs and solved by
bound for linear programming problems is due to Vaidya [1989]. Many applications of multicommodity flow problems, however, lead to linear programs which are too large to solve by a direct application of linear programming software. Researchers have therefore developed specialized adaptations of linear programming algorithms which exploit the special structure and the sparsity inherent in multicommodity network the simplex algorithm or by interior point methods.
The
best time
flow problems. Three "classical" approaches to multicommodity flow problems are price-directive decomposition, resource-directive decomposition, and partitioning. These approaches are all based
on the simplex method. Assad [1978], Kennington [1978], and Ali, Helgason, Kennington and Lall [1980] review these methods and their computational performance. Recent research has focused mainly on the development of interior point methods, the development of parallel algorithms, and the solution of large-scale problems. Examples of interior point algorithms may be found m Choi and Goldfarb [1989], and Bertsimas and Oriin [1991]. Multicommodity flow problems reveal inherent parallelism. Choi and Goldfarb [1989] as well as Pinar and Zenios [1990] exploited this characteristic in their parallel algorithms.
In this paper
optimal
if
it
is
we
latter
uses linear and quadratic penalty functions.
present a scaling-based approximation algorithm.
possible to perturb
so that the solution x
The
is
some
cost coefficients or capacity constraints by at
P. Start
called e-
is
most e
by solving P(A)
is
different
by
at
units
may be
optimal for the perturbed problem. The scaling approach
summarized as follows. Let P(A) be a problem which problem
A solution x
most A from the
original
for a sufficiently large A, such that P(A) is relatively easy to solve.
some scalmg factor F>1, and modify A to be A/F. Keep iterating until the value of A is sufficiently small. Edmonds and Karp [1972] and Dinic [1973] developed the first scaling algorithms for the minimum cost single commodity network flow problem. Gabow [1985] showed the application of scaling to several problems, including the shortest path, matching and maximum flow problems. Scaling algorithms which use the idea of s-
Then,
lise
the solution to P(A) to solve P(A/F) for
optimality are theoretically the most efficient algorithms for various network flow problems.
Prominent among these are single commodity network flow problems such as
minimum
cost flow
(Goldberg and Tarjan [1987], Ahuja, Goldberg, Orlin and Tarjan [1992|, and Orlin [1988]) and maximum flow (Ahuja, Orlin and Tarjan [1989]) In this paper we develop a cost scaling algorithm
approach to solve multicommodity network flow problems. Other researchers have developed eoptimal algorithms (the traditional notion) for multicommodity flow problems. Such approximation algorithms are described and analyzed in the papers by Grigoriadis and Khachiyan [1991], Klein,
Agrawal, Ravi, and Rao [1990], Leighton
[1991], Klein, Plotkin, Stein,
et. al.
and Tardos [1990],
Shahrokhi and Matula [1990]. The last two focus on the maximum concurrent flow problem which is a special case of the multicommodity flow problem. In all these cases the focus of the research has been on obtaining good worst case bounds. Our research focuses more on computational
performance in practice.
Our algorithm
is
simple, and yet robust.
sequence of penalty problems, each of which
is
It
solves the multicommodity flow problem as a
constructed by relaxing the capacity constraints and
adding a term for theh violation to the objective
flinction.
(For detailed description of penalty
methods see Fiacco and McCormick [1968].) Each penalty problem is solved to s-optimality using a network-based scaling algorithm. Since the parameters of real-world multicommodity problems, such as cost and capacity, are typically approximate in practice, the algorithm presented here often
up
finds an optimal solution
to the accuracy
consists of moving flow around cycles. Thus, the
The
efficiency of the algorithm
is
The main component of the algorithm algorithm focuses on cycles rather than on paths.
of the
data.
a result of
usmg
the scaling approach and of exploiting
the network structure of the problem. In subsequent sections
we
present convergence results and
prove that the algorithm has some interesting theoretical characteristics. The computational testing provides insight into the behavior of the algorithm and shows that the algorithm
and worthy of theoretical
fiirther consideration.
bounds are observed
The computational
in practice, while in other cases the
conservative than the practical performance.
The
testing
is
quite efficient
some cases the bounds are much more
results also reveal that in
shows
that the run time
of the algorithm
is
competitive with the run time of recent algorithms for large scale multicommodity flow problems.
These algorithms by Bamhart [1993], Bamhart and Sheffi [1993], and Farvolden, Powell and Lustig [1993] are based on dual ascent methods, the primal-dual approach and partitioning method respectively.
The general fi-amework of our algorithm can be used
A variation
multicommodity flow problems.
of
it
we
focus on the algorithm for the
problem. In the next section, formulate
it
we
We
we develop
introduce and prove
presented in Section
5,
and
different
types of
is
minimum
a special case (see Schneur cost multicommodity flow
apply a penalty method to the multicommodity flow problem, and
as a penalty problem.
algorithm. In Section 3,
Section 4,
we
solve
also be used for various network flow problems
with side constraints of which the muhicommodity flow problem [1991]). In this paper
to
the optimality conditions for the penalty problem,
some of
in Section 6
other network flow problems and
also present in this section a detailed description of the
we
its
theoretical properties.
Numerical
briefly discuss possible extensions
make some concluding remarks.
and
in
results are
of our algorithm to
The Scaling Algorithm
2.
We commodity
for the Penalty
consider linear multicommodity there
Problem flow problems on directed networks. For each
We
an associated vector of supply/demand.
is
observe that a multicommodity
flow problem on an undirected network with multiple sources and multiple sinks for each
commodity can be transformed
to a single source-single sink
multicommodity flow problem on a
done by adding a super-source and a super-sink node for each commodity. The super-source node is connected to each supply node of that commodity with an outgoing arc from the super-source node whose capacity equals the supply at the node and whose directed network. This can be
cost
is
zero. Similar arcs are
added from each demand node of
node. The capacity of each such arc equals the
we
consider only cases in which there
is
demand
at the
that
commodity
node and
its
cost
is
to the super-sink
zero. Henceforth,
a single source node and a single sink node for each
commodity. Let
N
be a
set
commodity k
A be a set of m directed arcs, which together form a network K commodities sharing the capacity Uy of each arc (ij) in the network. For each
of n nodes and
G=(N,A). There are there
is
a required flow of b units from
cost of a unit flow of dl* d!'
commodity k on
arc (ij)
be the flow balance of commodity k
at
is
node
clj
i.
its
source node s(k) to
and the amount of flow Thus,
d!'
= b
its
is
if i=s(k); d!'
smk node
denoted as
=
-b
The
t(k). xlj
if i=t(k);
•
Let
and
=0 otherwise. Using these notations, the minimum-cost multicommodity flow problem[MM] may be
formulated as follows:
[MM] Min
(1)
Vi6N,Vk=l,...,K
(2)
In order to formulate the multicommodity flow problem using a penalty function method,
we
relax the capacity bundle constraints
and add a penalty function term of
their violation to the
objective function.
K
Let
eij (x)
= max{0, (^ xlj - uy)} be k=
its
capacity.
A
the
amount by which
quadratic penalty
fiinction
with a penalty parameter p
violated capacity constraint and a penalty term p(eij(x))
The
resulting penalty
Mm(f^(x)= p
X
the total flow
on
arc (ij) exceeds
l
problem [PMM(p)]
added to the objective function.
is:
Zp(e,Mf
i^4x^+
is
associated with each
is
(5)
)
s.t.
Z4-Z4-^'
VieN,Vk=l,...,K
(2)
V(ij)eA,Vk=l,...,K
(4)
jtj))tA
J:{l.j)tA
4>0
[PMM(p)] decompose
After relaxing the bundle constraints, the remaining constraints in into the constraints
of K single commodity flow problems. The objective flmction, however,
separable and nonlinear. Hence,
we
is
non-
eliminate the complicating constraints, but introduce nonlinear
(convex) and non-separable terms into the objective function.
A
sequence of solutions to the penalty problem with an increasing penalty parameter
converges to the optimal solution of the original problem as long as the penalty parameter increases without bound (Avriel [1976] and Luenberger [1984]). Penalty methods using the Hessian to solve
may
the penalty problems
fail
conditioned (Avriel [1976]).
when
We
the penalty parameter
is
too large because the Hessian
is ill-
present a scaling algorithm which utilizes the special network
of the penalty problem and does not require the computation of the Hessian. The
structure
algorithm finds an approximately optimal solution to the penalty problem and successively
improves the quality of the solution Let but
Q
Q
k
around a cycle
we
forward arcs and
send
denote
it
iteration.
it
Q
is
the arcs in
(^ follow
in a particular direction.
to increase the
on each backward as y(6,
all
Q
).
The
arc
of
Q''
fp(x)
d
p(e,j(x)/
is
(9)
\fU,i)^A:0
e*
-
is
[i'
defmed
>
(13)
as
(14)
.
optimality conditions for a feasible solution x
>
+ 2pe,j(x) + ^f
.
be the reduced cost of arc
e* = cj + 2peo(x) + ^'
The
are:
may now be
=
written as
(15)
and 12
=>
=
xfj
G* > 0.
The optimality conditions reduced costs equal
Lemma
(16)
indicate that in the optimal solution, flow
is
assigned only to arcs whose
0.
1:
Let X be a (5,p)-optimai solution to the penalty problem. Then, there exists a vector
\x.
of
simplex multipliers, such that the following conditions hold: X*
> 5
=>
-6p < e*
< 6
=>
-5p < e*.
< 5p
(17)
and
4
(18)
Proof:
Let us define a cost vector h as follows. For each forward arc for
commodity
(ij)'
of the 5-residual network
k:
A*
=
and
for each
A*
= -c* - 2pe,(x) + 6p
We
first
+ 2pe.j(x) + 5p
c,;
backward arc
claim that there
(19)
of the 5-residual network of commodity
(j,i)^
is
k:
(20)
.
no negative cost cycle within the 5-residual network
commodity k
for
with respect to h''. To see this claim, let y denote a unit flow around some cycle Q in the 5-residual network for commodity k, and consider [fp(x + 5y) - fp(x)] along that cycle. The contribution fi-om
each forward arc
(i
J)' to [fp (x
+
5y)
- fp
backward
The
contribution
-6
- 25p ey (x)+d^p which equals
c-j
eij(x+6y)
>
0; in all other
-fp(x)]>O.Thus, Let
from
|i
*
each
.
arc
c*
(],[)'
+ 25p gy (x) + d^p which equals 5 [fp(x+6y)-fp(x)]
to
(These contributions are achieved is
smaller.)
Ss/2,; >fp(x + 6y)-fp(x) >Oand
By
is
when
the (6,p)-optimality of x,
X
[fp
.
most
at
eij(x)
/?*
>
and
(x
+ 5y)
h^ >0.
denote the negative of the length of the shortest path from the source node of
the original network
strongly connected.
is
respect to the arc costs
/j
* .
We assume without loss of generality that commodity
strongly connected, and hence the residual network for each
Given
that
and the
no negative cost cycle,
fact that there is
|i
*
is
is
well-defined.
the optimality conditions for the shortest path problem (see, for example, Ahuja, Magnanti and
Orlm ;,*
5/j *
cases the contribution
commodity k to node i with
By
most 5
(x)] is at
[1993])
+
^if
it
follows that for each arc
(ij)'
- ^; >
(21)
and thus
4
+ 2pe,j(x) + 5p+^,* -p* >0.
Using the definition
in (14),
network for commodity the condition in (18)
is
k.
it
(22)
follows fi-om (22) that 0*
When
at
*
6 13
> - 5p
for each arc
the only residual arc ,
then both
(ij)^
and
(i j)*^
between
in the 5-residual i
and j, and thus
Q,i)' are in
the 5-residual
network, and thus thus the condition
We
= - 6 * ^ -Sp
*,
is
(17)
have shown
cost 6-cycles,
Lemma
we can bound
1
that at the
(in the algorithm, for
example,
we can replace the conditions
4
< 5p and
*
end of each 5p-phase, when there are no negative
this
When
problem with E=5p.
occurs
when
5 =1/2" for some integer n) the 6-residual network 1
-8p < 6
the violation of the optimality condition by 5p. That
finds an s-optimal solution to the penalty
of 6
,
proved as well.
is
in
>5
follows that for arcs where x*
.It
in (1 7)-(l 8)
the algorithm
is,
the flow values are multiples
demand of each commodity is integral and the same as the residual network. In Lemma
the is
by
-6p < 0* < 5p
>
=>
=
=> -5p < 0*.
(23)
and X*
Corollary
(24)
I:
Suppose
that
x
is
a (6,p)-optimal solution and xj
exists a marginal cost vector
p with
< 5p
|/?*|
a multiple of 6 for
is
for all ij,k such that x is
all ij,k
.
Then
there
an optimal flow for the
penalty problem with the cost vector c replace by c+p.
Proof:
The Kuhn-Tucker conditions
are satisfied
by x
if c in (23)-(24) is
replaced by c+p, where p k
,
is
defined as follows. For arc (ij) and commodity k for which Xy
(ij)
and commodity k
for
which
Xy
and the Kuhn-Tucker conditions are
We
are
now
as in (24), p*
=
satisfied for vector
ready to prove Theorem
1.
>0
= -min{0,
*
}.
= -0
If
y.
For arc
In each case, |p*|
< 5p,
as in (23),
p,j
\i.
Theorem
Recall the
as stated in the previous
section.
Theorem
1:
A flow X is optimal for the penalty problem PMM(p) if and only if x is sufficiently small positive values
of
(5,p)-optimal for
all
6.
Proof:
By value of 5
the definition of a (5,p)-optimal solution, if x
then x
,
is
infeasible or there
for the penalty problem,
(5,p)-optimal for
Lemma by
and
1, \i
all
is
not (5,p)-optimal for
positive values of 5. Let the vectors h
and with 5=0
it
shows
The same proof shows that
x
some
a cost-improving 5-cycle. In either case, x
and thus the only //part of the theorem
but with the value 6=0. ,
is
is
,
\i
is true.
and
positive
not optimal
Suppose conversely
that
x
is
be defined as in the proof of
that the optimality conditions are satisfied
optimal. Thus, the //part of the theorem
14
is
is
true as well.
The Lagrangian Dual and Performance Analysis
4.
In this section,
we
focus on deviation from optimality. In Section 4.2
we assume
analysis,
the
simplify
We
commodities.
start
In Section 4.1
we
focus on worst case time complexity.
To
provide worst case performance for algorithm
= 2
with 5
algorithms runs at least until
5
0
V(ij)eA
(26)
4>0
V(iJ)eA,Vk=l,...,K
(4)
+
l;^*
a,
e,j
=
u,j
i.i
Constraints (25) are derived from the definitions of Cy and
of constraints
(25),
Hie, p,x,X)=
S
and
let
H(c,p,x,A.)
2^44 +
S
CTy.
Let Xy be the dual variables
be defined as follows:
P(e//)'
+
Hh (L4+.)
= Min {H(c,p,xA)}
(28)
s.t.
Z 4 - Z 4 = df
Vi€N, Vk=l,...,K
(2)
e^>0,(j*>0
V(io)€A
(26)
xfj>0
V(iJ)€A,Vk=l,...,K
(4)
;:(ij)ev
., the solution to [LPMM(p,A,)] *
Gy
is
chosen to minimize
can be arbitrarily large
Z
if A,y
0.
if A.y
0,
and
arc (ij), then v(c,p,X,)
=
it
-
co;
*
Cy is
chosen to minimize
ey(2pey
- >,y)
=
0.
That
is,
X
(p(^\}f
either Cy
=
-
^ij^ij)
0, or Cy
16
=
subject to Cy X,y/2p;
>
0.
Thus, Cy
is
chosen such that
.
*
X*
chosen to minimize 2^ z^icy + hj)
is
'-'
i=i
subject to (2),(4). Thus, x*
is
the flow resulting
{,.1)1*
from sending the demand of each commodity along the shortest path from sink, with respect to the costs (cj
Note
that for
each fixed value of
objective fimction
is (at
+
X, the
x.
source to
its
X,j)
time required to determine the value of the Lagrangian
most) the time required to solve
K shortest path problems.
PMM(p) and
Let X be a solution to the penalty problem generated by
its
Associated with the primal solution (x,e)
is
let
e be the vector of excess
a dual solution
(A,°,e'',x°,a°),
determined
as follows: *
X°:
*
e
:
= 2pe; = e;
*
CT° is
the slack variable of the capacity bundle constraint;
*
x°
the flow
is
source to
its
which
results
from sending each commodity along the shortest path from
sink with respect to the costs (c
+
2pe).
We have selected X° to be a vector such that the optimal choice of e" is x°
is
the flow
the costs (c
+
and therefore
which
results
[LPMM(p,X°)].
= 2pea° =
0.
The value of the primal
Z(l]4 {.i.JliA
Thus,
GAP(c.p) =
=
X,°/2p
=
e.
Also
be positive only for arcs with a zero excess,
=
(e,x°,CT°)
solves the Lagrangian problem
We refer to this associated dual solution as the induced dual solution.
Z(Z4 + 2pe,>1
z{c,x,9)=
may
Thus, (e°,x°,a°)
The value of the induced dual
v(c,p,r)=
e"
from sending each commodity along the shortest path with respect to
X°). In addition, the slack variables X,°ct°
its
solution v(c,p,>-°) can be calculated as:
-P(e,y -2pe,M,;
solution z(c,x,p)
(30)
is:
(31)
4+P(^i,)')
*.l
we can calculate the induced duality gap GAP(c,p) z(c,x,p)
-
v^c.p.r;
as:
(32)
The Lagrangian dual defined here is only one way to defme the dual problem. In addition there are various methods to solve that problem (e.g. subgradient method). Here we present a very simple and fast method for computing a dual solution. The method appears to be very good in practice (see the results of Section 5), and is usefiil in proving bounds. We next give some bounds on the size of the induced duality gap. This allows us to use the value of the induced duality gap as a possible termination criterion and for performance analysis.
17
Theorem
2:
an optimal solution to the penalty problem PMM(p), then the induced duality gap
If x=x* is is
zero.
Proof:
Let X be a feasible solution to general x°
x (x
?t
PMM(p)
any feasible solution
is
and
let
(X°,e°,x°,a°)
to the penalty problem).
be the induced dual solution. In
However, when x
solution x*. the optimality conditions (23)-(24) hold with 6=0. For each
conditions
become
=
in this case x°
the duality
gap
x*.
is
same
the
By
as the conditions for
substituting 2]
jc*
-
the optimality
the shortest path problem with costs c+2pe. Thus
by
uij
commodity
the optimal
is
Cy in (30)
we
get v(c,p,A,°)
=
z(c,x*,p),
and so
zero.
In the next
Theorem we develop an upper bound on
the value of the induced duality gap for
any (5,p)-optimal solution.
Theorem
3:
Suppose
that
y
is
a (5,p)-optimal solution determined by the algorithm
value of the induced duality gap
is at
most 26pnD, where
D=
2j^*
is
the
when
sum of all
Then
5,*,w,e*,a*) denote the induced dual
solution.
We now
want
evaluate
to
H(c,p,y,X*)-H(c,p,w,X*). Let 6 and all
arcs (ij)
yl
be vectors chosen as in the proof of Lemma
\x
.
Moreover, by
Lemma
Thus 0y = c* +
1.
Xij
+
M,
-
M-^
for
1,
-5p < 0* < 6p
>
=>
=
=> -6p < 0*
and yl
The
effect
.
^^
of including the dual variables term
only a constant which
commodity
k.
This
is
out.
i^'!
~
1^*)
^
the objective function
equal to /)*|i,(4)for each commodity, where t(k)
is
the sink
is
node of
because the flow of each commodity can be decomposed into paths from s(k)
to t(k) (s(k) is the source
nodes cancel
is
yl
node of commodity k)
Thus the value
H(c,p,y,>,*)
is
,
b''
|^*(A)=0,
and the dual variable terms
at all other
equal to (33)
and therefore 18
-
H(c,p,y,X *^)-H(c ,p,w,X*)=
Zl]e*(>'*-w*) U.j)iA
^*)-5p(wJ)] •J'
t l&pnb"
- total cost -*-dual cost optimal cost
The
duality gap at the end of each
Figure
8:
5.3
Running time
We report here data sources.
The
some numerical
£,
,
results for representative
problems from the three different
correspond to s-optimal solutions, where the values of 6p and 6 are
results
bounded by user-defined values values of e and
5p - phase
8
and
respectively. In addition to the size of the problem, the
t,,
and the value of the optimal solution when available, Table
1
contains the
following results: *
% 6-saturated arcs. The percentage of saturated arcs
the congestion level of the
saturated arc
is
problem
(in
8-optimal solution usually reflects
at the
term of demand-to-capacity
an arc for which the flow
is
within 5
units
ratio).
For our purposes a
a
6-
flow cost (FC) of the
s-
from the capacity (we
call
it
saturated arc).
Once we know
* Costs.
the optimal solution,
optimal solution. Note that
we have
its
can compare
it
to the
be smaller than the optimal solution (by a small amount) since
The excess cost (EC) which is the value of the penalty (TC=FC+EC), provide us information about the deviation
relaxed the capacity constraints.
term, and
from
FC may
we
proportion of the total cost
feasibility.
26
*
Maximum excess. The maximum value of the excess (e^ax) and the maximum excess-to-capacity maximum violation of the capacity constraints. The number of times we search for a negative cost cycle is highly
ratio ((e/u)n,ax) represent the *
# of searches.
number cycles
of operations required to find the reported solution. This
is
number of flow
# of iterations. This
*
# of phases. The number of 6p-phases performed. Running time. The computational testing was performed
1.
A
is
UNIX-based
the
VAX
Station 3100,
compiler of the Athena project
were measured by the 2.
correlated to the
because the search for negative
the primary time-consuming operation in the algorithm (Figure 8).
*
*
is
'time(
)'
at the
shifts
around negative cost cycles. in three environments:
The algorithm was coded using the 'C Massachusetts Institute of Technology. Running times model
30.
function of the utilities library 'sys/times.h'.
A DOS-based PC IBM compatible, AT 386/ 33 Mhz. The algorithm was coded using Running times were measured by the 'timeQ' function in the utility Borland's 'Turbo
C
library 'time.h'. 3.
An IBM RISC
6000, model 530. The algorithm was coded in 'C. Running times were
measured by the
'time(
Due
to
some problems
)'
memory (RAM) in data set
ftmction in the utility library 'time.h'.
limitations,
C on the AT
we
could not
386.
27
test the
problems from data
set
B
and
Problem
In order to evaluate the performance of the algorithm in terms of running time,
compared
it
knowledge, there
is
no
A
by Assad (our
The
initially
of problem instances. To the best of our
set
of problem instances which has been widely used
single set
multicommodity flow algorithms. theoretical
same
to other algorithms for the
set A).
for testing other
quite popular (and available) set of problems
algorithms for
was
that
used
multicommodity flow problems with the
performance are based on more general algorithms for linear programming.
"classical" decomposition
we
Among
the
and partitioning algorithms, Assad found price-directive decomposition
(Dantzig- Wolfe) to have the best performance in practice, at least for his data set (Assad [1976]). primal-dual network algorithm
[PDN]
for large-scale
A
multicommodity flow problems has been
developed by Bamhart [1988] and has been tested using Assad's
test
A
problems.
primal
partitioning algorithm based on price directive decomposition [PPLP] (Farvolden and Powell
[1991] and Farvolden, Powell and Lustig [1993]), aiming to solve large-scale problems in the Lessthan Truck-Load industry, has been tested on Assad's problems as well. This algorithm has also
LP
outperformed general purpose
algorithms
(MINOS and OBI). We compare
our algorithm (as
problem instances) with the corresponding results for PDN, PPLP, and a implementation by Bamhart[1988]. These comparisons provide some sense Wolfe (DW) Dantzigrestricted to Assad's
for the relative computational performance
and do not provide a complete
The algorithms been tested on a VAX Micro
VAX
Israel
Station
all
the
VAX
II.
PPLP
algorithms.
comparison tables provided by
least as
has been programmed
VAX
We
Digital, the
CPU performance of the 3100
in
running time of algorithm algorithm on the
in
VAX
was
SAM.M
the
and have
77 and tested on a
common
computational
need, however, to interpret our results based on the
According to performance
CPU performance of the VAX
Station
3100
is
2.8 times
VAX Station II
VAX VAX Therefore, the results for algorithm SAM.M on
Micro
II,
and the performance of the
II.
Table 2 and Figure 9 are multiplied by
PC AT 386
FORTRAN
computational environments.
high as the one for the Micro
Station
however, limited in scope
DW and PDN have been programmed in VAX FORTRAN 4.5
performance of the different
is at
are,
picture.
(Farvolden and Powell [1991]). The
environment used by
higher than the
of the algorithm. They
on the PC
AT
386/33 Mhz.
2.8. In addition,
A
we
provide the
special implementation of the
has led to further improvement in the running time of the algorithm.
The only means of comparison between the PC or RISC 6000 and the other computers are MIPS (Million Instructions Per Second), which is the most common means of comparison in the computer industry. The PC AT 386/33 Mhz has about the same value of MIPS as the Micro VAX II (around 5 MIPS), and the RISC is about 7 times faster (34.5 MIPS). We feel, however, that the comparison with the VAX Station 3100 is a more accurate one, and therefore the other results in Table 2 are reported only for future comparisons. This running time evaluation
is
approximate, and
it is
used only to provide a sense of the
performance of our scaling algorithm relative to other recent algorithms and more traditional ones.
may be
which influence the running time, such as the amount of available RAM, the compiler and the programming language. In general, FORTRAN compilers may be better than 'C compilers, but we do not have information about the specific compilers. The compiler optimizer has not been used for SAM.M, or PDN but may have been used for PPLP. There
other factors
DW
29
In addition, the other algorithms have found an optimal solution in the cases reported here, while the solutions found
by algorithm
SAM.M
While such violations may be acceptable
violate the capacity constraints
in
most
applications,
it
may
by up
to
0.2%- 1.0%.
give our algorithm an unfair
advantage.
The running time
for the different algorithms are reported in
Figure 9a,b. All the problems
have 85 nodes and 204
DW,
85
arcs.
The
implementation of algorithm for all the instances.
Al have 47 nodes and 98
total
seconds for algorithm
implementation of algorithm
p
in set
running time for
PDN,
SAM.M
and
the problems
Table 2 and illustrated in all is
the problems in set
it
is
39 for the
VAX
multiplied by 2.8), and 10 seconds for the
running time on the
A3
83 seconds for algorithm
42 seconds for algorithm PPLP,
(after
SAM.M. The
all
arcs,
RISC 6000 was
less than
1
PC
second
SAM.M-PC
10 9 8 7
dsam.m-vax
Hpplp
Dpdn dw
6
T
5
4 3
2 1
A1.2
A1.1
Figure 9(a):
A1.4
A1.3
Comparison of running time
A1.5
for set
A1.6
Al
35
/
SAM.M-PC
71
dsam.m-vax
30
Hpplp
Dpdn dw
251-
20
15 10
5|-
A3.2
Figure 9(b):
A3.6
A3.5
Comparison of running time
for set
31
A3
Extensions and
6.
Summary
We have presented in this paper a simple and yet robust algorithm
for
multicommodity flow
problems. The algorithm consists of solving a sequence of penalty problems by repeatedly sending
flow around negative cost cycles.
Two
parameter control the solution process: the penalty
parameter p which specifies the cost of a unit penalty function for violating the capacity constraints, and the scaling parameter S which govern the amount of flow sent around cycles. These parameters also control the
We
maximum
deviation fi-om optimality at the end of each phase of the algorithm.
have analyzed our algorithm from both theoretical and practical perspectives. The
computational results seem not only to support the theoretical properties to demonstrate that our algorithm has merit for
we have
derived, but also
solving multicommodity flow problems of various
types and sizes.
minimum
This paper focus on the scaling algorithm for
cost multicommodity
flow
problems. The general scheme, however, can be used to solve other types of multicommodity flow
problems as well as network flow problem with side constraints of which the multicommodity problem is a special case. For example, the feasibility multicommodity flow problem is similar to the
minimum
cost multicommodity problem, except that
the penalty terms are the only
the unit flow costs are zero.
all
components of the objective
fiinctions
no influence on the solution of the penalty problem and can be
As
a result
and the penalty parameter has
arbitrarily set to
1
.
Thus, only one
penalty problem needs to be solved with a decreasing scaling parameter. The feasibility scaling algorithm may also be used as a subroutine in an algorithm which solves the maximum concurrent flow problem. This problem is a special case of multicommodity flow problems in which we need to send commodities along a capacitated network. In order to be "fair" to all commodities, the same ratio
of each commodity's demand should be
sent,
and the objective
(Shahrokhi and Matula [1990]). Observe that for each fixed ratio in the
problem we can solve a
feasibility
a binary search to determine the
each iteration by algorithm.
found
in
A
problem
maximum
to
determine
maximize
to
maximum
if this ratio is feasible.
feasible ratio,
detailed description
is
where a
feasibility
and analysis of
all
this ratio
concurrent flow
Thus,
we
problem
is
can apply solved at
these algorithms
may
Schneur[1991].
Acknowledgment
Many thanks to Cham Aggarwal and Hitendra Wadhwa for all Prof Cindy Bamhart contract
for providing us with data sets. Part
#ONR:N000 14-94- 1-0099.
32
their usefial
comments, and
to
of this work has been done under
be
References
Ahuja, R.K., A.V. Goldberg, J.B. Orlin, and R.E. Tarjan. 1992. Finding Minimum-Cost Flows by
Double Scaling. Math. Programming 53, 243-266. Ahuja, R.K., T.L. Magnanti, and J.B. Orlin. 1993. Network Flows Applications. Prentice-Hall, Inc.,
Englewood
Cliffs,
-
Theory, Algorithms,
and
NJ.
Ahuja, R.K., J.B. Orlin, and R.E. Tarjan. 1989. Improved Time Bounds for the
Maximum Flow
Problem. SIAMJ. on Computing 18, 939-954.
Ali,
I.,
D. Bamett, K. Farhangian,
1984. Multicommodity
J.
Kennington, B. Patty, B. Shetty, B. McCarl, and
Network Problems: Applications and Computations.
HE
Trans.
P.
Wong.
16, 127-
134.
Ali, A., R.
Helgason,
J.
Kennington, and H.
Lall. 1980.
Computational Comparison
Among
Three
Multicommodity Network Flow Algorithms. Opns. Res. 28, 995-1000. Assad, A.A. 1976. Multicommodity Network Flows
-
Computational Experience. Working Paper
OR-058-76, Operations Res. Center, M.I.T., Cambridge, Assad, A.A. 1978. Multicommodity Network Flows
Avriel, Cliffs,
M.
-
1976. Nonlinear Programming: Analysis
MA.
a Survey. Networks
and Methods.
8,
37-91.
Prentice-Hall, Inc.,
Englewood
NJ.
A Network-Based Primal-Dual Solution Methodology for the Multicommodity network Flow Problem. PhD Thesis, Department of Civil Engineering, Massachusetts Institute of Technology, Cambridge, MA. Bamhart, C. 1988.
Bamhart, C. 1993. Dual- Ascent Methods for Large-Scale Multicommodity Flow Problems. Naval Res.
Log
Bamhart,
Quart. 40, 305-324.
C, and
Y. Sheffi. 1993.
A
Network-Based
Multicommodity Network Flow Problems. Trans. Bertsimas, D., and J.B. Orlin. 1991.
Primal-Dual Heuristic for the Solution of
Sci. 27(2),
102-1 17.
A Technique for Speeding Up the
Solution of the Lagrangean
Dual. Working Paper No. 3278-91, Sloan School of Management, Massachusetts Institute of
Technology, Cambridge,
MA.
33
Choi,
I.e.,
Interior Point
Method. In Proc. of the
Coleman and Q. Dinic.
E.A.
Network Flow Problems by an Workshop on Large-Scale Numerical Optimization, T.
1989. Solving Multicommodity
and D. Goldfarb.
SLAM
Li (eds.)
1973.
The Method of Scaling and Transportation Problems. Issledovaniya po
Diskretnoi Matematike, Science,
Moscow (Russian).
Edmonds, J., and R.M. Karp. 1972. Theoretical Improvements Network Flow Problems. J. of the ACM 19, 248-264. Fiacco, A.V. and G.P.
in
Algorithmic Efficiency for
McCormick. 1968. Nonlinear Programming: Sequential Unconstrained
Minimization Techniques. John- Wiley
& Sons, New- York.
W.B. Powell. 1990. A Primal Partitioning Solution for Multicommodity Network Flow Problems. Working Paper #90-04, Department of Industrial Engineering, University Farvolden, J.M., and
of Toronto, Toronto, Canada. Farvolden, J.M., W.B. Powell, and
I.J.
Lustig. 1993.
A
Primal Partitioning Solution for the Arc-
Chain Formulation of a Multicommodity Network Flow Problem. Opns. Res. 41(4), 669-693. Ford, L.R., and D.R. Fulkerson. 1962. Flows in Networks. Princeton University Press, Princeton,
NJ.
Frank, M., and P. Wolfe. 1956.
An
Algorithm for Quadratic Programming. Naval Res. Log. Quart.
3,95-110.
Gabow, H. 1985. Scaling Algorithms
for
Network Problems. J. ofComput.
Goldberg, A.V., and R.E. Tarjan. 1987. Solving
Approximation. Proc. of the
1 9th
ACM Symp.
on
Minimum
the
Sys. Sci. 31, 148-168.
Cost Flow Problems by Successive
Theory of Comp., 7-18.
Schemes for Convex Programs Technical Report DCS-TR-273, Department of
Grigoriadis, M.D., and L.G. Khachiyan. 1991. Fast Approximation
with
Many
Blocks and Coupling Constraints.
Computer Science, Rutgers Univ., Kennington,
J.L. 1978.
A
New Brunswick, NJ.
Survey of
Line£ir
Cost Multicommodity Network Flows. Opns. Res. 26,
209-236.
Klein, P., A. Agrawal, R. Ravi, and S. Rao. 1990. Approximation In Proc.
Through Multicommodity Flow.
of the 31st Annual Symp. on Foundations of Computer Science, 726-727.
Klein, P., S.A. Plotkin, C. Stein, and E. Tardos. 1990. Fast Approximation Algorithms for the Unit
Capacity Concurrent Flow Problem with Application to Routing and Finding Sparse Cuts. In Proc. 34
of the 22nd Annual
ACM
Symp. on Theory of Computing, 310-321 Also Technical Report 961, School of Operations Research and Industrial Engineering, Cornell Univ., NY, 1991.
Leighton, T., F. Makedon,
Approximation Algorithms
Plotkin,
S.
C.
Stein,
E.
Tardos, and
S.
Tragoudas.
1991.
Fast
Multicommodity Flow Problems. In Proc. of the 23rd Annual ACM
for
Symp. on Theory of Computing, 101-111.
and Nonlinear Programming. Addison- Wesley,
Luenberger, D.G. 1984. Linear
Orlin, J.B. 1988.
ACM Symp.
A
Faster Strongly Polynomial
Minimum
reading,
MA.
Cost Flow Algorithm. Proc. of the 20th
on the Theory ofComp., 377-387.
Pinar, M.C.,
and S.A. Zenios. 1990.
Using Smooth Penalty
Parallel
Decomposition of Multicommodity Network Flows
Functions. Report 90-12-06, Decision Sciences Department, The Wharton
School, Univ. of Pennsylvania, Philadelphia, PA.
Plotkin, S., D.B.
Shmoys, and
E. Tardos. 1991. Fast
Approximation Algorithms
for
Packing and
Covering Problems. In Proc. of the 32nd Annual Symp. on Foundations of Computer Science. Rockafellar, R.T. 1984.
Network Flows and Monotropic Optimization. John Wiley an Sons,
New
York, 420-425. Schneur, R. 1991. Scaling Algorithms for Multicommodity Flow Problems
Problems with Side Constraints. Shahrokhi
F.,
PhD
Thesis,
and D.W. Matula. 1990. The
and Network Flow
MIT, Cambridge, MA.
Maximum Concurrent Flow Problem. J. of the ACM 37,
318-334.
Sheffi, Y. 1976. Urban Transportation Networks: Equilibrium Analysis with Mathematical Programming Methods. Prentice-Hall Inc., New- Jersey.
Vaidya, P.M. 1989. Speeding
Of the
30th Annual Symp.
Up
Linear Programming Using Fast Matrix Multiplication. In Proc.
On Foundations of Computer Sci.,
35
>
-
D J D
i
'D
332-337.
Date Due
MIT LIBB ABIES
,.,
,1.1
M uinll
4467 3 9080 00922
II