Overview | Group | Tree | Graph | Index | Concepts |
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 CPXpivot
performs a basis change where
variable jenter
replaces variable jleave
in the
basis.
Use the constant CPX_NO_VARIABLE
for jenter
or for jleave
if you want ILOG CPLEX to determine one of
the two variables involved in the basis change.
It is invalid to pass a basic variable for jenter
. Also, no
nonbasic variable may be specified for jleave
, except for
jenter == jleave
when the variable has both finite upper and
lower bounds. In that case the variable is moved from the current to the
other bound. No shifting or perturbation is performed.
Example
status = CPXpivot (env, lp, jenter, jleave, CPX_AT_LOWER);
env | A pointer to the CPLEX environment, as returned by the |
lp | A pointer to a CPLEX LP problem object, as returned by |
jenter | An index indicating the variable to enter the basis. The slack or artificial variable for row |
jleave | An index indicating the variable to leave the basis. The slack or artificial variable for row |
leavestat | An integer indicating the nonbasic status to be assigned to the leaving variable after the basis change. This is important for the case where Example status = CPXpivot (env, lp, jenter, jleave, CPX_AT_LOWER); |