Skip to content

How to extract or inspect conflicting constraints (IIS / conflict analysis) in PySCIPOpt? #1115

@JasonSloan

Description

@JasonSloan

Hello,
I am working on a relatively large MINLP/MILP model using PySCIPOpt and the SCIP backend.
In some cases, SCIP reports:

SCIP Status : problem is solved [infeasible]
Solving Nodes : 0
(0 solutions)

But SCIP does not output any conflict set or IIS information, even when I enable conflict analysis options.

What I did

I tried enabling conflict analysis and disabling presolving:

model = Model()
model.setMinimize()

model.setParam("presolving/maxrounds", 0)
model.setParam("presolving/maxrestarts", 0)
model.setParam("conflict/enable", True)
model.setParam("display/verblevel", 5)

model.solveConcurrent()

The solver log becomes more verbose, but there is still no information about which constraints conflict.
The output ends with:

Presolving detected infeasibility
SCIP Status : problem is solved [infeasible]

I also tried calling methods mentioned in the SCIP C API documentation:

SCIPcomputeIIS()

SCIPgetConflictConss()

SCIPanalyzeConflict()

but in PySCIPOpt these functions do not exist, for example:

AttributeError: 'pyscipopt.scip.Model' object has no attribute 'getConflictConss'

Question
🔍 How can I obtain the conflicting set of constraints (IIS), or any conflict analysis output, using PySCIPOpt?

More specifically:

Does PySCIPOpt expose any API to:

compute IIS,

retrieve conflict constraints,

or print the conflicting subsystem?

If not, is there:

an equivalent Python-side method,

or a recommended workaround to inspect which constraints are responsible for infeasibility?

Is conflict analysis simply not supported through the current PySCIPOpt interface?

My model is several thousand linear constraints, so manually checking conflicts is not feasible.
Being able to retrieve an IIS or conflict set would be extremely helpful for debugging infeasible formulations.

Looking forward to your reply!
Thanks a lot!

Metadata

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