Purpose
Provides the Irreducible Infeasible Set (IIS) functionality for the console.
Synopsis
IIS [-flags]
Arguments
IIS
|
Finds an IIS.
|
IIS -a
|
Performs an automated search for a set of independent IISs.
|
IIS -c
|
Resets the search for IISs (deletes already found ones).
|
IIS -e [num] fn
|
Writes a CSV file named
fn containing the IIS data of IIS
num.
|
IIS -f
|
Generate an approximation of an IIS only.
|
IIS -i num
|
Performs the isolation identification for IIS with ordinal number
num.
|
IIS -n
|
Finds another (independent) IIS if any.
|
IIS -p [num]
|
Prints the IIS with ordinal number
num to the screen.
|
IIS -s
|
Returns statistics on the IISs found.
|
IIS -w [num] fn type
|
Writes an LP or MPS file named
fn containing the IIS subproblem of IIS
num depending on the
type flags.
|
Example 1 (Console)
This example reads in an infeasible problem, executes an automated search for the IISs, prints the IIS to the screen and then displays a summary on the results.
READPROB PROB.LP
IIS -a -s
Example 2 (Console)
This example reads in an infeasible problem, identifies an IIS and its isolations, then writes the IIS as an LP for easier viewing and as a CSV file to contain the supplementary information.
READPROB PROB.LP
IIS
IIS -i -p 1
IIS -w 1 "IIS.LP" lp
IIS -e 1 "IIS.CSV"
Further information
1. The IISs are numbered from
1 to
NUMIIS. If no IIS number is provided, the functions take the last IIS identified as default. When applicable, IIS
0 refers to the initial infeasible IIS (the IIS approximation).
2. A model may have several infeasibilities. Repairing a single IIS may not make the model feasible. For this reason the Optimizer attempts to find an IIS for each of the infeasibilities in a model. You may call the
IIS
-n function repeatedly, or use the
IIS
-a function to retrieve all IIS at once.
3. An IIS isolation is a special constraint or bound in an IIS. Removing an IIS isolation constraint or bound will remove all infeasibilities in the IIS without increasing the infeasibilities in any row or column outside the IIS, thus in any other IISs. The IIS isolations thus indicate the likely cause of each independent infeasibility and give an indication of which constraint or bound to drop or modify. It is not always possible to find IIS isolations. IIS isolations are only available for linear problems.
4. Generally, one should first look for rows or columns in the IIS which are both in isolation, and have a high dual multiplier relative to the others.
5. Initial infeasible subproblem: The subproblem identified after the sensitivity filter is referred to as initial infeasible subproblem. Its size is crucial to the running time of the deletion filter and it contains all the infeasibilities of the first phase simplex, thus if the corresponding rows and bounds are removed the problem becomes feasible
6.
IIS
-f performs the initial sensitivity analysis on rows and columns to reduce the problem size, and sets up the initial infeasible subproblem. This subproblem significantly speeds up the generation of IISs, however in itself it may serve as an approximation of an IIS, since its identification typically takes only a fraction of time compared to the identification of an IIS.
7. The
num parameter cannot be zero for
IIS
-i: the concept of isolations is meaningless for the initial infeasible subproblem.
8. If
IIS
-n [num] is called, the return status is
1 if less than
num IISs have been found and zero otherwise. The total number of IISs found is stored in
NUMIIS.
9. The type flags passed to
IIS
-w are directly passed to the
WRITEPROB command.
10. The LP or MPS files created by
IIS
-w corresponding to an IIS contain no objective function, since infeasibility is independent from the objective.
11. Please note that there are problems on the boundary of being infeasible or not. For such problems, feasibility or infeasibility often depends on tolerances or even on scaling. This phenomenon makes it possible that after writing an IIS out as an LP file and reading it back, it may report feasibility. As a first check it is advised to consider the following options:
- Turn presolve off (e.g. in console presolve = 0) since the nature of an IIS makes it necessary that during their identification the presolve is turned off.
- Use the primal simplex method to solve the problem (e.g. in console lpoptimize -p).
12. Note that the original sense of the original objective function plays no role in an IIS.
13. The supplementary information provided in the CSV file created by
IIS
-e is identical to that returned by the
XPRSgetiisdata function.
14. The IIS approximation and the IISs generated so far are always available.
Related topics
© 2001-2020 Fair Isaac Corporation. All rights reserved. This documentation is the
property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not
convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except
solely for internal evaluation purposes to determine whether to purchase a license to the software
described in this documentation, or as otherwise set forth in a written software license agreement
between you and FICO (or a FICO affiliate). Use of this documentation and the software described in
it must conform strictly to the foregoing permitted uses, and no other use is permitted.