Integer Programming and Totally unimodular matrices Carlo Mannino - - PowerPoint PPT Presentation

integer programming and totally unimodular matrices
SMART_READER_LITE
LIVE PREVIEW

Integer Programming and Totally unimodular matrices Carlo Mannino - - PowerPoint PPT Presentation

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


slide-1
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
SLIDE 2

Integer Programming

max {cTx: xP  Zn } PI = conv(P  Zn ) convex hull of integer points in P is a polyhedron max {cTx: xP  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
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: xP} is attained for an integral vector for each cRn 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
SLIDE 4

Exposed faces

asda Let P = {xRn : Ax ≤ b} be a polyhedron, with ARm,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. 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
SLIDE 5

Totally unimodular matrices

ARm,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 ARm,n be TU and let bRm 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
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
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
SLIDE 8

Totally unimodular matrices and duality

Let ARm,n be TU and bRm, cRn integral vectors. Then each of the dual LP problems in the dual optimal relation: max{cTx: Ax  b} = min{bTy: ATy=c, y0} has an integral optimal solution Corollary 2.6

slide-9
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
SLIDE 10

Node-edge incidence matrices

G = (V,E) undirected graph. AGRV,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
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

  • 1 -1

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

  • Proof. If
slide-12
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

  • Proof. Only If

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
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, y0} 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
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
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, y0} LP! G bipartite  AG is TU

=

slide-16
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
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
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
SLIDE 19

Node-arc incidence matrices

D = (V,E) directed graph. AGRV,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