Skip to content

Compute IIS if problem is infeasible for solver COPT #358

Open
@PeterKlein11

Description

COPT has a python example of how to calculate the IIS to help debug infeasible solutions. It would be great to add this functionality to linopy.

Compute IIS if problem is infeasible

if model.status == COPT.INFEASIBLE:

Compute IIS

model.computeIIS()

Check if IIS is available

if model.hasIIS:
# Print variables and constraints in IIS
cons = model.getConstrs()
vars = model.getVars()

print("\n======================== IIS result ========================")
for con in cons:
  if con.iislb or con.iisub:
    print('  {0}: {1}'.format(con.name, "lower" if con.iislb else "upper"))

print("")
for var in vars:
  if var.iislb or var.iisub:
    print('  {0}: {1}'.format(var.name, "lower" if var.iislb else "upper"))

# Write IIS to file
print("")
model.writeIIS('iis_ex1.iis')

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions