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:

  • It is still infeasible, and
  • If a single constraint or bound is removed, the subsystem becomes feasible.
Note that an infeasible model may have multiple IISs. The one returned by Gurobi is not necessarily the smallest one; there may exist others with fewer constraints or bounds.

IIS results are returned in a number of attributes: IISConstr, IISLB, IISUB, IISSOS, IISQConstr, and IISGenConstr. Each indicates whether the corresponding model element is a member of the computed IIS.

The IIS log provides information about the progress of the algorithm, including a guess at the eventual IIS size.

If an IIS computation is interrupted before completion, Gurobi will return the smallest infeasible subsystem 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 INDICATOR constraint appears in the computed IIS.
genconpwl
A logical vector that indicates whether a general piecewise-linear function constraint appears in the computed IIS.
genconpoly
A logical vector that indicates whether a polynomial function constraint appears in the computed IIS.
genconexp
A logical vector that indicates whether a natural exponential function constraint appears in the computed IIS.
genconexpa
A logical vector that indicates whether a exponential function constraint appears in the computed IIS.
genconlog
A logical vector that indicates whether a natural logarithmic function constraint appears in the computed IIS.
genconloga
A logical vector that indicates whether a logarithmic function constraint appears in the computed IIS.
genconpow
A logical vector that indicates whether a power function constraint appears in the computed IIS.
genconsin
A logical vector that indicates whether a SIN function constraint appears in the computed IIS.
genconcos
A logical vector that indicates whether a COS function constraint appears in the computed IIS.
gencontan
A logical vector that indicates whether a TAN function 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.

Try Gurobi for Free

Choose the evaluation license that fits you best, and start working with our Expert Team for technical guidance and support.

Evaluation License
Get a free, full-featured license of the Gurobi Optimizer to experience the performance, support, benchmarking and tuning services we provide as part of our product offering.
Academic License
Gurobi supports the teaching and use of optimization within academic institutions. We offer free, full-featured copies of Gurobi for use in class, and for research.
Cloud Trial

Request free trial hours, so you can see how quickly and easily a model can be solved on the cloud.

Search