The routine CPXgetiis()
is used to examine the IIS for an infeasible LP problem. The IIS must already have been computed using a call to CPXfindiis()
or CPXiiswrite()
. Upon successful completion, the CPXgetiis()
arguments return information about the IIS that can be used to diagnose the cause of infeasibility. The number of rows and bound constraints in the IIS, as well as the indices of the IIS members, are returned.
The routine returns a zero on success, and a nonzero if an error occurs.
int CPXgetiis (CPXCENVptr env, CPXCLPptr lp, int *iisstat_p, int *rowind, int *rowbdstat, int *iisnumrows_p, int *colind, int *colbdstat, int *iisnumcols_p); 
The pointer to the CPLEX environment as returned by the CPXopenCPLEX()
routine.
A pointer to a CPLEX problem object as returned by CPXcreateprob()
.
1  CPXIIS_COMPLETE  IIS found 
2  CPXIIS_PARTIAL  Time limit exceeded, partial IIS found 
0  CPXIIS_AT_LOWER  Row is at lower bound 
1  CPXIIS_FIXED  Row is fixed 
2  CPXIIS_AT_UPPER  Row is at upper bound 
The length of the array must be at least as large as the number of rows in the IIS.

A pointer to an integer to contain the number of rows in the IIS.
0  CPXIIS_AT_LOWER  Column is at lower bound 
1  CPXIIS_FIXED  Column is fixed 
2  CPXIIS_AT_UPPER  Column is at upper bound 
The length of the array must be at least as large as the number of columns in the IIS.
A pointer to an integer to contain the number of columns in the IIS.
status = CPXgetiis (env, lp, &iisstat, rowind, rowbdstat, &iisnumrows, colind, colbdstat, &iisnumcols); 