Chapter 1. Reduction and Decomposition of Integer Programs Over Cones
Tải bản đầy đủ - 0trang
A. Bachem
2
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 ) .
A. Bachem
4
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
be a ( k , s - k ) partition of y , then we get
= ( y i , y:)'
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:=
E,.
i=k
By induction on i one can easily show that
1
diag(1,. . ., t i + l , .. ., t m ) y l = fi
fl Eiz
j=,
n
1
yz,
j=i
E,Z integer
is equivalent (for all i
(*1
=
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
f:= S*(M)-'W,U,BL-'.
Then
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
I
=IN1
N =
or
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
i = 2 , ..., r
min c,x, = c’X,
X,
E S G (Nn, b, (9‘ )/B,,)
and the contradiction
c‘P 3 c l j l
+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.
This Page Intentionally Left Blank