Description
What language and solver does this apply to?
Python
Describe the problem you are trying to solve.
Suppose you have an instance of ortools.linear_solver.pywraplp.Solver
which you've populated with decision variables and constraints, and you've found that the optimization model is unexpectedly infeasible. The natural question is: "Why is it infeasible? Which constraints cause it to be infeasible?" In other words, can we identify an irreducible infeasible subset of constraints?
This question is analogous to Issue #973. However, I'm asking about the linear optimization solver, not the CP-SAT solver.
Describe the solution you'd like
I'm interested in a method of the solver object that would return an irreducible infeasible subset of constraints for the infeasible optimization problem. Specifically, it should return the indices of the constraints belonging to the irreducible infeasible subset. The method should be independent of the solver available (provided the solver is sufficiently powerful to correctly ascertain the feasibility/infeasibility of the problem).
Describe alternatives you've considered
I've coded up my own solution in python.
Additional context
It's not clear to me that this method does not already exist. However, if it does exist, I have not yet found it. Does it, in fact, already exist?