Optimization - Lecture 5, Part 1 M. Pawan Kumar Slides available online
Integer Linear Programming Duality Integer Polyhedron Totally Unimodular Matrices Outline
Linear Program s.t. A x ≤ b max x c T x
Integer Linear Program s.t. A x ≤ b max x c T x x is an integer vector Every element of x is an integer
Integer Linear Program s.t. A x ≤ b max x c T x x ∈ Z n Every element of x is an integer
Example 4x 1 – x 2 ≤ 8 max x x 1 + x 2 2x 1 + x 2 ≤ 10 5x 1 - 2x 2 ≥ -2 x 1 ≥ 0 x 2 ≥ 0 s.t. x ∈ Z n
Example x 1 ≥ 0 x 2 ≥ 0
Example 4x 1 – x 2 = 8 x 1 ≥ 0 x 2 ≥ 0
Example 4x 1 – x 2 ≤ 8 x 1 ≥ 0 x 2 ≥ 0
Example 4x 1 – x 2 ≤ 8 2x 1 + x 2 ≤ 10 x 1 ≥ 0 x 2 ≥ 0
Example 4x 1 – x 2 ≤ 8 2x 1 + x 2 ≤ 10 5x 1 - 2x 2 ≥ -2 x 1 ≥ 0 x 2 ≥ 0
Example 4x 1 – x 2 ≤ 8 2x 1 + x 2 ≤ 10 5x 1 - 2x 2 ≥ -2 x 1 ≥ 0 x 2 ≥ 0 x ∈ Z n max x c T x (2,6) (3,4) (2,0)(0,0) (0,1)
Example 4x 1 – x 2 ≤ 8 2x 1 + x 2 ≤ 10 5x 1 - 2x 2 ≥ -2 x 1 ≥ 0 x 2 ≥ 0 x ∈ Z n max x c T x (2,6) (3,4) (2,0)(0,0) (0,1) Why?True in general?
Example 4x 1 – x 2 ≤ 8 2x 1 + x 2 ≤ 10 5x 1 - 2x 2 ≥ -2 x 1 ≥ 0 x 2 ≥ 0 x ∈ Z n max x c T x (2,6) (3,4) (2,0)(0,0) (0,1)
Example 4x 1 – x 2 ≤ 8 2x 1 + x 2 ≤ 10 5x 1 - 2x 2 ≥ -2 x 1 ≥ 0.5 x 2 ≥ 0 x ∈ Z n max x c T x (2,6) (3,4) (2,0)(0,0) (0,1)
Example 4x 1 – x 2 ≤ 8 2x 1 + x 2 ≤ 10 5x 1 - 2x 2 ≥ -2 x 1 ≥ 0.5 x 2 ≥ 0 x ∈ Z n max x c T x (2,6) (3,4) (2,0) (0.5,0) (0.5,2.25)
ILP are generally NP-hard Integer Linear Program Many combinatorial optimization problems “Easy” ILP = Easy optimization problem
Integer Linear Programming Duality Integer Polyhedron Totally Unimodular Matrices Outline
s.t. A x ≤ b max x c T x Question x ∈ Z n s.t. A x ≤ b max x c T x ≤ ≥ =
s.t. A x ≤ b max x c T x Answer x ∈ Z n s.t. A x ≤ b max x c T x ≤
s.t. A x ≤ b max x c T x Question x ∈ Z n s.t. A x ≤ b max x c T x ≤ s.t. A y = c min y b T y ≤ ≥ =
s.t. A x ≤ b max x c T x Answer x ∈ Z n s.t. A x ≤ b max x c T x ≤ s.t. A y = c min y b T y =
s.t. A x ≤ b max x c T x Question x ∈ Z n s.t. A x ≤ b max x c T x ≤ s.t. A y = c min y b T y = s.t. A y = c min y b T y y ∈ Z m ≤ ≥ =
s.t. A x ≤ b max x c T x Answer x ∈ Z n s.t. A x ≤ b max x c T x ≤ s.t. A y = c min y b T y = s.t. A y = c min y b T y y ∈ Z m ≥
s.t. A x ≤ b max x c T x Duality Relationship x ∈ Z n s.t. A x ≤ b max x c T x ≤ s.t. A y = c min y b T y = s.t. A y = c min y b T y y ∈ Z m ≥ ≤
s.t. A x ≤ b max x c T x Duality Relationship x ∈ Z n s.t. A x ≤ b max x c T x ≤ s.t. A y = c min y b T y = s.t. A y = c min y b T y y ∈ Z m ≥ ≤ Strict inequality for some problems
Integer Linear Programming Duality Integer Polyhedron Totally Unimodular Matrices Outline
4x 1 – x 2 ≤ 8 2x 1 + x 2 ≤ 10 5x 1 - 2x 2 ≥ -2 x 1 ≥ 0 x 2 ≥ 0 (2,6) (3,4) (2,0)(0,0) (0,1) All the vertices of P are integer vectors P Integer Polyhedron Integer polytope is a bounded integer polyhedron
4x 1 – x 2 ≤ 8 2x 1 + x 2 ≤ 10 5x 1 - 2x 2 ≥ -2 x 1 ≥ 0 x 2 ≥ 0 (2,6) (3,4) (2,0)(0,0) (0,1) P Integer Polyhedron Integer polyhedron need not be bounded All the vertices of P are integer vectors
4x 1 – x 2 ≤ 8 5x 1 - 2x 2 ≥ -2 x 1 ≥ 0 x 2 ≥ 0 (2,6) (3,4) (2,0)(0,0) (0,1) P Integer Polyhedron Integer polyhedron need not be bounded All the vertices of P are integer vectors
4x 1 – x 2 ≤ 8 5x 1 - 2x 2 ≥ -2 x 1 ≥ 0 x 2 ≥ 0 Integer polyhedron need not be bounded P Integer Polyhedron (2,0)(0,0) (0,1) All the vertices of P are integer vectors
4x 1 – x 2 ≤ 8 5x 1 - 2x 2 ≥ -2 x 1 ≥ 0 x 2 ≥ 0 Are all polyhedra integer polyhedra? P Question (2,0)(0,0) (0,1) All the vertices of P are integer vectors NO
4x 1 – x 2 ≤ 8 5x 1 - 2x 2 ≥ -2 x 1 ≥ 0.5 x 2 ≥ 0 Are all polyhedra integer polyhedra? P Question (2,0)(0,0) (0,1) All the vertices of P are integer vectors NO
4x 1 – x 2 ≤ 8 5x 1 - 2x 2 ≥ -2 x 1 ≥ 0.5 x 2 ≥ 0 Are all polyhedra integer polyhedra? Question (2,0) All the vertices of P are integer vectors NO (0.5,0) (0.5,2.25) P
Integer polyhedra are very useful ILP over Integer polyhedron is easy Integer Polyhedron Drop the integrality constraints, solve LP But how can we identify integer polyhedra?
Integer Linear Programming Duality Integer Polyhedron Totally Unimodular Matrices Outline
Totally Unimodular Matrix A is a TUM For all square submatrix A’ of A det(A’) is 0, +1 or -1
Question Is this a TUM? All elements must be 0, +1 or -1 NO
Question Is this a TUM? Determinant of the matrix = -2 NO
Question 1111 Is this a TUM? YES.
Question 1 1 Is this a TUM? YES.
Property A is a TUM b is an integer vector, b ∈ Z n Polyhedron P = {x | Ax ≤ b} P is an integer polyhedronProof?
Proof Sketch Let v be a vertex of P. A’ is a full-rank square submatrix of A b’ is the corresponding subvector of b A’v = b’Why?
Proof Sketch Let v be a vertex of P. A’ is a full-rank square submatrix of A b’ is the corresponding subvector of b A’v = b’ v = adj(A’)b’/det(A’) v is integer Integer+1 or -1
Totally Unimodular Matrix How can we identify if A is TUM? O((m+n) 3 ) algorithm. K. Truemper, 1990 We don’t want to identify easy problem instances We want to identify easy problems
Totally Unimodular Matrix Some types of matrices are TUM Easy to prove that they are TUM Corresponding problems are provably “easy” We will see that min-cut is one such problem
Questions?