Initializing help system before first use

XPRSgetiisdata

Purpose
Returns information for an Irreducible Infeasible Set: size, variables and constraints (row and column vectors), and conflicting sides of the variables. For pure linear problems there is also information on duals, reduced costs and isolations.
Topic area
Synopsis
int XPRS_CC XPRSgetiisdata(XPRSprob prob, int iis, int *p_nrows, int *p_ncols, int rowind[], int colind[], char contype[], char bndtype[], double duals[], double djs[], char isolationrows[], char isolationcols[]);
Arguments
prob 
The current problem.
iis 
The ordinal number of the IIS to get data for.
p_nrows 
Pointer to an integer where the number of rows in the IIS will be returned.
p_ncols 
Pointer to an integer where the number of bounds in the IIS will be returned.
rowind 
Indices of rows in the IIS. Can be NULL if not required.
colind 
Indices of bounds (columns) in the IIS. Can be NULL if not required.
contype 
Sense of rows in the IIS:
for less or equal row;
for greater or equal row.
for an equality row (for a non LP IIS);
for a SOS1 row;
for a SOS2 row;
for a piecewise linear constraint;
for a general constraint;
for an indicator row.
Can be NULL if not required.
bndtype 
Sense of bound in the IIS:
for upper bound;
for lower bound.
for fixed columns (for a non LP IIS);
for a binary column;
for an integer column;
for a partial integer columns;
for a semi-continuous column;
for a semi-continuous integer column.
Can be NULL if not required.
duals 
The dual multipliers associated with the rows. Can be NULL if not required.
djs 
The dual multipliers (reduced costs) associated with the bounds. Can be NULL if not required.
isolationrows 
The isolation status of the rows:
-1 
if isolation information is not available for row (run iis isolations);
if row is not in isolation;
if row is in isolation.
Can be NULL if not required.
isolationcols 
The isolation status of the bounds:
-1 
if isolation information is not available for column (run iis isolations);
if column is not in isolation;
if column is in isolation.
Can be NULL if not required.
Example
This example first retrieves the size of IIS 1, then gets the detailed information for the IIS.
XPRSgetiisdata(myprob, 1, &nrow, &ncol, NULL, NULL, NULL, NULL,
NULL,NULL,NULL,NULL);

rows = malloc(nrow*sizeof(int));
cols = malloc(ncol*sizeof(int));
contype = malloc(nrow);
bndtype = malloc(ncol);
duals = malloc(nrow*sizeof(double));
djs = malloc(ncol*sizeof(double));
isolationrows = malloc(nrow);
isolationcols = malloc(ncol);
XPRSgetiisdata(myprob, 1, &nrow, &ncol, rows, cols, contype,
               bndtype, duals, djs, isolationrows, isolationcols);
Further information
1. Calling IIS from the console automatically prints some of the above IIS information to the screen, along with a detailed progress log. Extra information can be printed with the IIS -p command.
2. IISs are numbered from 1 to NUMIIS. Index number 0 refers to the IIS approximation.
3. If rowind and colind are both NULL, then only the p_nrows and p_ncols are returned.
4. The arrays may be NULL if not required. However, arrays contype, duals and isolationrows are only returned if rowind is not NULL. Similarly, arrays bndtype, djs and isolationcols are only returned if colind is not NULL.
5. All the non NULL arrays should be of length p_nrows or p_ncols, respectively.
6. For the initial IIS approximation of linear problems ( iis = 0) the number of rows and columns with a nonzero Lagrange multiplier (dual/reduced cost respectively) are returned. Please note that, in such cases, it might be necessary to call XPRSiisstatus to retrieve the necessary size of the return arrays.
7. If there are Special Ordered Sets in the IIS, their number is included in the rowind array.
8. For non LP IISs, some column indices may appear more than once in the colind array, for example an integrality and a bound restriction for the same column.
9. Duals, reduced cost and isolation information are not available for nonlinear IIS problems, and for those the arrays are filled with zero values if they are provided.
Related topics

© 2001-2025 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.