Overview | Group | Index | Concepts |
This is an advanced routine. Advanced routines typically demand a thorough 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 CPXcutcallbackadd
adds cuts to the
current node LP subproblem during MIP branch & cut.
This routine may be called only from within user-written cut
callbacks; thus it may be called only when the value of its
wherefrom
argument is CPX_CALLBACK_MIP_CUT
.
The cut may be for the original problem if the parameter
CPX_PARAM_MIPCBREDLP
was set to CPX_OFF
before the
call to CPXmipopt
that calls the callback. Otherwise, the cut
is used on the presolved problem.
Example
status = CPXcutcallbackadd (env, cbdata, wherefrom, mynzcnt, myrhs, 'L', mycutind, mycutval);
See also the example admipex5.c
in the standard distribution.
env | A pointer to the CPLEX environment, as returned by |
cbdata | The pointer passed to the user-written callback. This parameter must be the value of |
wherefrom | An integer value that indicates where the user-written callback was called from. This parameter must be the value of |
nzcnt | An integer value that indicates the number of coefficients in the cut, or equivalently, the length of the arrays |
rhs | A double value that indicates the value of the righthand side of the cut. |
sense | An integer value that indicates the sense of the cut. |
cutind | An array containing the column indices of cut coefficients. |
cutval | An array containing the values of cut coefficients. |
The routine returns zero if successful and nonzero if an error occurs.