Upload
michael-bastian
View
213
Download
0
Embed Size (px)
Citation preview
Mathematical Programming 30 (1984) 357-361 North-Holland
S H O R T C O M M U N I C A T I O N
IMPLICIT REPRESENTATION VARIABLE UPPER B O U N D S FORM OF THE INVERSE ON
Michael BASTIAN RWTH Aachen, West Germany
Received 22 April 1983 Revised manuscript received 18 October 1983
OF GENERALIZED USING THE ELIMINATION SECONDARY STORAGE
A constraint of a linear program is called a generalized variable upper bound (GVUB) constraint, if the right-hand is nonnegative and each variable with a positive coefficient in the constraint does not have a nonzero coefficient in any other G V U B constraint. Schrage has shown how to handle G V U B constraints implicitly in the simplex-method. It i~ demonstrated in this paper that the Forres t -Tomlin data structure may be used for the inverse of the working basis, and it is discussed how to update this representation from iteration to iteration.
Key words: Generalized Variable Upper Bounds, Factored Inverses, Implicit Constraints, Forres t -Tomtin-U pdate.
Schrage [5] describes a modification of the simplex-method that implicitly handles
generalized variable upper bound (GVUB) constraints. A constraint is called a G V U B constraint, if the right-hand-side is nonnegative and every variable with a strictly positive coefficient in the constraint does not have a nonzero coefficient in
any other G V U B constraint. (It can be assumed without loss of generality that the positive coefficients in the G V U B constraints are all + l ' s . )
A basis B of an LP problem including constraints of this type can be partitioned a s
where the lower portion corresponds to the G V U B rows. A factorized representation of the inverse B -1 is then
;) ;) 7) Notice, that B ~ is given by the original data and the inverse B,,) = ( C - D E ) -~ of the 'working basis' B,,. = C - DE.
357
358 M. Bastian / Generalized variable upper bounds
The structure of this factorization leads to several simplifications during the operations BTRAN, P R I C E and FTRAN of the simplex-method which have been demonstrated by Schrage [5].
The way he describes the actualization of B,, ~, however, implicitly assumes a PFI
representation of B?,. I. Moreover, two of the three update cases that have to be considered require one to add a number of elementary matrices to the eta-file which may be as large as the number of nonzero elements in that row of E that corresponds to the pivot row.
For the special case of variable upper bounds (VUB), which suffers from a high
degree of degeneracy, Todd suggested a different approach that not only avoids degenerate pivots but can also be implemented using LU-factorization. Unfortu- nately, his implementation is 'only really practical if U can be stored in core ' (Todd
[6, p. 4311). The intention of this note is to point out that ira Schrage's approach an elimination
form (EFI) on external storage may be used, and B,. ~ = ( C - D E ) -~, the inverse of the working basis, can be updated by (a modification of) the Forrest-Tomlin method. In the worst case three eta-vectors have to be added to the L-file, and the
U-file is handled as in the original Forrest-Tomlin approach. The simplest update situation is when the departing column is basic in one of the
explicit rows. In this case one column of (~-) and hence of Bw changes and the original method of Forrest and Tomlin [3] is applicable.
The second situation arises when the departing column is basic in one of the G V U B rows and the incoming column is of the same type, i.e. its second part consists of the same unit vector. This means that a column of D, say D.K, has to be replaced by a vector d ~ D.K.
Let /~w denote the update of B,. and e~ the K- th unit vector. We have:
/~,,. = C - ( D + ( d - D.K )erK )E = B , , . - ( d - D . ~ : ) E K . .
If EK. = 0, then B~. ~ remains unchanged. If EK. has exactly one nonzero entry, then just one column of B,,: is exchanged, and we are back to case 1. Otherwise we have
a general rank-one correction of B,., for which Gille and Loute [4] have shown how to update the factors U ~ and L ~ of B, ) in order to keep U -~ upper triangular. Note that B w = L . U implies B , . = L . U. where O : = U - L I ( d - D . ~ ) E K . .
As in the Forrest-Tomlin method the aim is to premultiply U by elementary matrices in order to yield a (permuted) upper triangular matrix, the inverse of which is easily obtainable from the representation of U - ~. This can be done in the following
way: The updated pivot column is
eK - EB, , I (d - D.~. ) /
Assume that a := L ~ ( d - D . ~ ), b~ := ( B ; ) ) ~ . . ( d - D . ~ - ) as well as the global pivot element ~x := 1 - EK.B, , ~ ( d - D.~ ) have been saved, and accept the notation A~ t :=
M. Bastian / Generalized variable upper bounds
(A-~)~r If one defines the elementary matrices
359
RI := (l-e~e~ )+ U~<~. e~. U~!,
TL:= ( l - - eKeT- ) - - ( U~Kbt,. )-I( a --( l + at~ )ef,. )e "r,
R , : = I +ej<. [ E K . U - L - U K K ( E K . U . ~ )U~} ],
then
R2 ' 7"1 . R , . O = ( I -e t , - e r , )U+b~- [ /xe K - ( l - e K e ~ ) a ] e r .
This matrix has the permuted upper triangular shape we are familiar with from the
Forrest-Tomlin method. It may be obtained from U by deleting the k-th row, adding - a J b K to the i-th component of the k-th column (i r K) and replacing the diagonal element by 1 /b~ times the global pivot element /x.
A pivot on this element yields the eta-vector which has to be added to the U-file. This yields the desired representation of /i]~,) = U ' -~ . / ] ~ with
T ~ ; : = ( I - e K e V ~ ) + ( I - e h , e ~ ) U . ~ - - ~ - bK
l~" ' := Cr- ' . T-u' , s ' := R , . T, . R ~ . L '.
U-~ is obtained from the representation of U-~ by deleting all elements in the K- th row as well as the eta-vector which pivots in row K. Note that the computational effort is quite modest: Aside from additions and multiplications of vectors by scalars (U.K is available in the U-file) we have the two partial BTRAN-opera t ions e~ U 1 and E~. U L which may be deferred to the subsequent iteration as in the Forres t - Tomlin method.
Finally, we are faced with a third situation, when the departing column, say (~).K, is basic in one of the G V U B rows but the incoming column ()J) is of a different type. Because of the structure of B there exists a column C. i of C such that E.j is the K- th unit vector. Hence, in a first step, these two columns of the old basis are exchanged, and then the departing column can be replaced as in update situation one. Winkler [7] has shown that the column exchange is reflected in B,v t by premultiplying this inverse with the elementary row matrix I - e j ( e ] ' + E K . ) ; the subsequent replacement of the departing column by the incoming column is accom- plished by a premultiplication of ( I - e j ( e ] + E~,-.))B~) with an elementary column matrix.
Thus, the complete actualization of B,,) may be realized by two Gil le-Loute updates using the Forrest-Tomlin data structure. It has been shown by the author [1, 2], however, that one can do with an effort not greater than one Gil le-Loute
360 M. Bastian / Generalized variable upper bounds
update. Applying this result to the given problem leads to the following consider- ations:
Let a : = L ~ ( d - D f ) , b:= U t . a, and notice that the updated pivot column is
Assume that a, b,. as well as the global pivot e l emen t / , :=f~, - E K . b have been saved.
Let /3 :-- ( / ~ / ) be the new basis matrix, hence
C : = C - ( C . j - d ) e i ~, I S : = D - ( D . ~ - C . / ) e V ~ , F z : = E - ( e K - f ) e ] .
We have /~w= d - / 9 / ~ = L . O, where 0 : = U + a e r - U./(EK.+fKeT). Multiplying 0 from the left by
R , : = ( l - e j e ~ ) + U j , e j U ~ . ' , T~ : = I + .~(ej-U./)e~ r,
R_~:= I + ei[ E~. U - ' - UnE~. U. ,' U ; ' ],
we obtain
T R2 TLR, 0 = (I - eie~) U + (I - ejej r )(a - ( 1 + bj) U. i) e [ - ixeie/,
which is again a permuted tr iangular matrix, easily obtainable f rom U. Notice that
the new eta-vector of the U-file is obtained by pivoting on the (negative) global
pivot element, that R~ and R2 are formally equivalent to the second situation, and
that the eta vector of Tl, may be taken without any computa t ion from the U-file. Summing up the three update situations it has been demons t ra ted that the
For res t -Toml in method, which is a s tandard device in linear p rogramming codes,
can be modified to handle the inverse of the working basis in Schrage 's implicit
representat ion of generalized variable upper bounds.
References
[1] M. Bastian, "Lineare Optimierung grol3er Svsteme". Mathematical Systems in Economics Vol. 55 (K6nigstein, 19801.
[2] M. Bastian. "'Aspects of basic [actorisation for block-angular systems with coupling rows", in: G.B. Dantzig et al., eds.. Large-Scale Linear Programming Vol. 1 (IIASA, Laxenburg, 1981 ), pp. 157-177.
[3] JJ.H. Forrest and J.A. Tomlin, -Updated triangular factors of the basis to maintain sparsity in the product form simplex method". Mathematical Programming 2 / 1972) 263-278.
[4] Ph. Gille and E. Loute. "'Updating the LU Gaussian decomposition for rank-one corrections. Application to linear programming basis partitioning techniques", Discussion Paper No. 8213 (CORE, Louvain-la-Neuve. 1982).
[5] L. Schrage, "Implicit representation of generalized variable upper bounds in linear programming", Mathematical Programming 14 (1978) 11 20.
M. Bastian / Generalized variable upper bounds 361
[6] M.J. Todd, "An implementation of the simplex method for linear programming problems with variable upper bounds", Mathematical Programming 23 (1982) 34-49.
[7] C. Winkler, "Basis factorisation for block-angular linear programs: Unified theory of partitioning and decomposition using the simplex method". Technical Report SOL 74-9, Department of Oper- ations Research, Stanford University (Stanford, CA, 1974).