XPRSaddcbcutmgr
XPRSaddcbcutmgr |
Purpose
This function is deprecated and may be removed in future releases. Please use XPRSaddcboptnode instead. Declares a user-defined
cut manager routine, called at each
node of the branch and bound search. This callback function will be called in addition to any callbacks already added by XPRSaddcbcutmgr.
Synopsis
int XPRS_CC XPRSaddcbcutmgr(XPRSprob prob, int (XPRS_CC *f_cutmgr)(XPRSprob my_prob, void *my_object), void *object, int priority);
Arguments
prob
|
The current problem
|
f_cutmgr
|
The callback function which takes two arguments,
my_prob and
my_object, and has an integer return value. This function is called at each node in the Branch and Bound search.
|
my_prob
|
The problem passed to the callback function,
f_cutmgr.
|
my_object
|
The user-defined object passed as
object when setting up the callback with
XPRSaddcbcutmgr.
|
object
|
A user-defined object to be passed to the callback function,
f_cutmgr.
|
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.
|
Further information
1. When returning from the user function
f_cutlog, the Optimizer will automatically reoptimize the LP relaxation of the node problem. If a non-zero value is returned from
f_cutlog, the function will be called again afterwards, unless the LP relaxation has become infeasible or was cut off due to the objective function value. Return
0 from
f_cutlog to prevent the function from being called again for the same branch and bound node.
2.
f_cutlog is called for a branch-and-bound node problem after the Optimizer has already applied any internal cuts and heuristics, but before determining if the node problem should be branched or if the node LP relaxation solution is MIP feasible.
3. The Optimizer ensures that cuts added to a node are automatically restored at descendant nodes. To do this, all cuts are stored in a
cut pool and the Optimizer keeps track of which cuts from the cut pool must be restored at each node.
Related topics