Initializing help system before first use

XPRSgetiisdata

XPRSgetiisdata


Purpose
Returns information for an Irreducible Infeasible Set: size, variables (row and column vectors) and conflicting sides of the variables, duals and reduced costs.
Synopsis
int XPRS_CC XPRSgetiisdata(XPRSprob prob, int num, int *rownumber, int *colnumber, int miisrow[], int miiscol[], char constrainttype[], char colbndtype[], double duals[], double rdcs[], char isolationrows[], char isolationcols[]);
Arguments
prob 
The current problem.
num 
The ordinal number of the IIS to get data for.
rownumber 
Pointer to an integer where the number of rows in the IIS will be returned.
colnumber 
Pointer to an integer where the number of bounds in the IIS will be returned.
miisrow 
Indices of rows in the IIS. Can be NULL if not required.
miiscol 
Indices of bounds (columns) in the IIS. Can be NULL if not required.
constrainttype 
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 an indicator row.
Can be NULL if not required.
colbndtype 
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.
rdcs 
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));
constrainttype = malloc(nrow);
colbndtype = malloc(ncol);
duals = malloc(nrow*sizeof(double));
rdcs = malloc(ncol*sizeof(double));
isolationrows = malloc(nrow);
isolationcols = malloc(ncol);
XPRSgetiisdata(myprob, 1, &nrow, &ncol, rows, cols, constrainttype,
               colbndtype, duals, rdcs, isolationrows, isolationcols);
Further information
1. Calling IIS from the console automatically prints most of the above IIS information to the screen. 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 miisrow and miiscol both are NULL, only the rownumber and colnumber are returned.
4. The arrays may be NULL if not required. However, arrays constrainttype, duals and isolationrows are only returned if miisrow is not NULL. Similarly, arrays colbndtype, rdcs and isolationcols are only returned if miiscol is not NULL.
5. All the non NULL arrays should be of length rownumber or colnumber, respectively.
6. For the initial IIS approximation ( num = 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 miisrow array.
8. For non LP IISs, some column indices may appear more than once in the miiscol array, for example an integrality and a bound restriction for the same column.
9. Duals, reduced cost and isolation information is not available for nonlinear IIS problems, and for those the arrays are filled with zero values in case they are provided.
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.