Professional Documents
Culture Documents
9.
9.
n
s.t. 52 Xjj = Oj/M, for i — 1,2,... , n, (9.2)
J=i
3&
n
for j = 1,2, •••>«• (9.3)
2=1
T
- ATxt, Q(xt+1 - ATxt)), (9.5)
t=l
An integral of the matrix X is a sum 52($ j)^T xij where T is a given subset
of A. The matrix balancing problem is to estimate a matrix X such that
some of its integrals will obey certain conditions and the matrix itself will
be related in a specific way to another given matrix A = (aij)-
We refer to such problems as matrix estimation or matrix construction
problems. Matrix balancing is a special case of matrix estimation. Other
related problems that can be viewed as special cases of matrix estimation
appear in the literature under the terms matrix scaling (similarity scal
ing, equivalence scaling, truncated scaling), constrained matrix problems,
generalized scaling, and fair-share matrix allocation.
Various conditions on the integrals of the matrix X have been consid
ered in the examples mentioned earlier in this chapter. These include (but
are not restricted to): fixing the row and column sums to preassigned val
ues; constraining the individual entries of X to lie within specified lower
and upper bounds; confining the row and column sums to lie within speci
fied lower and upper bounds and fixing the sum of all the entries of X to
a preassigned value; forcing row sums to equal column sums.
The precise relationship between the constructed matrix X and the
given matrix A is what differentiates the various instances of matrix esti
mation problems. These relationships are of three general types.
The form relationship: Here one imposes a certain form relation that dic
tates the desired form of X. One such relation is to demand the
existence of vectors A € JRm and p e IRn and a real 6 e IR such that
for a particular m x n weight matrix W the form relation
tion problem (see also Section 12.2.1). With each arc (z,J) we associate
a variable xij that denotes flow from node i 6 JVi to node j E A/2, and
denote by fij(xij) the cost of sending Xij units along arc (z,J). We use
i = 1,2,..., m, to denote the nodes in A/i, and j = 1,2,..., n, to denote
the nodes in A/2. We define now an optimization problem that minimizes
the total cost subject to conditions on the conservation
of total flow at each node:
These are precisely the consistency conditions required for Problem 9.2.1.
The positive elements of matrix A are viewed as flows on the arcs of Q,
that is, Oij > 0 denotes flow on arc (i,J). Thus the relationship between
Problem 9.2.1 and transportation optimization problems is established.
We turn now to Problem 9.2.2. The natural graph for this problem is
a transshipment graph with n nodes and an arc for every nonzero entry of
A as defined next (see Figure 9.3).
Definition 9.2.2 (Transshipment graph of matrix A) Given a square nxn
nonnegative matrix A, the graph Q = (A/
*, X) is called the transshipment
graph of A if N = {1,2,..., n} and A = {(z,j) | > 0} .
248 Matrix Estimation Problems Chap. 9
(9.25)
Vj < 52
ie6j
xa < Vj, for j = 1,2,... ,n, (9.27)
( Qu • • • Qin | ||
| «21 ‘ ' «2n | |
(9.34)
with entries
a _ f 1, if j; e <$+,
(9.35)
v [ 0, otherwise.
The remaining entries of R are all zero. C is the n x mn matrix:
I fti
(9.36)
Pin |
1, if i 6 d- ,
(9.37)
0, otherwise,
mn
/(z) = 22^
8=1
(9.38)
Then the pth iterative step derived from Algorithm 6.4.1 takes the form
Here {/(p)} is the control sequence over the set {1,2,..., m + n} according
to which the rows of $ are chosen, and (j)1 = s = 1,2,..., mn,
is the Zth column of 4>T, the transpose of <I>. We assume the cyclic control
sequence Z(z/) = v mod (m + n) + 1 and henceforth abbreviate I = Z(r/).
{z"} is the sequence of dual vectors.
The parameter cv is computed, for every v > 0, by
and
= (9-45)
8=1
We also use py,py to denote expTM and expA^ respectively, when row
index I of $ corresponds to the zth row of the matrix /?, and to
denote exp and exp Ap respectively, when row-index I of $ corresponds
Sect. 9.3 Iterative Algorithms for Matrix Balancing 253
to the J th row of the matrix C. Then the row-action algorithm for the
interval-constrained Problem 9.2.5 can be summarized as follows:
Pi =- V , ’ (9-47)
/ j
compute
and update:
Z-= ■ (S-51)
compute
and update:
= J = l,2,...,n. (9.55)
(9-56)
13
and update:
and update:
Let us denote
R-C = V = (i/>is), (9.62)
and let for s = 1,2,..., n2 be the sth column of ^T,
the transpose of 4L When applied to the entropy objective function of
Problem 9.2.6 with the interval constraints above, the iterative step derived
from Algorithm 6.4.1 takes the form
* z” - cp, if t —
Here {z(z/)} is the control sequence over the set {1,2,...,n} according to
which the rows of are chosen. We assume the cyclic control given by
256 Matrix Estimation Problems Chap. 9
and
where
Pt = £ (9-71)
= £4 , (9.73)
and update:
LJ > otherwise.
rry„1J+1 = x^, (9.77)
_ Pi (9.78)
Pi Apf
Step 3: Replace v v + 1 and return to Step 1.
to matrix entries with zero value. For example, if the nodes corresponding
to rows/columnS i and j do not have an arc in common, then the scaling
parameters for i and j can be computed concurrently and the flows of all
arcs incident to both i and j can be updated in parallel. Identifying sets of
rf = £ = £ 4.-
Compute ay = <
y Pi
Step 2: (Update.) Update:
With the transshipment graph model (Definition 9.2.2) of the problem, the
DSS algorithm scans the nodes of Q and adjusts the flows on arcs directed
into and out of that node so that conservation of flow at that node is
satisfied. The algorithm can be implemented in parallel in a way similar