CPX_CALLBACKCONTEXT_GLOBAL_PROGRESS

Generic callback at global progress

#define CPX_CALLBACKCONTEXT_GLOBAL_PROGRESS 0x0010

Description

CPLEX invokes the generic callback in this context when it has made global progress, that is, when new information has been committed to the global solution structures. You can query the current globally valid information about the solution process with the routines CPXXcallbackgetinfodbl and CPXcallbackgetinfodbl, CPXXcallbackgetinfoint and CPXcallbackgetinfoint, CPXXcallbackgetinfolong and CPXcallbackgetinfolong, and CPXXcallbackgetincumbent and CPXcallbackgetincumbent.

The constant is used in two different ways:
  • As a value passed into the generic callback function to specify in which context the generic callback is invoked.
  • Bitwise ORed into the where argument of the CPXXcallbacksetfunc and CPXcallbacksetfunc routine to specify in which situations CPLEX should invoke the generic callback.
Warning:

When the generic callback is invoked in this context, then CPLEX holds a global lock on the solution structures. For deterministic parallel optimization, this lock is even deterministic.

Since this context is handled while holding a lock, you should avoid lengthy operations in the callback.

See also