b’ - stanford university · bases b0, b1,..., bk are all well conditioned except for bj. then all...

11
SIAM J. MATRIX ANAL. APPL. Vol. 13, No. 1, pp. 191-201, January 1992 () 1992 Society for Industrial and Applied Mathematics 015 A BLOCK-LU UPDATE FOR LARGE-SCALE LINEAR PROGRAMMING* SAMUEL K. ELDERSVELDt AND MICHAEL A. SAUNDERSt Dedicated to Gene Golub on the occasion of his 60th birthday Abstract. Stable and efficient updates to the basis matrix factors are vital to the simplex method. The "best" updating method depends on the machine in use and how the update is imple- mented. For example, the classical product-form update can take advantage of the vector hardware on current supercomputers, and this helps compensate for its well-known drawbacks. Conversely, the method of Bartels and Golub performs well on conventional machines, but is difficult to vectorize. With vectorization in mind, we examine a method based on the block-LU factors of an ex- panding basis. The partitioned matrix involved was introduced by Bisschop and Meeraus [Math. Programming, 13 (1977), pp. 241-254], [Math. Programming, 18 (1980), pp. 7-15]. The update itself was proposed by Gill, Murray, Saunders, and Wright [SIAM J. Sci. Statist. Comput., 5 (1984), pp. 562-589]. The main advantages of the block-LU update are that it is stable, it vectorizes well, and compared to the product-form update, the nonzeros increase at about two-thirds the rate. The update has been incorporated into MINOS and tested on 30 large, sparse linear programming problems. Results are given from runs on a Cray Y-MP. Key words, matrix factorization, updating, simplex method, linear programming AMS(MOS) subject classifications. 65F05, 65F50, 65K05, 90C05 1. Introduction. We wish to use the simplex method [Dan63] to solve the stan- dard linear programming (LP) problem, minimize cTx subject to Ax b l<_x <_u, where A is an m by n matrix and c, x, l, u, and b are of appropriate dimension. The simplex method is an active-set method for optimization. At each iteration a rank-one modification (in the form of a column update) is made to a basis matrix B associated with constraints active at the current point. After k updates, the columns of A may be permuted to the form (Bk Nk). The next update replaces the pth column ar of Bk by a column aq from Nk. It can be written (1) Bk+l Bk / (aq a.)ep T, where ep is the pth column of the identity matrix. The basis is used to solve for the search direction y and the dual variables r in the following linear systems: (2) Bky aq, (3) B’ Ck, where ck contains the objective coefficients corresponding to the columns of Bk. Received by the editors January 11, 1991; accepted for publication (in revised form) July 19, 1991. This research was supported in part by National Science Foundation grant ECS-8715153 and Office of Naval Research grant N00014-90-J-1242. The first author’s research was also supported by an IBM Graduate Technical Fellowship. Systems Optimization Laboratory, Department of Operations Research, Stanford University, Stanford, California 94305-4022 ([email protected] and [email protected]). 191

Upload: others

Post on 22-Feb-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: B’ - Stanford University · bases B0, B1,..., Bk are all well conditioned except for Bj. Then all of the Schur complementswill bewell conditioned except Cj, andhence all ofthe basis

SIAM J. MATRIX ANAL. APPL.Vol. 13, No. 1, pp. 191-201, January 1992

() 1992 Society for Industrial and Applied Mathematics015

A BLOCK-LU UPDATE FOR LARGE-SCALELINEAR PROGRAMMING*

SAMUEL K. ELDERSVELDt AND MICHAEL A. SAUNDERStDedicated to Gene Golub on the occasion of his 60th birthday

Abstract. Stable and efficient updates to the basis matrix factors are vital to the simplexmethod. The "best" updating method depends on the machine in use and how the update is imple-mented. For example, the classical product-form update can take advantage of the vector hardwareon current supercomputers, and this helps compensate for its well-known drawbacks. Conversely, themethod of Bartels and Golub performs well on conventional machines, but is difficult to vectorize.

With vectorization in mind, we examine a method based on the block-LU factors of an ex-panding basis. The partitioned matrix involved was introduced by Bisschop and Meeraus [Math.Programming, 13 (1977), pp. 241-254], [Math. Programming, 18 (1980), pp. 7-15]. The update itselfwas proposed by Gill, Murray, Saunders, and Wright [SIAM J. Sci. Statist. Comput., 5 (1984),pp. 562-589].

The main advantages of the block-LU update are that it is stable, it vectorizes well, and comparedto the product-form update, the nonzeros increase at about two-thirds the rate. The update hasbeen incorporated into MINOS and tested on 30 large, sparse linear programming problems. Resultsare given from runs on a Cray Y-MP.

Key words, matrix factorization, updating, simplex method, linear programming

AMS(MOS) subject classifications. 65F05, 65F50, 65K05, 90C05

1. Introduction. We wish to use the simplex method [Dan63] to solve the stan-dard linear programming (LP) problem,

minimize cTxsubject to Ax b

l<_x <_u,

where A is an m by n matrix and c, x, l, u, and b are of appropriate dimension.The simplex method is an active-set method for optimization. At each iteration a

rank-one modification (in the form of a column update) is made to a basis matrix Bassociated with constraints active at the current point. After k updates, the columnsof A may be permuted to the form (Bk Nk). The next update replaces the pthcolumn ar of Bk by a column aq from Nk. It can be written

(1) Bk+l Bk / (aq a.)epT,

where ep is the pth column of the identity matrix. The basis is used to solve for thesearch direction y and the dual variables r in the following linear systems:

(2) Bky aq,(3) B’ Ck,

where ck contains the objective coefficients corresponding to the columns of Bk.

Received by the editors January 11, 1991; accepted for publication (in revised form) July 19,1991. This research was supported in part by National Science Foundation grant ECS-8715153 andOffice of Naval Research grant N00014-90-J-1242. The first author’s research was also supported byan IBM Graduate Technical Fellowship.

Systems Optimization Laboratory, Department of Operations Research, Stanford University,Stanford, California 94305-4022 ([email protected] and [email protected]).

191

Page 2: B’ - Stanford University · bases B0, B1,..., Bk are all well conditioned except for Bj. Then all of the Schur complementswill bewell conditioned except Cj, andhence all ofthe basis

192 SAMUEL K. ELDERSVELD AND MICHAEL A. SAUNDERS

Stable and efficient basis updates are vital to the computational success of thesimplex method. The "best" updating method depends on the machine in use andhow the update is implemented. For example, the classical product-form (PF) update,

(4) Bk BoT1T2 Tk,

can take advantage of the vector hardware on current supercomputers such as theCray X-MP and Y-MP. This helps compensate for its potential instability and forthe typically high rate of growth of nonzeros in the "eta" vectors representing theelementary triangular factors Tk.

Conversely, the Bartels-Golub (BG) update lear71],

(5) B LkUk, Lk LOT1"" T,

performs well on conventional machines [Rei82], [GMSW87] but is difficult to vectorizefully because each Tk may be a product of triangular factors involving short vectors,and U is altered in an unpredictable manner. The Forrest-Tomlin (FT) update[FT72], also described by (5), makes simpler changes to Lk and Uk and is probablymore amenable to vectorization.

With vector machines in mind, we examine two further updates in 2 and 3. Wethen discuss implementation details for the second method and present computationalresults comparing a block-LU method to the BG update.

2. The Schur-complement update. As an alternative to (2), Bisschop andMeeraus IBM77], IBM80] drew attention to an augmented system Bk 5q of theform

(6) ( uOUk uk ) ( Yly2 ) ( aqo )where

(7) Vk (aq aq) Uk (ep, ep

Initially, B0 is defined as a basis matrix at the start of the first iteration. After anumber of iterations it may be necessary to factorize the current basis Bk and redefineit to be B0. Each aq (j 1,..., k) corresponds to a basic column from A that hasbecome basic since the last refactorization of Bo.

System (6) is equivalent to (2). To see this, note that the equation Ukyl 0 setsk elements of yl to zero, so that the remaining elements of y when combined withy2 give the solution y E m. Specifically, y may be formed by setting y *-- yl andoverwriting y(j) y2(i) for 1,..., k, where j is defined as the unit-vector indexof the ith row of Uk.

The solution to (6) can be found by solving in order

(8) Bow aq,(9) CkY2 Ukw,(10) Boy aq VkY2,

where Ck UkBIVk is the Schur-complement matrix. In general, this methodrequires two solves with Bo as well as a single solve with the matrix Ck, which willhave a maximal dimension of k. If aq happens to be a column originally from Bo, we

Page 3: B’ - Stanford University · bases B0, B1,..., Bk are all well conditioned except for Bj. Then all of the Schur complementswill bewell conditioned except Cj, andhence all ofthe basis

A BLOCK-LU UPDATE 193

have aq Boes for some s. In this case w e8 and (9) reduces to Cky2 e{, wherethe ith row of Uk is es.T In addition, (10) can be written as B0(Yl es) --VkY2, sothat aq itself need not be known.

Likewise, the solution to (3) can be found by solving the equivalent system

and taking r r. That is, by solving in order

BD(13) C[2 V[z dk

During Phase 1 of the simplex method, c0 in (11) and (12) may change for each k, butin Phase 2, system (12) need be solved only once each time the basis is refactorized. Inaddition, from (14) we see that U[r2 c0 B. This implies that r2 correspondsto the set of reduced costs for columns of Bo that are currently nonbasic.

Note that for most updates, a new column is added to V} to obtain V}+. However,the updates occasionally involve replacing or deleting columns of Vk. From now on, krefers to the number of columns in Vk, not the simplex iteration number. The matricesinvolved then have the following dimensions: Bk is m x m, N} is m x (n- m), Vk ism x k, Uk is k x m, and Ck is k x k.

2.1. Advantages. The Schur-complement (SC) update for linear programmingwas first described by Bisschop and Meeraus IBM77], IBM80], one of whose aims waso provide an updating technique with storage requirements that are independent ofthe problem size m. This is a unique feature.

The SC update shares an important advantage with the PF update, in that thefactors L0 and U0 are used many times without modification. On a vector machine,the triangular solves with these factors can therefore be reorganized to take advantageof the vector hardware, as recently shown in [ER90]. The greater stability of the SCupdate allows the overhead associated with this reorganization to be spread over 100iterations (say), whereas the PF update may fail a stability test at any stage (in theworst case after only one or two iterations).

A further advantage of the SC and PF updates is that it is only necessary to solvesystems with B0 and B; we do not need to access the columns of B0 for pricing. Thismay be important for specially structured problems. See [GMSW84, pp. 578-580] forfurther discussion.

2.2. Stability. The matrix in (6) has the following block-triangular factoriza-tion:

(lg) k- Uk UkB I -Ok

Recalling that Uk is composed of unit vectors, we see that if B0 is "reasonably wellconditioned," then the first triangular factor is also reasonably well conditioned. Insuch cases, the Schur complement Ck tends to reflect the condition of k, which isessentially the same as the condition of the true basis Bk.

This means that when C is updated, ill-conditioning need not persist (becausecertain rows and columns of Ck are explicitly added or deleted). or example, suppose

Page 4: B’ - Stanford University · bases B0, B1,..., Bk are all well conditioned except for Bj. Then all of the Schur complementswill bewell conditioned except Cj, andhence all ofthe basis

194 SAMUEL K. ELDERSVELD AND MICHAEL A. SAUNDERS

bases B0, B1, ..., Bk are all well conditioned except for Bj. Then all of the Schurcomplements will be well conditioned except Cj, and hence all of the basis factoriza-tions will be well conditioned except for the jth. This property, shared by the BGupdate, defines our meaning of stability.

In short, the SC update is essentially as stable as the BG update, provided Bo iswell conditioned. This cannot be said of the PF or FT updates. (Of course, the BGupdate remains superior in being stable regardless of the condition of B0.)

2.3. Comments. A discussion of the Schur complement may be found in [Cot74].Implementations of a Schur-complement method for general LP problems are de-scribed in [Pro85], and for specially structured linear programs in [Eld88].

The original descriptions of Bisschop and Meeraus IBM77], IBM80] involved up-dating C-1 explicitly (not a stable process). Proctor [Pro85] presented two imple-mentations, one updating C-1 as a dense matrix, the other maintaining sparse LUfactors of Ck. The latter is to be preferred for stability reasons. Since k can be limitedto 100 (say), we believe it is more efficient to maintain dense factors of Ck; see 4.1.

Our original aim was to investigate the performance of the SC update on generalLP problems. The method was implemented, but it soon became evident that theadditional solves with B0 and BoT were excessively expensive compared to the BGupdate. The following variation was therefore chosen as a means of trading workspacefor time.

3. A block-LU update. Rather than using (15) we may factorize /k in thefollowing manner:

(10, (o0 (o0where

(7) BoY Y C UY.We see that the solution to (6) and hence Bky aq may be obtained from

(18) Bow Ca,

(19) CkY2 Ukw,(20) Yl w YkY2.

Likewise, the solution to Br ck may be obtained from

(21) C[2 Y[co dk

(22) BoTrl Co U[r2.The block-LU update was first discussed in [GMSW84]. All updating informa-

tion is carried along via the Schur-complement matrix Ck and the matrix of trans-formed columns Yk. The updates to these matrices will be discussed in the nextsection. Note that Ca is composed of some of the rows of Yk. It may be described as"some of the rows and columns of the simplex tableau associated with the startingbasis B0."

It was termed a stabilized product-form update because the columns of Yk are handled similarlyto the "eta" vectors in the classical product-form update, and because the factors of B0 are notaltered. Note, however, that (16) is an explicit block-triangular factorization. Nothing is held inproduct form.

Page 5: B’ - Stanford University · bases B0, B1,..., Bk are all well conditioned except for Bj. Then all of the Schur complementswill bewell conditioned except Cj, andhence all ofthe basis

A BLOCK-LU UPDATE 195

3.1. Advantages. The block-LU update has most of the advantages of the SCupdate, in terms of using Bo as a "black box." The storage for C remains independentof m. By storing Yk we reduce the work per iteration of the simplex method by asolve with B0 and (in Phase 1) a solve with B0T. For many iterations when a row ofYk is needed to update Ck, we avoid a further solve with BoT.

Comparing the right-hand sides of (10) and (20), we see that the term Vky2 hasbecome YkY2, which is usually somewhat more expensive. The analogous term Y[coin (21) costs little because most of it does not require updating.

3.2. Stability. The block-LU update possesses the same stability properties asthe SC update. The main requirement again is that B0 be reasonably well conditioned.

In practice we can prevent excessive ill-conditioning in Bo by replacing certaincolumns with the unit vectors associated with slack variables, according to the size ofthe diagonal elements in the initial LU factors. A rather lax tolerance is needed toprevent altering the basis after every factorization and thereby impeding convergenceof the simplex method. In the computational tests reported here, provision was madeto altered B0 if its condition appeared to be greater than --2/3 101o (where themachine precision was e , 10-15). However, no such alterations occurred. Thus, afterevery 100 iterations the current Bk was always accepted as Bo, and no numericaldifficulties were encountered.

4. Implementation issues. For the block-LU update to be efficient, we mustbe able to update Ck and Yk efficiently at each iteration. The updates to thesematrices consist of four cases:

1. Add a row and column to Ck, and add a column to Yk.2. Replace a column of Ck and Yk.3. Replace a row of Ck, leaving Yk unchanged.4. Delete a row and column of Ck, and delete a column from Yk.

Each of these cases depends on the type of column entering or leaving the basis andwhether or not the columns were in the initial Bo. A description of each case follows.

Case 1. The entering column is from No, and the leaving column is from B0. Arow and column are added to Ck:

(23) Uk+l-- T and Yk+l-( Yk w ),ep

C Uw)(24) Ck+l Vk+l B Yk+l- TYkep

where Bow aq and 5 eTpw. Note that w is already available from (8) in thesimplex algorithm. It becomes a new column of Yk.

Case 2. The entering column is from No and the leaving column is from Vk (notfrom B0). A column of Ck is again replaced by Ukw, which is already available fromthe simplex algorithm. The dimension of Ck stays the same. A column in Yk isreplaced by the new transformed column w.

Case 3. The entering column is from Bo and the leaving column is from Bo. Arow of Ck is replaced with the pth row of Yk. The dimension of Ck stays the same.

Yk is not altered.Case 4. The entering column is from B0 and the leaving column is from V (and

not from Bo). We delete a row and column from Ck and we delete the correspondingcolumn from Yk.

Page 6: B’ - Stanford University · bases B0, B1,..., Bk are all well conditioned except for Bj. Then all of the Schur complementswill bewell conditioned except Cj, andhence all ofthe basis

196 SAMUEL K. ELDERSVELD AND MICHAEL A. SAUNDERS

4.1. Storage of Ck. The size of Ck will never be larger than the refactorizationfrequency. Since this is relatively small for most large-scale LP problems (we used100), it is efficient to treat Ck as a dense matrix.

For maximum reliability, we maintain a dense orthogonal factorization QkCkRk, where Qk is orthogonal and Rk is upper triangular. The techniques for updatingthe QR factors of Ck involve sweeps of plane rotations as discussed in [GGMS74].A set of routines called QRMOD were used for this purpose. For slightly greaterefficiency, Qk and/k may be updated using sweeps of stabilized elimination matrices;see [Cli77].

4.2. Storage of Yk. As Yk has a row dimension of m, the method of dealing withthis matrix is important. Yk consists of transformed columns that have entered thebasis since the last refactorization. We must be able to do matrix-vector multiplieswith Yk (20) and YkT (21) as well as fetch rows of Yk (24). The sparsity of each columnof Yk depends on the sparsity of the basis itself as well as the sparsity of each of theentering basic columns.

Since the use of indirect addressing reduces performance on most vector comput-ers, indirect adressing should be avoided for all except very sparse vectors. On theother hand, performing computations with vectors containing a very large proportionof zero elements is also inefficient. With this in mind, each column of Yk is storedin one of two ways depending on its density. We have used the following dynamicstorage scheme for Yk:

1. A column ofY that has a density of at least NTHISH is considered to be dense.Such columns are stored "as is" and not packed. In the computational tests,a value of ITHRSH 0.40 was used.

2. Columns with density less than ITHISH are considered sparse and are packedin a conventional column list. For each column, the nonzero elements of thesevectors are stored contiguously, along with a parallel array of row indices, thenumber of nonzeros, and a pointer to the first nonzero.

The average sparsity for Yk’s columns for each of the test problems is given in Table 4.A row of Yk can be extracted trivially from columns in dense form. Packed columnsrequire a search for the desired row index, which can usually be vectorized.

Dense columns of Yk are stored separately from the sparse columns in order tomake operations with the dense columns vectorizable. Thus, the storage array forYk consists of a dense part and a sparse part. The updates to Yk consist of adding,deleting and replacing columns. Each case is described below.

1. When a new column is added to Yk, the column is simply appended to theend of the "dense" or "sparse" arrays for Yk. Dense columns are stored "asis" and sparse columns are packed in a conventional column list.

2. For simplicity, column deletion was implemented by moving all later columnsone place to the left (thereby overwriting the deleted column and recoveringits storage). The operations are essentially the same whether the deletedcolumn is dense or sparse. Half of Yk must be moved on average, but thecopy operation is vectorizable and cheap. Also, less than half of the updatesrequire deletion.

3. Column replacement occurs in one of two ways. When both new and oldcolumns are dense, the new column simply overwrites the old column. In allother cases, the old column is deleted from Y (2 above) and the new columnis appended to Y (1 above).

Page 7: B’ - Stanford University · bases B0, B1,..., Bk are all well conditioned except for Bj. Then all of the Schur complementswill bewell conditioned except Cj, andhence all ofthe basis

A BLOCK-LU UPDATE 197

TABLE 1Problem specifications.

123456789 grow22 441 44410 nesm 663 66611 perold 626 62912 pilot.ja 941 94413 pilot.we 723 72614 pilot4 411 41415 pilotnov 976 97916 pilots 1442 365217 scfxm2 661 66418 scfxm3 991 99419 scrs8 491 49420 scsd6 148 15121 scsd8 398 40122 sctap3 1491 149423 ship081 779 78224 shipl21 1152 115525 shipl2s 1152 115526 stair 357 36027 stocfor2 2158 216128 tdesgl 3500 405029 tdesg5 4215 2261330 woodw 1099 1102

Problem Rows Cols Elem

80bau3b 2263 2266bp822 822 825cycle 1904 1907czprob 930 933etamacro 401 404fffff800 525 528ganges 1310 1313greenbea 2393 2396

Objective value 1129063111272132214173248962357021

3149983181398860261470692185145

9.8722822814E/055.5018458595E/03-5.2263930249E/002.1851966988E/06-7.5571519542E/025.5567961167E/05-1.0958627396E/05-7.2462397960E/07-1.6083433648E/081.4076079892E/07-9.3807558690E/03-6.1131579663E/03-2.7201045880E/06-2.5811392641E/03

1312943220522978464029566611334175541708521597109413857949218041

10500237478

-4.4972761882E/03-5.5760732709E/023.6660261565E/045.4901254550E/049.0429998619E/025.0500000078E/019.0499999993E/021.4240000000E/031.9090552114E/061.4701879193E/061.4892361344E/06-2.5126695119E/02-3.9024408538E/044.3560773922E/044.3407357993E/041.3044763331E/00

5. Computational results. In this section we compare numerical results ob-tained from an implementation of the algorithm described in 3. The standard basisupdate in MINOS 5.3 [MS87] is the Bartels-Golub update. For a complete discussionof LUSOL, the package of basis routines in MINOS 5.3, see [GMSW87].

The implementation of the block-LU update has been included as an option in aspecially modified version of MINOS 5.3. The new version, MINOS/SC 5.3, includesother options including a special pricing routine designed especially for vector com-puters described in [FT88], and a vectorization algorithm for the solution of triangularsystems of equations described in [ER90]. These options were disabled for the presentcomputational tests.

The purpose of the tests is to demonstrate the efficiency of the new update andshow that for vector machines the method is more efficient than the Bartels-Golubupdate on a representative set of large, sparse problems. The two algorithms arelabeled BG for the Bartels-Golub update and BLU for the block-LU update. Thetests consist of comparing timings of BG and BLU by solving 30 linear programmingtest problems. Many of these problems are available from the netlib collection [Gay85].The test problem specifications are given in Table 1. The smallest netlib test problemswere omitted from the results, as some timing categories for these problems were lessthan 1/100th of a second on the machine used.

Page 8: B’ - Stanford University · bases B0, B1,..., Bk are all well conditioned except for Bj. Then all of the Schur complementswill bewell conditioned except Cj, andhence all ofthe basis

198 SAMUEL K. ELDERSVELD AND MICHAEL A. SAUNDERS

TABLE 2Update results.

Method BG" OBG BLU: OBLU

Problemname

Totalupdatetime(sec)

Meanupdatetime(#sec)

Totalupdatetime

Mean Mean Updateupdate size speed-time Ck up(#sec)

1 80bau3b23456789

10111213141516171819202122232425262728293O

bp822cycleczprobetamacrofffff800gangesgreenbeagrow22nesmperoldpilot.japilot.wepilot4pilotnovpilotsscfxm2scfxm3scrs8scsd6scsd8scrap3ship081shipl21shipl2sstairstocfor2tdesgltdesg5woodwMEAN

13.5011.602.490.390.971.22

118.991.283.646.64

14.987.551.766.78

117.550.881.970.640.402.832.610.712.100.930.677.29

24.98271.51

7.6722.34

30137.8820079.6536633.0016289.447130.00

10281.4917342.5146059.83

3.873.832.910.670.500.790.44

18.87

3385.i7 33.99 8.905471.75 25.66 3.679745.26 37.74 3.764228.94 37.20 3.858427.22 34.73 0.857898.30 36.01 1.306180. 7 4o.44 .817391.08 31.06 6.23

11 08.06 40. 0 1.615621.24 30.99 2.14

5134.65 24.27 4.644737.04 24.65 3.354567.76 23.23 2.695679.31 26.80 4.395388.31 24.12 13.548299.71 39.82 1.388236.08 40.40 2.036497.42 29.36 1.547396.47 33.84 0.49

10152.39 40.66 0.835952.07 41.13 4.412673.06 42.42 5.092747.94 40.92 6.843632.95 42.79 4.785270.27 24.60 2.349562.93 39.75 3.825950.65 39.59 10.157774.24 40.12 10.326807.28 37.37 2.986370.17 34.26 4.14

18483.1412021.1917083.6723820.1015853.3212291.5624923.9372976.5711478.6116756.429984.7O3611.148415.58

26277.2413613.0718806.3117370.7212352.6736568.7360392.5980266.1520271.5223919.09

0.811.571.823.312.180.661.578.890.640.980.340.853.580.640.140.310.200.292.192.31

27.612.633.18

5.1. Test environment. The computational tests were performed on an 8-processor Cray Y-MP supercomputer. Only one processor was used. The operatingsystem was UNICOS version 5.1, and the MINOS code was compiled using the CFT77compiler with full optimization. Each run was made as a batch job.

For each test the number of iterations and total solution time are recorded inTable 4. The solution time was measured by timing the MINOS subroutine MSSOLV.The options used for MINOS were the standard MINOS/SC options, namely PhRTIhLPRICE I0, SCALE OPTION 2, FACTORIZATION FREQUENCY I00. The set of problemswas then run with (BLU) and without (BG) the SCHUR-COMPLEMENT option.

For purposes of evaluating the block-LU update, the following items were deemedto be of interest for each method:

1. Total and average time spent updating the basis.2. Total time spent solving for dual variables and the search direction y using

the basis factors.3. Average solve times with the basis factors.

Page 9: B’ - Stanford University · bases B0, B1,..., Bk are all well conditioned except for Bj. Then all of the Schur complementswill bewell conditioned except Cj, andhence all ofthe basis

A BLOCK-LU UPDATE 199

TABLE 3Solve results.

Method BG" BLU:

No. Problemname

Meansolve

Mean Mean Meansolve solve solvey y

(#see) (#see) (#sea)1 80bau3b2 bp8223 cycle4 czprob5 etamacro6 fffff8007 ganges8 greenbea9 grow22

10 nesm11 perold12 pilot.ja13 pilot.we14 pilot415 pilotnov16 pilots17 scfxm218 scfxm319 scrs820 scsd621 scsd822 sctap323 ship08124 shipl2125 shipl2s26 stair27 stocfor228 tdesgl29 tdesg530 woodw

MEAN

40568.1228050.4734750.4217566.188594.1410509.2314002.7167136.6521071.9514057.4122935.7930307.3724727.2018750.6729968.9166454.8113580.7219622.5312217.336011.6416193.4114512.5314065.5616048.9016948.2817300.7430451.3552146.3780847.3527375.9126225.82

32337.0627790.8544877.6212823.638356.1212726.5417897.9454699.4622581.7914433.4123822.1032987.4825234.1318488.8232639.4065155.8013348.5619358.9511776.334875.6112426.6620346.939978.8012260.4112683.6517629.6040716.9650159.2069401.8124530.5825544.87

41853.6326730.5437200.9819565.7810980.3912594.2217465.9270031.1219877.6014532.3220340.2226348.9822966.2413718.7926490.7448638.3816225.9922415.3612735.718348.2918668.0618591.3017703.0618865.2520275.8712552.5734382.5254627.0885958.7728535.3426640.70

27891.0222025.2139155.6310986.376787.3311379.0816229.5347843.6116715.9210878.6316273.8323197.1018282.1510770.4523707.2644065.1411929.6017280.107971.364777.1211411.8319643.6610714.0512051.9512718.619661.55

36011.8346676.1767876.0620750.7021188.76

5.2. Updates. Time spent updating the basis was measured by timing the ap-propriate portion of the MINOS subroutine ISSOLV. The total and average updatingtimes are recorded in Table 2. These results dramatize the efficiency of the block-LU update for the Cray Y-MP. In 27 of the 30 test problems the BLU method gavefaster mean and total updating times than BG. The average update speedup was4.14. A point of interest is that while update times grew for the larger problems usingmethod BG, the average update time remained fairly constant for method BLU. Theaverage BG update time ranged from 3611-80266 microseconds, while the range was2673-11508 microseconds for the BLU update.

5.3. Solves. The average solve times for the two methods are quite similar, asexhibited in Table 3. It is important to note that although it was not performed here,the solves with Lo and Uo can be vectorized with method BLU. The solves with L0may be vectorized for method BG but as Uk is updated explicitly with this method,

Page 10: B’ - Stanford University · bases B0, B1,..., Bk are all well conditioned except for Bj. Then all of the Schur complementswill bewell conditioned except Cj, andhence all ofthe basis

200 SAMUEL K. ELDERSVELD AND MICHAEL A. SAUNDERS

TABLE 4Overall Problem Results.

Method BG: BLU:No. Problem Itns Itns

name

1 80bau3b2 bp8223 cycle4 czprob5 etamacro6 fffff8007 ganges8 greenbea

1196367923198154455O953708

26094

Soln.time

206.2271.7051.9211.972.004.855.78

622.14

699929871595594996718

255279

101112131415

grow22nesmperoldpilot.japilot.wepilot4pilotnov

704305839236350480514462747

6.3921.9635.7480.4648.179.98

35.04

703279238016445461114462773

16 pilots17 scfxm218 scfxm319 scrs820 scsd621 scsd822 sctap323 ship08124 shipl2125 shipl2s26 stair27 stocfor228 tdesgl29 tdesg530 woodw

MEAN

1626777211846471127340010035261125538551

20144177341773822

4872.16

577.244.339.613.303.12

22.179.724.02

12.104.603.62

31.5095.50

1334.4965.17

113.16

16494772

1184521115335311070523

1113544551

22923878

355183860

4880.53

Soln. Meantime dens.(seas)

.oe 58.64 .62139.63 NA10.48 .0162.25 .1594.95 .2775.34 .051

493.56 .2234.99 .691

17.66 .12125.71 NA58.94 .64037.24 .7196.90 .577

26.65 .568347.56 .736

4.24 .0948.83 .1042.33 .1553.76 .343

24.45 .3388.80 .0243.66 .011

10.58 .0074.12 .0062.45 .655

30.28 .08869.27 NA

1144.78 .07058.56 NA89.45 .291

U0 is not constant between refactorizations. This means that it is possible to decreasesolution times with the factors of B0 using method BLU even further.

5.4. Comparison with the product-form update. On average, the densityof the columns of Yk will be similar to that of the eta vectors in the classical product-form update. Note, however, that over a period of 100 iterations the average numberof columns in Yk is only 25 to 40, with a mean of 34. This means that the numberof transformed vectors used in solving systems of equations is lower for the block-LUmethod than for the PF update, where the average would be 50 if stability require-ments allow 100 updates. Since the size of the additional matrix Ck is small on average(25 to 40), this suggests that the block-LU update requires fewer floating-point op-erations per solve as well as lower storage requirments than the PF update on largeproblems. The ratio is 34/50 2/3.

6. Conclusions. 1. A block-LU update technique is a viable alternative to astandard (Bartels-Golub) updating technique when vectorization is available.

Page 11: B’ - Stanford University · bases B0, B1,..., Bk are all well conditioned except for Bj. Then all of the Schur complementswill bewell conditioned except Cj, andhence all ofthe basis

A BLOCK-LU UPDATE 201

2. Numerical experiments running a modified version of MINOS 5.3 on a CrayY-MP showed the block-LU update to be superior to Bartels-Golub updating on 27of 30 test problems.

3. Average solve times with basis factors using the block-LU update were com-parable to the solve times using the standard method.

4. Use of the block-LU update reduced CPU times by approximately 21 percenton these test problems. Vectorization of all the solves with L0, U0, Lc, U" as in [ER90]would give a further marked improvement.

Acknowledgments. The authors are indebted to Bill Kamp and John Gregoryof Cray Research, Inc. for encouraging the research and providing computer time forthe computational tests, and to the referee for some helpful comments.

[BarT1]

IBM77]

IBM80]

[Cli77]

[Cot74]

[Dan63]

[Eld88]

[Eld89]

[ER90]

[FT72]

[FT88]

[GayS5]

[GGMS74]

[GMSW84]

[GMSW87]

[MS87]

[Pro85]

[Rei82]

REFERENCES

R. H. BARTELS, A stabilization of the simplex method, Numer. Math., 16 (1971),pp. 414-434.

J. BISSCHOP AND A. MEERAUS, Matrix augmentation and partitioning in the updatingof the basis inverse, Math. Programming, 13 (1977), pp. 241-254., Matrix augmentation and structure preservation in linearly constrained control

problems, Math. Programming, 18 (1980), pp. 7-15.A. K. CLINE, Two subroutine packages for the ejCficient updating of matrix ]actoriza-

tions, Report TR-68, Department of Computer Sciences, The University of Texas,Austin, TX, 1977.

R. W. COTTLE, Manifestations of the Schur-complement, Linear Algebra Appl., 8(1974), pp. 189-211.

G. B. DANTZIG, Linear Programming and Extensions, Princeton University Press,Princeton, NJ, 1963.

S. K. ELDERSVELD, Stochastic linear programming with discrete recourse: An algo-rithm based on decomposition and the Schur-complement update, Engineer Thesis,Department of Operations Research, Stanford University, Stanford, CA, 1988.

MINOS/SC User’s guide supplement, Internal Tech. Report, Department ofIndustry, Science and Technology, Cray Research, Inc., Mendota Heights, MN,1989.

S. K. ELDERSVELD AND M. C. RINARD, A vectorization algorithm for the solution oflarge, sparse triangular systems of equations, Report SOL 90-1, Department ofOperations Research, Stanford University, Stanford, CA, 1990.

J. J. g. FORREST AND J. t. TOMLIN, Updating triangular factors of the basis tomaintain sparsity in the product-form simplex method, Math. Programming, 2(1972), pp. 263-278., Vector processing in simplex and interior methods for linear programming,

IBM Res. Report No. RJ 6390 (62372), IBM, Yorktown Heights, NY, 1988.D. M. GAY, Electronic mail distribution of linear programming test problems, Math-

ematical Programming Society COAL Newsletter, 13 (1985), pp. 10-12.P. E. GILL, G. H. GOLUB, W. MURRAY, AND M. A. SAUNDERS, Methods for modifying

matrix factorizations, Math. Comput., 4 (1974), pp. 505-535.P. E. GILL, W. MURRAY, M. A. SAUNDERS, AND M. H. WRIGHT, Sparse matrix

methods in optimization, SIAM J. Sci. Statist. Comput., 5 (1984), pp. 562-589., Maintaining LU factors of a general sparse matrix, Linear Algebra Appl.,

88/89 (1987), pp. 239-270.B. A. MURTAGH AND M. A. SAUNDERS, MINOS 5.1 user’s guide, Report SOL 83-20R,

Department of Operations Research, Stanford University, Stanford, CA, 1987.P. E. PIOCTOR, Implementation of the double-basis simplex method for the general

linear programming problem, SIAM J. Algebraic Discrete Methods, 6 (1985), pp.567-575.

J. K. REID, A sparsity exploiting variant of the Bartels-Golub decomposition for linearprogramming bases, Math. Programming, 24 (1982), pp. 55-69.