Document 11076978

advertisement
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)
<
0,
we
We
Since G=(N,A)
the
same
units.
We
cost of a 5-flow around
refer to
Q
direction.
Q*' is the net
fp(x). In
When we
by 5
send flow
follow that direction
arcs.
units
To send 5
and to decrease
flow as a b-flow around
Q*'
and
change in the objective function
fp(x+
y(5, Q""))
-
fp(x). If
order to detect these
fp(x+
we refer to
cycles, we build
as a negative cost h-cycle with respect to fp(x), and
a negative cost d-flow with respect to
a directed network
backward
arc of Q*'
refer to this
is, it is
is
call the arcs that
flow on each forward
by 8
obtained by sending the flow around the cycle. That
-
k.
the arcs that are opposite to the direction of the flow
units of flow around
the flow
each
denote an undirected cycle of commodity
an undirected cycle, not
is
at
fp
y(8, Q*'))
y(6,
Q
)
as
a residual
network (also called the b-residual netM'ork) which
an arc from node
potentially
node
to
i
j
is
constructed as follows. Let arc
in the residual network. For each arc
have two oppositely directed arcs
cost represents increasing the flow
represents decreasing the flow
on
on
arc
in the residual
arc (ij)
(i j)
by 6
by 5
(i j)
network:
^t forward arc
backward
units; the
backward
units; the
arc (],ii
arc
is
flow),
is, if
x!)
>6
we can write
.
Using our notations
the cost of each arc
(c is the cost vector,
x
is
represent
(j,i)'
we
whose
whose cost
(ij)'
included in the 5-
residual network of commodity k only if we can decrease the flow of commodity k
units, that
(ij)'
of the original network
on
the flow and e
is
arc (ij)
by 5
the excess of
on the 5-residuaI network as follows.
-*
The
change
~*
d
cost of each forward arc (iJ)
in fp obtained
on the
residual
by increasing the flow on arc
(iJ)
^*
= c*5
+ p(26e,(x)+ 6')
network for commodity
by 6
units.
That
k,
c,j
,
the net
is
is:
\/{i,j)eA:eoix)>0
(6)
V(/,7)e^:-5<Xx*-M,<0
(7)
V(/,7)€^:Xx^M,<-5
(8)
keK
and
-*
The
= c*5
cost of each
in fp obtained
~*
arc
(j,i)
on
the residual network for
by decreasing the flow on
c,
„*
= -c*5
+
c*,
=
-4 5
backward
-
p(-2de,j(x)
arc
(i j)
by 6
units.
+ 6')
commodity
That
k, Cj,
the net change
is:
yiJ,i)eA:e,{x)>d
p(e,j(x)/
is
(9)
\fU,i)^A:0<eJx)<6
(10)
^U,i)eA:J^4-u,<0
(11)
and
-c*5
For example, consider a part of the network as
represent the unit cost for
flow on each arc (which
commodity k on each
is
arc,
illustrated in Figure 1(a).
and the numbers
in
( )
The numbers
in
[ ]
represent the excess of
a result of the flow of commodity k as well as the other commodities in
the problem).
The
cycle, or arc (1,3)
calculation of the costs of arc (1,3),
is
when
a backward arc on the cycle (that
is,
arc (3J
is
)
either a forward arc
on a
5-
of the residual network) are
6=2.0 and p=1.0. The costs of the other arcs in the network are calculated
shown
in Figure 1(b) for
in the
same way and appear
cycle.
Sending 2 units of flow around that
1-2-3.
That improves the penalty objective ftinction by 2.0
The
arc (1,3)
The (clockwise) cycle 1-2-3-1 is a negative
cycle means to shift 2 units of flow from path 1 -3
in Figure 1(c).
scaling algorithm for solving the penalty
cost 6to path
units.
problem consists of repeatedly sending flow
around negative cost cycles. At each scaling phase, 5 has a fixed value and
at
each iteration
we
send
5 units of flow around a negative cost 5-cycle of some commodity. When there is no negative cost
6-cycle we decrease the value of 6 by a factor of 2. (Dividing 6 by a factor other than 2 leads to the
same
theoretical analysis as the
alternative in practice.)
one presented
in the next section,
At the end of each phase, we
parameter by some scaling factor less that
2.
and may be
a reasonable
also increase the value of the penalty
8 = 2.0
p=
1.0
2 + 16 + 4 = 22
-2
-16 + 4 = -14
Figure lb:
Calculating the cost of the residual arcs
Figure Ic:
A negative cost 5-cycIe
We
problem
if
say that a flow x
x
is
is
(b,p)-optimal for the penalty version of the
a feasible flow for the penalty problem and there
is
muhicommodity flow
no negative cost 5-cycle with
;
respect to the function
fp.
We
present the following
motivation behind our algorithm.
Theorem
We prove
it
Theorem here
since
it
helps to understand the
in the next section.
1:
A
flow X
optimal for
is
PMM(p)
if
and only
if
x
(8,p)-optimal for
is
all sufficiently
small
positive values of 5.
The
scaling algorithm for the penalty
algorithm in which the step size at each phase
problem can be viewed as a nonlinear programming
fixed at a value of 5.
is
We try to find a "direction" (a
vector of flow modifications) such that by moving 6 units in this direction the penalty objective
fiinction decreases. When we can not find an improving direction with a step size 5, we decrease
the step size to 5/2.
An
which we
alternative approach, in
then determine the step size,
is
first
detect the improving direction
described in Schneur [1991]. In the remainder of this section
and
we
outline the scaling algorithm.
The
scaling algorithm for the
minimum
cost
multicommodity flow problem may be
described in the general form of a scaling algorithm as follows.
Given:
cjj
Ujj
b
=
cost ofunit flow
=
=
capacity of arc
on
arc (ij) for
commodity k
(i J)
amount of supply/demand of commodity
k.
Objective:
Find a
minimum
cost flow
which
satisfies the
flow requirements for each commodity
without violating the capacity constraints.
SAM.M:
a Scaling Algorithm for Multicommodity
Minimum cost flow problems.
begin
determine an
choose
initial
initial feasible
solution x;
values for 5 and p;
until 5 and p satisfy the termination criteria
do
begin
while there
is
a negative cost 5-cycle with respect to
fp
do
begin
Q
send 5 units of flow around Q
find a negative cost 5-cycle
for
some commodity k with
;
end
5:
end
end
=
5/2; p:
= p*R; (R
is
a constant with
1<R<2)
respect to fp
We now discuss some practical
issues related to the various elements of the
algorithm.
Initial solution:
An
initial
solution
may be any
which
solution
satisfies the
supply/demand constraints. For
example, one can satisfy the supply/demand of each commodity by sending b units on the shortest
path from s(k) to
Parameter
We henceforth assume that we initialize the solution in this way.
t(k).
setting:
we
In our implementation
up
to the nearest
power of 2,
i.e.,
let
the initial value of 5 be the size of the largest
=2
5o:
where B = max{b
°^
,
k=l,...,K}. Since 5 is halved at
:
each successive scaling phase, within [log b1 additional phases 5=1, a
subsequent analysis. The best
initial
penalty parameter value and
demand rounded
modification
its
needed
fact
rate,
R,
in
the
may be
empirically determined. Observe that 5 and p are modified simultaneously. For theoretical purposes
which are discussed
later,
we need 5*p
to decrease
decreases by a factor of 2 at each phase,
we
by a constant
require that
R€[1.6,1.7] to be good choices for the problems that
R <
factor in each phase. Since 5
We
2.
have found Po=0.3 and
we have tested.
Termination rules for the algorithm:
The termination
the dual solution
is
criteria
of the algorithm depend on the values of 5 and
obtained, the criteria
may
values of 5 and p are chosen to ensure that 5
is
numerical
bound on
stability or to
cases in which
depend on the value of the duality gap.) The
"sufficiently" small
and p
one may bound the penalty parameter value from above
practice,
ensure faster termination of the algorithm.
is
"sufficiently" large. In
in order to help
We
final
let
maintain
p^ denote our upper
p.
For each solution
penalty problem.
fiinction
also
p. (In
The
to the penalty
duality
gap
and the value of this dual
is
problem,
we
also derive a solution to the dual of the
the difference between the value of the penalty objective
solution.
We refer to this dual
induced dual solution and the induced duality gap, respectively.
in Section 4.
Let
The induced
GAP
duality
gap
may
be used
solution and this duality gap as the
We
describe these terms in details
in the termination criteria.
be the current value of the induced duality gap, and
values set by the user. Then, the algorithm terminates
let
when one of
g and 8 be small positive
the following conditions is
satisfied:
6*p < e or
ii)
GAP < g and p = Py.
The values of 6*p and the duality gap indicate how close the solution is to optimality. The lower
bounds on those values provide the user the option of terminating with a pre-specified level of
i)
solution quality.
10
When we
may
search for negative cycles
we
concentrate at one
commodity
at
say that the algorithm uses the concept of coordinate optimization methods.
a time. Thus, one
We comment
on
the selection of commodities and the search for improving cycles in Section 5.
Our
scaling algorithm for the penalty problem
similar to the "Discretized Descent
is
Algorithm" described in Section 9 of Rockafellar [1984] for solving convex cost network flow
problems. Rockafellar describes an algorithm in which the step size
cycles.
He
also suggests solving the
problem
is
fixed and flow
iteratively with a decreasing
is
sent around
sequence of step
sizes. If
the algorithms are viewed at a high level, the primary differences between Rockafellar's algorithm
and ours are
that
we
use this algorithm within the fi-amework of a penalty method in order to solve
multicommodity flow problems; we decrease the step
size
by a fixed factor of two, and we
simultaneously increase the penalty parameter by a fixed multiplier at each phase. At a more
detailed level, the
two approaches
differ in the choice
of negative cycle detection algorithms and
We
the analysis of the convergence, errors and running time.
in
have also performed an extensive
computational testing to support our theoretical results and to investigate the behavior of the
algorithm in practice.
Algorithm
SAM.M assumes that there
a feasible solution to the multicommodity problem
is
we
in hand.
To determine
which
specialized to the feasibility multicommodity flow problem.
is
if the
problem
is
indeed feasible,
detects infeasibility are described briefly in Section 6
Algorithm
run a version of the scaling algorithm
and
in
SAM.M is illustrated in Figure 2.
calculate excess of flow on
choose commodity
k;
each arc
calculate costs of
modifying flow of k by 6 units on each arc
5=
5/2
p = p*R
send 5
units around negative cost 5-cycle
increase (decrease) flow on forward (backward) arcs
Figure
2:
A flow chart of algorithm SAM.M
11
The algorithm and the way it
more details in Schneur [1991].
We have
developed also an optimal-shift version of the scaling algorithm (Schneur [1991]).
The algorithm is motivated by Frank- Wolfe gradient-based algorithm for quadratic programming
(Frank and Wolfe [1956]).
Among
other problems, Frank- Wolfe algorithm
The
equilibrium multicommodity flow problems (Sheffi [1976]).
is
viewed as a network-based scaling version of Frank- Wolfe algorithm. While
we
first
in algorithm
traffic
may
be
SAM.M
determine the step size and then look for an improving direction, the optimal-shift scaling
algorithm
is
used to solve
optimal-shift algorithm
is
more
similar to conventional nonlinear algorithms. First the direction of
determined. Then, the optimal step size along this direction
improvement
is
A
calculated.
improvement
direction
of
found by detecting a negative cost cycle in the residual network of each
is
commodity. The costs of the residual network of commodity k represent the derivative of the
commodity on each
penalty objective fianction with respect to the flow of that
different residual
network than the one used
SAM.M. Once
in algorithm
arc.
This
is
a negative cycle
a
is
we shift the optimal amount of flow around it, i.e., the amount which results in the
maximum improvement of the penalty objective fianction. The optimal amount is the amount which
detected,
drives the cycle derivative cost to zero.
The optimal amount
to shift
on a cycle can be calculated
using a binary search technique.
Optimality Conditions
3.
The optimality conditions
problem are derived from the Kuhn-Tucker
for the penalty
optimality conditions for nonlinear programming. Since the objective function
constraints are linear, the
Kuhn-Tucker conditions
is
convex and the
are sufficient for optimality (see, for example,
Avriel [1976]).
For a general nonlinear programming problem {min
f(x):
x>
q(x)=0,
0}, the
Kuhn-Tucker
optimality conditions for a feasible solution x are (A denotes derivative):
x(^x(f)
some
for
-^
vector
Ax(/) + ^iAx(q)>
and
\'^x(^)=
(12)
|i.
Applied to a feasible solution for the penalty problem [PMM(p)], the optimality conditions
for each arc (ij)
xUcl +
for
and commodity k
2pey(x) +
some values of
Let
*
j^,
^i*
and
xfj
^])=
-
jJ.*
-
and
c*
^;
(iJ)
and commodity k which
=>
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
*
<5
proved. Moreover,
arc (ij)^
if
jc,*
is
>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 <
1
supply/demand values are
the
that
^
'°s
and
'
we
SAM.M.
for the sake
for
integral
of the analysis,
we assume
all
the
that the
The following lemma shows that under these assumptions
.
the flows are multiples of 6 in the phases
all
where 5<1, and therefore the optimality conditions
in
(23)-(24) are satisfied.
Lemma 2:
flow X*
If a
a)
is
a multiple of 5 at the beginning of a 5-scaling phase, then
it
is
a multiple of
5'
during any subsequent 5'-scaling phase of the algorithm.
b)
The flows during
c)
When 5<1
all
,
the algorithm are integral multiples of 5
on
all for
which the
initial
flow
is 0.
the arc flows are integral multiples of 5.
Proof:
Suppose
a)
of
5.
sent
>'*
multiple of 5 at
for the rest
beginning of a 5-scaling phase, and
the flow
on
(i
is
is
on
sent
halved, then
;^*
is
an integral multiple of
j)'' is
(ij)
it
,
is
an integral multiple
then 5 units of flow are
also an integral multiple of the
5,
it
continues to be an integral
subsequent phases.
all
shows
Part (a)
b)
at the
also an integral multiple of 5. If 6
is
Thus once
revised 5.
flow
be the flow after one additional phase. If flow
>'*
Let
and
that x* is the
that
once a flow
of algorithm. Therefore
is
all
an integral multiple of 5,
arcs
(iJ)''
whose
initial
it
remains an integral multiple of 5
flow
is
have flows
that are integral
multiple of 5.
Since
c)
we
start the
[logSl phases
part (a)
shows
we
algorithm with 5
= T°^
and halve the value of 5
at
each phase, after
have 5=1. Since the supply/demand values are integers, the same argument as in
that all the arc flows are integral at
multiple of 5. Using the results in
(a),
we
each phase. So when 6=1,
conclude that
at
all
flows are integral
any subsequent phase when 5<1,
all
the
flows are multiples of 6.
4.
1
The Lagrangian dual and
the duality gap
Let ay be the slack variable of the bundle capacity constraint of arc
problem
(2),(4),(5)
may
be rewritten
(iJ).
The penalty
as:
[PMM(p)]
s.t.
E
4-
Z 4 = d1
Vi€N,Vk=l,...,K
15
(2)
-
V(ij)eA
(25)
e^>0,a*>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+<yu-eu-t^-j)
(27)
We now relax constraints (25) and obtain the Lagrangian relaxation:
[LPMM(p,X)]
v(c,p,>.)
= 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<
;:(y;)€y(
The Lagrangian dual problem can be formulated
as:
[LDPMM(p)]
MaxUv(c,p,X)J
(29)
The problem LPMM(p,X,)
is
separable with respect to the variables
fixed value of >., the solution to [LPMM(p,A,)]
*
Gy
is
chosen to minimize
can be arbitrarily large
Z
if A,y
<
^ij^ij
0.
is
CT,e
and
x.
For each
therefore determined as follows:
>
0.
if A.y
<
subject to ay
Consequently,
Thus, ay
for
is set
some
to
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<1.
the
the demands.
Proof:
Let y be a
most
1,
and
let
(6,p)-optimal solution to the penalty problem for
some value of 6 which
is
at
e* and a* denote the excess and slack vectors associated with y, respectively. Let
X* = 2pe,j. Let (>,*,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
<
(34)
t=]
Zl][Sp(>^*)-5p(wJ)]
•J'
t l&pnb"
<25p«D
The second to last inequality follows from the fact that for each commodity k, the flow in y (and
also in w) may be written as the sum of at most b units of flow on paths, each of which has fewer
than n arcs, (in fact, one may restrict attention to the case in which the flow is b units along a
single path.)
Worst Case Computational Analysis
4.2
we limit the negative cycle search in the algorithm to
6-cycles whose mean cost is at most -5 p. The mean cost of each cycle is greater than -5 p if and
only if adding 5^p units to the cost of each arc results in no negative cost cycle. Since we always
send 5 units of flow around a cycle, one way to avoid detecting cycles whose mean cost is greater
than -5^p (and thus limit the search to cycles whose mean cost is at most -5 p) is to add 5p to the
unit cost of each arc. When we replace the unit cost vector c by c+6p the bound on the optimality
In order to derive a worst case bound,
Lemma
condition violation in
optimal for costs c+p where
Theorem
3
1
|p|
becomes 25p. Also, in Corollary 1 the (5,p)-optimal solution
< 25p. As a result, the bound on the induced duality gap
is
in
becomes 45pnD.
Lemma 3:
Suppose
Then
the
that
we
improvement
limit the search in the algorithm to 5-cycles
in the objective ftmction after
each iteration
whose mean
is at
least
25
is at
most
-5 p.
p.
Proof:
When 5 units
are sent around a cycle
in the objective ftinction
number of arcs
each 6-shift
Theorem
which equals the
Q whose mean cost is at most
of that cycle
total cost
in the cycle. Since there are at least
is at least
25
two
is at least
-5 p, the
improvement
5 p|Q|, where
arcs in each cycle, the
|Q| is
improvement
the
after
p.
4:
When we
limit the search
number of negative
m
the algorithm to 6-cycles
cost cycles found in each phase
is at
whose mean
is at
most
-5 p, the
most 2nD/6.
Proof:
Theorem 3 modified to the case when the mean cost of each cycle is at
most -5^p, we get that the bound on the induced duality gap is at most 46pnD. Since the
improvement per sending flow around a negative 5-cycle is at least 25 p, the number of negative
From
the results of
cost cycles detected in each phase
is
bounded by 45pnD/25 p = 2nD/6.
19
Let 4 be a lower bound on the value of
cycles throughout the algorithm
is
Then
6.
2nD/^ = 0(nD/
the
bound on the
total
number of negative
^).
Schneur [1991] presents a more detailed analysis of the bounds on the number of
algorithmic operations. Under some (not very limiting) assumptions, we can show that the number
of operations performed by algorithm
the
bound of Theorem 4
are not as
SAM.M
good as
is
0(n
mK
It,
the ones given
).
Note, however, that this bound and
by Klein, Plotkin,
Stein,
and Tardos
[1990].
Computational Results
5.
We have performed extensive computational tests and have analyzed algorithm SAM.M on
a
variety
of problem instances.
These
tests
have
included
the
investigation
of different
implementation ideas and the testing of the sensitivity of the algorithm to various data parameters,
such as the number of arcs, the number of commodities, and the congestion in the network.
have also compared the practical behavior of the algorithm, as observed in the computational
we have
with the theoretical characteristics and bounds
We
tests,
derived. These results are presented in
Schneur [1991].
In this paper,
provide
some
we
and discuss running time
(A)
(B)
its
bottleneck operations and practical convergence
.
We also report
results.
The test problem instances has been acquired from three sources:
The published literature on multicommodity flow problems (Assad [1976]). These
instances have medium size directed networks (up to 100 nodes and 200 arcs), with a
relatively small number of commodities (up to 35).
An industrial application which models a communication problem. The number of
commodities
(C)
focus on results which highlight certain features of the algorithm, and
insight regarding
in this
problem
is
Randomly generated problem
relatively large (around 600).
instances.
These instances were generated by
RAMGEN, a
random multicommodity flow problem generator developed by us. We generated networks
of various sizes, different number of commodities eind different levels of congestion.
Each generated network has an underlying grid form. The length L (the number of arcs in
each horizontal line) and the height H (the number of arcs in each vertical line) are userdefmed. Each network is derived from an undirected network, that is, there are two
oppositely directed arcs between each pair of connected nodes. Thus, n= (L+1)*(H+1) and
m = 2*[ L*(H+I) + H*(L+1) ]. To increase the number of arcs in some networks, the
generator connects each node i with two randomly selected nodes from the column on the
right-hand side of node i. An example with L=5 and H=3 is illusfrated in Figure 3. In this
case n remains the same as in the pure grid network, and m = 2*[ L*(H+1) + H*(L+1) +
2*L*(H+1)].
20
The
cost
on each
arc
is
user-defined parameter
The user
K
selects
randomly chosen from a uniform distribution between 0.0 and a
Cn,ax.
number of commodities, denoted as K. Then, the generator randomly
source-sink pairs. The source and smk nodes can be unrestricted, or else limited
sets the
only to the boundary nodes of the grid.
The demand
for each
commodity
is
randomly chosen from a uniform distribution between
0.0 and a user-defined parameter Bn,^^-
The capacity on each arc is randomly selected from a uniform distribution between bounds
which depend on the size of the network, the number of commodities and the demand
values.
Figure
3:
A
A network generated by RAM_GEN
detailed description
of the problem instances from
all
three
sources
is
given in
Schneur[1991].
5.1
Bottleneck Operations and Negative Cycles Detection
The bottleneck operation of
the algorithm
is
the detection of negative
present here an average distribution of the time the algorithm spends
performs.
The algorithm
consists of the following components:
Initializing the variables
and
setting the parameters
21
cost 5-cycles.
We
on each type of operation
it
Calculating the costs of the residual arcs at the beginning of each phase
Searching for a negative cost cycle until one
is
detected (successful iterations)
Searching for a negative cost cycle and concluding that no such cycle exists (an
unsuccessful iteration which occurs once at the end of each phase)
Modifying the flow, the excess and cost of each arc
around a negative cost cycle.
^^^^^^^^H
at
each
iteration,
when 5
units are sent
may become negative, and if so are used in subsequent iterations. As long as there is a
cycle in C we do not search for another negative cost cycle. The collection C uses a data
these cycles
negative
of the cycles'
structure that enables a fast update
is
cost. Storing these cycles
and updating
their cost
time consuming, but the saving in overall cycles detection time more than compensates for this
computational expense. In
fact, in
our computational testing about
50%
of all negative cycles used
for shifting flow^ were fi^om the collection C, while managing the collection added only about
the running time cycles. Moreover,
we
3% to
limit our search only to "sufficiently negative" cycles in
order to eliminate the detection of negative cost cycles with very small absolute cost, and improve
shown in Section 4). Since a cycle corresponds to a
choose a commodity at each iteration. The order in which
the theoretical convergence of the algorithm (as
particular
commodity, we need
to
commodities are considered does not influence the theoretical worst case performance of the
algorithm.
show
It
does
that scanning the
provides a faster
moving
5.2
affect,
however, the performance of the algorithm in practice. Empirical results
commodities
in a cyclic order
convergence than searching for
to the next
all
and detecting one cycle for each commodity
negative cycles for one
one (Schneur [1991]).
Practical convergence
In any approximation algorithm, there are various
solution. In general,
to
commodity and then
ways of evaluating
the quality of the
one would want an algorithm based on a scaling and penalty function method
have the following properties:
(1)
As
the penalty parameter increases and the scaling parameter decreases, the flow cost
^ ^(cj
Xy)
associated with the algorithm's solution converges to the cost of the optimal
solution to the original problem.
(2)
As
the penalty parameter increases
and the scaling parameter decreases, the penalty cost
(excess cost) converges to zero, and thus the total cost (flow cost
to the cost
(3)
As
+ excess
cost) converges
of the optimal solution to the original problem.
the penalty parameter increases, the value of the
maximum
excess (max^ij^
eij(x))
converges to zero.
In our computational testing,
our algorithm. In Figures 5 and
problem instance from
excess cost
is
set (A).
6,
The
we found the above properties to be typical to the behavior of
we illustrate a typical convergence, which corresponds to a
results
were similar
for the
problems
in set (B)
the difference between the total cost and the flow cost in Figure
23
5.
and
set (C).
The
537 T
total cost
-flow cost
-optimal cost
532
527
522
517
512
4
Figure
7
,
5:
The typical
cost at the
Phase
5
end of each 5p-phase
have
at
each phase a solution that
is
closer to the optimal
tests the total cost usually
problem. In our
penalty parameter increases,
we
that this is indeed the case. This decrease,
the penalty cost (which
go up or down.
An
is
is
it
finally
converges to the
a product of an excess term and a penalty parameter.
expect the excess to decrease, and
however,
is
the excess term multiplied
we
see from Figure 6
not always sufficient to lead to a decrease in
by the penalty parameter). The flow cost may
increased penalty parameter typically leads to an increase in the flow cost,
whereas a decreased scaling parameter 5 typically leads
that the
for the corresponding penalty
decreases between phases until
optimal solution. Note that the excess cost
When the
one
flow cost and
total cost
to a decrease in the
flow
both converge to the optimal solution value
cost.
at the
We
observe
end of the
algorithm and thus, the excess cost converges to zero.
A typical curve of the total cost at each iteration during the fu-st four phases of the algorithm
is illustrated
iteration
in Figure 7.
because flow
is
During each 5p-phase of the algorithm, the
sent around negative cost cycles.
total cost
When a phase
penalty parameter; therefore, the total cost which corresponds to the
increases.
The
a 5p-phase
is
total
decreases at each
terminates
new
cost decreases again during the next 6p-phase. Thus, the
we
increase the
penalty parameter
total cost at the
end of
not necessarily smaller than the total cost at the end of the previous phase.
Nevertheless, as illustrated in Figures 7, the total cost typically decreases between phases.
difference between the
two graphs
is
which gives us an upper bound on
the value of the duality gap,
we
the distance of the solution from the optimal value. In general,
decrease between phases (this
is
also suggested
by Theorem
expect the duality gap to
From Figure
3).
8
we
see that this
is
typically the case.
—>- 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
Download