Active Set Methods For Problems in Column Blocks Angular Form
Active Set Methods For Problems in Column Blocks Angular Form
199-226,1993
g Sociedade Brasileira de Matemática Aplicada e Computacional, printed in U.S.A.
If Aism x n, a (nondegenerate) vertex ofthe feasible region has n-m active inequalities
constraints, í.e. n - m variables are set to 0. These are the residuaÌ variables for that
vertex. Permuting the vector r to separate its basic, i.e. nonzero, and residual entries, and
partitioning f and A accordingly, we can write ,LP as:
min[/ô
fllii],r>ol rar[]l]:a
Using the basis inverse, B-t, we can isoÌate the basic rrariablesof this vertex
and remains feasible if nonnegative. This sugge6É$ tfu simpl& meth,od, for going from a
feasible vertex to a better feasibÌevertex. In one ste1rof tb simplex we:
o Look for a residual index j such that z; < O-
o Computeri : Argminr A,,r2s{ã*/É.2ty-
o Make variable r| basic, and r! residrrql
o Compute the new basis inverse.
The simplex method cannot proceedif z > Oin tfrÊ fiÌst step, or if it takes the minimum
of an empty set in the second step. The secud case c'oÌTespondsto an unbounded LP,
and in the first casethe current vertex is an optimat mhion. Swapping the basic/residual
status of a pair of variables is called (to) piuoú. Àt enery pivot we have to update -É, i.e.
recompute the fundamental basis - et] of tbe nrrll space of
[, lR 81. Historically the
first version of the simplex aÌgorithm, the &rlìl€nrrr simFlex, did exactly that, updating
the tableaux matrix / n al at every pivot- But we really do not need to carry the
fundamental null spacõbasis èxplicitly. It sfiae* to bave a factorization of B that allows
us to compute the one column of -filoi.e- +lp oe fimdamental feasible direction that we
need at every iteration: see [46]. Tbis È tbe rcryisedsimplex method of [13].
We can generalizethis simple strategr to p,ohlems with nonlinear objective functions,
see [3] and [29], or even to problems with nonÌirrear constraints, see 131]and [8]. These
ï
ACTIVE SET METHODS 20L
are calìed active set methods (ASMs) and they all need, in explicit or implicit form, the
fundamental null space basis of lR Bl. The best form in which to maintain and update
the fundamentaÌ nulÌ space basis is highly dependent on the form and structure of the
problem. In this paper we examine trhisquestion for problems whose constraint matrix, Á,
is in column block angular form. Minor variations of all our considerationsand algorithms
apply to problems in row block angular form.
Optimization problems in BAF are very corrmon in practice, like multiperiod con-
trol, scenario investment planning, stoúastic programming, truss or circuit optimization,
economicstabilization,etc. [2], [15], [19], [261.[27],130],138],[39],and [43]-.
A matrix in CBAF is a block matrix Á. with bx (b+ L) blocks,A*",1< lí < b,
1 < I < b+1, whereonly the diagonalblocks,Dk : Ak'k, and the (column) angular blocks,
pk - ak,b+1,contain nonzeroelements(NZE's). Block Dk has dimensionm(k) x na(k),
and block -Ek has dimension m(k) x na(ó + 1).
We define the concatenations,shown in Figure 1,
The element in row i and column j of the matrix Dk is Df,r, and Df,. and D!,, are,
respectively, the block's ith row and jth column. In the same way, Ai',! and,Al;l are the
jth column and the ith row of A''k and ÁÈ''. respectively.
In an ASM we always have a special square and nonsingular matrix of columns of A,
the basis B. The nonbasic columns of Á form the residual matrix, R. We always assume
that the CBAF structure is maintained in B and R, as illustrated in Figure 1. If the kth
diagonal block of B, Bk, has n (À) coh*ns of Dk. and the /cth diagonal block of rt has the
remaining da(k) : na(k) -n(,t), we d€fineôpk(l . . . and rpk(1 . . . da(k)) as the basic
"(k))
and residual column indices of DK , in the order they appear, respectively,in Bk and in the
kth diagonal blockof -&. So ãft' and ff,for 1 < k < b+ 1, are a compete characterization
of B and -R: The diagonal blod6 of the basis are Bk : Dk(:,bpk(l : n(/c))) and the
correspondingangular blodcsof thebasis areCk : Ek(,,bçP+l(l: n(b+ 1))) t" the same
way, the diagonal and angular blods of the residual matrix ate Dk(:,rpb(l : do(,k))) and
Ek(:,rpb+L(L: da(b* 1))). Inthelast equationsthe colon (:) is to be interpretedas an
i n d e x r a n g e o p e r a t Io: rn,: f l , 2 , . . . , n l . a n d : - f , A l s m x n , A ( : , : ) : Á ( 1 : m , \ : n ) [ t Z ] .
We define d(k) : rn(k) -n(k). and sincewe assumedB to be nonsingular,d(k) > 0.
Also, since B is square,z(ô + 1) : Dï a(f).
3. BASIS FACTORIZATIONS
The basic numerical operation in an ASM is to compute and update the inverse, or
J. M. STERN AND S. A. VAVASIS
] ._,
],"
r-r-.4rDdÌ) Ds(b+l)
4,.
'1-...-.ll
rfl
d(\) *-
"(k)
ool I
l-J-l-,
D(b+l) da(b-rl)
a factorization, of the current basis B. The factorization most commonly used is the
ACTIVE SET METHODS
Gaussian,L(J : B, that allows us to easily compute B-Lr : U-l(L-tx), from the lower
and upper triangr:ìar factors .t and t/. In fact, we usually have the LU f.actofizatíon of
'We
QBP, where Q and P are (row and column) permutation matrices. need or can use
the permutations Q and P in order to:
o Maintain numerical stability.
r Preserve factors' sparsity.
r Preserve factors' structure.
Our main goal in this paper is to preservethe block structure in the factorization.
'We
want to use the CBAF sfucture to parallelize independent "block operations" in our
algorithms, as explained in the nerçt sections. Preserving structure is also a first step to
preserve spa.rsity,i.e-, stnrcture can be seen as a block scale or "macroscopic" sparsity:
see 15]and 125]. Struchre and sparsity are aspects of a combinatorial nature, whereas
stability is an analytical one. Not surprisingly, the criteria for choosing P and Q that
wouÌd optimize the combinatorial and the analytical properties of the factorization are
conflicting. Let us CI<aninethis point more carefuÌly:
In order to preserve the CBAF slructure in the factorization, we shall restrict the
choice of P, allowing column permrtations only within each diagonal block, or within the
angular coÌumns, refer to Figue 1- So doing we can implicitÌy give the permutation P by
the vectors bpk, rpk,1 < k < b + 1. as they are definedin Section2.
The row permutation Q sill nm divide each diagonal block in two:
. an upper square blodq cbm€n to be nonsinguÌar, to be factored.
o a lower rectangular blocL of dimension d(k) x n(k).
As the ASM progresses,re hate to pivot, i.e. we have to replace a column of B by
a column of -8, and then update the frctorization. If we could guarantee that, at each
diagonal block, the upper block remains nonsingular; then it would be easy to do these
updates preserving the CBAF súructure of the factors. Unfortunately no such guarantee
exists. In fact, in order to achiere rnrmerical stability, we will need to permute upper and
Iower rows: see [20] and [aa].
These permutations between r4ryer and lower rows, in successiveupdates, lead to
a degeneration of the CBAF slnrcture in the factorization. Some strategies have been
'n
suggestedto preserve block angular strrrctures tlrc LU factorization, see [5] and [45],
and they all have to forbid this type of, pamutations. Some remedies are suggestedto
preservestability, nevertheless,sore pivots cannot be handled. This is very inconvenient
for, as explained in Section 1, we E-âú the pir-ot sequenceto be determined by the ASM,
and have nothing to do with the detâitq of how we are carrying the implicit fundamental
null spacebasis of lR Bl.
In order to preserve the CBAF sfuucfure of B in the factorization, we will use the
orthogonal factorization QU : B. yke Q is oúhogonal and U upper triangular. The
orthogonal factorization of B is r:niqueÌy defined. up to a choiceof signs [24]. Furthermore
a permutation matrix, P, is itself cthogonal. So the upper trianguÌar factor, U, in the
J. M. STERN AND S. A. VAVASIS
B-t :U-ret
we can use
gt _ u-tBt
and
B-1 :[J-LU-tBt_
Now, since (QU)'QU : TStqtQU : UtU : BtB, we can aÌso compute t/ by the
Cholesky factorization of the symmetric matrix BtB- b the orthogonal factor, Q, never
has to be explicitly computed: see [22].
'We
can see that [/ is itself in CBAF, Ì\rith ó n(/s) x n(/c) upper triangular diagonal
blocks, Vk, b correspondingn(k) x n(b + 1) rectangular angulax blocks, Wk , and the final
south-eastn(b +l) x n(b+ 1) triangular block, S-
Bodewig has aìready consideredthe idea of symetrizing a matrix in order to solve a
Iinear system, i.e. solve BtBr : Btd instead of Br : d, in order to get a more stable
procedure that is independent of the row permutation, pl- For the same reasonsSaunders
consideredthe use of the QU factorization in the simplex method, and observedthat the
B : LQ factorization would preservethe block angularstructure ofproblems in row block
angular form, 140].
5. BLOCK OPERATIONS
In this and the next sections we derive some procedrnesto compute and update the
Cholesky factor, [/, for basesin CBAF using only a fer simple block operations. Moreover
our procedures allow many of these block operations to be performed in parallel. Our
procedures have better complexity bounds than fac'tcizations and updates that do not
explicitly use the block structure of the basis, as 1221,IU| or [40]. Our update procedure
will give us much better bounds even in a puely sequelúial environment.
Let us consideran efficient direct bloclçQR Íattmíatíot+ procedure bqrQ illustrated in
Figure 2, that takes advantageof the CBAF structure of B, in order to paralÌelize several
steps in the basis' factorization:
1. Compute (in parallel) the QU factorizations of the b diagonaÌ blocks,
[u^*] = (Qu)'B*'
t0 t-
2. Apply (in parallel) the orthogonal transformations to the angular blocks, com-
puting
lwr zol = (Q\ck.
ACTIVE SET METHODS
I
Dr cr
e c
g:1qb+r)tz, z = lt,'f
lzo)
As we can see,almost all the work in bqrQ consistsof the repetitive application of some
simple block matrix operations. In order to take a.dvantageof this block modularity in the
pro"edures presentedin the next sections,rir'erÌow define a few simple "block operations".
A detailed ãnalysis of each one of the basic block operations we need, and the number of
point operations (FLOPs) they require, can be found in [24]:
floating -Compute
t. the parti,al Choteskyfactorizatio4 eÌiminating the first n columns of the
blockmatrix
lr Gl
lG'0l
to get
li Yl
w h e r e F : f ' t i s n x n l a n d G i s n x l . T h i s r e q u i r e( lsl 6 ) n 3 + ( L l z ) n z l +
(1"12)nI2 *O(nz +12)FLoPs.
2. Computethe partial backtransformotiot\í-e-u- in
lUYl'l::l:[#]
where v is n x nupper triangular and w is nx I, 0 and I are the zero and the
'l nl *
identity matrices, and u and 3rare column yectors. This requires (ll2)n2
O(n+ l) FLOPs.
3. Reduce to upper triangular fortnan upper Eessenbergmatrix, i.e., apply a se-
quenceof Givensrotations to the row pairs {1,2}'{2,3}," '{n- L,n} of the
block matrix
lv wj
where v is n x n upper Hessenberg,and w b nx l, in order to reduce v to upper
triangular. This requires 2n2 + 4nI * O(nz + 12)FLOPs.
4. Rerl,uceto upper triangular fonn a coÌÌrmn-upper triangular block matrix, i'e.,
- 1',n -
apply a sequenceof Givens rotations to the row pairs {n,n- L},{n
2\,. . .{2,1} of the block matrix
l" vl
where u is an n x 1 column vector, and v is ? x n upper triangular, in order to
reduce u to a single NZE in the first row, so transforming v from triangular to
upper Hessenberg.This requires 2n2 + O(n) FLOPs.
ACTIVE SET METHODS
In the block QR factorization, many of the block operations we have to execute are
independent. Therefore, the bÌock angular structure gives us not only the possibility of
preserving sparsity, but also gives us the opportunity to perform severalindependent block
operations in paralleÌ. In order to study the advantagesof parallelizing the independent
block operations required in our procedureswe define a simple parallel computer. In our
parallel complexity analysis $/e use a network environment, consisting of b * 1 nodes, every
node having aprocessor (CPU) and local memory. For È:1...ó, we allocate the blocks
of matrices A and U to specific nodes, as follows:
o The blocks Dk Ek, Vk andWk are allocatedat node &.
o The south-east blocks Z and ,9 a-realÌocated at node 0 (or ó + 1).
In the next sections we will expressour complexity bounds in terms of the sum and
the maximal block dimensions:
b
dbsurn:
I_(*)
d b m a x : m a x { m ( l ). . . . , n ( b ) , n ( b+ 1 ) } .
In our compleÍty analysis we will not only account for the processingtime measured
in FLOP-time r:nits, pTime. but also for the necessaryinternode communication, 1NC.
when b block operations, óopl ...bopb, can proceed in paralÌel (at different nodes). we
bound their processingtime by nbrflops(@) : flops(bopt) n ... A flops(bof), *h"re
A is the maximum operator, and flops(ãrclf) is the number of floating point operations
necessaryat bopk. In the equations that follow. Â has lower precedencethen any multi-
plicative or additive operator. The expressions*At node &--l:b compute', or ,,Flom node
fr:í.'bsend" mean, "At (from) allthenodes I < È < b, inparallel, compute (send)". In
the complexity upper bounds we give in the next sections, we will always neglect lower
order terms.
vr
| (Bo)rBu (B\,Ck1
L(co)rso o l
fo get
lv* wkl
lo zr)
pifime : (t/6)n(k)s + (rl2)n(k)2n(ô+ 1) + (rl2)n(k)n(b + 1)2 < (7/6)dbmar3,
INC:0.
4. Send Zk from node k to node 0 where we accumulate Z : \f; Zk.
pTi.me : b n(b+ 1)2 < b dbmnê. INC : b n(b -f 1)" < b dbma*.
5. At node 0 factor the south-east corner ^9: chol(Z), where chol} indicates the
standard ChoÌesky factorization.
pTi.me: (l/6)n(b + 1)3 < (1/6)dhnazs.INC :0.
At Steps 2 and,4, if the the netrork allows paralleì internode communications, and
the topology of the network is riü enougb- we cân "fan in" the accumulated matrices in
only log(b) phases,see [6] a.rld [fO]- n'** phase requires x bf 2I parallel and independent
tasks, where at each task we trarrqïnit and add dhmn* reals. With this interpretation in
mind we can, in Theorem 6.1, subsitute ô bv tqg(ó) .
'We
now address the problem of Wdating thie QU factorization of the basis when a
basic column, namely the ou,tj column of the auúlçblock of B, gets "out" of the basis, and
the i,nj column of the inlç block of -R, q mes tn" to the basis. Actually, as explained
in Section 3, we onÌy really need [s maintain the triangular factor, [/. Therefore we want
an update procedure that recomputesU after a pivot. There are intuitive reasonsfor us
to hope for an efficient update
o A pivot can be seen as two rank one modifications of B, namely we delete a
column and then add a column to B. There are severalproceduresto update the
QU factorizalion of B in this case, like 1221,[24] or 140].Therefore we could use
a generic "delete column, add olumn" two step update procedure, even without
taking into consideration the block structure of B.
o We know, from Section 4, that the (block) structure of [/ is uniquely defined by
the structure of B. ÀJso, del€ting a column from one block of B and adding
a column to a secondblo{k, results in a "small" structural change, ín B or U.
Therefore there ought to be an eficient way to update the factor U after a pivot.
J. M' STERN AND S. A' VAVASIS
21O
coÌumn
Let us now present the block update procedure, bup\, tbat explicitly usesthe
much better performance than a generic
block anguÌar structure of B, in order to achievea
procedure is describedin terrns of the block operations
rank onÃpdate. The bÌock update
defined in Section 5. In bupQ we consider five different cases:
B
Dr cr wr
ouúf = I
W2
Dt C2
ink=2
-w'
È Ca
vlT,!.rtrtn
ot
e,']
pTime:4n(b+ 1) S dbmar , INC :n(b+1) l dbmat'
7. (a) Flom node 0 send the modified vector
'l
Irfink llãïf'*l''l
I vn(ink),n(ink)
',,,H
cr'
Figure 5. The Blo& UpdÀte Procedure, Case II and III.
[::]: [ï \-)'lr;rl
a.nd insert ue as the last column of Wk.
2T4 J. M. STERN AND S' A' VAVASIS
:
ACTIVE SET METHODS
involved, the
O(d,bsum2)time. Even using sparsedata structures for the matrices
generic updates require the rotation of all rows of u, so they would still require
"o(d,usum pivot cases. Moreover those dbsum
aumar) processingtime in all the 5
The use
ca,refr:l of the CBAF structure of
rotations have tr6,úe done sequentially.
Bbybup(),givesusthemuchbetterboundsofTheorem2.F}omcomputational
real
expãriencà v/ith ASMS for large block anguÌar problems, we know that in
II, i.e. i,nk : outkl
application problems, most of the updates wiÌl be of case
in
ink f b*1, see[34]and [14],where bzpQ requiresor:tyO(dbmar2) time' even
a purely sequentialenvironment!
LU arld QU
Fïom the above we can expect the bupO to outperform the standard
d'bmar and s ) dhnar, i'e'' when the basis is
updating techniques,specially lf d'bsum'>)
block, and we have to pivot many more times than there are
much laiger than its larger
columns in a singìe block.
imposing
When pivoting, by putting the entering column at the end of its block, we are
on B. We prefer this fixed column ordering strategy for
a particulai column permutation
simplicity of the subsequent Hessenberg updates' It is however
its small overhead and
and reinversions
possibìeto consider more elaborate column orderi.g stratqies at updates
[ 1 1 ] ,[ 2 1 ] .
S. REINVERSIONS
in the up-
In any ASM, after a given number of pivots, the accumulation of errors
,,reinvert" the basis, i.e. recompute the Cholesky factor U directly from
dates forces us to
of the factorization work consists of independent
B. Fyom Section 7 we know that most
fact that in ASMs
factorizations of the diagonal blocks Bk. Moreover, it is a well known
in CBAF,lhe basis pivots frequently replace a coìumn from one block by
for problems
from the same bÌock, i.e. usually i,nk: outk, see [3a] and [14]. Therefore, we
u
"olr*r, more times, and have accumu-
will probably have some blocks that have been updated
these facts by
lated ìarger errors then others. when reinverting we can take advantage of
diagonal block factorization, (fJk)tuk : (B\t Bk , and only
checkingthe accuracy of each
blocks that have accumuìated large errors. Of couÍse' we always have
r"irrlr"rúh" diagonal
to reinvert the final south-eastblock Z '
of
Before a reinversion, we should addressthe question of how to order the columns
in section 4, the orthogonal factorization of a row and coÌumn
the basis B. As explained
still take
permutation of B, QBP, is independent of the row permutation, I' But ìrr'ecan
As mentioned
udrrantageof the column permutation, P, in order to preselve spa,rsity.
refactorization'
above, at each reinversion, only a few blocks of the basis may need a fresh
a columa ordering algorithm for each
Therefore we do not waú to pay the time to nrn
This situation is studied in At the beginning of
irrairriaouf block Bk to be reinverted. [40]:
the columns of each rectangular block, Ák,k :- 1 ' ' ' b, into a "near
the simplex, we order
columns in Bk as
,rfp", t.iungular form" (NUTF), and then at eacúeinversion' order the
they are orderedin Á& [33].
ACTIVE SET METHODS
9. NUMERICAL EXPERIMENTS
In this section vr'ecompare the performanceof the simplex algorithm, using the .L[/ or
the QR factorization, when solving linear programs in CBAF. Our test problems have the
structure of the ô-scenariosinvestment problems, Iike the example we gave is Section 1.
Our test problems have diagonal blocks of dim ensíondbmar x2 dbman, b angular columns,
plus an embedded identity matrix. In order to have a large set of test probìems, we use
random numbers to generate (arìmisqible)numerical vaÌues to the NZEs. The simplex
always begins at the identity basis whiú. from the way the problem is formulated, gives
us a feasible vertex.
In the folÌowing, qr-simplex is an implementation of the simplex algorithm using the
QR factorization and updates. as described in the previous sections, and lu-simplex is
an implementation of the simplex algorithm rr5inga sparse,L[/ factorization and rank one
updates [1]. The two aÌgorithms were implemented in different environments)so we can not
directly compare ru:ring times. nor do we har-edirect accessto a FLOPs counter. However
the runing time of both algorithms is dominated by the back solves of the form Bn : d,
where B is the current basis. using the arailable factorization of B. But the number of
FLOPs necessaryfor those back solvesis essentialÌyproportional to the number of NZEs
in the factors. Therefore we will use the fill in the basis factors as an indirect measure of
the cost, in FLOPs or runing time. of a step in the simplex. Our analysis will not take
into account all the pa.raJlelismintrinsic to the qr-simplex. Even so, in a purely sequential
environment, the qr-simplex seemsto be a better alternative to the standard lu-simplex.
In the gr-simplex we only carry the upper triangular Cholesky factor R : 8ú8. So
we only monitor the number of NZEs n R- p: nze(R). In the lu-simplex we carry the
upper triangular factor [/, the initial lower triangular factor, L, ând a sequenceof rank
o n e u p d a t e sL, ' , L ' , . . . , L t u P , w h e r e c u p i s t h e n u m b e r o tf i m e s w e u p d a t e d t h e b a s i s .
Each rank one update is a lower triangular matrix that only differs from the identity at
one column. We keep the nontriüal columns of these rank-one transformations sequence
in a dbsum x cup matrix, LSEQ, where dbsum : b dbmar. Since our starting basis is
the identity, the initial lower triangular factor is trivial, and we only monitor u : nze(U),
\: nze(LSEQ), and the totaÌ fi.ll r : u * À-
Before we analyze statistical data, let us examins in detail a small example. In this
example we have dbmar: 6 and b : 3. Each ror,. in Table 1 (next page) is one pivot step.
The columns in Table 1 are as folÌows. Column 6 is the value of the objective function.
Column 2 is the fiÌl in the Choleskyfactor, p. Column 3, 4 and 5 are the fill in [/, in LSEQ,
and the total, i.e., u, À, and r. Column 7 is the pivot's "case", as definedin Section 7.
Column 1 is the order in which the vertex was visited by the simplex.
In Figure 7 we plot columrÌs2,3. 4 atd õ of Table I, p, u, À and r, versusthe pivot
sequenceorder in column 1. The waluesin these four columns are plotted, respectively,
with a solid line, a dashedline, a dotted line. and a dash-dotted line.
J. M. STERN AND S. A. VAVASIS
Let us first compare nze(R) versusnze((I). There are two important effects con-
tributing to filI the upper triangular factor, each favoring one of the factorizations:
1. Let us consider the factorization of M, a 2 x n matrix. In t}re LU factorization
we add a multiple of the first to the secondrow, in order to eliminate M(z,I).
After this ,,elementaryrow transformation" the sparsity structure of the first row
remains unchanged, and the sparsity structuÌe of the second row becomes the
Boolean sum of ihe structures of the two rows. In the QR factorization we apply
a Givens rotation to eliminate M(2,7). But now the sparsity pattern of both
rows become the Boolean sum of the sparsity structure of the original rows of
M (except for the eliminated element, of course). FYom this we can see why
orthogonal transformations tend to produce much more fill than eÌementary row
transformations, which tends to favor the LU factoizatíon'
2. The eR factorízation preservesthe CBAF structure of B in the ChoÌesky factor'
.R, as extensively analyzed in the previous sections. Therefore the fill in à is
confined to the nontrivial blocks in its CBAF structure. On the other hand, the
LtJ factorization progressivelydegeneratesthe CBAF structure' allowing fill to
occur anywhere in [/. That tends to favor the Q'R factorization'
ACTIVE SET METHODS
We could observe, in our experiments, that the first effect is more important at the
first pivots of the simplex. But as the nontrivial blocks of the Cholesky factor become
denser, there is a saturation of this effect, and the the filÌ in R stabilizes, or grows very
slowly. The secondeffect has a cumulative nature, and as the algorithm progresses,it tends
to fill I/ at increasing rates. We also observethat as the simplex approachesoptimality,
the block structure of the basis becomesvery well equilibrated, i.e. all diagonal blocks
have approximately the same number of columns; this benefits the qr-simplex, but not
necessarilythe lz-simplex. In accordancewhich the commentsabove,we usually observea
spaxserU factot at first steps of the simplex, and a sparser rQat the end of the algorithm.
'We
could also observe that the greater the ratio dbsumf dbmac, or just b if as in our
test problems the blocks have a constant mr-rnberof rows, the sooner the second effect
dominates the first.
rg)
160
t4{,
lm
rü)
80
í-'
F
60
40
20
0L
0 lo 15 20 25
In our test problems that usually happens at the final steps of the algorithm. Moreover,
becausethe non-identity part of the diagonal blocks in the investment problem are dense,
and becauseclose to optimality many identity columns have been driven out of the basis,
the P3 heuristic applied to a basis at the final steps of the simplex produces almost only
spikes,making the reinversionvery expensive.As expectedfrom these reasons'in our test
problems, more frequent reinversionsdo not improve the rudng time of the lu-simplex' For
ih" ,"u6or6 above, and in order to simplify the comparative analysis, we reinvert neither
the lu-simplex nor the qr-simplex.
In Table 2 we present ratios for the total frll, pfr, and for the upper trianguÌar fill,
pf u, after 20%, 40ya, 60%,80% and 100%of the pivots, for some test problems. The first
oi thur. problems is the problem at Figure 7, and they all have the same structure, with
d b m a n : 6 a n db : 3 '
Table 3 is similar to Table 2, only for larger test problems, with dbmar : 6 and ô : 9.
The first problem in Table 3 is the one in Figure 8.
Table 4 has even larger problems, with dbmar : 6 and à : 18. The first problem in
Table 4 is the one in Figure 9.
J. M. STERN ANP S. A. VAVASIS
After the back solves, the most fisle çopsrrmingoperation in a simplex step
is the
update of the upper triangular factor. In general this update can be as time-consuming
as a back solve. However we know that for some of the pivot ,,cases,,in the qr_simplexl
nameÌy casesL, 2 or 3 but not 4 or 5, the qr-update is very inexpensive, involving
Èlock
operations locaÌ to the blocks receiving or losing a column. We hãve argued that,
in real
probÌems, most of the pivots should be of case2. In Tables 2 and 3 the
third line for each
test problem gives the number of pivots of each case,confirming this hypothesis.
ACTIVE SET METHODS
4500
35m
3000
2000
5m
o g)
o 20 40 60 100 120 140
REFERENCES
[1] R.H. BARTELS and G.H. GOLUB, The simplexrnethodof linear programm'ingus'ing
Comm. ACM, 12 (1969),pp.266-268.
LU decompos'it'ion,
l2l M. BASTIAN, Aspectsof basi,sfactorizati:onfor block angular sgstemswi,th coupli,ng
rows. In [11].
f3] M.S. BAZARAA and C.M. SHETTY, Nonlinear Programm'ing,John Wiley, Chich-
ester, 1979.
l4l A. BEGUELIN, J. DONGARRA, A. GEIST, R. MANCKEK, and V. SUNDERAM,
A Users' Guide to PVM Parallel Virtual Machine,ORNL-TM-11826,Oak Ridge
National Laboratory, 1992.
t5] J.M. BENNETT, An aproachto some structured linear programmi,ngproblems, Op-
erationsResearch,14(4) (1966),pp. 636-645.
[6] D.P. BERTSEKAS and J.N. TSITSIKLIS, Parallel and Distributed,Computation:
Numerical Method,s,Prentice Hall, Englewood Cliffs, 1989.
17) E. BODE\MIG, Matrin Calculus,North-Holland,Amsterdam, 1956.
ACTIVESETMETHODS 225