Mixed-integer cuts

From Cornell University Computational Optimization Open Textbook - Optimization Wiki
Jump to navigation Jump to search

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

Introduction

In mixed-integer programming, mixed-integer cuts are additional constraints placed upon linear programming problems in order to make the extreme points of the feasible region be integers as opposed to points with fractional values. Extreme points are the points of intersection between two limiting equations or cuts. 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.

Mixed-Integer Process

Mixed-integer programs (MIP) are difficult for machines to compute without more precise constraints, so the process for solving MIP is to first relax the constraints of the problem so that fractional units are allowed as in Linear Programming (LP) and then partition the problem into sub-problems (3). These sub-problems are determined by the cuts made to the feasible solution. The process to create cuts is to shrink the feasible region of the problem through additional constraints such that the extreme points of interest in the feasible region are the closest integers to the edges of the LP relaxed feasible region.

Convex hull in an LP relaxed problem
In the photo above, the feasible region of an LP relaxed problem is shown in yellow while the feasible region of that same problem in MILP is shown in green

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:

$ \sum_{j}a_{i,j} x_j \leq b_i \qquad x_j \in \{0,1\} $

The Gomory cut is defined as:

$ \sum_{j} \lfloor a_{i,j} \rfloor x_j \leq \lfloor b_i \rfloor $

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 non-integer $ b_i^* $constraint:

$ \sum_{j}a_{i,j}^*x_j=b_i^* $

3. Rewrite constraint using fractional parts $ f_{i,j}=a_{i,j}-[a_{i,j}], \quad f_i=b_i - [b_i] $:

$ \sum_{j}f_{i,j}^*x_j-f_j^*=b_j^*=[b_j^*]-\sum_{j}[a_{i,j}^*]x_j $

4. Add new constraint$ \sum_{j}f_{i,j}x_j-f_j\geq0 $, with integer excess, to tableau.

5. Repeat steps 2-4 until all right hand side $ b_i^* $'s are integers.


Example:

$ 3 x_1 + 4\frac{1}{5} x_2 - \frac{3}{5} x_3 = 8 \frac{1}{4} $

Cut:

$ \frac{4}{5} x_2 + \frac{2}{5} x_3 \geq \frac{1}{4} $


$ -3 \frac{3}{4} x_1 + 2 \frac{3}{5} x_2 - 1 \frac{1}{5} x_3 = 7 \frac{5}{6} $

Cut:

$ \frac{1}{4} x_1 + \frac{3}{5} x_2 + \frac{4}{5} x_3 \geq \frac{5}{6} $

Cover Cuts

The feasible region of a knapsack problem can be reduced using minimal cover inequalities. The short coming of the cut is that it does not reflect the weights of each item in the knapsack problem because the coefficients of the inequalities derived from the knapsack problem are fixed to 1 (2).

For a given knapsack inequality:

$ \sum_{j}a_{i,j} x_j \leq b_i \qquad x_j \in \{0,1\} $

Let $ C\subset J $ and $ \sum_{j\in C} a_j > b $

The cover inequality is:

$ \sum_{j \in C}x_j\leq |C| - 1, \quad x_j \in \{0,1\} $

Example:

Change numbers

$ \max Z = 12 x_1 + 5 x_2 + 7x_3 + 8x_4 + 3x_5 + 5x_6 + 6x_7 \leq 24 $

Some minimal cover inequalities of Z are:

$ x_1+x_2+x_4 \leq 2 $

$ x_1+x_3+x_4 \leq 2 $

$ x_1+x_4+x_6 \leq 2 $

$ x_2+x_3+x_4+x_6 \leq 3 $

Numerical Example

$ \max f = x_1 + x_2 $

$ s.t. \quad 3x_1 +2x_2 \leq 5 $

$ \qquad \quad x_2 \leq 2 $

$ \qquad \quad x_1,x_2 \geq 0 $

$ \qquad \quad x_1\in Z $

Convert to Standard Form:

$ \max f = x_1 + x_2 $

$ s.t. \quad 3x_1 + 2x_2 +s_1 = 5 $

$ \qquad \quad x_2 +s_2 =2 $

$ \qquad \quad x_1,x_2,s_1,s_2 \geq 0 $

$ \qquad \quad x_1 \in Z $

Initial Basic Feasible Solution:

$ s_1 = 5, s_2 = 2 $

Simplex Tableau Iteration 1
$ C_B $ $ Y_B $ $ X_B $ $ y_1 $ $ y_2 $ $ y_3 $ $ y_4 $
0 $ y_3 $ 5 3 2 1 0
0 $ y_4 $ 2 0 1 0 1

$ c_j = [ 1 \quad 1 \quad 0 \quad 0] $

$ f_j = [ 0 \quad 0 \quad 0 \quad 0] $

$ f_j - c_j = [ -1 \quad -1 \quad 0 \quad 0] $

Optimal solution not found

$ \min \{ \tfrac{5}{3}, \tfrac{2}{0} \} $

$ y_3 $ leaves the basis

Simplex Tableau Iteration 2

$ C_B $ $ Y_B $ $ X_B $ $ y_1 $ $ y_2 $ $ y_3 $ $ y_4 $
1 $ y_1 $ $ \tfrac{5}{3} $ 1 $ \tfrac{2}{3} $ $ \tfrac{1}{3} $ 0
0 $ y_4 $ 2 0 1 0 1

$ c_j = [ 1 \quad 1 \quad 0 \quad 0] $

$ f_j = [ 1 \quad \tfrac{2}{3} \quad \tfrac{1}{3} \quad 0] $

$ f_j - c_j = [ 0 \quad -\tfrac{1}{3} \quad \tfrac{1}{3} \quad 0] $

Optimal Solution not found

$ \min \{ \tfrac{5}{2}, 2 \} $

$ y_4 $ leaves the basis

Simplex Tableau Iteration 3

$ C_B $ $ Y_B $ $ X_B $ $ y_1 $ $ y_2 $ $ y_3 $ $ y_4 $
1 $ y_1 $ $ \tfrac{1}{3} $ 1 0 $ \tfrac{1}{3} $ $ -\tfrac{2}{3} $
1 $ y_2 $ 2 0 1 0 1

$ c_j = [ 1 \quad 1 \quad 0 \quad 0] $

$ f_j = [ 1 \quad 1 \quad \tfrac{1}{3} \quad \tfrac{1}{3}] $

$ f_j - c_j = [ 0 \quad 0 \quad \tfrac{1}{3} \quad \tfrac{1}{3}] $

Optimal Solution found:

$ x_1 = \tfrac{1}{3} \quad x_2 = 2 $

$ x_1 $ is not an integer Fractional part of $ x_1 $ is $ \tfrac{1}{3} $ Fractional part of $ x_2 $ is 0

$ \max \tfrac{1}{3} , 0 $ Gomory Cut will be made from $ y_1 $ of the Simplex Tableau

Let $ G_1 = -\tfrac{1}{3} + 0x_1 + 0x_2 + \tfrac{1}{3} s_1 + \tfrac{1}{3}s_2 $ Rewritten as $ -\tfrac{1}{3}s_1 - -\tfrac{1}{3}s_2 + G_1 = -\tfrac{1}{3} $

Simplex Tableau Iteration 4

$ C_B $ $ Y_B $ $ X_B $ $ y_1 $ $ y_2 $ $ y_3 $ $ y_4 $ $ G_1 $
1 $ y_1 $ $ \tfrac{1}{3} $ 1 0 $ \tfrac{1}{3} $ $ -\tfrac{2}{3} $ 0
1 $ y_2 $ 2 0 1 0 1 0
0 $ G_1 $ $ -\tfrac{1}{3} $ 0 0 $ -\tfrac{1}{3} $ $ -\tfrac{1}{3} $ 1

$ c_j = [ 1 \quad 1 \quad 0 \quad 0 \quad 0] $

$ f_j = [ 1 \quad 1 \quad \tfrac{1}{3} \quad \tfrac{1}{3} \quad 0] $

$ f_j - c_j = [ 0 \quad 0 \quad \tfrac{1}{3} \quad \tfrac{1}{3} \quad 0] $


Solution found, however the basic variable $ G_1 $ is negative. The solution is infeasible. $ \min \{x_{bi},x_{bi} < 0 \} $ $ G_1 $ leaves the basis

$ \max \{ \tfrac{f_j - c_j}{y_{bi}} , y_{bj} < 0 \} $ $ = \max\{-1,-1\} $ $ y_3 $ enters the basis

Simplex Tableau Iteration 5

$ C_B $ $ Y_B $ $ X_B $ $ y_1 $ $ y_2 $ $ y_3 $ $ y_4 $ $ G_1 $
1 $ y_1 $ 0 1 0 0 -1 1
1 $ y_2 $ 2 0 1 0 1 0
0 $ y_3 $ 1 0 0 1 1 -3

$ c_j = [ 1 \quad 1 \quad 0 \quad 0 \quad 0] $

$ f_j = [ 1 \quad 1 \quad \tfrac{1}{3} \quad \tfrac{1}{3} \quad 1] $

$ f_j - c_j = [ 0 \quad 0 \quad 0 \quad 0 \quad 1] $

Optimal Solution found $ x_1 = 0, \quad x_2 = 2 $

Applications

Mixed-Integer Linear Programming is used in areas where fractional amounts are not practical or just impossible such as production planning, airline scheduling, network design, and combinatorial auctions (3).

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. Balas, E., et al. “Gomory Cuts Revisited.” Operations Research Letters, vol. 19, no. 1, July 1996, pp. 1–9., doi:10.1016/0167-6377(96)00007-7.

2. Weismantel, Robert. “On the 0/1 Knapsack Polytope.” Mathematical Programming, vol. 77, no. 3, 1997, pp. 49–68., doi:10.1007/bf02614517.

3. Günlük, Oktay. "Cutting Planes for Mixed-Integer Programming:Theory and Practice". Math Sciences, IBM Research. April 2018, pp. 1-4, http://www.princeton.edu/~aaa/Public/Teaching/ORF523/ORF523_Lec17_guest.pdf