A scaling algorithm for multicommodity flow problems - DSpace@MIT

0 downloads 0 Views 2MB Size Report
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;

*



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