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 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:
Can be NULL if not required.
|
||||||||||||||||
|
bndtype
|
Sense of bound in the IIS:
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:
Can be NULL if not required.
|
||||||||||||||||
|
isolationcols
|
The isolation status of the bounds:
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 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
rowind and
colind both are NULL, 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 (
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 is not available for nonlinear IIS problems, and for those the arrays are filled with zero values in case they are provided.
Related topics
XPRSiisall,
XPRSiisclear,
XPRSiisfirst,
XPRSiisisolations,
XPRSiisnext,
XPRSiisstatus,
XPRSiiswrite,
IIS, Section
IIS description file in CSV format.
© 2001-2021 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.
