NO FRAMES

CPXcutcallbackadd

int CPXPUBLIC CPXcutcallbackadd(CPXCENVptr env, void * cbdata, int wherefrom, int nzcnt, double rhs, int sense, const int * cutind, const double * cutval)
Definition file: cplex.h
Include files: cplex.h

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.

Parameters:

env

A pointer to the CPLEX environment, as returned by CPXopenCPLEX.

cbdata

The pointer passed to the user-written callback. This parameter must be the value of cbdata passed to the user-written callback.

wherefrom

An integer value that indicates where the user-written callback was called from. This parameter must be the value of wherefrom passed to the user-written callback.

nzcnt

An integer value that indicates the number of coefficients in the cut, or equivalently, the length of the arrays cutind and cutval.

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.

Returns:

The routine returns zero on success and nonzero if an error occurs. One possible error is indicated by the symbolic constant CPXERR_NO_SPACE. That error occurs when the number of cuts added reaches the maximum allowed, as set by the parameter CPX_PARAM_CUTSFACTOR.