# Mixed-integer cuts

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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.

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:

${\displaystyle \sum _{j}a_{i,j}x_{j}\leq b_{i}\qquad x_{j}\in \{0,1\}}$

The Gomory cut is defined as:

${\displaystyle \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 ${\displaystyle b_{i}^{*}}$constraint:

${\displaystyle \sum _{j}a_{i,j}^{*}x_{j}=b_{i}^{*}}$

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

${\displaystyle \sum _{j}f_{i,j}^{*}x_{j}-f_{j}^{*}=b_{j}^{*}=[b_{j}^{*}]-\sum _{j}[a_{i,j}^{*}]x_{j}}$

4. Add new constraint${\displaystyle \sum _{j}f_{i,j}x_{j}-f_{j}\geq 0}$, with integer excess, to tableau.

5. Repeat steps 2-4 until all right hand side ${\displaystyle b_{i}^{*}}$'s are integers.

Example:

${\displaystyle 3x_{1}+4{\frac {1}{5}}x_{2}-{\frac {3}{5}}x_{3}=8{\frac {1}{4}}}$

Cut:

${\displaystyle {\frac {4}{5}}x_{2}+{\frac {2}{5}}x_{3}\geq {\frac {1}{4}}}$

${\displaystyle -3{\frac {3}{4}}x_{1}+2{\frac {3}{5}}x_{2}-1{\frac {1}{5}}x_{3}=7{\frac {5}{6}}}$

Cut:

${\displaystyle {\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:

${\displaystyle \sum _{j}a_{i,j}x_{j}\leq b_{i}\qquad x_{j}\in \{0,1\}}$

Let ${\displaystyle C\subset J}$ and ${\displaystyle \sum _{j\in C}a_{j}>b}$

The cover inequality is:

${\displaystyle \sum _{j\in C}x_{j}\leq |C|-1,\quad x_{j}\in \{0,1\}}$

Example:

Change numbers

${\displaystyle \max Z=12x_{1}+5x_{2}+7x_{3}+8x_{4}+3x_{5}+5x_{6}+6x_{7}\leq 24}$

Some minimal cover inequalities of Z are:

${\displaystyle x_{1}+x_{2}+x_{4}\leq 2}$

${\displaystyle x_{1}+x_{3}+x_{4}\leq 2}$

${\displaystyle x_{1}+x_{4}+x_{6}\leq 2}$

${\displaystyle x_{2}+x_{3}+x_{4}+x_{6}\leq 3}$

## Flow Cover Cut

Flow Cover Cuts were introduced and derived by Padberg, Van Roy, and Wolsey (7).

Given the system ${\displaystyle X=\{(x,y)\in R_{+}^{n}\times B^{n}:\sum {j\in N+}x_{j}-\sum _{j\in N-}x_{j}\leq d,x_{j}\leq m_{j}y_{j},j\in N\}}$

where ${\displaystyle N=N+\cup N-}$ and ${\displaystyle n=|N|}$

The ${\displaystyle x}$ variables are flows that are constrained by the conservation inequality with demand for ${\displaystyle d}$ and upper bound constraints, where ${\displaystyle m_{j}}$ is the capacity of ${\displaystyle j}$ and ${\displaystyle y_{j}}$ is a binary variable that determing if ${\displaystyle j}$ is open (7).

The flow cover inequality is defined as:

${\displaystyle 0\leq d-\sum _{j\in C+}x_{j}-\sum _{j\in C++}(m_{j}-l)(1-y_{j})}$

Where ${\displaystyle l=\sum _{j\in C+}m_{j}-d>0}$ and ${\displaystyle C++=\{j\in C+:m_{j}>l\}}$

## Mixed Integer Rounding Cuts

Mixed-Integer Rounding (MIR) cuts can be considered a generalization of the Chvatal integer rounding inequality applied to mixed integer linear programs. That is, generating valid inequalities for any mixed-integer programs (8).

${\displaystyle X^{MIR}=\{(x,y)\in R_{+}^{1}\times Z_{+}^{2}:a_{1}y_{1}+a_{2}y_{2}\leq b+x\}}$ where ${\displaystyle a_{1},a_{2}}$ and ${\displaystyle b}$ are scalars with ${\displaystyle b\notin Z^{1}}$

Let ${\displaystyle f=b-\lfloor b\rfloor }$ and ${\displaystyle f_{i}=a_{i}-\lfloor a_{i}\rfloor }$ for ${\displaystyle i=1,2}$. Suppose ${\displaystyle f_{1}\leq f\leq f_{2}}$ The mixed integer rounding inequality is defined as:

${\displaystyle \lfloor a_{1}\rfloor y_{1}+(\lfloor a_{2}\rfloor +{\tfrac {f_{2}-f}{1-f}})y_{2}\leq \lfloor b\rfloor +{\tfrac {x}{1-f}}}$

## Numerical Example

${\displaystyle \max f=x_{1}+x_{2}}$

${\displaystyle s.t.\quad 3x_{1}+2x_{2}\leq 5}$

${\displaystyle \qquad \quad x_{2}\leq 2}$

${\displaystyle \qquad \quad x_{1},x_{2}\geq 0}$

${\displaystyle \qquad \quad x_{1}\in Z}$

Convert to Standard Form:

${\displaystyle \max f=x_{1}+x_{2}}$

${\displaystyle s.t.\quad 3x_{1}+2x_{2}+s_{1}=5}$

${\displaystyle \qquad \quad x_{2}+s_{2}=2}$

${\displaystyle \qquad \quad x_{1},x_{2},s_{1},s_{2}\geq 0}$

${\displaystyle \qquad \quad x_{1}\in Z}$

Initial Basic Feasible Solution:

${\displaystyle s_{1}=5,s_{2}=2}$

${\displaystyle y_{1},y_{2},y_{3},}$ and ${\displaystyle y_{4}}$ correspond to ${\displaystyle x_{1},x_{2},s_{1},}$ and ${\displaystyle s_{2}}$

${\displaystyle C_{B}}$ contains the cost associated with the basic variables.

${\displaystyle Y_{B}}$ contains the basic variables.

${\displaystyle X_{B}}$ contains the basic feasible solution.

${\displaystyle f_{j}-c_{j}\geq 0}$ for an optimal solution.

Simplex Tableau Iteration 1
${\displaystyle C_{B}}$ ${\displaystyle Y_{B}}$ ${\displaystyle X_{B}}$ ${\displaystyle y_{1}}$ ${\displaystyle y_{2}}$ ${\displaystyle y_{3}}$ ${\displaystyle y_{4}}$
0 ${\displaystyle y_{3}}$ 5 3 2 1 0
0 ${\displaystyle y_{4}}$ 2 0 1 0 1

${\displaystyle c_{j}=[1\quad 1\quad 0\quad 0]}$

${\displaystyle f_{j}=[0\quad 0\quad 0\quad 0]}$

${\displaystyle f_{j}-c_{j}=[-1\quad -1\quad 0\quad 0]}$

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

${\displaystyle y_{3}}$ leaves the basis

Simplex Tableau Iteration 2

${\displaystyle C_{B}}$ ${\displaystyle Y_{B}}$ ${\displaystyle X_{B}}$ ${\displaystyle y_{1}}$ ${\displaystyle y_{2}}$ ${\displaystyle y_{3}}$ ${\displaystyle y_{4}}$
1 ${\displaystyle y_{1}}$ ${\displaystyle {\tfrac {5}{3}}}$ 1 ${\displaystyle {\tfrac {2}{3}}}$ ${\displaystyle {\tfrac {1}{3}}}$ 0
0 ${\displaystyle y_{4}}$ 2 0 1 0 1

${\displaystyle c_{j}=[1\quad 1\quad 0\quad 0]}$

${\displaystyle f_{j}=[1\quad {\tfrac {2}{3}}\quad {\tfrac {1}{3}}\quad 0]}$

${\displaystyle f_{j}-c_{j}=[0\quad -{\tfrac {1}{3}}\quad {\tfrac {1}{3}}\quad 0]}$

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

${\displaystyle y_{4}}$ leaves the basis

Simplex Tableau Iteration 3

${\displaystyle C_{B}}$ ${\displaystyle Y_{B}}$ ${\displaystyle X_{B}}$ ${\displaystyle y_{1}}$ ${\displaystyle y_{2}}$ ${\displaystyle y_{3}}$ ${\displaystyle y_{4}}$
1 ${\displaystyle y_{1}}$ ${\displaystyle {\tfrac {1}{3}}}$ 1 0 ${\displaystyle {\tfrac {1}{3}}}$ ${\displaystyle -{\tfrac {2}{3}}}$
1 ${\displaystyle y_{2}}$ 2 0 1 0 1

${\displaystyle c_{j}=[1\quad 1\quad 0\quad 0]}$

${\displaystyle f_{j}=[1\quad 1\quad {\tfrac {1}{3}}\quad {\tfrac {1}{3}}]}$

${\displaystyle f_{j}-c_{j}=[0\quad 0\quad {\tfrac {1}{3}}\quad {\tfrac {1}{3}}]}$

Optimal Solution found:

${\displaystyle x_{1}={\tfrac {1}{3}}\quad x_{2}=2}$

${\displaystyle x_{1}}$ is not an integer Fractional part of ${\displaystyle x_{1}}$ is ${\displaystyle {\tfrac {1}{3}}}$ Fractional part of ${\displaystyle x_{2}}$ is 0

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

Let ${\displaystyle G_{1}=-{\tfrac {1}{3}}+0x_{1}+0x_{2}+{\tfrac {1}{3}}s_{1}+{\tfrac {1}{3}}s_{2}}$ Rewritten as ${\displaystyle -{\tfrac {1}{3}}s_{1}--{\tfrac {1}{3}}s_{2}+G_{1}=-{\tfrac {1}{3}}}$

Simplex Tableau Iteration 4

${\displaystyle C_{B}}$ ${\displaystyle Y_{B}}$ ${\displaystyle X_{B}}$ ${\displaystyle y_{1}}$ ${\displaystyle y_{2}}$ ${\displaystyle y_{3}}$ ${\displaystyle y_{4}}$ ${\displaystyle G_{1}}$
1 ${\displaystyle y_{1}}$ ${\displaystyle {\tfrac {1}{3}}}$ 1 0 ${\displaystyle {\tfrac {1}{3}}}$ ${\displaystyle -{\tfrac {2}{3}}}$ 0
1 ${\displaystyle y_{2}}$ 2 0 1 0 1 0
0 ${\displaystyle G_{1}}$ ${\displaystyle -{\tfrac {1}{3}}}$ 0 0 ${\displaystyle -{\tfrac {1}{3}}}$ ${\displaystyle -{\tfrac {1}{3}}}$ 1

${\displaystyle c_{j}=[1\quad 1\quad 0\quad 0\quad 0]}$

${\displaystyle f_{j}=[1\quad 1\quad {\tfrac {1}{3}}\quad {\tfrac {1}{3}}\quad 0]}$

${\displaystyle f_{j}-c_{j}=[0\quad 0\quad {\tfrac {1}{3}}\quad {\tfrac {1}{3}}\quad 0]}$

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

${\displaystyle \max\{{\tfrac {f_{j}-c_{j}}{y_{bi}}},y_{bj}<0\}}$ ${\displaystyle =\max\{-1,-1\}}$ ${\displaystyle y_{3}}$ enters the basis

Simplex Tableau Iteration 5

${\displaystyle C_{B}}$ ${\displaystyle Y_{B}}$ ${\displaystyle X_{B}}$ ${\displaystyle y_{1}}$ ${\displaystyle y_{2}}$ ${\displaystyle y_{3}}$ ${\displaystyle y_{4}}$ ${\displaystyle G_{1}}$
1 ${\displaystyle y_{1}}$ 0 1 0 0 -1 1
1 ${\displaystyle y_{2}}$ 2 0 1 0 1 0
0 ${\displaystyle y_{3}}$ 1 0 0 1 1 -3

${\displaystyle c_{j}=[1\quad 1\quad 0\quad 0\quad 0]}$

${\displaystyle f_{j}=[1\quad 1\quad {\tfrac {1}{3}}\quad {\tfrac {1}{3}}\quad 1]}$

${\displaystyle f_{j}-c_{j}=[0\quad 0\quad 0\quad 0\quad 1]}$

Optimal Solution found ${\displaystyle 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

7. Gu, Zonghao, et al. “Lifted Flow Cover Inequalities for Mixed 0-1 Integer Programs.” Mathematical Programming, vol. 85, no. 3, 1999, pp. 439–467., doi:10.1007/s101070050067.

8. Günlük, Oktay, and Yves Pochet. “Mixing Mixed-Integer Inequalities.” Mathematical Programming, vol. 90, no. 3, 2001, pp. 429–457., doi:10.1007/pl00011430.