NO FRAMES

CPXbranchcallbackbranchbds

int CPXPUBLIC CPXbranchcallbackbranchbds(CPXCENVptr env, void * cbdata, int wherefrom, double nodeest, int cnt, const int * indices, const char * lu, const int * bd, void * userhandle, int * seqnum_p)
Definition file: cplex.h
Include files: cplex.h
Note

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 CPXbranchcallbackbranchbds specifies the branches to be taken from the current node. It may be called only from within a user-written branch callback function.

Branch variables are in terms of the original problem if the parameter CPX_PARAM_MIPCBREDLP is set to CPX_OFF before the call to CPXmipopt that calls the callback. Otherwise, branch variables are in terms of the presolved problem.

Parameters:

env

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

cbdata

A pointer passed to the user-written callback. This argument 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 argument must be the value of wherefrom passed to the user-written callback.

nodeest

A double that indicates the value of the node estimate for the node to be created with this branch. The node estimate is used to select nodes from the branch & cut tree with certain values of the NodeSel parameter.

cnt

An integer. The integer indicates the number of bound changes that are specified in the arrays indices, lu, and bd.

indices

An array. Together with lu and bd, this array defines the bound changes for the branch. The entry indices[i] is the index for the variable.

lu

An array. Together with indices and bd, this array defines the bound changes for each of the created nodes. The entry lu[i] is one of the three possible values indicating which bound to change: L for lower bound, U for upper bound, or B for both bounds.

bd

An array. Together with indices and lu, this array defines the bound changes for each of the created nodes. The entry bd[i] indicates the new value of the bound.

userhandle

A pointer to user private data that should be associated with the node created by this branch. May be NULL.

seqnum_p

A pointer to an integer. On return, that integer will contain the sequence number that CPLEX has assigned to the node created from this branch. The sequence number may be used to select this node in later calls to the node callback.

Returns:

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