CPXXgetijdiv and CPXgetijdiv

The routine CPXXgetijdiv/CPXgetijdiv returns the index of the diverging row (that is, constraint) or column (that is, variable) when one of the CPLEX simplex optimizers terminates due to a diverging vector.

int  CPXXgetijdiv( CPXCENVptr env, CPXCLPptr lp, CPXDIM * idiv_p, CPXDIM * jdiv_p )

int  CPXgetijdiv( CPXCENVptr env, CPXCLPptr lp, int * idiv_p, int * jdiv_p )

Description

Warning:

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

The routine CPXXgetijdiv/CPXgetijdiv returns the index of the diverging row (that is, constraint) or column (that is, variable) when one of the CPLEX simplex optimizers terminates due to a diverging vector. This function can be called after an unbounded solution status for a primal simplex call or after an infeasible solution status for a dual simplex call.

If one of the CPLEX simplex optimizers has concluded that the LP problem object is unbounded, and if the diverging variable is a normal, structural variable, CPXXgetijdiv/CPXgetijdiv sets *jdiv_p to the index of that variable. Otherwise, *jdiv_p is set to -1.

Arguments

env
The pointer to the CPLEX environment, as returned by CPXXopenCPLEX/CPXopenCPLEX.
lp
A pointer to the CPLEX LP problem object, as returned by CPXXcreateprob/CPXcreateprob.
idiv_p
A pointer to an integer indexing the row of a diverging variable.
jdiv_p
A pointer to an integer indexing the column of a diverging variable.

Return

The routine returns 0 (zero) if successful and nonzero if an error occurs.