Hello,

Gurobi has a function to obtain a Irreducible Inconsistent Subsystem (ISS), which refers to a subset of equations causing infeasibility. This obviously comes in very handy when debugging your problem.

I succeeded to compute the ISS for a JuMP problem with the following code, but I fail to obtain the actual equations causing infeasibility.

using JuMP, Gurobi

model = Model(with_optimizer(Gurobi.Optimizer))@variable(model, x >= 0)

@variable(model, y >= 0)@constraint(model, con1, x + y <= 3)

@constraint(model, con2, x + y >= 5)

@objective(model, Min, x)

optimize!(model)grb_model = model.moi_backend.optimizer.model.inner

computeIIS(grb_model)

Actually, there is an extensive GitHub thread on this topic here providing two ways to obtain the IIS:

The first one is from back from 2017 and probably outdated. Itâ€™s posted below and returns `MethodError: no method matching Array{Int32,N} where N(::Int64)`

on `Gurobi.get_intattrarray`

in my example.

num_constrs = Gurobi.num_constrs(grb_model)

iis_constrs = Gurobi.get_intattrarray(grb_model, â€śIISConstrâ€ť, 1, num_constrs)

model.linconstr[find(iis_constrs)]

The second one is a new commit to the Gurobi package adding a `compute_conflict`

function. However, altough the new function appears to be on the master branch and Gurobi is updated, I canâ€™t access it and it does not show up in my local package files.