problem.addcbgloballog
problem.addcbgloballog |
Purpose
Declares a global log callback function, called each time the global log is printed. This callback function will be called in addition to any callbacks already added by addcbgloballog.
Synopsis
problem.addcbgloballog (f_globallog, object, priority)
ret = f_globallog (my_prob, my_object)
Arguments
f_globallog
|
The callback function which takes two arguments,
my_prob and
my_object, and has an integer return value. This function is called whenever the global log is printed as determined by the
MIPLOG control.
|
my_prob
|
The problem passed to the callback function,
f_globallog.
|
my_object
|
The user-defined object passed as
object when setting up the callback with
addcbgloballog.
|
object
|
A user-defined object to be passed to the callback function,
f_globallog.
|
priority
|
An integer that determines the order in which multiple global log callbacks will be invoked. The callback added with a higher priority will be called before a callback with a lower priority. Set to 0 if not required.
|
Example
The following example prints at each node of the global search the node number and its depth:
prob.controls.miplog = 3 prob.addcbgloballog (globalLog, None, 0) prob.mipoptimize ('')
The callback function may resemble:
def globalLog (prob, object): nodedepth = prob.attributes.nodedepth node = prob.attributes.currentnode print ('Node {0} with depth {1} has been processed'.format (node, nodedepth)) return 0
Further information
If the callback function returns a nonzero value, the global search will be interrupted.
Related topics