Documentation

gurobi_iis()

gurobi_iis()

gurobi_iis ( model )
gurobi_iis ( model, params )
gurobi_iis ( model, params, env )

Compute an Irreducible Inconsistent Subsystem (IIS).

An IIS is a subset of the constraints and variable bounds with the following properties:

  • the subsystem represented by the IIS is infeasible, and
  • if any of the constraints or bounds of the IIS is removed, the subsystem becomes feasible.
Note that an infeasible model may have multiple IISs. The one returned by Gurobi is not necessarily the one with minimum cardinality; there may exist others with fewer constraints or bounds.

If an IIS computation is interrupted before completion, Gurobi will return the smallest IIS found to that point.

You can obtain information about the outcome of the IIS computation from the returned IIS result (described below). Note that this method can be used to compute IISs for both continuous and MIP models.

Arguments:

model: The model struct must contain a valid Gurobi model. See the model argument section for more information.

params: The params struct, when provided, contains a list of modified Gurobi parameters. See the params argument section for more information.

env: The env struct, when provided, allows you to use Gurobi Compute Server or Gurobi Instant Cloud. See the env argument section for more information.

Example usage:
model = gurobi_read('examples/data/klein1.mps');
iis = gurobi_iis(model);
Return value:

The gurobi_iis() function returns a struct, with various results stored in its fields. The specific results that are available depend on the type of model.

The returned struct will always contain the following fields:

minimal
A logical scalar that indicates whether the computed IIS is minimal. It will normally be true, but it may be false if the IIS computation was stopped early (due to a time limit or a user interrupt).
Arows
A logical vector that indicates whether a linear constraint appears in the computed IIS.
lb
A logical vector that indicates whether a lower bound appears in the computed IIS.
ub
A logical vector that indicates whether a upper bound appears in the computed IIS.

If your model contains general constraints, the returned struct will also contain the following fields:

genconmax
A logical vector that indicates whether a general MAX constraint appears in the computed IIS.
genconmin
A logical vector that indicates whether a general MIN constraint appears in the computed IIS.
genconand
A logical vector that indicates whether a general AND constraint appears in the computed IIS.
genconor
A logical vector that indicates whether a general OR constraint appears in the computed IIS.
genconabs
A logical vector that indicates whether a general ABS constraint appears in the computed IIS.
genconind
A logical vector that indicates whether a general IND constraint appears in the computed IIS.

If your model contains SOS constraints, the returned struct will also contain the following field:

sos
A logical vector that indicates whether an SOS constraint appears in the computed IIS

If your model contains quadratic constraints, the returned struct will also contain the following field:

quadcon
A logical vector that indicates whether a quadratic constraint appears in the computed IIS.