| 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);  |