Initializing help system before first use

problem.addcblplog

problem.addcblplog


Purpose
Declares a simplex log callback function which is called after every LPLOG iterations of the simplex algorithm. This callback function will be called in addition to any callbacks already added by addcblplog.
Synopsis

problem.addcblplog (callback, data, priority)

ret = callback (my_prob, my_object)


Arguments
callback 
The callback function which takes two arguments, my_prob and my_object, and has an integer return value. This function is called every LPLOG simplex iterations including iteration 0 and the final iteration.
my_prob 
The problem passed to the callback function, callback.
my_object 
The user-defined object passed as object when setting up the callback with addcblplog.
data 
A user-defined object to be passed to the callback function, callback.
priority 
An integer that determines the order in which multiple lplog 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 code sets a callback function, lpLog, to be called every 10 iterations of the optimization:
prob.controls.lplog = 10
prob.addcblplog (lpLog, None, 0)
prob.read ("problem", "")
prob.mipoptimize ("")
The callback function may resemble:
def lpLog (my_prob, object):

    iter = my_prob.attributes.simplexiter
    obj  = my_prob.attributes.lpobjval

    print ("At iteration {0} objval is {1}".format (iter, obj))
    return 0
Further information
If the callback function returns a nonzero value, the solution process will be interrupted.
Related topics