SLIDE 1 Integer Programming and Totally unimodular matrices
Carlo Mannino (from Geir Dahl and Carlo Mannino notes)
University of Oslo, INF-MAT5360 - Autumn 2011 (Mathematical optimization)
SLIDE 2
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
SLIDE 3
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. Proposition 2.2:
SLIDE 4
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) If F is a vertex, then A’ Rn,n
SLIDE 5
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.
SLIDE 6
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’, xN = 0. B-1 and b’ integers xB integer F contains an integer point P integer polyhedron C TU and non-singular C-1 is integral (by Cramer’s rule)
SLIDE 7
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 …
SLIDE 8
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 Corollary 2.6
SLIDE 9 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.
SLIDE 10
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 1 1 1 1 1 1 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 row incident star
SLIDE 11 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 1 1 1 1 1 1 1 1 1 e1 e2 e3 e4 e5
1 2 3 4 5 I’1 I’2 +
1 0
Let ae be the sum associated to e = (u,v)
. | ,| , 1 for 1
' 2 ' 1
E 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
SLIDE 12 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
1 3 2 5 4
1 1 1 1 1 1 1 1 1 1
1 2 3 4 5
AC circulant matrix (after reordering) One can easily show that : |det AC| = 2
SLIDE 13
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 The cardinalities of such sets coincide! König-Egervary theorem
SLIDE 14
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 V
e5 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 1 Maximum Cardinality Matching = max{1Tx: AGx 1, x {0,1}E} max{1Tx: AGx 1, x 0} LP! G bipartite AG is TU
=
SLIDE 15
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! G bipartite AG is TU
=
SLIDE 16 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 } , 1 : 1 min{ } , 1 : 1 max{ x A x x y y A y
T T G T T T G T
SLIDE 17 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 V
e5 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 , { , 1 : 1 min{
E T T G T T
x A x x
} , 1 : 1 min{ x A x x
T T G T T
T T G TA
x 1
SLIDE 18 Node 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
=
} , 1 : 1 max{ y y A y
T G T
} } 1 , { , 1 : 1 max{
V T G T
y y A y 1 y A
T G
SLIDE 19 Node-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 1 1 1 1 1 1 1 1 1 1 1 1 1 s 2 3 4 t
e1 e2 e3 e4 e5 e6 e7