NO FRAMES

CPXcheckpib

double CPXPUBLIC CPXcheckpib(CPXCENVptr env, CPXCLPptr lp, int * ijmax_p, int scalrimtype)
Definition file: cplex.h
Include files: cplex.h
Note

This is an advanced routine. Advanced routines typically demand a profound understanding of the algorithms used by ILOG CPLEX. Thus they incur a higher risk of incorrect behavior in your application, behavior that can be difficult to debug. Therefore, ILOG encourages you to consider carefully whether you can accomplish the same task by means of other Callable Library routines instead.

The routine CPXcheckpib finds the L∞ norm of cB'-π'B, where π represents dual solution values and B represents the basis. That is, this routine checks for numeric (roundoff) error in the computation of π by putting π into the equation that defines it and then returning the value of the maximum deviation from zero of the elements of the resulting residual vector. This routine also returns, in one of its arguments, the index of the basic variable corresponding to this maximum.

To get the L∞ norm for the scaled problem, set the parameter scalrimtype = 1.

Parameters:

env

The pointer to the ILOG CPLEX environment, as returned by CPXopenCPLEX.

lp

A pointer to the CPLEX LP problem object, as returned by CPXcreateprob.

ijmax_p

A pointer to the row or column with the maximum absolute value in cBT-πTB. If *ijmax_p corresponds to a row numbered rowindex (either a slack row or a ranged row), *ijmax_p is -1 - rowindex. If no solution exists, *ijmax_p is set to a large integer.

scalrimtype

An integer that indicates the type of scaling to be applied to the returned L∞ norm. When this parameter is equal to 0 (zero), the returned L∞ norm is unscaled. Otherwise, the L∞ norm has the same scaling as that applied to the problem currently in memory.

Returns:

If successful, this routine returns the L∞ norm of cBT-πTB. If a basic solution does not exist, -1.0 is returned.