Overview | Group | Tree | Graph | Index | Concepts |
The routine CPXcutcallbackadd
adds cuts 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 right-hand 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. |
CPXERR_NO_SPACE
.
That error occurs when the number of cuts added reaches
the maximum allowed, as set by the parameter
CPX_PARAM_CUTSFACTOR
.