Gurobi says their algorithm is based on the paper “Identifying Minimally Infeasible Subsystems of Inequalities” from 1990.
This thread from Gurobi has some discussion on how Gurobi does it.
- An article by Chinneck.
- These slides from Chinneck.
“Identifying Minimally Infeasible Subsystems of Inequalities”
By John Gleeson, Jennifer Ryan. 1990.
Notes:
- \( y_i := 1 \text{ iff the i^th constraint is deleted.} \)
- \( S_i := \text{ the set of constraint indices in the j^th IIS. } \)
- The MIP given in the beginning of page 2 says:
- Minimize the number of constraints dropped, while dropping at least one constraint from each IIS.
- Since all IIS are enumerated, a subsystem that this program produces (drop constraints with \( y_i = 1 \)) is feasible.
- So this program produces “the minimum number of inequalities that must be dropped in order to achieve a consistent system”.
- Obviously, enumerating all IIS is far from trivial. “The number of minimally infeasible subsystems is exponential in the number of constraints”.
- The “pivoting method” that the paper proposes is based on a paper by Van Loon.
- The known vertex enumeration algorithm at the time was O(num_constraints * num_variables^2 * num_extreme_points). Looks like the situation hasn’t changed since 1996. Wikipedia lists the Avis–Fukuda algorithm with the same complexity.
SCIP
It’s possible to compute IIS with SCIP. Never tried it.
MinIISC computes a minimal (in cardinality) IIS. The doc cites “Finding the minimum weight IIS cover of an infeasible system of linear inequalities”.
- The program described in the “Solution Approach” section is the same as the program in the page 2 of “Identifying Minimally Infeasible Subsystems of Inequalities”.
- The main problem that the paper deals with is the enumeration of IIS.
- The “Implementation” section cites “Branch-and-Cut for the Maximum Feasible Subsystem Problem”.
Summary
There are two papers that IIS computation is based on.
- “Identifying Minimally Infeasible Subsystems of Inequalities” by John Gleeson and Jennifer Ryan. 1990.
- “Finding the Minimum Weight IIS Cover of an Infeasible System of Linear Inequalities” by Mark Parker and Jennifer Ryan. 1996.
TODO
Understand the two papers (i) the vertex-IIS correspondence theorem in the 1990 paper, and (ii) the algorithm in the 1996 paper.