4
$\begingroup$

I am using Pyomo together with Gurobi (and other solvers such as cbc). I am trying to compute an Irreducible Infeasible Set (ISS).

In Pyomo documentation, get_model_attr takes an attribute, among which 'IISMinimal'. On the other hand Gurobi documentation states that "this attribute is only available after you have computed an IIS on an infeasible model". However I haven't found how to actually compute an IIS for a given infeasible model.

To give more context to this question, I am trying to determine which constraints make my problem infeasible. I've read about the subject (here and there for example) but as several users user state in their comments, I haven't been able to make it work so far.

$\endgroup$
3

2 Answers 2

4
$\begingroup$

The Gurobi documentation states how you can compute and inspect the IIS:

model.computeIIS()
model.write("model.ilp")

I am not certain how to call the computeIIS() method from Pyomo, though. This related question might also be helpful.

$\endgroup$
3
  • $\begingroup$ Thanks for your answer. I've read this doc, but indeed it doesn't help to make it work from pyomo. I'll check the related question and come back to you $\endgroup$
    – Meth
    Feb 9, 2022 at 12:00
  • $\begingroup$ The related question indeed provides an answer to my initial question. Caveats are: 1/ working with gurobi, not working with cbc and 2/ *.ilp file is difficult to read because all variabless and constraints names in the initial model are replaced by x and c_u_x, c_l_x and c_e_x. $\endgroup$
    – Meth
    Feb 9, 2022 at 14:48
  • 2
    $\begingroup$ The variable names are actually preserved when writing out a Gurobi ILP file. I can only assume that the variable names have been changed when transferring the model from Pyomo to Gurobi. You might want to try saving the Pyomo model to a file and then using Gurobi directly to compute the IIS. $\endgroup$
    – mattmilten
    Feb 11, 2022 at 11:17
-1
$\begingroup$

An excellent reference on infeasibility analysis is the book: Chinneck, John (2008) "Feasibility and Infeasibility in Optimization Algorithms and Computational Methods" Springer. Looks like it may be downloadable as a pdf.

$\endgroup$
1
  • 1
    $\begingroup$ Thanks for your answer, I'll have a look. I doubt the book answers to ma initial question though (the book doesn't make any reference to pyomo or gurobi it seems). $\endgroup$
    – Meth
    Feb 9, 2022 at 11:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.