Closed luohezhiming closed 2 weeks ago
I was just about to report the same issue that I had put off posting. The problem is here https://github.com/Pyomo/pyomo/blob/main/pyomo/contrib/iis/mis.py#L285-L290:
try:
results = solver.solve(modified_model, tee=tee)
except:
results = None
When the solve fails and check_optimal_termination
is called on results
which is None, we get back this unhelpful error.
I guess the question is--assuming that being able to solve the problem at hand would not be trivial or possible---can we return a better exception? And I suppose that this issue might technically belong on Pyomo.
I am fairly certain this is a Pyomo issue - @jsiirola @blnicho @bknueven any ideas on the best course of action?
This conditional should first check that results is not None
before pyo.check_optimal_termination(results)
.
I was just about to report the same issue that I had put off posting. The problem is here https://github.com/Pyomo/pyomo/blob/main/pyomo/contrib/iis/mis.py#L285-L290:
try: results = solver.solve(modified_model, tee=tee) except: results = None
When the solve fails and
check_optimal_termination
is called onresults
which is None, we get back this unhelpful error.I guess the question is--assuming that being able to solve the problem at hand would not be trivial or possible---can we return a better exception? And I suppose that this issue might technically belong on Pyomo.
My case is kind of similar to you, I use Degeneracy Hunter to run this problem and it diverge to a infeasible point
Since this was fixed upstream in Pyomo, this requires IDAES and/or its clients to update to a recent enough version of Pyomo that includes Pyomo/pyomo#3403.
@blnicho can you confirm whether this is in the tag that's being tested in #1523?
Yes, the fix for this issue is in the tag being tested in #1523
The
compute_infeasibility_explanation()
fails to solve after the numerical issues are reported. The errors are: