Mixed-integer cuts: Difference between revisions

From Cornell University Computational Optimization Open Textbook - Optimization Wiki
Jump to navigation Jump to search
m (Added section for cutting planes)
(Added Gomory Cuts, Cover Cuts, Conclusion, and References)
Line 6: Line 6:
== Cutting Planes ==
== Cutting Planes ==
The process to create cuts is to first take the mixed-integer problem and then relax the variables to a linear programming problem and tighten the problem through additional constraints such that extreme points of the feasible region are integers.
The process to create cuts is to first take the mixed-integer problem and then relax the variables to a linear programming problem and tighten the problem through additional constraints such that extreme points of the feasible region are integers.
== Gomory Cuts ==
Ralph Gomory sought out to solve mixed integer linear programming problems by using cutting planes in the late fifties and early sixties [1].
<math>
a_{i,j} x_j \leq b_i</math>
For a given knapsack inequality:
jaijxjbi    xj{0,1}
The gomory cut is defined as:
j⌊aij⌋xj⌊bi⌋
Using the simplex method with gomory cuts(fractional example):
1. Begin with LP in standard form for application of simplex method.
2. Apply simplex method until convergence, and select any nonintegerb∗iconstraint:∑ja∗ijxj=b∗i
3. Rewrite constraint using fractional partsfij=aij−[aij],fi=bi−[bi]:∑jf∗ijxj−f∗j= [b∗j]−∑j[a∗ij]xj
Heuristic for step 2: chooseb∗iwith largestf∗i.
4. Add new constraint∑jfijxj−fj≥0, with integer excess, to tableau.
5. Repeat steps 2-4 (using dual simplex) until all rhsb∗i’s are integers.
3 x1 + 3 2/5 x2 - 2/5 x3= 8 ¾
Cut:
2/5 x2 + 3/5 x3 >= ¾
-3 1/4 x1 + 2/5 x2 - 2/5 x3= 7 ⅚
Cut:
3/4 x1 + 2/5 x2 + 3/5 x3 >= 5/6
== Cover Cuts ==
For a given knapsack inequality:
jaijxjbi    xj{0,1}
Let CJ and jCaj>b
The cover inequality is:
jCxjC-1, xj{0,1}
Example:
Change numbers
Maximize Z = 11x1+6x2+6x3+5x4+5x5+4x6+x7<=19
Some minimal cover inequalities of Z are:
X1+x2+x3 <=2
X1+x2+x6 <=2
X1+x5+x6 <= 2
X3+x4+x5+x6 <=3
== Applications ==
== Conclusion ==
Mixed Integer Cuts allows for shorter computational time in solving mixed integer linear programs by refining the feasible region with linear inequalities. If the optimum found by solving the non-integer linear program is non-integer, a linear inequality can be determined to remove the solution from the feasible region leading to the convex hull.
== References ==
[1] Gomory Cuts revisited
Mixed integer nonlinear programming
Laurence A. Wolsey - Integer Programming

Revision as of 17:52, 21 November 2020

Author: Ryan Carr, Patrick Guerrette, Mark James (SysEn 5800 Fall 2020)

Introduction

In mixed-integer programming, mixed-integer cuts are additional constraints placed upon the problem in order to make the extreme points of the feasible region be integers as opposed to points with fractional values. These cuts reduce the feasible region, making the problem easier to solve. A mixed-integer problem can be reduced with mixed-integer cuts until its feasible region reaches the convex hull, where all extreme points of the feasible region are integers.

Cutting Planes

The process to create cuts is to first take the mixed-integer problem and then relax the variables to a linear programming problem and tighten the problem through additional constraints such that extreme points of the feasible region are integers.

Gomory Cuts

Ralph Gomory sought out to solve mixed integer linear programming problems by using cutting planes in the late fifties and early sixties [1].

For a given knapsack inequality:

jaijxjbi    xj{0,1}

The gomory cut is defined as:

j⌊aij⌋xj⌊bi⌋

Using the simplex method with gomory cuts(fractional example):

1. Begin with LP in standard form for application of simplex method.

2. Apply simplex method until convergence, and select any nonintegerb∗iconstraint:∑ja∗ijxj=b∗i

3. Rewrite constraint using fractional partsfij=aij−[aij],fi=bi−[bi]:∑jf∗ijxj−f∗j= [b∗j]−∑j[a∗ij]xj

Heuristic for step 2: chooseb∗iwith largestf∗i.

4. Add new constraint∑jfijxj−fj≥0, with integer excess, to tableau.

5. Repeat steps 2-4 (using dual simplex) until all rhsb∗i’s are integers.

3 x1 + 3 2/5 x2 - 2/5 x3= 8 ¾

Cut:

2/5 x2 + 3/5 x3 >= ¾

-3 1/4 x1 + 2/5 x2 - 2/5 x3= 7 ⅚

Cut:

3/4 x1 + 2/5 x2 + 3/5 x3 >= 5/6


Cover Cuts

For a given knapsack inequality:

jaijxjbi    xj{0,1}

Let CJ and jCaj>b

The cover inequality is:

jCxjC-1, xj{0,1}

Example:

Change numbers

Maximize Z = 11x1+6x2+6x3+5x4+5x5+4x6+x7<=19

Some minimal cover inequalities of Z are:

X1+x2+x3 <=2

X1+x2+x6 <=2

X1+x5+x6 <= 2

X3+x4+x5+x6 <=3


Applications

Conclusion

Mixed Integer Cuts allows for shorter computational time in solving mixed integer linear programs by refining the feasible region with linear inequalities. If the optimum found by solving the non-integer linear program is non-integer, a linear inequality can be determined to remove the solution from the feasible region leading to the convex hull.


References

[1] Gomory Cuts revisited

Mixed integer nonlinear programming

Laurence A. Wolsey - Integer Programming