Annals of Discrete Mathematics 1 (1977) 1-11 @ North-Holland Publishing Company
REDUCTION AND DECOMPOSITION OF INTEGER PROGRAMS OVER CONES Achim BACHEM Institut fur Okonometrie und Operations Research, Universitat Bonn, Nassestrape 2, 0-53 Bonn, F.R.G. Received: 1 August 1975 Revised: 1 November 1975 We consider the problem min c'x
(t)
s.t. Nx + B y
=
b,
X E N , yEZ"
where N is an ( m , r ) , B an ( m , n ) integer matrix, and b E 2". In Section 2 we characterize all solutions x E 2' of (t) by an explicit formula and give as a corollary a minimal group representation of equality restricted integer programs, where some of the nonnegativity restrictions are relaxed. In Section 3 we discuss decomposing integer programs over cones in case the matrix N has special structure.
1. Introduction We consider the problem min c'x s.t. Nx
+ By = b
x E N', y E Z"
where N is an ( m , r ) and B an (m,n ) integer matrix. As B is an arbitrary (m,n ) integer matrix, the convex hull of the feasible set of (1.1) is a generalized corner polyhedron, that is an equality restricted integer program, where the nonnegativity restriction of some of the variables are relaxed. To give a group representation of the problem, we reformulate (1.1) as a congruence problem, min c ' x s.t. Nx = b
modB
x E N' 1
2
A. Bachem
where we define Nx = b (mod B ) , iff there is a A E Z", such that Nx - b = BA holds. T o set this definition in a more general framework we have to introduce the concepts of Smith and Hermite normal form. Definition. If B is an (m,n ) integer matrix, we denote by S ( B )and H(B) the Smith and Hermite normal form of B,S * ( B )and H*(B) denotes the nonsingular part of S(B), H(B) resp. The unimodulaz matrices which transform B into Smith normal form are denoted by U,, KB and the projection matrices, which eliminate the nonsingular part S*(B) of S ( B ) are denoted by WE, VB.Thus we have S * ( B ) = WBUBB KBVB.
Sometimes it is advantageous to look at congruences from an algebraic point of view, that is to look at the definition of a : = x ( = m o d a ) l as an image of the function a : = h , ( x ) = x - a [ x / a ](where "[x]" denotes the integer part of x). For ( m , n ) matrices B with rank (B) E { m , n} the scalar a is replaced in the above formula and we get the generalized form as hE(x):=x
- B [Btx]
where B denotes the Hermite form H(B)VB of B (the zero colums of H(B) are omitted) and where B denotes the Moore-Penrose inverse of B. In fact we have Proposition (1.3). Let G be an additive subgroup of Z". The map hB : G -+ he ( G ) is a homomorphism onto ( h e ( G ) , @with ) kernel ( h B )= {x E G x = BA, A E Z " } , and. X @ Y : = he(X + y ) .
I
Remark (1.4). Obviously
a
=x(
= modB)
-u-x=BA
forsome A E Z "
a - x E kernel(hB) holds and so problem (1.1) is equivalent to min c ' x
6 he(N).& = he(b), n=1
(1.5)
x, E N ,
where N, denotes the ith column of the matrix N and " = " is the group equation in the group G ( B ) : = h e ( Z " ) . Proof of Proposition (1.3). Since B has maximal column range, B ' B is regular, and we have 1
'.-, .- means that the left side of the equation will be defined.
Reduction and decomposition of integer programs
3
So we conclude
hence h, is a homomorphism. Let x E kernel(h,), that means x = B[Btx]. If we denote b : = [ B t x ] E Z' and a : = (b',Oh-,)' we conclude x = H ( B ) a and x = Bc where c = Ka, here K denotes the unimodular right multiplicator of H ( B ) . Let now x = Ba with a E Z", that means x = Bb, b E Z'. With B t x = b we conclude h B ( x )= x - B [ B t x ]= Bb - Bb = 0 which completes the proof. Clearly problem (1.5) is a group problem over the group G ( B ) , which is not necessarily of finite order (it depends obviously on the rank of B). If we follow the usual definition of equivalent matrices (cf. (5)), that is the ( m , n ) integer matrix A and the ( r , s ) integer matrix B are equivalent iff they have the same invariant factors (apart from units), we get a slight generalization of a well known fact: Remark (1.6). The groups G ( A ) and G ( B ) are isomorphic, iff the matrices A and B are equivalent and m-rank(A) = r-rank(B)holds. Using this result it is easy to give a formula for the number of different (nonisomorphic) groups G ( B ) , where the product of invariant factors of the (rn,n ) matrices B is fixed. This number is well known for regular ( m , n ) integer matrices B. Here we are going to treat the general case. Definition. Let B be an ( m , n ) integer matrix. We call the product of the invariant factors of B the invariant of B (inv (B)) which coincides with the determinant of B in case B is a square nonsingular matrix. % P > is a representation of d = inv(B) as a product of prime factors If d = and p a function from NZ into N defined recursively as
n;=,
p(O,m):=l,p(n,O):=O(n,m E N ) , we define
Proposition (1.7). The number of nonisomorphic groups G( B ) , where B varies over all ( m , n ) integer matrices ( m , n E N) with maximal row rank and invariant d, equals the integer number K ( d ) .
4
A. Bachem
The number of nonisomorphic groups G ( B ) ,where A varies over all ( m , n ) integer matrices ( n E N) with r a n k ( B ) E { m , n } and invariant d, equals L ( d , m ) . Notice that K ( d ) is a finite number, though we consider all ( m , n ) integer matrices B with m, n E N. If we compute the numbers K ( d ) and L ( d , m ) for d's between 1 and lo5,we note that 0 S K ( d )5 10 in 95% of the cases, that is the group G ( B ) is more o r less determined by d = inv(B).
Proof of Proposition (1.7). Two groups are isomorphic iff the generating matrices are equivalent and the rank condition holds (cf. Remark (1.6)). Proving the first part of the proposition we have only t o deal with maximal row rank matrices and using Remark (1.4) we can restrict ourselves to square matrices, because h , ( x ) is defined in terms of H*(B) and this an ( m , n ) integer matrix with d e t H * ( B ) = inv(B). Because of the divisibility property of the invariant factors of an ( m , m ) integer matrix it suffices now t o compute the number of different representations of the exponents of a prime factor presentation of the determinant d = det B as a sum of m nonnegative integers. In fact this number equals p ( q , m ) (cf. ( 2 ) ) and moreover H(d) is finite because k
el<,:= max
E~
J=I
leads to
To prove the second part of the proposition we first note that r a n k ( B ) m. Since two groups G ( A ) and G(B) with matrices having both less than m columns, cannot be isomorphic, the second statement follows obviously from the first one.
2. Minimal group representation
W e have seen that (1.5) is a group problem, namely of the group G ( B ) .In fact this is the group which will usually be considered in the asymptotic integer programming approach (cf. (3)), whereas the actual underlying group of (1.5) is the group
G ( N / B ) : = { h , ( x ) / x= N A , A E Z'} which is a subgroup of G ( B ) generated by the columns of the matrix N.From a computational point of view the group G ( N / B )is more difficult to handle than the group G ( B )(though it has less elements), because there is n o proper respresentation of G ( N / B ) .From this reason here we are going to find a 6 E N" which will be defined in terms of N and B, such that the group G ( N / B ) is isomorphic to
Reduction and decomposition of integer programs
5
G (diag(6)). Clearly this is a minimal group representation of problem (1.5) and as a corollary we get the order of G ( N / B )by
First we want to give some results concerning congruences which will be used later, they seem to be of general interest, though.
Theorem (2.1). Let B be an (m, n ) integer matrix with rank ( B )= m, N an (m,s) integer matrix, b E Z" and A := ( N , B ) . The system of congruences Nx = N b
modB
x integer has a solution iff S*(A)-' V, U, b is integer. In this case, all solutions are of the form x=b
modH
x integer
where H:=(K,V,WML, R ) . Here we denote b y L : = S * ( A ) - ' U a N , M : = S*(A)-'U,B and R denotes the last s - k columns of KM, where k : = r a n k ( N ) . Proof. Without loss of generality we set b = 0. It is easy to see that S*(M,L ) equals an (m, m ) identity matrix I"', so we conclude
S(S(M), uML)= ( I m , O m , n ) . With diag(tl,. .., t k ) : = S * ( M ) ,tk+,:=O( i = 1 , . . ., m - k ) and D : = UML we get immediately
(t)
gcd(t,,d,)= 1,
i
=
1 ,..., m ,
where d , : = g c d ( D , , / j = 1,. . ., n ) ( i = 1 , . . ., m ) . Obviously the system Nx=O
modB
x integer is equivalent to the system
y integer, and using (t) it is also equivalent t o ( S * ( M ) ,O m . s - k ) y= 0 mod WMUML
y integer.
A. Bachem
6
Let y
= ( y i , y:)'
be a ( k , s - k ) partition of y , then we get
S * ( M ) y l= O
mod WMUML.
y l , y z integer
Let K i ( i = 1 , . . ., k ) be unimodular matrices, which transform the ith row of into ( d , , ~. ., ., 0). Using
d:=W,U,L
Ei:=K , diag(1,. . ., 1, t;', 1,. . ., 1 ) K 1 i = 1,.. ., m we define
n 1
E:=
i=k
E,.
By induction on i one can easily show that diag(1,. . ., t i + l , .. ., t m ) y l = fi
n 1
yz,
j=i
1
j=,
E,Z integer
is equivalent (for all i (*1
fl Eiz
=
1 , . . ., m ) t o
S * ( M ) y l= 0 m o d B
y l , Y Z integer so that yl
=
DEz
y 2 , Ez
integer
is equivalent t o (*). Since E-' is an integer matrix and x
= KMy,the
equation
x = (KMVMYlf Ryz)
completes the proof. Theorem (2.2). With the notations of theorem (2.1) we get (i) S * ( L )= S(A)-'UA U i ' S * ( B ) (ii) s * ( H ) = idiag(t,,-,+,, . . ., t , ) where S * ( L ) = :diag(tl,. . ., t m ) . Proof. Because of L = s * ( A ) - ' U A ~ ,~' B B ,
(i) follows immediately from the equation S * ( L )= S * ( L & )
=
S*(LKBVB).
Reduction and decomposition of integer programs
7
Let
where Is-' denotes an ((s - k ) , ( s - k)) identity matrix. Because of H = K M (W,U,L, P ) , we conclude S * ( H )= S,*(WMUML, P), that is
where Q denotes the first k rows of U,. From the proof of theorem (2.1) we know that
S*(L)= S*(H(U,L)) so
= diag(tl,.
. ., t,,,),
S*(QL) = diag(t,-r+l,. . ., t m )
which completes the proof. Now we are able to give an isomorphic representation of the subgroup G ( N / B ) .
Theorem (2.3). Let B be an ( m , n ) and N a n ( m , r ) integer matrix with rank(B) = m. Then we get G ( N / B )= G ( S * ( E ) ) ,
that means the group G ( N / B ) is isomorphic to the group G(S*(E)),where E : = WM UML and L:=S*(N,B)-' U(N,B)N,M : = S * ( N , B ) - 'U(N,B)B. Corollary (2.4).
0 : = UE S*(M)-'W,U, S*(N,B)-'U(fi,B) is an isomorphism from G ( N / B ) to G ( S * ( E ) ) . Corollary (2.5). The order of G ( N / B )equals
inv (B) det (S*(N,B)) Proof of Theorem (2.3). Let K be a unimodular matrix, so that N K is up to permutations of rows in Hermite normal form. Let N be the matrix NK without the zero columns. Obviously we have G ( N / B )= G ( N / B ) .Let
{ N ) : = { x ~ ~ m / x = Nfor y a
~ E Z ' }
be a subgroup of (Z"', + ). Because h, : {N}+ he ({R})is a homomorphism (Proposition 1.3) G ( N / B )is isomorphic to the factor group
A. Bachem
8
{I?}/ kern el (he)
1
where kernel(hB)= {x E {I?} x = 0 mod B}. With Theorem (2.1) we conclude
1
kernel(hB)= {x E Z" x = Ny, y = 0 modKMWMUMLfor a y E Z'}. Let Then
f:= S*(M)-'W,U,BL-'. f
:(R}+Zk
is an isomorphism and f (kernel(he)) = { z E Z'
I z = 0 mod WMUML}.Thus we get
{I?}/kernel(h,) = Z k/kernel(&) and because UE is also an isomorphism we get the isomorphism G(N/B) = G(S*(E)). The corollaries follow immediately from Theorem (2.3) in conjunction with Theorem (2.2).
3. Partitioning of integer programs over cones
The computational effort to solve the problem min c ' x s.t. Nx + By = b x E N', y E Z" usually grows rapidly according to the determinant of B. It is therefore sometimes advantageous to decompose the problem into smaller subproblems and to link the optima of the subproblems to a solution of the masterproblem. We give now two examples of decomposing problem (3.1) in case the matrix N is of the form
=IN1
N =
or
I
0
. . N,
A l , .. . ......, A, N,
b=
N=
0
N,
(3.3)
Reduction and decomposition of integer programs
9
To simplify notation let B = S * ( B ) ,i.e. B is given as a diagonal matrix. (Otherwise we have to impose some special structure on UB.) Let us denote the set of feasible solutions of problem (3.1) by
1
SG(N, b/B):={x E N ‘ Nx - b E kernel(h,)}. Let N be an (m,r ) integer matrix of form (3.2), let b,(x):=he(b - N,x),,, where I, corresponds to the row indices of the submatrix N, and let us denote by if bz(y)e G(N, /B,,), minc:x, x E SG(N,,b,(y)/B,) otherwise, the optimal value of the subproblems. z(b,(y)): =
[
Proposition (3.4). The programs
min c’x x E SG(N, b/B),
(3.5)
are equivalent. Proof. Let r, (y) be the minimard corresponding to the optimal value z (b,(y)). Let y be optimal in (3.6) and assume that there is an f E S G ( N , b/B), ( i #x:=(y, r2(y), . . ., r,(y)) such that c ‘ f < c’x. Let f : =( f l , P 2 , . . ., P,), where 9, are the components corresponding to N,. Because f, are feasible, we get c :P,
3
min c,x, = c’X, X,
E S G (Nn, b, (9‘ )/B,,)
and the contradiction c‘P 3 c l j l
i = 2 , ..., r
+2 c:P, a c ’ x = min =z I
I
ciy
+ 2 .z(b,(y))l y E N ) 1=2
proves one part of the proposition, however the reverse direction is trivial. Let again N be an ( m , r ) integer matrix which has form (3.3) and define zl(xz,.. .,x,):=minc,x, s.t.
z,(xi,. . .,x,):=mincix, + zi-,(xi, . . .,x,) x , E S G ( N i , b i / B , , ) , i = 2 ,..., r, as the optimal value of the subproblems.
10
A. Bachem
Proposition (3.5). The programs min c’x x E S G ( N ,b l B )
and
min c,x, X,
+ z,-](x,)
E S G (Nr, br/Br,)
are equivalent. Proof. If we denote by
c’X:= min c’x x E SG(N, b l B )
we obviously get c , f l = min clxl
which yields in the same way
€or all i > 1, because
implies
So we get the result
c’X
= min c,x,
+ Z,-~(X,)
x, E S G ( N , b , l B ) ,
which completes the proof. The computational experience with algorithms canonically based on Propositions (3.4) and (3.5) is up to now limited to some of the Bradley-Wahi [l]test examples, which have determinants greater than 1,000,000.The results are very promising in the sense that it is possible to solve “cone problems” of such large order. The complete computational results together with comparisons of existing group algorithms will be the subject of a following paper.
Reduction and decomposition of integer programs
11
Acknowledgment. I wish to acknowledge the interesting discussions I had with E.L. Johnson on the subject of this paper. The paper has been revised substantially while he was a visiting professor at the University of Bonn.
References [ l ] G.H. Bradley and P.N. Wahi, Integer Programming Test Problems, Report No. 28, Yale University, New Haven, December 1969. [2] L. Comtet, Advances Combinatorics (Reidel, Dordrecht, 1974). [3] R.E. Gomory, On the Relation between Integer and Non Integer Solutions to Linear Programs, Proc. Nat. Acad. Sci. 53 (1965) 260-265. [4] M. Marcus and E.E. Underwood, A Note on the Multiplicative Property of the Smith Normal Form, J. of Res. of the Nat. Bureau of Standards-B., 76B (1972) 205-206. [5] M. Newman, Integral Matrices (Academic Press, New York, 1972). [6] M. Newman, The Smith Normal Form of a Partitioned Matrix, J. of Res. of the Nat. Bureau of Standards-B, Vol. 78B (1974) 3-6.