Integer Programming and Totally
unimodular matrices
Carlo Mannino
(from Geir Dahl and Carlo Mannino notes)
Integer Programming
max {cTx: xP Zn }
PI = conv(P Zn ) convex hull of integer points in P is a polyhedron
max {cTx: xP Zn } = max {cTx: x PI} max {cTx: x P} = UB
linear relaxation P Rn polyhedron Integer Programming P P PI P is called integral if P = PI
Characterizing integer polyhedra
Let P Rn be a non-empty polyhedron. The following statements are equivalent:
(i) P is integral.
(ii) Each minimal face of P contains an integral vector.
(iii) max {cTx: xP} is attained for an integral vector for each cRn for which the maximum is finite.
Furthermore, if P is pointed, then P is integral if and only if each vertex is integral.
Exposed faces
asda
Let P = {xRn : Ax ≤ b} be a polyhedron, with ARm,n . A
non-empty set F is an exposed face (=face) of P if and only if F = {xP: A’x = b’ }
for some subsystem A’x ≤ b’ of Ax ≤ b.
Proposition :
The following is an important fact (Proposition 4.4.6 from Geir Dahl’s notes An introduction to convexity)
Totally unimodular matrices
ARm,n is totally unimodular (TU) if the determinant of each square submatrix is either -1, 0 or 1.
Obs: every element of A must be -1, 0 or 1
Let ARm,n be TU and let bRm be an integral vector. Then the polyhedron P = {x Rn : Ax b} is integral.
Proposition 2.5
Cramer’s Rule to compute the inverse matrix : C non-singular square matrix
Cij obtained from C by deleting row i and column j
C-1 inverse of C (j,i) element of C-1 = (-1)i+j det(Cij)/det(C)
Proof of Theorem 2.5
Let F={x Rn : A’x = b’} be a minimal face of P (where {A’x b’ } is a subsystem of {Ax b })
We can assume the rows in {A’x = b’} be linearly independent.
Then A’ contains a m’m’ nonsingular submatrix B such that A’= [B N] x F, then x = [xB , xN] xB = B-1b’, x
N = 0.
B-1 and b’ integers xB integer F contains an integer point P integer polyhedron
Preserving total unimodularity
Matrix operations preserving total unimodularity
transpose
augmenting with the identity matrix multiplying a column or a row by -1
interchanging two rows or two columns duplication of rows and columns
Totally unimodular matrices and duality
Let ARm,n be TU and bRm, cRn integral vectors. Then each of the dual LP problems in the dual optimal relation: max{cTx: Ax b} = min{bTy: ATy=c, y0}
has an integral optimal solution
Characterizing totally unimodular matrices
A{0,1,-1}m,n is TU iff for each I{1,…,I} there is a partition I1, I2 of I such that
Theorem 2.9: Ghouila-Houri characterization
. , , 1 for 1 2 1 n j a a I i ij I i ij
Since the transpose of a TU matrix is also TU, the Ghouila-Houri property holds for columns as well.
Node-edge incidence matrices
G = (V,E) undirected graph.
AGRV,E node-edge incidence matrix of G e5 1 5 2 3 e1 4 e2 e3 e4 1 0 1 0 0 0 1 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 e1 e2 e3 e4 e5 1 2 3 4 5
AG is TU if and only if G is bipartite.
Proposition 2.10:
G = (V,E) is bipartite if there is a partition I1 ,I2 of V such that every edge has one endpoint in I1 and the other endpoint in I2
column edge
Proof of proposition 2.12
Let I V be a subset of rows of AG. Let I’1 = I I1 and I’2 = I I2
e5 1 5 2 3 e1 4 e2 e3 e4 1 0 1 0 0 0 1 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 e1 e2 e3 e4 e5 1 2 3 4 5 I’1 I’2 + - - = 1 0 0 -1 -1 Let ae be the sum associated to e = (u,v)
.
|
,|
,
1
for
1
' 2 ' 1E
i
a
a
I i ij I i ij
We show that:Then ae = 0 if u I’1 and v I’2 ae = 1 if u I’1 and v I
ae = -1 if u I and v I’2 Proof. If
Proof of proposition 2.12
If G non bipartite G contains an odd cycle C (show it!) AC submatrix of AG associated to nodes and edges of C Proof. Only If 1 3 2 5 4 1 0 0 0 1 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 1 2 3 4 5 AC circulant matrix (after reordering)
Some interesting dual pairs
Let G be a bipartite graph AG its incidence matrix. Then each of the dual problems in the dual optimal relation: max{1Tx: AGx 1} = min{yT1: yTAG 1, y0}
have integer optimal solution
Corollary
The above linear programs have a nice combinatorial interpretation The primal corresponds with finding a maximum cardinality matching
The dual corresponds with finding a minimum cardinality node cover
Matching
G = (V,E) undirected graph.
Matching M E: subset of edges meeting each node at most once x{0,1}E incidence vector of matching in G x(
(v)) 1 for all v Ve5 1 5 2 3 e1 4 e2 e3 e4 x1 + x2 + x3 1 x4 + x5 1
(1)
(2) x1 1 x2 + x4 1
(3)
(4) x3 + x5 1
(5) AGx 1Maximum Cardinality Matching = max{1Tx: AGx 1, x {0,1}E}
max{1Tx: AGx 1, x 0} LP!
Node Cover
G = (V,E) undirected graph.
Node cover C: subset of nodes meeting each edge at least once
y{0,1}V incidence vector of node cover in G yu + yv 1 for all uv E
e5 1 5 2 3 e1 4 e2 e3 e4 y1 + y3 1 y1 + y4 1 e1 e2 y1 + y5 1 y2 + y4 1 e3 e4 y2 + y5 1 e5 yTAG 1
Minimum Cardinality Node Cover = min{yT1: yTAG 1, y {0,1}V } min{yT1: yTAG 1, y0} LP!
Some interesting dual pairs
The primal is the maximum cardinality node packing (stable set)
The dual is the minimum cardinality edge cover.
The cardinalities of such sets coincide in bipartite graphs (Konig’s covering theorem).
Let G be a bipartite graph AG its incidence matrix. Then each dual problems in the dual optimal relation:
have integer optimal solution
Corollary } 0 , 1 : 1 min{ } 0 , 1 : 1 max{ T y AGTy y xT xTAGT T x
Edge Cover
G = (V,E) undirected graph.
Edge Cover C E: subset of edges meeting each node at least once x{0,1}E incidence vector of edge cover in G x(
(v)) 1 for all v Ve5 1 5 2 3 e1 4 e2 e3 e4 x1 + x2 + x3 1 x4 + x5 1
(1)
(2) x1 1 x2 + x4 1
(3)
(4) x3 + x5 1
(5)Minimum Cardinality Edge Cover =
LP! G bipartite AG is TU
=
} } 1 , 0 { , 1 : 1 min{xT xTAGT T x E } 0 , 1 : 1 min{ xT xTAGT T x T T G T A x 1Node Packing
G = (V,E) undirected graph.
Node packing S: subset of nodes meeting each edge at most once
y{0,1}V incidence vector node packing in G yu + yv 1 for all uv E
e5 1 5 2 3 e1 4 e2 e3 e4 y1 + y3 1 y1 + y4 1 e1 e2 y1 + y5 1 y2 + y4 1 e3 e4 y2 + y5 1 e5
Maximum Cardinality Node Packing =
LP! G bipartite AG is TU max{1 y :
=
ATy 1,y 0} G T } } 1 , 0 { , 1 : 1 max{ T y AGTy y V 1 y AGTNode-arc incidence matrices
D = (V,E) directed graph.
AGRV,E node-edge incidence matrix of G
AD is TU for any directed graph D.
Proposition 2.12:
column arc row node star
s 1 2 t 3 e3 e2 e1 e7 e4 e6 e5 1 0 0 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 s 2 3 4 t e1 e2 e3 e4 e5 e6 e7