Integer Programming and Totally unimodular matrices Carlo Mannino (from Geir Dahl and Carlo Mannino notes) University of Oslo, INF-MAT5360 - Autumn 2011 (Mathematical optimization)
Integer Programming P R n polyhedron Integer Programming P max { c T x : x P Z n } P I = conv( P Z n ) convex hull of integer points in P is a polyhedron max { c T x : x P Z n } = max { c T x : x P I } max { c T x : x P } = UB linear relaxation P is called integral if P = P I P I P
Characterizing integer polyhedra Proposition 2.2 : Let P R n 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 { c T x: x P } is attained for an integral vector for each c R n 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 The following is an important fact (Proposition 4.4.6 from Geir Dahl’s notes An introduction to convexity ) Proposition : Let P = {x R n : Ax ≤ b } be a polyhedron, with A R m , n . A non-empty set F is an exposed face (=face) of P if and only if F = { x P : A’x = b’ } for some subsystem A’x ≤ b’ of Ax ≤ b . asda If F is a vertex, then A’ R n , n
Totally unimodular matrices A R m , 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 Proposition 2.5 Let A R m,n be TU and let b R m be an integral vector. Then the polyhedron P = { x R n : Ax b } is integral. Proof. Cramer’s Rule to compute the inverse matrix : C non-singular square matrix C ij 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( C ij )/det( C )
Proof of Theorem 2.5 C TU and non-singular C -1 is integral (by Cramer’s rule) Let F ={ x R n : 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 = [ x B , x N ] x B = B - 1 b’, x N = 0. B - 1 and b’ integers x B 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 Corollary 2.6 Let A R m , n be TU and b R m , c R n integral vectors. Then each of the dual LP problems in the dual optimal relation: max{ c T x : Ax b } = min{ b T y : A T y = c, y 0} has an integral optimal solution
Characterizing totally unimodular matrices Theorem 2.9: Ghouila-Houri characterization A {0,1,-1} m , n is TU iff for each I {1 ,…, I } there is a partition I 1 , I 2 of I such that a a 1 for j 1 , , n . ij ij i I i I 1 2 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. A G R V , E node-edge incidence matrix of G e 1 e 2 e 3 e 4 e 5 1 e 5 5 1 1 1 0 0 column edge 2 0 0 0 1 1 e 4 2 row incident star 4 1 0 0 0 0 e 3 3 e 2 1 4 0 1 0 1 0 e 1 5 3 0 0 1 0 1 G = ( V , E ) is bipartite if there is a partition I 1 ,I 2 of V such that every edge has one endpoint in I 1 and the other endpoint in I 2 Proposition 2.10 : A G is TU if and only if G is bipartite.
Proof of proposition 2.12 Proof. If e 5 5 2 e 4 Let I V be a subset of rows of A G . 4 e 3 e 2 Let I’ 1 = I I 1 and I’ 2 = I I 2 1 e 1 3 a a 1 for i 1 , ,| E | . We show that: ij ij e 1 e 2 e 3 e 4 e 5 ' ' i I i I 1 2 I’ 1 1 + 1 1 1 0 0 0 0 0 1 1 2 Let a e be the sum associated to e = ( u , v ) 1 0 0 0 0 3 4 0 1 0 1 0 - I’ 2 Then a e = 0 if u I’ 1 and v I’ 2 5 - 0 0 1 0 1 a e = 1 if u I’ 1 and v I 1 0 0 -1 -1 = a e = -1 if u I and v I’ 2
Proof of proposition 2.12 Proof. Only If If G non bipartite G contains an odd cycle C (show it!) A C submatrix of A G associated to nodes and edges of C 3 1 1 1 0 0 0 0 1 1 0 0 2 A C circulant matrix 2 4 0 0 1 1 0 3 (after reordering) 4 0 0 0 1 1 5 1 0 0 0 1 1 5 One can easily show that : | det A C | = 2
Some interesting dual pairs Corollary Let G be a bipartite graph A G its incidence matrix. Then each of the dual problems in the dual optimal relation: max{1 T x : A G x 1} = min{ y T 1: y T A G 1 , y 0} have integer optimal solution 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
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 x 1 + x 2 + x 3 1 (1) e 5 5 2 x 4 + x 5 1 (2) e 4 A G x 1 e 3 4 x 1 1 (3) e 2 1 x 2 + x 4 1 (4) e 1 3 x 3 + x 5 1 (5) Maximum Cardinality Matching = max{1 T x : A G x 1, x {0,1} E } = G bipartite A G is TU max{1 T x : A G x 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 y u + y v 1 for all uv E y 1 + y 3 1 e 1 e 5 5 2 y 1 + y 4 1 e 4 e 2 y T A G 1 e 3 4 y 1 + y 5 1 e 3 e 2 1 y 2 + y 4 1 e 4 e 1 3 y 2 + y 5 1 e 5 Minimum Cardinality Node Cover = min{ y T 1: y T A G 1 , y {0,1} V } = G bipartite A G is TU min{ y T 1: y T A G 1 , y 0} LP!
Some interesting dual pairs Corollary Let G be a bipartite graph A G its incidence matrix. Then each dual problems in the dual optimal relation: T T T T T T max{ 1 y : A y 1 , y 0 } min{ x 1 : x A 1 , x 0 } G G have integer optimal solution 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 ).
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 x 1 + x 2 + x 3 1 (1) e 5 5 2 x 4 + x 5 1 (2) e 4 e 3 4 x 1 1 (3) T A T T x 1 e 2 G 1 x 2 + x 4 1 (4) e 1 3 x 3 + x 5 1 (5) Minimum Cardinality Edge Cover = T T T T E min{ x 1 : x A 1 , x { 0 , 1 } } = G G bipartite A G is TU T T T T LP! min{ x 1 : x A 1 , x 0 } G
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 y u + y v 1 for all uv E y 1 + y 3 1 e 1 e 5 5 2 y 1 + y 4 1 e 4 e 2 T A y 1 e 3 4 y 1 + y 5 1 e 3 e 2 G 1 y 2 + y 4 1 e 4 e 1 3 y 2 + y 5 1 e 5 T T V Maximum Cardinality Node Packing = max{ 1 y : A y 1 , y { 0 , 1 } } = G G bipartite A G is TU T T LP! max{ 1 y : A y 1 , y 0 } G
Node-arc incidence matrices D = ( V,E ) directed graph. A G R V , E node-edge incidence matrix of G e 1 e 2 e 3 e 4 e 5 e 6 e 7 e 1 1 e 4 s s 1 1 1 0 0 0 0 column arc e 2 e 5 2 1 0 0 1 1 0 0 2 t e 3 e 6 row node star 0 1 0 0 1 1 0 3 4 0 0 1 0 0 1 1 3 e 7 t 0 0 0 1 0 0 1 Proposition 2.12: A D is TU for any directed graph D.
Recommend
More recommend