Mixed-integer cuts: Difference between revisions

From Cornell University Computational Optimization Open Textbook - Optimization Wiki
Jump to navigation Jump to search
No edit summary
Pwg48 (talk | contribs)
No edit summary
Line 92: Line 92:


<math>x_2+x_3+x_4+x_6 \leq 3</math>
<math>x_2+x_3+x_4+x_6 \leq 3</math>
== Flow Cover Cut==
<math>
0 \leq d - \sum_{j \in C+}x_j - \sum_{j \in C++}(m_j - λ(1-y_j)  </math>
Where <math> λ = \sum_{j \in C+} m_j - d > 0 <\math> and
<math> C++ = \{j \in C+ : m_j > λ\}
== Numerical Example==
== Numerical Example==



Revision as of 21:34, 13 December 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 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 (3).

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 $

Flow Cover Cut

$ 0 \leq d - \sum_{j \in C+}x_j - \sum_{j \in C++}(m_j - λ(1-y_j) $ Where $ λ = \sum_{j \in C+} m_j - d > 0 <\math> and <math> C++ = \{j \in C+ : m_j > λ\} == Numerical Example== <math>\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 even impossible such as labor distribution, scheduling, and purchasing additional equipment. Many of these MILP methods utilize one of the many mixed-integer cut methods to find integer solutions from relaxed linear constraints as seen with the Bender decomposition (6). The distribution process through mixed-integer programming allows for more flexible and quicker schedules (4). MILP in scheduling for teachers allows administrators to manage each teacher's load and match a class's needs to the teacher's abilities (5).

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. Balas, Egon. (1985). Disjunctive Programming and a Hierarchy of Relaxations for Discrete Optimization Problems. December, 1983. 38 pp. 2-3, doi:[1].

4. Rave, Jorge Iván Perez, & Álvarez, Gloria Patricia Jaramillo. (2011). Application of mixed-integer linear programming in a car seats assembling process. Pesquisa Operacional, 31(3), pp. 593-610. doi: [2]

5. Qu, Xiaobo & Yi, Wen &Wang, Tingsong &Wang, Shuaian &Aiao, Lin & Liu, Zhiyuan. (2017). Mixed-Integer Linear Programming Models for Teaching Assistant Assignment and Extensions. January 2017. Scientific Programming. pp. 1-4. doi: [3]

6. Lindsay Siegmundt, Peter Haddad, Chris Babbington, Jon Boisvert, Haris Shaikh. (2020). Branch and cut. December 2020. doi:[4]/index.php?title=Branch_and_cut