CPXXgetcallbackglobalub and CPXgetcallbackglobalub

The routine CPXXgetcallbackglobalub/CPXgetcallbackglobalub retrieves the best known global upper bound values during MIP optimization from within a user-written callback.

int  CPXXgetcallbackglobalub( CPXCENVptr env, void * cbdata, int wherefrom, double * ub, CPXDIM begin, CPXDIM end )

int  CPXgetcallbackglobalub( CPXCENVptr env, void * cbdata, int wherefrom, double * ub, int begin, int end )

Description

Warning:

This is an advanced routine. Advanced routines typically demand a thorough understanding of the algorithms used by CPLEX. Thus they incur a higher risk of incorrect behavior in your application, behavior that can be difficult to debug. Therefore, the team encourages you to consider carefully whether you can accomplish the same task by means of other Callable Library routines instead.

The routine CPXXgetcallbackglobalub/CPXgetcallbackglobalub retrieves the best known global upper bound values during MIP optimization from within a user-written callback. The global upper bounds are tightened after a new incumbent is found, so the values returned by CPXXgetcallbacknodex/CPXgetcallbacknodex may violate these bounds at nodes where new incumbents have been found. The values are from the original problem if the MIP callback switch between original model and reduced, presolved model (CPXPARAM_MIP_Strategy_CallbackReducedLP) is set to CPX_OFF; otherwise, they are from the presolved problem.

This routine can be called from any MIP callback.

Arguments

env
A pointer to the CPLEX environment, as returned by CPXXopenCPLEX/CPXopenCPLEX.
cbdata
The 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 reporting from where the user-written callback was called. The argument must be the value of wherefrom passed to the user-written callback.
ub
An array to receive the values of the global upper bound values. This array must be of length at least (end-begin+1). If successful, ub[0] through ub[end-begin] contain the global upper bound values.
begin
An integer specifying the beginning of the range of upper bound values to be returned.
end
An integer specifying the end of the range of upper bound values to be returned.

Return

The routine returns 0 (zero) if successful and nonzero if an error occurs.

Example


 status = CPXgetcallbackglobalub (env, cbdata, wherefrom,
                                  gub, 0, cols-1);