CPXgetiis


Description

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.

Return Value

The routine returns a zero on success, and a nonzero if an error occurs.

Synopsis

  int CPXgetiis (CPXCENVptr env,
                 CPXCLPptr lp,
                 int *iisstat_p,
                 int *rowind,
                 int *rowbdstat,
                 int *iisnumrows_p,
                 int *colind,
                 int *colbdstat,
                 int *iisnumcols_p);

Arguments

CPXCENVptr env

The pointer to the CPLEX environment as returned by the CPXopenCPLEX() routine.

CPXCLPptr lp

A pointer to a CPLEX problem object as returned by CPXcreateprob().

int *iisstat_p

A pointer to an integer to contain the result of the IIS algorithm. The specific values that *iisstat_p can take and their meanings are:

CPXIIS_COMPLETE 
IIS found 
CPXIIS_PARTIAL 
Time limit exceeded, partial IIS found 

int *rowind

An array to contain the indices of the rows in the IIS. The length of the array must be at least as large as the number of rows in the IIS.

int *rowbdstat

An array that identifies the right-hand side value for each row in the IIS that is causing the infeasibility. Possible values are:

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.

int *iisnumrows_p

A pointer to an integer to contain the number of rows in the IIS.

int *colind

An array to contain the indices of the columns in the IIS. The length of the array must be at least as large as the number of columns in the IIS.

int *colbdstat

An array that identifies the bound for each column in the IIS that is causing the infeasibility. Possible values are:

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.

int *iisnumcols_p

A pointer to an integer to contain the number of columns in the IIS.

Example

  status = CPXgetiis (env, lp, &iisstat, rowind, rowbdstat,
                      &iisnumrows, colind, colbdstat, &iisnumcols);


Previous Page: CPXgetgrad Return to Top Next Page: CPXgetintparam