CPXXcallbackgetgloballb and CPXcallbackgetgloballb

The routine CPXXcallbackgetgloballb/CPXcallbackgetgloballb retrieves the best known globally valid lower bound values during MIP optimization from within a user-written callback.

int CPXXcallbackgetgloballb( CPXCALLBACKCONTEXTptrcontext, double *lb, CPXDIMbegin, CPXDIMend )

int CPXcallbackgetgloballb( CPXCALLBACKCONTEXTptrcontext, double *lb, intbegin, intend )

Description

The routine CPXXcallbackgetgloballb/CPXcallbackgetgloballb retrieves the best known globally valid lower bound values during MIP optimization from within a user-written callback.

The routine can not be invoked in the context CPX_CALLBACKCONTEXT_THREAD_UP nor CPX_CALLBACKCONTEXT_THREAD_DOWN.

Tip: Globally valid variable bounds can subsume some bound tightenings that are not compatible with all feasible solutions. That is, some solutions that are feasible in the original problem can violate the best globally valid bounds accessed by this routine or by the analogous routine CPXXcallbackgetglobalub and CPXcallbackgetglobalub. This situation can arise due to dual presolve reductions or other such reductions that apply variable bound tightening based on the current cut-off value. In particular, even the current incumbent solution might not be compatible with the best globally valid variable bounds accessed by these two routines.

Arguments

context

The callback context as passed into the callback function.

lb
An array to receive the values of the lower bound values. This array must be of length at least (end-begin+1). If successful, lb[0] through lb[end-begin] contain the lower bound values for the current subproblem.
begin
An integer specifying the beginning of the range of lower bounds to be returned.
end
An integer specifying the end of the range of lower bounds to be returned.

Return

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

Example


 status = CPXcallbackgetgloballb (context, lb, 0, cols-1);