Multicommodity Network Flow Problems
Multicommodity Network Flow Problems
Multicommodity Network Flow Problems
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
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.
where:
344 Multicommodity Network Flow Problems Chap. 12
A=(d\ (12-5)
V I II ^mol • • • /
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 (12.14)
(iJ)eA
Figure 12.2 illustrates the graph of a transportation problem, and its node
arc incidence matrix.
= <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
F(a:)
s.t. Sx = s, (12.23)
Dx = d, (12.24)
0 < x < u, (12.25)
Gx < U. (12.26)
fc=i ‘) = E E
w = Ew k=i(i,j)eA
Minimize ^2 12
k=1 (iJKA
fifaij) (12.27)
Conservation of flow
for commodity 1
Ai
Conservation of flow
for commodity 3
As
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)
Minimize
i 3
y^ ~ for all z,
3
Xij > 0, for all i and j
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.
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),
(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
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)
/3^-Wijytj. (12.41)
/3 = (uij ~ (12.42)
and the primal and dual updating steps (see (6.61)) take the form
'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.
(12.44)
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:
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.
where {a^} are given positive real numbers. This problem is written in
matrix form as
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)
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
For I = 1,2,..., mo we deal with rows of (12.58), and the generalized pro
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
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
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
o _ aij((7rD)°)^
Xi3 ’
.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)
(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
( •• \
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
1 K
(12-86)
fc=l
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
(12.88)
ij
Ipij * tyij 0' (12.89)
(12.91)
Step 1.2: (Iterative step for destination nodes.) For j = 1,2,..., mp,
calculate:
(12.94)
S i/»‘
(12.96)
Step 1.3: (Iterative step for bounds on flows.) For all (z, j) e 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)
Q = {x | Gx < U}.
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,
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
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