CPXgetcallbacknodeintfeas


Usage

Mixed Integer Users Only

Description

The routine CPXgetcallbacknodeintfeas() is used to get indicators for each variable of whether or not the variable is integer feasible in the node subproblem. It can be used in a user-written callback during MIP optimization. The indicators are from the original problem if CPX_PARAM_MIPCBREDLP is set to CPX_OFF. Otherwise, they are from the presolved problem.

This routine may be called only when the value of the wherefrom argument is one of CPX_CALLBACK_MIP, CPX_CALLBACK_MIP_BRANCH, CPX_CALLBACK_MIP_INCUMBENT, CPX_CALLBACK_MIP_NODE, CPX_CALLBACK_MIP_HEURISTIC, or CPX_CALLBACK_MIP_CUT.

Return Value

The routine returns a zero on success, and a nonzero if an error occurs.

Synopsis

  int CPXgetcallbacknodeintfeas (CPXCENVptr env,
                                 void *cbdata,
                                 int wherefrom,
                                 int *feas,
                                 int begin,
                                 int end);

Arguments

CPXCENVptr env

The pointer to the CPLEX environment, as returned by one of the CPXopenCPLEX routines.

void *cbdata

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

int wherefrom

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

int *feas

An array to receive an indicator of feasibility for the node subproblem. This array must be of length at least (end - begin + 1). If successful, feas[0] through feas[end-begin] will contain the indicators.

Values for feas[j]:

CPX_INTEGER_FEASIBLE  
variable j+begin is integer-valued 
CPX_INTEGER_INFEASIBLE 
variable j+begin is not integer-valued 
CPX_IMPLIED_INTEGER_FEASIBLE 
variable j+begin may have a fractional value in the current solution, but it will take on an integer value when all integer variables still in the problem have integer values. It should not be branched upon. 

int begin

An integer indicating the beginning of the range of feasibility indicators to be returned.

int end

An integer indicating the end of the range of feasibility indicators to be returned.

Example

  status = CPXgetcallbacknodeintfeas(env, cbdata, wherefrom,
                                     feas, 0, cols-1);

See Also

Examples admipex1.c and admipex2.c in the advanced examples directory

Previous Page: CPXgetcallbacknodeinfo Return to Top Next Page: CPXgetcallbacknodelb