Multicommodity Network Flow Problems

Download as pdf or txt
Download as pdf or txt
You are on page 1of 30

CHAPTER 12

Downloaded from https://academic.oup.com/book/53915/chapter/422193798 by OUP site access user on 12 May 2024


Multicommodity Network Flow Problems

However, the production and distribution of commodities is


entirely unorganized so that everybody must live in fear of
being eliminated from the economic cycle, in this way suffering
from the want of everything.
I trust that posterity will read these statements with a feel­
ing of proud and justified superiority.

Albert Einstein, Message in the Time-Capsule, 1939

The movement of some commodity between two points on a network


can be represented using network flow models. Such models are prevalent in
the real world; and the transportation of products over a railroad system
is the prototypical example of a network flow problem. Other examples
include the transportation of messages over a telecommunications network,
the transmission of electricity over a power distribution grid, the scheduling
of water releases through a hydroelectric power generation network of dams
and pipelines, the transfer of funds between bank accounts, the exchange
of funds among different currencies, and so on. Occasionally, multiple but
distinct commodities share the resources of a common underlying network
and the resulting models become more complicated. A common example
is the movement of traffic along a highway system, where vehicles with
different destinations and of different sizes share the same roads.
The study of network flow problems predates the developments in math­
ematical programming. Its origins can be traced to the work of Gustav
Kirchoff who studied the equilibrium flow of current in electrical networks,
and to D. Konig’s research on linear graphs. The study of the effective
distribution of products over a transportation system was initiated, inde­
pendently, by the Russian mathematician L.V. Kantorovich and the Dutch
economist T.C. Koopmans in the 1940s. They studied the problem of allo­
cating tasks to machines, and the problem of optimum utilization of trans­
portation networks for the distribution of cargo. The classic formulation of
the transportation problem is often referred to as the Hitchcock-Koopmans
transportation problem, after the work of F.L. Hitchcock who first formu­
lated it.
The field underwent major developments in the 1940s when G.B. Dantzig
introduced the simplex algorithm. The fact that network problems are

Parallel Optimization, Yair Censor, Oxford University Press (1997), © 1997 by


Oxford University Press, Inc., DOI: 10.1093/9780195100624.003.0012
342 Multicommodity Network Flow Problems Chap. 12

prevalent in real-world applications, together with the observation that


they are usually extremely large, prompted the development of specialized
algorithms for their efficient solution. The study of networks has occasion­
ally motivated further developments in linear programming. For example,

Downloaded from https://academic.oup.com/book/53915/chapter/422193798 by OUP site access user on 12 May 2024


the use of price-directed decomposition methods for linear programming
has its origins in network optimization algorithms.
Over the last half century, network optimization has led the develop­
ments in large-scale optimization. Some of the first genuinely parallel al­
gorithms, such as the auction algorithm for the assignment problem for­
mulated by D.P. Bertsekas in the 1970s, were developed specifically for
network optimization. S.A. Zenios and R. Lasken in the 1980s were the
first to successfully implement optimization algorithms for network prob­
lems on massively parallel computers, the Connection Machines CM-1 and
CM-2.
This chapter addresses a class of network flow problems that are well-
suited to parallel computations and solution by the algorithms introduced
in Chapters 6 and 7. We focus especially on network optimization problems
with quadratic or entropic objective functions, so that the algorithms of
Chapter 6 are directly applicable. Formulations with linear cost functions
can be solved by embedding the algorithms of this chapter within the PMD
algorithm framework (see Chapter 3). This combination of algorithms is
further investigated empirically in Section 15.6.
Notation is established in Section 12.1. Section 12.2 formulates the clas­
sic transportation problem and the multicommodity network flow problem,
and some sample applications are discussed in Section 12.3. Section 12.4
develops iterative algorithms for quadratic transportation problems and
multicommodity network flow problems. Section 12.5 develops a model
decomposition algorithm for the multicommodity network flow problem.
Notes and references in Section 12.6 conclude this chapter.

12.1 Preliminaries
A directed network, or directed graph Q = (Af, X) consists of a collection N
of nodes together with a set A of ordered pairs (z, j) of nodes. The elements
of A are referred to as arcs, and for each arc (z, j) the node z is termed the
origin, and node j is termed the destination. A graph is bipartite if the set
of nodes J\f can be partitioned into two subsets with all arcs in A leading
from nodes of one subset to those of the other. The first subset is composed
of the origin nodes, and the second subset contains the destination nodes.
With every directed network (A7, A) we associate a node-arc incidence
matrix as follows: we create a matrix with number of rows equal to the
number of nodes, and number of columns equal to the number of arcs.
Each column of the matrix has two nonzero entries. One entry is +1 and
the other is a negative real number denoted by —mij. For a given column,
corresponding to arc (z, j), the zth row has the +1 entry, and the jth row
Sect. 12.2 Problem Formulations 343

Downloaded from https://academic.oup.com/book/53915/chapter/422193798 by OUP site access user on 12 May 2024


+1 +1
-1 +1 -1
-1 -1 +1

Figure 12.1 An example of a simple node-arc incidence ma­


trix, and the associated network structure.

has the entry —rriij. Conversely, a network can be obtained from each
matrix that has two nonzero entries per column. The network is obtained
by associating each row of the matrix with a node, and by associating an
arc between two nodes when the corresponding rows have nonzero entries.
Each arc has its origin at the node corresponding to the row with the +1
entry, and its destination at the node corresponding to the row with the
other nonzero entry. When the entries are all equal to 1 the network
problem is called pure. A network that is not pure is called generalized.
All information related to the structure of a network is captured in the
node-arc incidence matrix. Figure 12.1 illustrates a simple network.
With every arc (z,J) we associate a variable x^ to denote the flow of
some commodity from node i to node j. When each arc has an upper
bound Uij on the flow on arc (z, j), then the network is capacitated. As in
Section 9.2.1 the notation = {j | (z,J) G A} denotes the set of nodes
having an arc with origin node z, and = {z | (z,j) G >1} denotes the set
of nodes with destination node j.

12.2 Problem Formulations


The following problem will serve as the general formulation for multicom­
modity network flow problems:

Minimize F(x) (12-1)


s.t. Ax = 6, (12.2)
Gx < U, (12-3)
0 < £ < zz, (12-4)

where:
344 Multicommodity Network Flow Problems Chap. 12

F : ]Rn —> IR is the objective function, assumed to be convex and at least


once continuously differentiable.
x C IRn is the vector of decision variables representing flows on the network.

Downloaded from https://academic.oup.com/book/53915/chapter/422193798 by OUP site access user on 12 May 2024


A is an m x n constraints matrix with network structure. It could be
the node-arc incidence matrix of a network flow problem, or it could
be a block-diagonal matrix where each block is a node-arc incidence
matrix. Such block-diagonal matrices appear in multicommodity net­
work flow (Section 12.2.2), stochastic network flow (Section 13.7), and
time-staged problems. We assume that A = diag (Ai, A2,..., Atf)>
and that each A&, k = 1,2,..., K is a node-arc incidence matrix.
G is the mc x n matrix of complicating (i.e., nonnetwork) constraints.
u e IRn is the vector of upper bounds on the variables.
b e IRm, U E IRmc are the right-hand side vectors of the constraints.

The constraints Ax — b express conservation of flow conditions. That


is, the total flow into a given node i minus the total flow out of the node
must be equal to the exogenous coefficient bi. The following standing as­
sumption is made throughout this section.
Assumption 12.2.1 The set of feasible solutions to problem (12.1)—(12.4)
is nonempty.
Specializations of problem (12.1)—(12.4) yield several well-known for­
mulations for network flow problems. Two such formulations, i.e., the
transportation problem and the multicommodity network flow problem,
are given next. The split-variable formulation of the deterministic equiv­
alent stochastic network problems (discussed in Section 13.7) can also be
cast in the form of (12.1)—(12.4) .

12.2.1 Transportation problems


Consider the special case of problem (12.1)-(12.4) without the complicating
constraints Gx < U and with only a single block K = 1 in the matrix A,
i.e., A = Ap Assume, further, that the network corresponding to this node­
arc incidence matrix is bipartite, with a subset {i | i = 1,2,..., mo} C Af
of origin nodes, and a subset {jf | j = 1,2,... , m£>} C Af of destination
nodes. Problem (12.1)—(12.4) becomes the classic transportation problem.
The cardinality of the set Af is m = mo 4- mo. The node-arc incidence
matrix of the transportation problem can be partitioned as

A=(d\ (12-5)

where S is the mo x n matrix


Sect. 12.2 Problem Formulations 345

(an ... a\mD | | I


5= I Q21 ‘' * a2mD I . I (12.6)

V I II ^mol • • • /

Downloaded from https://academic.oup.com/book/53915/chapter/422193798 by OUP site access user on 12 May 2024


with entries given by

aij = ( J.’ ifJe 6?+’ (12.7)


J ( 0, otherwise.

The remaining entries of S are all zero. D is the mp x n matrix

Mil 1021 I Mmol \


£>= | |...| (12.8)
\ 01mD I 02mD | | /3momD j

with entries ft? given by

= { 0,1' oth^wise. (12-9>

The remaining entries of D are all zero. Since the are either zero or
— 1 we have a pure network problem. The right-hand side vector b E IRm
can be partitioned similarly as

6=

where s E IRm° is termed the supply vector and d G IRm/? is the demand
vector. The decision variables vector x is a lexicographic ordering of the
flow variables x^ for all arcs in A. Problem (12.1), (12.2), and (12.4) can
now be rewritten in the form:

Minimize F(x) (12.10)


s.t. Sx — s, (12.11)
Dx = d, (12.12)
0 < x < u. (12.13)

This is the transportation problem. The objective function is usually sepa­


rable, that is, it can be expressed as the sum of functions of a single variable
in the form F(x) = where fij : IR —> IR for all (z, j) E A
are also convex and at least once continuously differentiable. The sepa­
rable transportation problem is expressed in a componentwise notation as
follows:
346 Multicommodity Network Flow Problems Chap. 12

Downloaded from https://academic.oup.com/book/53915/chapter/422193798 by OUP site access user on 12 May 2024


Figure 12.2 An example of a node-arc incidence matrix for
a simple transportation network and the associated bipartite
graph.

Minimize (12.14)
(iJ)eA

S.t. ^2 XH = Si, i = 1,2,..., mo, (12.15)


jes+
52 Xii ~ dj, j = 1,2,..., mp, (12.16)

0 < Xij — uij, for all (z, j) e A. (12.17)

Figure 12.2 illustrates the graph of a transportation problem, and its node­
arc incidence matrix.

12.2.2 Multicommodity network flow problems


In many applications of network models several distinct commodities share
the resources of a common network. The flow of each commodity on the
network is governed by its own conservation of flow equations, but the com­
modities also share some common resources. Typically, each arc is utilized
by multiple commodities that share its limited capacity. The interaction
among commodities must be modeled explicitly.
The multicommodity network flow problem can be cast in the form of
Sect. 12.2 Problem Formulations 347

problem (12.1)—(12.4). Assume that there are K > 1 distinct commodities,


and let
A = diag (Ai,A2,...,AK),
where A&, k = 1,2,..., K denotes the node-arc incidence matrix for the

Downloaded from https://academic.oup.com/book/53915/chapter/422193798 by OUP site access user on 12 May 2024


fcth commodity. All matrices are assumed to be of equal dimensions
m x n, and hence the matrix A is of dimension Km x Kn. The flow vec­
tor of the /cth commodity is denoted by xk G IRn, and the upper bound
on this vector is denoted by uk G lRn. The resource vector for the &th
commodity is denoted by bk G lRm. We also use boldface x G IRn/< to
denote the concatenated vector of the flow vectors of all commodities, i.e.,
x — ((x1)T,..., (jA)t)t. Let the components of U G IRn denote the total
capacities of the network arcs that are shared by the multiple commodi­
ties, and let Fk(xk) denote the cost function for the fcth commodity. The
multicommodity network flow problem is then written as follows:
K
Minimize Fk(xk) (12.18)
fc=i
s.t. Akxk = bk, k = l,2,...,K, (12.19)
0<xk<uk, k = l,2,...,K, (12.20)
0<Gx<U. (12.21)

The matrix G is of dimension n x Kn and it operates on the Kn-vector x.


Hence, it links the flow conservation constraints that are otherwise inde­
pendent for each commodity. G has the generalized upper bounding (GUB)
structure (7 = (Zn | • • • | /n), where In denotes the n x n identity matrix.
U G IRn denotes the upper bounds on the joint capacity constraints.
The Multicommodity Transportation Problem
The multicommodity network flow problem (12.18)-( 12.21) can be special­
ized further to the case wherein each matrix Ak is of the form given in
(12.5), corresponding to the node-arc incidence matrix of a transportation
problem. Each matrix is written as

= <12-22>

where each Sk and Dk for all k = 1,2,... ,K are of the form (12.6) and
(12.8), respectively. The resource vector bk is also partitioned as

where sk G IRmo and dk G JRmD are the respective supply and demand vec­
tors of the fcth commodity. If we define matrices S = diag (Si, S2,..., Sk),
348 Multicommodity Network Flow Problems Chap. 12

and D = diag (£b, D<2,..., D#), and vectors s = ((s1)7’,..., (sK)T)T,


d = ((d1)T, • • •, (c/k)t)t, and u — ((tz1)T, (u2)T,..., (uK)T)T, then we can
express the multicommodity transportation problem in matrix form as

F(a:)

Downloaded from https://academic.oup.com/book/53915/chapter/422193798 by OUP site access user on 12 May 2024


Minimize

s.t. Sx = s, (12.23)
Dx = d, (12.24)
0 < x < u, (12.25)
Gx < U. (12.26)

In order to express the problem componentwise some additional nota­


tion is needed. For each commodity k = 1,2,..., K, let
xk = (xkj) e IRn, (z, j) G A be the vector of flows,
uk = (ukj) G lRn, (i, j) G A be the vector of upper bounds on the flows,
= (sk) G IRm°, z = l,2,..., mo be the vector of supplies, and
dk = (dk) e JRmD, j = 1,2,..., mo be the vector of demands.
We also let U = (U^) G IRn, (i,j) G A be the vector of mutual arc
capacities. The objective function is usually separable and of the form

fc=i ‘) = E E
w = Ew k=i(i,j)eA

Thus the multicommodity transportation problem can be rewritten com­


ponentwise as follows:
K

Minimize ^2 12
k=1 (iJKA
fifaij) (12.27)

s.t. ^2 xij = si’ 1 = i,2,..., mo, k = 1,2,..., K, (12.28)

xtj = dj, j = l,2,...,mD, k = 1,2,..., K, (12.29)


ie6~
0<x^<u^-, for all (i, j) £ A, (12.30)
K
'^x^j<Uij, for all (i, j) & A. (12.31)
k=l

The constraints (12.28) represent conservation of flow at all origin nodes


and for all commodities. Similarly, the constraints (12.29) represent con­
servation of flow at the destination nodes. The constraints (12.31) impose
Sect. 12.3 Sample Applications 349

Conservation of flow
for commodity 1
Ai

Downloaded from https://academic.oup.com/book/53915/chapter/422193798 by OUP site access user on 12 May 2024


Conservation of flow
for commodity 2
A2

Conservation of flow
for commodity 3
As

Identity Identity Identity


matrix matrix matrix
Generalized In In In
Upper."
Bounding
(GUB)
constraints

Figure 12.3 Structure of the constraint matrix for multicom­


modity transportation problems.

an upper bound on the total flow on each arc, and they are the generalized
upper bounding (GUB) constraints. Figure 12.3 illustrates the structure
of the constraints matrix of the multicommodity network flow problem for
the constraints (12.28)—(12.29) and (12.31)

12.3 Sample Applications


We now discuss three applications of network flow models. The domain
of applications of network models is extensive, and this section is merely
illustrative. We consider three diverse problem areas: finance, air-traffic
scheduling, and transportation. The matrix balancing problem discussed
in Chapter 9 is also amenable to formulation as a nonlinear transportation
problem (see Section 9.2). Section 12.6 gives additional references that
point readers to the vast literature on network applications.

12.3.1 Example one: Covering positions in stock options


Regulations for stock option investments require that a margin be provided
before a position in a stock option is taken. This margin is a form of
insurance. The total margin requirements can be difficult to calculate when
an investor takes a complex position in stocks and options. In particular,
different options on the same security may be paired together in order
to reduce the margin requirements, since some options act as insurance
(hedge) against each other.
350 Multicommodity Network Flow Problems Chap. 12

The calculation of minimum margin can be formulated as a transporta­


tion problem. Assume that there are Zj long stocks of the Jth stock, and
Yi short stocks of the zth stock. (A position in stocks is long if there is an
agreement to buy stocks at some future point in time at a predetermined

Downloaded from https://academic.oup.com/book/53915/chapter/422193798 by OUP site access user on 12 May 2024


price, while a position is short if there is an agreement to sell stocks at
some future time at a predetermined price.) Let mij denote the margin
required for a position involving one share or option of security i paired
with one option or share of security j. The minimum margin can be de­
termined by deciding which securities should be paired together. Denote
by the number of contracts paired between securities i and j. The
following transportation model determines the minimum margin:

Minimize
i 3

s.t. y?—^3 ’ for all j,


i

y^ ~ for all z,
3
Xij > 0, for all i and j

12.3.2 Example two: Air-traffic control


The allocation of aircraft to high-altitude jet routes is an important as­
pect of the air-traffic control system. Aircraft are assigned jet routes in
a sequence that allows them to reach their destination in the shortest pe­
riod of time. However, delays may be necessary to avoid congestion on the
preferred routes, especially during peak travel hours.
Airports and control towers form the nodes of the air-traffic control
network. The flight paths, between these control points, are the arcs of
the network. Conservation of flow constraints dictate that t’e required
number of flights is allowed to depart from each origin airport, and that the
scheduled number of flights is allowed to land at each destination airport.
In addition, all aircraft that move into the jurisdiction of a control tower
are eventually passed on to the jurisdiction of some other tower or to their
destination airport.
The congestion of a jet route is a complicated nonlinear function of
variables that depend on all aircraft flying on the route. Upper bounds are
imposed on the total number of flights to maintain acceptable safety lim­
its. The network optimization model has dual, and conflicting, objectives:
allocate aircraft to the most cost-effective routes, and allocate aircraft to
different routes so that congestion is reduced.
For military applications the air-traffic control problem usually encom­
passes both the problem of routing the aircraft as well as the problem of
scheduling cargo on the aircraft. Cargo of different types (e.g., personnel,
Sect. 12.3 Sample Applications 351

vehicles, supplies) is loaded on planes and then routed to their required


destination. The network model becomes a multicommodity flow problem,
since the different types of cargo share the limited capacity of each aircraft.

Downloaded from https://academic.oup.com/book/53915/chapter/422193798 by OUP site access user on 12 May 2024


12.3.3 Example three: Routing of traffic
In many applications of multicommodity flow models, commodities are
distinguished by their different origins and destinations. While the same
entity flows on each arc of the network, each unit of flow is characterized
by its origin/destination pair. Hence, flow cannot be simply aggregated at
each node in order to satisfy conservation of flow, but instead, conservation
has to be satisfied by all flows with the same origin/destination pair. This
situation arises in routing applications when different nodes on a network
are sending information or products to each other.
In communication networks (such as telephone or computer networks)
messages are transmitted between different origins and destinations sharing
the same arcs. In these applications arcs are the communication links, e.g.,
wires. Origin and destination nodes represent different calling stations,
storage devices, computer terminals, and the like. Node conservation con­
ditions at each node of the network ensure that no messages are lost and
that all messages are routed to their destination. The capacities of the
transmission lines define the joint capacity constraints of the multicom­
modity flow problem. The capacity of a transmission line could be finite.
For example, if a communication link is established using a switching de­
vice, then there is a limit on the total number of messages that can be
routed through the switch per unit time interval. In other applications the
capacity is virtually unlimited, but very long delays can occur when the
communication link is congested. Delays are modeled using nonseparable
functions. The delay (therefore, cost) experienced by the feth commodity,
if it were the only commodity using the network, is given by a separable
nonlinear function. If xk denotes the units of the Zcth commodity using the
transmission link, then the delay is the function of a single variable fk(xk).
The delay due to the presence of K distinct commodities is a function of
the total flow on the transmission link, and it takes the nonseparable form
-F(]>2fcLi xk)' If the cost function is ignored the problem is decomposable
by commodity, since the flow vector for each commodity satisfies differ­
ent constraints. A different problem could be solved for each commodity.
However, the cost function for a given commodity depends on the value of
the flow vector of the remaining commodities, and the problems for each
commodity are linked through the objective function. Such applications
are usually called traffic assignment problems.
Another routing application arises in railroad transportation, when
goods are transported through a network of tracks, yards, and junction
points. Cars are loaded at each yard, and they can carry goods that have
different destinations. These goods share the total capacity of the railroad
352 Multicommodity Network Flow Problems Chap. 12

system, determined by the number of cars that can be loaded onto a train.
Conservation of flow at yards and junctions ensures that all goods are de­
livered to their destinations. The capacity of the train defines the joint
capacity of the multicommodity flow problem.

Downloaded from https://academic.oup.com/book/53915/chapter/422193798 by OUP site access user on 12 May 2024


Similar situations arise in the distribution of products from plants to
retail stores using a fleet of trucks. Warehouses are used for temporary
storage of the products to balance seasonal variations in demand. Multi­
ple products may share the same storage space and distribution vehicles.
Nodes of the underlying network model represent plants, warehouses, and
retail stores; arcs represent transportation links such as truck routes. Con­
servation of flow at the nodes ensures that products reach the retail stores
without any losses at the storage sites. The capacity of the warehouses
defines the joint capacity constraints.

12.4 Iterative Algorithms for Multicommodity Network


Flow Problems
In this section we develop algorithms for the multicommodity transporta­
tion problem. They are derived from the general row-action Algorithm 6.4.1
but they are formulated specifically to accommodate the unique structure
of this problem. An algorithm for the single commodity quadratic trans­
portation problem is developed first, and is then extended to solve gener­
alized network problems with entropic objective functions. This algorithm
can of course be simplified to solve pure networks with entropic objectives
simply by setting all arc multipliers equal to 1. Finally the algorithms are
extended to solve multicommodity network flow problems. We point out
that problems with linear objective functions can be solved by embedding
the algorithms of this section within the PMD framework (see Chapter 3,
Section 15.6).
12.4.1 Row-action algorithm for quadratic transportation problems
Consider problem (12.14)-(12.17) with the quadratic objective function:

F(;r) = ZL Q^ij + ^v) > (12.32)


(m)G-4 '

where {w^} and {c^} are given positive real numbers.


The row-action iterative Algorithm 6.4.1 is applied to this problem,
iterating on the constraints matrix one row at a time. We derive first
the iterative step of the algorithm when the chosen row corresponds to the
flow conservation constraints at the origin nodes, i.e., equation (12.15). The
projection y', of the current iterate y, onto the £th hyperplane ==
{x | 52^+ Xij = s?} is the solution of the system

VF(y') = VF(J/) + /3i?, (12.33)


Sect. 12.4 Iterative Algorithms for Multicommodity Network Flow Problems 353

y' e W,^), (12.34)

where (3i is the parameter associated with the generalized projection. (Re­
call that sl denotes the transpose of the zth column of the matrix S in (12.6),

Downloaded from https://academic.oup.com/book/53915/chapter/422193798 by OUP site access user on 12 May 2024


while Si denotes the zth component of the supply vector.) If y 6 H(s\si),
then fli = 0 and y' = y. Solving the system given above means that if the
current iterate y does not satisfy flow conservation, i.e., y £ we
compute a yr that is related to y via (12.33) and that satisfies flow con­
servation. Evaluating (12.33) when F is the quadratic objective function
(12.32), and using the structure of the zth row of the constraints matrix sl
that corresponds to conservation of flow constraints at the origin node z,
we get

(12.35)
WO

Equation (12.34) means that the vector y' — (y^) must satisfy the flow con­
servation constraint (12.15) of the zth origin node. Substituting therefore
the expressions for y^ from (12.35) into the flow conservation constraint
(12.15) we obtain
52 + -Si- (12.36)
,-CA+
Hence,
53
(12.37)
53
Using this value of /3i in (12.35) yields the formula for the projected flow
vector yf on arcs incident to node z. The dual variable for the zth origin
*)
node (denoted by zrf is updated by subtracting $ from its current value,
7rP <— 7rP — )3i (refer to the iterative step of Algorithm 6.4.1). Similar
algebraic manipulations lead to the updating formula for flows incident to
the destination nodes.
Now we develop the projections onto the positive orthant IR™ and on
the upper bounds (12.17). Denote by the current value of the flow
variable on arc (z,j). If < 0 then the iterative step takes the form

VF(y’) = \7F(y) + (3et, (12.38)


y e H(et,0), (12.39)

where e* is the standard basis vector having 1 in the tth coordinate and
zeros elsewhere. Here t corresponds to the lexicographic index of arc
354 Multicommodity Network Flow Problems Chap. 12

Evaluating the first expression, for the quadratic objective function, and
substituting it into the second expression we get

0 = yo + —, (12.40)

Downloaded from https://academic.oup.com/book/53915/chapter/422193798 by OUP site access user on 12 May 2024


Wij
and the parameter associated with the generalized projection is

/3^-Wijytj. (12.41)

Similarly, if y^ > we compute the generalized projection parameter

/3 = (uij ~ (12.42)

and the primal and dual updating steps (see (6.61)) take the form

A = mid (r0, -Wijyij, (uij - y^Wij ),


, A
,

't'ij * 't'ij A,

where are the components of the current iterate of the dual variables
associated with the constraints (12.17). It is easy to verify that y^ < 0
implies that yC = 0, and that y^ > Ujj implies y^ = Uij.
The complete algorithm is summarized below. Relaxation parameters
are allowed. To guarantee the asymptotic convergence of the algorithm all
relaxation parameters A must be confined to an interval 0<e<A<2 — c,
for some arbitrary fixed positive 6.

Algorithm 12.4.1 Row-Action Algorithm for Quadratic Transportation


Problems

Step 0: (Initialization.) Set v — 0. Take an arbitrary flow vector x°,


and initial dual prices vectors for origin nodes (tt0)0 = ((zr^)0), for
destination nodes (ttd)° = ((ttJ7)0), and for the simple upper bounds
r° = (rfj) that satisfy the initialization step of Algorithm 6.4.1 for the
current problem with the quadratic objective function (12.32). The
matrix $ in (6.60) represents the constraints (12.15)—(12.17). That is,
for all (z, j) e A,

x°ij = ~~~ + (7If)° + (’’’f)° + rij) • (12.43)


Wij
Step 1: (Iterative step for origin nodes.) For i — 1,2,..., mo, pick relax­
ation parameters A^, calculate scaling parameters pjf, and update the
primal and dual vectors as follows:
Sect. 12.4 Iterative Algorithms for Multicommodity Network Flow Problems 355

(12.44)

Downloaded from https://academic.oup.com/book/53915/chapter/422193798 by OUP site access user on 12 May 2024


<- 4. + forallje^, (12.45)
(^O\v+1 _ (_.O\v u
(^ )i = (7T )i - pi . (12.46)

Step 2: (Iterative step for destination nodes.) For j = 1,2,... , mo, pick
relaxation parameters Ay, calculate scaling parameters <7j, and update
the primal and dual vectors as follows:

= Z i€6~
(12.47)

(rf
xii xii H~> f°r > (12.48)
U V Wij J
t—Dxv+l _ (—Dxv
(7T - (7T )j - (Xj . (12.49)

Step 3: (Iterative step for bounds on flows.) For all (z,j) G A, pick a
relaxation parameter Ay, and calculate:

Aij = mid (ry, AyWy(uy - Xy), -AyWyXy), (12.50)

rij'1 = — Aij. (12.52)

Step 4: Let v v 4-1 and return to Step 1.


Decompositions for Parallel Computing
The algorithm decomposes naturally for parallel computations. The execu­
tion of Step 1 can proceed concurrently for all origin nodes i = 1, 2,..., mo-
The calculation of the parameter p" involves only the current flow on arcs
incident to node z, and since no two origin nodes have arcs in common it is
possible to compute the parameters p?p, for all values of z, independent of
each other. The algorithm could utilize up to mo processors in calculat­
ing these parameters for all indices z simultaneously. Additional processors
can be utilized to compute the sum of the flows on all arcs incident to each
node. Similarly, the flow variables can be updated concurrently for all arcs
with destination nodes j 6 <5^, for all indices z, using up to n processors.
The dual prices can also be updated concurrently for all i using mo pro­
cessors. Step 2 of the algorithm parallelizes in a way similar to Step 1.
Step 3 can be executed concurrently for all arcs. The calculation of the
parameters and the updating of x^1 and need only the current
356 Multicommodity Network Flow Problems Chap. 12

values of xand respectively, for the given arc. Hence the flows and the
dual variables for all arcs can be updated concurrently using up to n pro­
cessors. Chapter 14 gives data-structures for the parallel implementation
of the algorithm.

Downloaded from https://academic.oup.com/book/53915/chapter/422193798 by OUP site access user on 12 May 2024


12.4.2 Extensions to generalized networks
The algorithm for pure quadratic transportation problems developed above,
uses simple linear expressions for computing the scaling parameters and up­
dating the primal variable. The general row-action Algorithm 6.4.1 requires
the solution of a nonlinear system of equations in order to find the gener­
alized projection parameter at the iterative step (6.61) (refer, for example,
to the solution of (12.33)-(12.34)). For a quadratic objective function the
system becomes linear and it is possible to obtain a closed-form solution
for the parameter, denoted by /?, as in the previous section. Closed-form
solutions can also be obtained with other nonlinear functions (whose gradi­
ents are also nonlinear) when the constraints are those of a pure network,
because the constraint coefficients of such a network are either 0 or 1.
For generalized network problems, however, it is not always possible to
solve analytically for the generalized projection parameter and each step of
the algorithm would require an iterative procedure to solve the nonlinear
system of equations. If the objective function F is twice continuously dif­
ferentiable these equations are smooth and Newton’s method can be used.
In some cases it is possible to obtain in closed-form, an approximate
solution to the nonlinear system of equations and still preserve the over­
all asymptotic convergence of the row-action algorithm (see Section 6.9).
Obtaining such closed-form solutions has important implications for the
efficient implementation of an algorithm. First, the computationally ex­
pensive part of invoking a nonlinear equation solver is avoided. This may
result in a slight increase in the total number of iterations of the row-action
algorithm before a target accuracy of the solution can be achieved, how­
ever numerical experiences indicate that the increased number of iterations
does not adversely affect the total solution time since each iteration is exe­
cuted very efficiently. Second, it is possible to implement the algorithm on
massively parallel machines, even if they are SIMD computers, since the an­
alytic expression for the generalized projection parameter can b- evaluated
simultaneously for multiple rows of the constraint set (see also v napter 13,
p. 393). We illustrate here the derivation of the row-action algorithm for
generalized networks, using a closed-form approximate calculation for the
generalized projection parameter.
Consider the generalized transportation problem, with the entropy ob­
jective function
Sect. 12.4 Iterative Algorithms for Multicommodity Network Flow Problems 357

Minimize F(a:) = 52 xo (log( ill) -1)


\ aij / /
(12.53)

Downloaded from https://academic.oup.com/book/53915/chapter/422193798 by OUP site access user on 12 May 2024


s.t. X'ij < s^ i = 1,2,... ,mo, (12.54)

~ dj"> 3 = 1,2,..., mp, (12.55)


ieSj
0< < Uij, for all (z, j) € A, (12.56)

where {a^} are given positive real numbers. This problem is written in
matrix form as

Minimize F(x) (12.57)


s.t. Sx < s, (12.58)
Dx = d, (12.59)
(12.60)

S is as defined in (12.6). D is structurally identical to the matrix defined


in (12.8), but with entries given by

a ( mij, if i E 6~ .
“to, otherwise. (12'61^

/S\
Let $ = I D I where I is the n x n identity matrix. Let also
\I /
—oo \ /s\

0 / (
d J and 6 = I d I
\u/
Problem (12.57)-(12.60) can be written in the form

Minimize F(x)
s.t. 7 < <bx < 6, (12.62)

Denote by z E IRm° +mD+n the vector of dual variables

z=((tto)t, ^Dy,(ry)T

and apply the general row-action Algorithm 6.4.1 to this formulation. The
iterative step (6.61), applied to the Zth row 1 < I < mo of the constraints
matrix takes the form
358 Multicommodity Network Flow Problems Chap. 12

Vt = ytexp((3<f>lt), t=l,2,...,n, (12 63)


z <— z - /3el. v • /

For I = 1,2,..., mo we deal with rows of (12.58), and the generalized pro­

Downloaded from https://academic.oup.com/book/53915/chapter/422193798 by OUP site access user on 12 May 2024


jection parameter (3 is obtained from the iterative step of Algorithm 6.4.1
as
/3 = min (tfJ9, A), (12.64)
where A is obtained by solving the system

y't = ytexp(A^), t = l,2,...,n, (12.65)


(y',<t>1) = Sl. (12.66)

Substituting yf from the first equation into the second, and using the facts
that (f)1 is the Zth column of ST when I = i = 1,2,..., mo with values
aij e {0,1} as defined in (12.7), and that (yt) is the lexicographically
ordered vector (i/y), for j e <$+, we get exp A = Si/52je<5+ 2/0'• This value
of A goes into (12.64) to get /?, which is then used in (12.63) to complete
the iterative step.
For I = mo + 1, mo + 2, mo + 3,..., mo + mo we deal with rows
of (12.59), and the generalized projection parameter is obtained from the
iterative step of Algorithm 6.4.1 by solving the system

y't = Vt exp (/?$), i=l,2,...,n, (12.67)


(y',^l) = di. (12.68)

Substituting yf from the first equation into the second and using the facts
that (j)1 is the i = (/ — mo )th column of Dl with values faj as given
in (12.61), and that (yt) is the lexicographically ordered vector (yij) for
iE , we get the following nonlinear equation in (3

rriijXij exp (/Jm^-) = dj. (12.69)


iG<5~

Denote now cu = exp (3 and rewrite (12.69) as a nonlinear equation in lj

^(lj) = mijXijjj™'^ — dj = 0. (12.70)

Solving this equation for lj requires an iterative procedure (e.g., Newton’s


algorithm). However, it is possible to simplify the algorithm by computing
a MART-like step (see Section 6.9), which eliminates the need to solve this
equation exactly. An approximate solution of (12.70) can be obtained in
Sect. 12.4 Iterative Algorithms for Multicommodity Network Flow Problems 359

Downloaded from https://academic.oup.com/book/53915/chapter/422193798 by OUP site access user on 12 May 2024


Figure 12.4 Approximate solution for the projection pa­
rameter of the entropy optimization algorithm for generalized
networks.

closed-form, by taking one secant step. Consider the line through (0, —dj)
and (1,^(1)), as illustrated in Figure 12.4. At the z>th iteration this line
intersects the cj-axis at
dj
(12.71)
E
We use this value of as an approximation to the exact solution of (12.70)
for the z>th iteration. This approximation preserves asymptotic convergence
of the algorithm (see Section 12.6). The value ubp is used to set — loguE
and, in turn, to complete the iterative step in (12.63).
In order to avoid the exponential terms the algorithm works with the
exponents of the dual prices, which are denoted by and and
makes use of the equality log(min(exp a, exp /3)) = min(a,/?). The algo­
rithm also permits a user-chosen relaxation parameter A, and to preserve
asymptotic convergence it is required that 0 < e < A < 1. Before stating
the algorithm we explain how the formula in the initialization step is de­
rived. According to (6.60), using the entropy function (12.53), the matrix
of (12.62) with the appropriate S and D, and the dual vector z, we write

/0r°n\
log - (sT | dt | z)
\ r° )J
360 Multicommodity Network Flow Problems Chap. 12

With as in (12.7) and as in (12.61) we obtain, after exponentiation,

o _ aij((7rD)°)^
Xi3 ’

Downloaded from https://academic.oup.com/book/53915/chapter/422193798 by OUP site access user on 12 May 2024


The entropy optimization algorithm for generalized transportation prob­
lems is stated as follows.

Algorithm 12.4.2 Row-action Algorithm for Entropy Optimization


Generalized Transportation Problems

Step 0: (Initialization.) Set v = 0. Get x° > 0, (7f°)°, (7P)0, and r°


that satisfy the initialization step of Algorithm 6.4.1 for the present
problem with the entropy function (12.53), that is,

.0
(12.72)

Step 1: (Iterative step for origin nodes.) For i = 1,2,..., mo, pick relax­
ation parameters AJ, and calculate:

Si
(12.73)

= min , (12.74)
, for a11 3 € 6+ (12.75)
:ov+i _ ^°Yi
(12.76)

Step 2: (Iterative step for destination nodes.) For j = 1,2,... pick


relaxation parameters AJ, and calculate:

av. = ___ i____


(12.77)
3 Z
V667 /
<— x^(<Tj )mij , for all i € ■ (12.78)

(12.79)
Sect. 12.4 Iterative Algorithms for Multicommodity Network Flow Problems 361

Step 3: (Iterative step for bounds on flows.) For all (z, j) E ^4, pick relax­
ation parameters A^-, and calculate:

\ kij

( •• \

Downloaded from https://academic.oup.com/book/53915/chapter/422193798 by OUP site access user on 12 May 2024


X (12.80)
J
(12.81)
S’- (12.82)

Step 4: Replace v <— v 4-1 and return to Step 1.

Note that in Step 3 it is not necessary to perform a projection on the


nonnegative orthant since xQ > 0 and the multiplicative adjustment of x
in Steps 1 and 2 preserve the positivity of the primal variables.
An algorithm for pure entropy optimization problems can be derived
from Algorithm 12.4.2, simply by setting the multiplier equal to one, in
equations (12.72), (12.77), and (12.78). When dealing with pure networks
we can also require that the inequality constraint (12.58) be an equality.
The resulting algorithm is, with the exception of Step 3 for the variable
bounds, identical to the RAS algorithm (Algorithm 9.3.2) for matrix bal­
ancing.

Decompositions for Parallel Computing


The calculations involved in this algorithm are identical in structure to the
calculations of Algorithm 12.4.1, and the ideas described above for paral­
lelizing the algorithm for the pure network problems apply to generalized
network problems as well. Chapter 14 gives data-structures for the parallel
implementation of the algorithm.

12.4.3 Row-action algorithm for quadratic multicommodity


transportation problems
We turn now to the multicommodity transportation problem (12.27)—(12.31),
with the quadratic objective function

K /i \
w = E £ (2^(4)2+ct4)’
*=1 (iJ)EA V 7
(12-83)
where {w^} and {c^} are given positive real numbers. We apply the row­
action Algorithm 6.4.1 to this problem. For any fixed commodity index
fc the constraints (12.28)-(12.30) are identical to the constraints of the
transportation problem (12.15)-(12.17). Hence, for these constraints the
iterative steps of the algorithm are identical to the steps derived earlier
362 Multicommodity Network Flow Problems Chap. 12

for the quadratic transportation problem, and they are repeated for each
commodity k.
To formulate the algorithm for the specific multicommodity problem
we need to derive the iterative step for rows corresponding to the GUB

Downloaded from https://academic.oup.com/book/53915/chapter/422193798 by OUP site access user on 12 May 2024


constraints (12.31). We introduce the vector e lRn to denote dual prices
for the GUB constraints. The Zth component of this vector is the dual price
of the GUB constraint of arc (z, j), where the mapping of pairs (z,j) onto a
single index I is done lexicographically according to I = (i — l)m + j. This
component is denoted by ipij. Assume that the current and next iterates are
y = (Vij) and y' = (yij)' respectively, for (z, j) eA, k = 1,2,..., K. If y is
such that 52^! yjj < 0 then the point y is projected onto the hyperplane
= {x | Ylk=ixij = 0} where I denotes the lexicographic index of
the GUB constraint (12.31) corresponding to the (z,J)th arc and gl is the
Zth row of matrix G = (In | In | • • • | In) (see (12.21)). The iterative step
of the algorithm takes the form

VF(z/) = VF(z/) + Tez, (12.84)


i/W,0). (12.85)

Evaluating (12.84) when F is the quadratic objective function (12.83), and


using T to denote the projection parameter when projecting on the lower
bounds, we obtain the primal updating step as: (y^)' = y^ 4- r/w^-.
K
Since y' must be such that y^(z/^)z = 0 we obtain
fc=i

1 K

(12-86)

fc=l

Similarly, if y is such that y - > Uij, then y is projected onto


the hyperplane denoted by H(gl,Utj) = {a? | Y,k=ixij = where I
and gl are the same as above. The primal updating step is, therefore,
(VijY ~ Uij + A/’w-j, where A denotes the projection parameter. Since y1
must satisfy the constraint Ylk=\ xij = Uij we obtain

1 / * \

A = -r--------- uv -
E l/wk \
E • /
(12-87)
fc=i

The projection parametern /?, which is used when projecting onto the
interval GUB constraints, is now calculated by
Sect. 12.4 Iterative Algorithms for Multicommodity Network Flow Problems 363

/3 = mid A),

where is the dual price for the GUB constraint corresponding to the
(z, j)th arc. The iterative step for an interval of the GUB constraints takes

Downloaded from https://academic.oup.com/book/53915/chapter/422193798 by OUP site access user on 12 May 2024


the form:

(12.88)
ij
Ipij * tyij 0' (12.89)

The complete algorithm is summarized below. The dual prices of origin


and destination nodes are denoted by 7ro,fc and itD'k respectively, for each
commodity k. The reduced cost for the bound on the flow of the &th
commodity on arc (z,j) is denoted by rk-.

Algorithm 12.4.3 Row-action Algorithm for Quadratic Multicommodity


Transportation Problems

Step 0: (Initialization.) v = 0. Set the initial dual prices (7rO’fe)° — 0,


(7rp,fc)0 = 0, (r^)0 = 0, for k = 1, 2,..., Jf, and — 0, and get an ini­
tial primal vector that satisfies the initialization step of Algorithm 6.4.1
for the present problem with the quadratic function (12.83), i.e.,
Ck-

wk1- k = l,2,...,K, (12.90)

Step 1: (Solve the single commodity problems.) For k = 1, 2,..., K :


Step 1.1: (Iterative step for origin nodes.) For i = 1,2,... ,mo, cal­
culate:

(12.91)

(4)" - (4)" + for all j G 4, (12.92)


Wij
.O,k\v+1 __ ( O,k\v __ ft
(12.93)

Step 1.2: (Iterative step for destination nodes.) For j = 1,2,..., mp,
calculate:

(12.94)
S i/»‘

(4)" «-(4r + 4- for ail zg 4,


(12.95)
Wij
364 Multicommodity Network Flow Problems Chap. 12

(12.96)

Step 1.3: (Iterative step for bounds on flows.) For all (z, j) e A
calculate:

Downloaded from https://academic.oup.com/book/53915/chapter/422193798 by OUP site access user on 12 May 2024


A. = mid Hr, (4,r). <12-97)

(4)' - H)" + (12.98)


O’
(rtr+1 = (12.99)

Step 2: (Iterative step for generalized upper bound GUB constraints.)


For all (z,j) 6 A, calculate:

1 K
r, = (12.100)
E iMfc=1
k=l

Ap = -jA—(12-101)
E fc=1
fc=l
& = mid (C^T^AJ, (12.102)
(4j+I = (x^y + 4-1 k = 1> 2, • • •, (12.103)
Wij

<+1 = (12.104)

Step 3: Let v <— v 4-1 and return to Step 1.

Decompositions for Parallel Computing


The calculations in Steps 1.1 - 1.3 of the algorithm are structurally iden­
tical to the calculations of Algorithms 12.4.1 and 12.4.2 for transportation
problems. Hence, the ideas discussed in Section 12.4.1 for parallel com­
putation are applicable to the multicommodity network flow problem as
well. Furthermore, the iteration in Step 1 over the commodity index fc can
proceed concurrently for multiple commodities. Hence, Step 1.1 can be
executed concurrently for all origin nodes and for all commodities utiliz­
ing Kmo processors in calculating the projection parameters and updating
dual variables, and utilizing Kn processors for the flow updates. Step 1.2
parallelizes in a similar fashion. Step 1.3 can be executed concurrently for
all arcs and for all commodities, utilizing Kn processors.
Step 2 can be executed concurrently for all arcs. For each arc the
algorithm computes the total flow of all commodities, and computes the
Sect. 12.5 A Model Decomposition Algorithm 365

parameters T,A, and (3 utilizing n processors. The flows can be subse­


quently updated concurrently for all arcs and all commodities, using Kn
processors. The reduced cost vector can be updated concurrently for all
arcs, again utilizing n processors.

Downloaded from https://academic.oup.com/book/53915/chapter/422193798 by OUP site access user on 12 May 2024


12.5 A Model Decomposition Algorithm for
Multicommodity Network Flow Problems
We develop now a model decomposition algorithm for the multicom mod­
ity network flow problem, which is based on the linear-quadratic penalty
(LQP) function (see Chapter 7). It decomposes the model described in
(12.18)—(12.21) by removing the inequalities Gx < U from the feasible set
and appending them to the objective via a penalty function (see Chapter 4).
To describe the algorithm we distinguish between the set of solutions
that satisfy only the flow conservation constraints,

X = {x | Ax — b, 0 < x < u}.

and the set of solutions that satisfy the complicating constraints,

Q = {x | Gx < U}.

The constraint set X, for problem (12.18)-(12.21) is a Cartesian product.


Using the notation introduced in Section 12.2.2 we write X = flfeLi
where Xk = {xk | AkXk = bk, 0 < xk < uk}.

12.5.1 The linear-quadratic penalty (LQP) algorithm


The complicating GUB constraints Gx < U are removed from the con­
straint set, and a penalty function is added to the objective to penalize vi­
olations of these constraints. The penalty function is of the linear-quadratic
form
0, if t < 0,
t2
= if o < t < e, (12.105)
k (*
- x), if t > e,
where e > 0 is a user-specified parameter. In lieu of solving (12.18)—(12.21)
consider instead the following smoothed penalty version
K n
Minimize (12.106)
fc=l
S.t. X e X. (12.107)

where ti = (Gx - U)i for I = 1,2,..., n, and > 0 is a penalty parame­


ter. The LQP algorithm solves a sequence of problems of this form, using
366 Multicommodity Network Flow Problems Chap. 12

increasing values of the penalty parameter p and decreasing values of the


approximation error e (see Section 7.2). Convergence of the algorithm fol­
lows from Theorem 4.1.1, since condition (ii) is satisfied. The algorithm is
summarized as follows.

Downloaded from https://academic.oup.com/book/53915/chapter/422193798 by OUP site access user on 12 May 2024


Algorithm 12.5.1 The LQP Algorithm for Multicommodity Network
Flow Problems

Step 0: (Initialization.) Set v = 0. Choose parameters p$ > 0, co > 0.


Step 1: Using the violations ti = (Gx — U)i for all I = 1,2, ...,n, for
evaluating the penalty function, solve the problem:
K n
Minimize 5^ Fk(xk) + p„ ^2
fc=l 1=1
(fy) (12.108)

s.t. X e X. (12.109)

*
y
Let (x denote the optimal solution.
Step 2: If (®
*) p satisfies some termination criteria then stop. Otherwise
update the parameters py and set v <— i/ + l, and go back to Step 1.
(Details on this general algorithm, such as procedures for updating the
penalty parameters, are given in Section 7.2.)
A starting point for initializing any iterative algorithm for solving the
minimization problem in Step 1 can be obtained by solving the following
network problems for all k = 1,2,..., K,

Minimize Fk(xk) (12.110)

s.t. Akxk = bk, (12.111)


0<xk<uk. (12.112)

If (z^
),
* k = 1,2,...,K denote the optimal solutions, then the concate­
nated x® = ((a;1*) T,..., (rrK*) T)T is a suitable starting point. Of course, if
this point satisfies the complicating GUB constraints, i.e., x° e Q, then the
original problem has been solved and there is no need to proceed further
with the LQP algorithm.
Most of the computational effort of the algorithm is invested in solv­
ing the smoothed penalty problem in Step 1. The objective function is
continuously differentiable, and the feasible set is the Cartesian product
set X = Ha;=i ^k- Each set Xk corresponds to network flow constraints.
The smoothed penalty problem can be solved using specialized implemen­
tations of nonlinear programming algorithms for network problems, such
as the truncated Newton method. However, the penalty function </>€u(t/) is
not block-separable in the xk (recall that ti = (Gx — U)i). The fact that
Sect. 12.6 Notes and References 367

X is a Cartesian product motivates the use of an algorithm for executing


Step 1 based on a linearization of the penalty function. In this way the
objective function becomes block-separable in the £fc’s, and the nonlinear
program (12.108)-(12.109) decomposes into K independent linear network

Downloaded from https://academic.oup.com/book/53915/chapter/422193798 by OUP site access user on 12 May 2024


problems. The simplicial decomposition algorithm (Algorithm 7.1.3) can
be used to linearize the smoothed penalty function, and hence decompose
the problem by commodity.

Decompositions for Parallel Computing


The use of a linearization algorithm (such as simplicial decomposition) to
execute Step 1 of the LQP algorithm results in a decomposition into K
linear network subproblems, which can be solved in parallel. Simplicial
decomposition, however, has a coordinating master program that uses the
solutions of the linear subproblems to obtain an estimate of the minimum
of the nonlinear penalty function. As discussed earlier (Sections 7.1 and
7.2), this master program is also amenable to parallel computations, and
takes only a small fraction of the execution time of simplicial decompo­
sition. Finally, updating the penalty parameters in Step 2 of the LQP
algorithm involves simple scalar calculations and is computationally in­
significant. The combination of the LQP algorithm with simplicial decom­
position for solving multicommodity network flow problems is a procedure
that parallelizes very well, either when the number of blocks K is large, or
when each block is large. Numerical experiences with this algorithm are
reported in Section 15.4.

12.6 Notes and References


The seminal papers on network flows are due to Kantorovich (1939, 1942),
Hitchcock (1941), and Koopmans (1949) wherein the linear transportation
problem was first formulated for production scheduling and transportation
applications. Dantzig (1951) developed specializations of the simplex algo­
rithm for the transportation problem. See also Dantzig (1963, Chapter 14).
Ford and Fulkerson (1962) developed primal-dual algorithms that exploit
combinatorial properties of the problem. Their book fostered the rapid
growth of the study of network problems. More recent books that treat
theory and algorithms in network optimization are Christofides (1975),
Kennington and Helgason (1980), Jensen and Barnes (1980), Tarjan (1983),
Rockafellar (1984), Bertsekas (1991), Murty (1992), and Ahuja, Magnanti,
and Orlin (1993). The last two books also treat applications extensively.
The visual representations of the graphs of network problems is an effec­
tive way to communicate mathematical programs to users. Glover, Kling-
man, and Phillips (1990) develop network-related formulations, which they
call netforms. A textbook by the same authors (1992) describes exclusively
model formulations and applications. Sheffi (1985) examines network flow
368 Multicommodity Network Flow Problems Chap. 12

problems in transportation and discusses models and algorithms for their


solution.
For a survey of the state-of-the-art in network optimization see Ahuja,
Magnanti, and Orlin (1989), and for a survey of research in parallel com­

Downloaded from https://academic.oup.com/book/53915/chapter/422193798 by OUP site access user on 12 May 2024


puting for network optimization see Bertsekas et al. (1995). Survey articles
for the multicommodity network flow problem are found in Assad (1978)
and Kennington (1978). A survey of algorithms and models for network op­
timization problems with nonlinear objective functions is given in Dembo,
Mulvey and Zenios (1989). Pinar and Zenios (1993) survey and compare
parallel algorithms for multicommodity flow problems.
The first parallel algorithm for a network optimization problem was
developed by Bertsekas (1979), and was further refined and tested by Bert­
sekas (1985, 1988), Phillips and Zenios (1989), Wein and Zenios (1991),
Kempka, Kennington, and Zaki (1991), and Zaki (1995). It is known as
the auction algorithm—due to its dual price adjustment mechanism, which
is similar to that of an auction—and is applicable to assignment problems.
The first implementation of an optimization algorithm on a massively
parallel computer was that of the relaxation algorithm for strictly convex
network problems by Zenios and Lasken (1988a) on the Connection Ma­
chine CM-1. They developed the data-structures for representing network
problems on SIMD architectures. Further experiments using the Connec­
tion Machine CM-2 were reported in Zenios and Lasken (1988b).

12.1-12.2 The notation used in this chapter is fairly standard in the litera­
ture, and is based on notation introduced in Ford and Fulkerson (1962)
and developed further in Kennington and Helgason (1980).
12.3 The application of linear programming to determine the minimum
margin requirements for covering positions in options is suggested in
Rudd and Schroeder (1982); see also Cox and Rubinstein (1985, pp.
107-109). The network formulation is adopted from Dahl, Meeraus
and Zenios (1993). The use of network models for air-traffic control has
been discussed by several authors; see Ferguson and Dantzig (1957),
Mulvey and Zenios (1987a), Booth and Harvey (1983), Zenios (1991a),
Bielli et al. (1969), Odoni (1987), and Richetta (1991). Bertocchi and
Zenios (1993) discuss the use of parallel computers for problems in air­
traffic control. See Del Balzo (1989) for a general discussion on the air­
traffic system. Routing applications and traffic assignment problems
are discussed in Sheffi (1985).
12.4.1 The row-action algorithms for nonlinear transportation problems
were developed by Zenios and Censor (1991a). They also discuss
the solution of pure and generalized transportation problems with
quadratic and entropic objective functions, and develop implementa­
tions of the algorithms on massively parallel SIMD architectures. The
introduction of underrelaxation parameters in Algorithm 6.4.1, which
Sect. 12.6 Notes and References 369

allows us to use them here, was made by lusem and Zenios (1995).
The use of a secant approximation for the estimation of the gener­
alized projection parameter was studied by Censor et al. (1990). As
discussed earlier (Section 6.9) they established that the asymptotic

Downloaded from https://academic.oup.com/book/53915/chapter/422193798 by OUP site access user on 12 May 2024


convergence of the row-action algorithm is preserved even with the use
of an approximation for the projection parameter. Related primal-dual
algorithms for the transportation problem were developed by Ohuchi
and Kaji (1984), Zenios and Mulvey (1986b), and Bertsekas, Hossein,
and Tseng (1987). A similar algorithm for the quadratic transporta­
tion problem was developed by Bachem and Korte (1978). These
algorithms are known as relaxation algorithms, and they use a dual
formulation of the network optimization problem that differs slightly
from the one adopted by the row-action algorithms. In particular, the
row-action algorithms dualize both the flow conservation constraints
and the variable bounds, while the relaxation methods dualize only
the flow conservation constraints and explicitly bound the primal vari­
ables in the calculation of the Lagrangian function. A discussion of
the differences between row-action methods and relaxation algorithms
is given by Bertsekas et al. (1995). A primal Newton type algorithm
for nonlinear transportation problems, which is quite distinct from the
iterative algorithms discussed here, is due to Klincewicz (1989). A sur­
vey of algorithms for nonlinear network optimization problems is given
in Dembo, Mulvey, and Zenios (1989).
12.4.3 The row-action algorithm for the multicommodity network flow
problem was developed by Zenios (1991b). The same reference also
discusses the solution of pure and generalized multicommodity net­
work flow problems with quadratic and entropic objective functions,
and develops data-structures for the implementation of the algorithms
on massively parallel SIMD architectures. A related algorithm was de­
veloped by Nagamochi, Fukushima, and Ibaraki (1990), who adopted
the dual formulation of the relaxation algorithms (see the notes and
references discussion for subsection 12.4.1 above). The row-action al­
gorithm for the multicommodity network flow problem was further
studied by Censor, Chajakis, and Zenios (1995), who developed alter­
native parallel implementations on shared-memory multiprocessors.
12.5 The linear-quadratic penalty (LQP) algorithm for problems with net­
work structures was proposed by Zenios, Pinar, and Dembo (1994),
and was applied to solve multicommodity network flow problems by
Pinar and Zenios (1992). Data-structures for a massively parallel im­
plementation for the solution of large-scale problems were developed by
Pinar and Zenios (1994a). A comparative study of algorithms, includ­
ing the algorithm of this section, is found in Pinar and Zenios (1993).
For references on simplicial decomposition see Section 7.3.
370 Multicommodity Network Flow Problems Chap. 12

Truncated Newton algorithms for solving large-scale nonlinear pro­


grams with network constraints, such as the one appearing in Step 1 of
the LQP algorithm, have been developed by Escudero (1986), Dembo
(1987), Ahlfeld et al. (1987), and Zenios and Pinar (1992).

Downloaded from https://academic.oup.com/book/53915/chapter/422193798 by OUP site access user on 12 May 2024


Other authors have also suggested the decomposition of multicommod­
ity network flow problems using a combination of penalty methods
with linearization techniques. Schultz and Meyer (1991) developed
an interior point method using a shifted barrier function for struc­
tured optimization problems. They applied their algorithm to the
solution of large-scale multicommodity network flow problems using
parallel computing, with encouraging computational results. Mulvey
and Ruszczynski (1992), based on earlier work by Stephanopoulos and
Westerberg (1975) and Ruszczynski (1989), used an augmented La­
grangian formulation followed by a diagonalization of the augmented
Lagrangian using a quadratic approximation. They applied this al­
gorithm to the solution of structured nonlinear programs arising in
stochastic programming. Encouraging computational results for the
solution of large-scale problems in a distributed computing environ­
ment of high-performance workstations were obtained by Berger, Mul­
vey, and Ruszczynski (1994).
The idea of linearizing or diagonalizing a nonseparable function is ex­
tensively used in solving traffic assignment problems, whereby multi­
ple distinct commodities are linked via a nonseparable delay function
and rather than through generalized upper bounding constraints. The
book by Sheffi (1985) discusses several such algorithms, including the
well-known Frank-Wolfe algorithm. The linearization of traffic assign­
ment problems to induce separability and use parallel computations
was first explored by Chen and Meyer (1988). It is also discussed in
Bertsekas and Tsitsiklis (1989, pp. 414-422).

You might also like