OptIntro 1 / 39 Integer Programming: Cutting Planes Eduardo Camponogara Department of Automation and Systems Engineering Federal University of Santa Catarina October 2016
OptIntro 2 / 39 Summary Introduction Theory of Valid Inequalities
OptIntro 3 / 39 Introduction Summary Introduction Theory of Valid Inequalities
OptIntro 4 / 39 Introduction Introduction Agenda Study of cutting-plane algorithms that add valid inequalities to the linear relaxation until an integer solution is obtained. Gomory cuts, which can be applied to any integer linear program (or mixed-integer). Cuts that are specialized for specific problems.
OptIntro 5 / 39 Introduction Introduction to cutting planes Introduction to Cutting Planes Integer Problem The integer problem in general form: IP : max{c T x : x X }, where X = {x : Ax b, x Z n +} Proposition conv(x ) = {x : Ãx b, x 0} is a polyhedron.
OptIntro 5 / 39 Introduction Introduction to cutting planes Introduction to Cutting Planes Integer Problem The integer problem in general form: IP : max{c T x : x X }, where X = {x : Ax b, x Z n +} Proposition conv(x ) = {x : Ãx b, x 0} is a polyhedron.
OptIntro 6 / 39 Introduction Introduction to cutting planes Introduction to Cutting Planes The result above states that IP can be reformulated as a linear programming problem: LP : max{c T x : Ãx b, x 0} Notice that any extreme point of this LP is an optimal solution of IP. For some problems, such as the network flow problem, a complete description of conv(x ) is known.
OptIntro 7 / 39 Introduction Introduction to cutting planes Introduction to Cutting Planes In general, and particularly for NP-Hard problems, there is no hope of finding a complete description of conv(x ). In other situations, such a description can contain an exponential number of constraints/inequalities. Given an NP-Hard problem, here the concern is on finding an approximation for conv(x ). An approximation will be constructed gradually, by adding valid and nontrivial inequalities, preferably inequalities that touch the polyhedron that describes conv(x ).
OptIntro 7 / 39 Introduction Introduction to cutting planes Introduction to Cutting Planes In general, and particularly for NP-Hard problems, there is no hope of finding a complete description of conv(x ). In other situations, such a description can contain an exponential number of constraints/inequalities. Given an NP-Hard problem, here the concern is on finding an approximation for conv(x ). An approximation will be constructed gradually, by adding valid and nontrivial inequalities, preferably inequalities that touch the polyhedron that describes conv(x ).
OptIntro 8 / 39 Introduction Introduction to cutting planes Introduction to Cutting Planes Valid Inequalities An inequality π T x π 0 is valid for X R n if π T x π 0 for all x X. Issues a) Which inequalities are useful? b) If we know a family of valid inequalities for a given problem, how can we use them effectively?
OptIntro 8 / 39 Introduction Introduction to cutting planes Introduction to Cutting Planes Valid Inequalities An inequality π T x π 0 is valid for X R n if π T x π 0 for all x X. Issues a) Which inequalities are useful? b) If we know a family of valid inequalities for a given problem, how can we use them effectively?
OptIntro 9 / 39 Summary Introduction Theory of Valid Inequalities
OptIntro 10 / 39 Introduction to Cutting Planes Topics Examples of valid inequalities expressing logic conditions will be presented.
OptIntro 11 / 39 Pure 0-1 Set Pure 0-1 Set The feasible set X for a 0-1 knapsack problem is given by: X = {x B 5 : 3x 1 4x 2 + 2x 3 3x 4 + x 5 2} For x 2 = x 4 = 0, we have the inequality: 3x 1 + 2x 3 + x 5 2 which becomes impossible to meet. Thus, we conclude that a solution must satisfy: x 2 + x 4 1
OptIntro 11 / 39 Pure 0-1 Set Pure 0-1 Set The feasible set X for a 0-1 knapsack problem is given by: X = {x B 5 : 3x 1 4x 2 + 2x 3 3x 4 + x 5 2} For x 2 = x 4 = 0, we have the inequality: 3x 1 + 2x 3 + x 5 2 which becomes impossible to meet. Thus, we conclude that a solution must satisfy: x 2 + x 4 1
OptIntro 11 / 39 Pure 0-1 Set Pure 0-1 Set The feasible set X for a 0-1 knapsack problem is given by: X = {x B 5 : 3x 1 4x 2 + 2x 3 3x 4 + x 5 2} For x 2 = x 4 = 0, we have the inequality: 3x 1 + 2x 3 + x 5 2 which becomes impossible to meet. Thus, we conclude that a solution must satisfy: x 2 + x 4 1
OptIntro 12 / 39 Pure 0-1 Set Pure 0-1 Set If x 1 = 1 and x 2 = 0, the following inequality results: which cannot be satisfied. Thus: 2x 3 3x 4 + x 5 5 x 1 x 2 is a valid inequality, which can be introduced in the formulation of X.
OptIntro 12 / 39 Pure 0-1 Set Pure 0-1 Set If x 1 = 1 and x 2 = 0, the following inequality results: which cannot be satisfied. Thus: 2x 3 3x 4 + x 5 5 x 1 x 2 is a valid inequality, which can be introduced in the formulation of X.
OptIntro 13 / 39 Pure 0-1 Set Pure 0-1 Set From the above derivations, we can propose a revised formulation for the problem at hand: X = {x B 5 : 3x 1 4x 2 + 2x 3 3x 4 + x 5 2 x 2 + x 4 1 x 1 x 2 }
OptIntro 14 / 39 Mixed-Integer 0-1 Set Mixed-Integer 0-1 Set An example of mixed-integer (continuous and discrete) set of solutions X is: X = {(x, y) : x 9999y, 0 x 5, y B} It is easy to verify the validity of the inequality x 5y.
OptIntro 14 / 39 Mixed-Integer 0-1 Set Mixed-Integer 0-1 Set An example of mixed-integer (continuous and discrete) set of solutions X is: X = {(x, y) : x 9999y, 0 x 5, y B} It is easy to verify the validity of the inequality x 5y.
OptIntro 15 / 39 Mixed-Integer 0-1 Set Mixed-Integer 0-1 Set Consider the set: X = {(x, y) : 0 x 10y, 0 x 14, y Z + } We can verify the validity of the inequality: x 14 4(2 y)
OptIntro 16 / 39 Mixed-Integer 0-1 Set Mixed-Integer 0-1 Set y 3 x <= 6 + 4y 2 (14,2) x <= 10y 1 (10,1) 2 4 6 8 10 12 14 16 x
OptIntro 17 / 39 Combinatorial Set Combinatorial Set Let X be the set of incidence vectors for the matching problem: X = {x Z E + : x e 1 for all i V } where: e δ(i) G = (V, E) is an undirected graph; δ(i) = {e E : e = (i, j) for some j V }.
OptIntro 18 / 39 Combinatorial Set Combinatorial Set Let T V be any edge set of odd cardinality. The number of edges having both ends in T is at most ( T 1)/2, therefore we obtain the inequality: e E(T ) x e T 1 2
OptIntro 19 / 39 Combinatorial Set Combinatorial Set conv(x ) can be obtained by adding all inequalities of the family above. That is, conv(x ) is precisely the polyhedron given by: {x R E + : e δ(i) e E(T ) x e 1 x e i V T 1 2 T V, T odd and T 3}
OptIntro 19 / 39 Combinatorial Set Combinatorial Set conv(x ) can be obtained by adding all inequalities of the family above. That is, conv(x ) is precisely the polyhedron given by: {x R E + : e δ(i) e E(T ) x e 1 x e i V T 1 2 T V, T odd and T 3}
OptIntro 20 / 39 Integer Rounding Integer Rounding Consider the regions: X = P Z 4 and P = {x R 4 + : 13x 1 + 20x 2 + 11x 3 + 6x 4 72} Dividing the inequality by 11, we obtain the following valid inequality for P: 13 11 x 1 + 20 11 x 2 + 11 11 x 3 + 6 11 x 4 72 11
OptIntro 20 / 39 Integer Rounding Integer Rounding Consider the regions: X = P Z 4 and P = {x R 4 + : 13x 1 + 20x 2 + 11x 3 + 6x 4 72} Dividing the inequality by 11, we obtain the following valid inequality for P: 13 11 x 1 + 20 11 x 2 + 11 11 x 3 + 6 11 x 4 72 11
OptIntro 21 / 39 Integer Rounding Integer Rounding Since x 0, we can round the coefficients of x to the nearest integer: 13 11 x 1 + 20 11 x 2 + x 3 + 6 11 x 4 72 11 = 2x 1 + 2x 2 + x 3 + x 4 72 11 = 2x 1 + 2x 2 + x 3 + x 4 72 11 = 2x 1 + 2x 2 + x 3 + x 4 7 Notice that an integer greater or equal to 6 + 6 11 equal to 7. must be greater or
OptIntro 21 / 39 Integer Rounding Integer Rounding Since x 0, we can round the coefficients of x to the nearest integer: 13 11 x 1 + 20 11 x 2 + x 3 + 6 11 x 4 72 11 = 2x 1 + 2x 2 + x 3 + x 4 72 11 = 2x 1 + 2x 2 + x 3 + x 4 72 11 = 2x 1 + 2x 2 + x 3 + x 4 7 Notice that an integer greater or equal to 6 + 6 11 equal to 7. must be greater or
OptIntro 22 / 39 Mixed-Integer Rounding Mixed-Integer Rounding Consider the example above with the addition of a continuous variable. Let X = P (Z 4 R) where: P = {(y, s) R 4 + R + : 13y 1 + 20y 2 + 11y 3 + 6y 4 + s 72} Dividing the inequality by 11, we obtain 13 11 y 1 + 20 11 y 2 + 11 11 y 3 + 6 11 y 4 + s 11 72 13 11 y 1 + 20 11 y 2 + 11 11 y 3 + 6 11 y 4 72 s 11 11 =
OptIntro 22 / 39 Mixed-Integer Rounding Mixed-Integer Rounding Consider the example above with the addition of a continuous variable. Let X = P (Z 4 R) where: P = {(y, s) R 4 + R + : 13y 1 + 20y 2 + 11y 3 + 6y 4 + s 72} Dividing the inequality by 11, we obtain 13 11 y 1 + 20 11 y 2 + 11 11 y 3 + 6 11 y 4 + s 11 72 13 11 y 1 + 20 11 y 2 + 11 11 y 3 + 6 11 y 4 72 s 11 11 =
OptIntro 23 / 39 Mixed-Integer Rounding Mixed-Integer Rounding We can observe that: 2y 1 + 2y 2 + y 3 + y 4 72 11 = 7 se s = 0 2y 1 + 2y 2 + y 3 + y 4 72 6 11 = 6 se s = 6 This suggests the following valid inequality: 2y 1 + 2y 2 + y 3 + y 4 + αs 7 for some α. The above inequality is valid for α 1 6.
OptIntro 24 / 39 Theory of Valid Inequalities Summary Introduction Theory of Valid Inequalities
OptIntro 25 / 39 Theory of Valid Inequalities Theory of Valid Inequalities The concepts on valid inequalities will be investigated in more depth.
OptIntro 26 / 39 Theory of Valid Inequalities Valid Inequalities for Linear Programs Valid Inequalities for Linear Programs Consider the polyhedron: P = {x : Ax b, x 0} and the inequality: π T x π 0. Is the inequality (π, π 0 ) valid for P?
OptIntro 26 / 39 Theory of Valid Inequalities Valid Inequalities for Linear Programs Valid Inequalities for Linear Programs Consider the polyhedron: P = {x : Ax b, x 0} and the inequality: π T x π 0. Is the inequality (π, π 0 ) valid for P?
OptIntro 27 / 39 Theory of Valid Inequalities Valid Inequalities for Linear Programs Valid Inequalities for Linear Programs Proposition π T x π 0 is valid for P = {x : Ax b, x 0} if, and only if, a) there exists u 0 and v 0 such that u T A v T = π T and u T b π 0, or b) there exists u 0 such that u T A π T and u T b π 0.
OptIntro 28 / 39 Theory of Valid Inequalities Valid Inequalities for Linear Programs Valid Inequalities for Linear Programs Proof (b) If there exists u 0 such that u T A π T and u T b π 0, then any x P, Ax b = u T Ax u T b = π T x u T Ax u T b π 0 = (π, π 0 ) is a valid inequality.
OptIntro 29 / 39 Theory of Valid Inequalities Valid Inequalities for Integer Programs Valid Inequalities for Integer Programs Proposition The inequality y b is valid for X = {y Z : y b}.
OptIntro 30 / 39 Theory of Valid Inequalities Valid Inequalities for Integer Programs Valid Inequalities for Integer Programs Example We can use the proposition above to generate valid inequalities for the polyhedron given by the following inequalities: 7x 1 2x 2 14 x 2 3 2x 1 2x 2 3 x 0, x integer
OptIntro 31 / 39 Theory of Valid Inequalities Valid Inequalities for Integer Programs Valid Inequalities for Integer Programs Example i) Multiplying the constraint by a vector of nonnegative values u = ( 2 7, 37 63, 0), we obtain a valid inequality: 2x 1 + 1 63 x 2 121 21 ii) Reducing the coefficients on the left-hand side to the nearest integer, we obtain: 2x 1 + 0x 2 121 21
OptIntro 31 / 39 Theory of Valid Inequalities Valid Inequalities for Integer Programs Valid Inequalities for Integer Programs Example i) Multiplying the constraint by a vector of nonnegative values u = ( 2 7, 37 63, 0), we obtain a valid inequality: 2x 1 + 1 63 x 2 121 21 ii) Reducing the coefficients on the left-hand side to the nearest integer, we obtain: 2x 1 + 0x 2 121 21
OptIntro 32 / 39 Theory of Valid Inequalities Valid Inequalities for Integer Programs Valid Inequalities for Integer Programs Example iii) Since the left-hand side assumes integer values, we can reduce the right-hand side to the nearest integer, leading to another inequality: 2x 1 121 21 = 5 = x 1 5 2 = x 1 2
OptIntro 33 / 39 Theory of Valid Inequalities Chvátal-Gomory Procedure Chvátal-Gomory Procedure The CG (Chvátal-Gomory) procedure formalizes the steps followed above, to generate all valid inequalities of an integer program. Let X = P Z n be a set of solutions where: P = {x R n + : Ax b} is a polyhedron, and A R m n is a matrix with columns {a 1, a 2,..., a n }.
OptIntro 33 / 39 Theory of Valid Inequalities Chvátal-Gomory Procedure Chvátal-Gomory Procedure The CG (Chvátal-Gomory) procedure formalizes the steps followed above, to generate all valid inequalities of an integer program. Let X = P Z n be a set of solutions where: P = {x R n + : Ax b} is a polyhedron, and A R m n is a matrix with columns {a 1, a 2,..., a n }.
OptIntro 34 / 39 Theory of Valid Inequalities Chvátal-Gomory Procedure Chvátal-Gomory Procedure Given u R m +, the procedure consists of the following steps: Step 1: the inequality: n u T a j x j u T b j=1 is valid for P because u 0 and n j=1 a j x j b.
OptIntro 35 / 39 Theory of Valid Inequalities Chvátal-Gomory Procedure Chvátal-Gomory Procedure Step 2: The inequality: n u T a j x j u T b j=1 is valid for P since x 0.
OptIntro 36 / 39 Theory of Valid Inequalities Chvátal-Gomory Procedure Chvátal-Gomory Procedure Step 3: The inequality n u T a j x j u T b j=1 is valid for P since x is integer and further because n u T a j x j is integer. j=1
OptIntro 37 / 39 Theory of Valid Inequalities Chvátal-Gomory Procedure Chvátal-Gomory Procedure Important The fact that the CG procedure can yield all valid inequalities of an integer program is of major relevance.
OptIntro 38 / 39 Theory of Valid Inequalities Chvátal-Gomory Procedure Chvátal-Gomory Procedure Theorem Every valid inequality for X can be obtained by applying the Chvátal-Gomory procedure for a finite number of times.
OptIntro 39 / 39 Theory of Valid Inequalities Chvátal-Gomory Procedure Cutting Planes Thank you for attending this lecture!!!