Integer Programming Chapter 9 University of Chicago Booth School of Business Kipp Martin October 25, 2017 1 / 40
Outline Key Concepts MILP Set Monoids LP set Relaxation of MILP Set Formulation Quality LP-R Sets LP-R and Finite Basis Theorems 2 / 40
Key Concepts MILP set Monoid LP set Relaxation of MILP Set Formulation Quality MILP-R set (LP) = (LP-R) (MILP) (MILP-R) Finite basis theorem and reformulation as an LP-R. 3 / 40
MILP Set The set of points defined by Γ Γ = {x R n : Ax b, x j Z, j I } (1) where A, B are rational matrices, b is a rational vector, and I {1, 2,..., n} is called an MILP (Mixed Integer Linear Program) set. This is the most generic formulation. 4 / 40
MILP Set Sometimes we write the problem as min c x (2) s.t. Ax = b (3) x 0 (4) x j {0, 1}, j B (5) x j Z, j I (6) In (2)-(4) we have a linear program in standard form. In (5) we add binary restrictions. In (6) we add general integer restrictions. 5 / 40
MILP Set A few classic applications that involve MILP sets. fixed charge constraints minimum batch size logical restrictions piecewise linear functions k of n alternative disjunctive constraints Interfaces articles the vast majority are mixed integer programming models 6 / 40
Monoids A monoid M R n is a set of vectors such that 0 M and if x, y M, then x + y M. A monoid is a set of vectors in R n that contains the zero vector and is closed under addition. The monoid M is an integral monoid if M Z n. The monoid M = {x Z n Ax 0} is a polyhedral monoid. Note the relationship between a polyhedral cone and a polyhedral monoid. The polyhedral monoid is an example of an MILP set. 7 / 40
Monoids The monoid M = {x Z n x = t i=1 µ ir i, µ i Z 1 +, i = 1,..., t} where {r 1,..., r t } is a set of integer vectors in Z n is called an integer cone and is often written M = intcone{r 1,..., r t }. Note the similarity between a finitely generated cone and an integer cone. 8 / 40
Monoids We know a polyhedral cone is finitely generated and a finitely generated cone is a polyhedral cone. If life were fair, a polyhedral monoid would be finitely generated and an integer cone would be a polyhedral monoid. So what do you think? Unfortunately, fair is the place where they display animals in summer and has absolutely nothing to do with the way life actually works! https://en.wikipedia.org/wiki/fair 9 / 40
Monoids It turns out that a polyhedral monoid is finitely generated (a result due to Hilbert). However, an integer cone is not necessarily a polyhedral monoid. Consider the set M = {x Z 1 x = 2µ, µ Z 1 +} 1. Is M an integer cone? 2. Is M a polyhedral monoid? 10 / 40
Monoids Here is a very interesting result due to Bob Jeroslow. Theorem (Jeroslow): Let Γ be a nonemtpy set of integer vectors that lie in cone(e) where E is a finite subset of Γ. Then there exists a finite subset V of Γ such that Γ V + intcone E. 11 / 40
Monoids Danger Ahead: Life is more difficult when integer variables are involved. 12 / 40
LP set Relaxation of MILP Set Given the MILP set Γ = {x R n : Ax b, x j Z, j I } where I {1, 2,..., n}. The LP set relaxation of the MILP set is Γ = {x R n : Ax b}. I dropped the x j Z, j I in the MILP to get the LP relaxation of the MILP. 13 / 40
LP set Relaxation of MILP Set: and replace with min x 1 x 2 s.t. x 1 + 2x 2 5 9x 1 + 4x 2 18 4x 1 2x 2 4 x 1, x 2 0 x 1, x 2 Z min x 1 x 2 s.t. x 1 + 2x 2 5 9x 1 + 4x 2 18 4x 1 2x 2 4 x 1, x 2 0 14 / 40
LP set Relaxation of MILP Set 15 / 40
Formulation Quality: Consider the following two sets of integer points. Γ = {(x 1, x 2, y) x 1 y, x 2 y, x 1, x 2, y {0, 1}}. Γ = {(x 1, x 2, y) x 1 + x 2 2y, x 1, x 2, y {0, 1}}. What are the points in each set and how do they differ? 16 / 40
Formulation Quality: Consider the following two sets of integer points. Γ = {(x 1, x 2, y) x 1 y, x 2 y, x 1, x 2, y {0, 1}}. y x 1 x 2 0 0 0 1 0 0 1 1 0 1 0 1 1 1 1 Γ has exactly the same set of points! 17 / 40
Formulation Quality: Consider the following linear relaxations. Γ = {(x 1, x 2, y) x 1 y, x 2 y, x 1, x 2, y 0, x 1, x 2, y 1}. Γ = {(x 1, x 2, y) x 1 + x 2 2y, x 1, x 2, y 0, x 1, x 2, y 1}. What are the points in each set and how do they differ? What about extreme points? 18 / 40
Formulation Quality: Γ is the convex hull of integer points in Γ. Not so for Γ y x 1 x 2 0 0 0 1 0 0 1 1 0 1 0 1 1 1 1 1/2 0 1 1/2 1 0 Important: Γ is a proper subset of Γ. It is a better relaxation. Why? 19 / 40
Formulation Quality: 20 / 40
Formulation Quality: THE BIG TAKE AWAY: Different polyhedra may contain exactly same set of integer points! THE BIG TAKE AWAY: Different polyhedra may contain exactly same set of integer points! THE BIG TAKE AWAY: Different polyhedra may contain exactly same set of integer points! WHAT IS THE BIG TAKE AWAY? 21 / 40
Formulation Quality: QUESTION: If different polyhedra may contain exactly same set of integer points, which polyhedron should we pick? 22 / 40
MILP-R Sets The (LP) sets: {S R n : S = {x R n : Ax b}} The (LP-R) sets: {S R n : S = proj x {(x, y) R n R p : Bx + Cy d}} The (MILP) sets: {S R n : S = {x R n : Ax b, x j Z, j I }} The (MILP-R) sets: {S R n : S = proj x {(x, y, z) R n R p Z q : Bx + Cy + Dz d}} 23 / 40
MILP-R Sets We know (LP) = (LP-R) and (LP) (MILP) and therefore (LP) = (LP-R) (MILP). We show that unlike (LP), where (LP) = (LP-R), we have (MILP) (MILP-R). 24 / 40
MILP-R Sets This example is due to Paul Williams. Consider the following MILP set (which is actually a polyhedral monoid) 7x 2y 0 3x + y 0 x, y Z Projecting out x (more on this later) gives 0 2 7 y + 1 3 y which is the set of points 0, 3, 6, 7, 9, 10, 12, 13,...,. Is this a MILP set? 25 / 40
MILP-R Sets We now have: (LP) = (LP-R) (MILP) (MILP-R) Unlike polyhedral cones and polyhedra, the projection of polyhedral monoids and MILP sets does not result in a polyhedral monoid or a MILP set. We now examine some MILP-R sets that do project down to MILP sets and are very useful for computational purposes. 26 / 40
LP-R and Finite Basis Theorems: Assume A is a rational matrix, b a rational vector, P = {x R n Ax b} and Γ = P Z n. Finite Basis Theorem: There exists a finite set V Γ and a finite set of integer vectors E such that Proof: Homework! Γ = V + intcone(e). (7) Note the relationship to the result of Jeroslow. The fact that Γ consists of the integer vectors in a polyhedron allows for equality in 7. Key Theme: Replace an infinite set of integer vectors with the Minkowski sum of a finite set of integer vectors and an integer cone (monoid). 27 / 40
LP-R and Finite Basis Theorems: An equivalent statement is Γ = V + M (8) where M is the polyhedral monoid {x Z n Ax 0}. Another result that will be very useful from a computational standpoint is conv(γ) = conv(v ) + cone(e). (9) 28 / 40
LP-R and Finite Basis Theorems: When P = {x R n Ax 0} then Γ = P Z n is a polyhedral monoid. Then the finite basis theorem is a finite basis result for polyhedral monoids, i.e. we have a finite sets of vectors V and E such that It follows that for E = V + E, Γ = V + intcone(e) Γ = intcone(e ). Question: Assume A is a rational matrix. Can we take the elements of E above to be the extreme rays of P scaled to be integer vectors? Homework! 29 / 40
LP-R and Finite Basis Theorems: Mix together integer and continuous variables: Mixed Integer Finite Basis Theorem: If Γ = {(x, y) Ax + By b, y Z p + }, (10) where A, B are rational matrices and b is a rational vector, then conv(γ) is a rational polyhedron. 30 / 40
LP-R and Finite Basis Theorems: Variation on a Theme Mixed Integer Finite Basis Theorem: If Γ = {x R n Bx d, x j Z, j I }, then conv(γ) is a polyhedron. Then there exist x 1,..., x r Γ such that conv(γ) = {x R n x = q z i x i + i=1 r i=q+1 z i x i, q z i = 1, z i 0, i = 1,..., r} (11) i=1 31 / 40
LP-R and Finite Basis Theorems: Critical Observation: conv(γ) is an LP set! Why? Here is what we have done. 1. Take a Γ MILP where Γ Γ 2. Found an LP-R set S where S = conv(γ) Why is this significant? 32 / 40
LP-R and Finite Basis Theorems: Absolutely Critical: Understand the differences between 1. Γ this is an MILP 2. Γ this is an LP 3. conv(γ) this is an LP-R In most interesting cases conv(γ) Γ. We want to find conv(γ) or a close approximation. 33 / 40
LP-R and Finite Basis Theorems: The mixed integer linear program under consideration is now min c x (MILP) s.t. Ax b Bx d x 0 x j Z, j I Objective: identify a set of constraints with special structure Γ = {x R n Bx d, x 0, x j Z, j I } and then use the special structure to improve the formulation. 34 / 40
LP-R and Finite Basis Theorems: Apply finite basis theorem to Γ min c x (conv(mip)) s.t. Ax b x conv(γ) min c x (MILPFB) s.t. Ax b q z i x i + r z i x i = x i=1 i=q+1 q z i = 1 i=1 z i 0, i = 1,..., r x j Z, j I 35 / 40
LP-R and Finite Basis Theorems: Options: Apply column generation to (MILPFB). Characterize conv(γ) with cutting planes. Lagrangian Approaches 36 / 40
LP-R and Finite Basis Theorems: min x 1 x 2 (MILP) s.t. x 1 x 2 2 (x 1, x 2 ) Γ where Γ is defined by Γ = {(x 1, x 2 ) 4x 1 + 9x 2 18, 2x 1 + 4x 2 4, x 1, x 2 Z + }. 37 / 40
LP-R and Finite Basis Theorems: Clearly conv(γ) is a polytope and is generated by taking the convex hull of the four points (0, 0), (4,0), (2,1) and (0, 1). An alternative formulation of (MILP) using the mixed integer finite basis theorem is min x 1 x 2 s.t. x 1 x 2 2 4z 2 + 2z 3 = x 1 z 3 + z 4 = x 2 z 1 + z 2 + z 3 + z 4 = 1 z i 0, i = 1,..., 4 x 1, x 2 Z + 38 / 40
LP-R and Finite Basis Theorems: If the auxiliary z variables are projected out, the resulting system of nonredundant constraints in the original (x 1, x 2 ) variables is x 1 x 2 2 (1/2)x 1 + x 2 2 x 2 1 x 1, x 2 Z + 39 / 40
LP-R and Finite Basis Theorems: 3 2.5 2 1.5 1 0.5 x 2-1 1 2 3 4 x 1 40 / 40