computeIIS and default lower bound of 0
AnsweredWhen computeIIS is called and the infeasable constraints are written to ilp file on a model that is infesible due to default lower bound of a variable being 0, the default lower bound doesn't appear in the ilp file. That is super misleading to the user.
Example:
m = Model('sth')
x0 = m.addVar(name='x0')
m.addConstr( x0, GRB.LESS_EQUAL, -1 )
m.computeIIS()
m.write('sth.ilp' )
sth.ilp:
\ Model sth_copy
\ LP format - for model browsing. Use MPS format to capture full model detail.
Minimize
Subject To
R0: x0 <= -1
Bounds
End
Please fix this !!!
-
Hi Dimitar,
The file generated by the computeIIS method follows the common conventions of LP files. Variables in LP file format are nonnegative by default and the lower bound of zero is not specified. The same applies for creating the variable and not passing a lower bound.
There is nothing wrong and this is most likely not going to be changed anytime soon.
Cheers,
Matthias0
Please sign in to leave a comment.
Comments
1 comment