XPRSaddcbchgnode
XPRSaddcbchgnode |
Purpose
This function is deprecated and may be removed in future releases. Declares a
node selection
callback function. This is called every time the code backtracks to select a new node during the MIP
search. This callback function will be called in addition to any callbacks already added by XPRSaddcbchgnode.
Synopsis
int XPRS_CC XPRSaddcbchgnode(XPRSprob prob, void (XPRS_CC *f_chgnode)(XPRSprob my_prob, void *my_object, int *nodnum), void *object, int priority);
Arguments
prob
|
The current problem.
|
f_chgnode
|
The callback function which takes three arguments,
my_prob,
my_object and
nodnum, and has no return value. This function is called every time a new node is selected.
|
my_prob
|
The problem passed to the callback function,
f_chgnode.
|
my_object
|
The user-defined object passed as
object when setting up the callback with
XPRSaddcbchgnode.
|
nodnum
|
A pointer to the number of the node,
nodnum, selected by the Optimizer. By changing the value pointed to by this argument, the selected node may be changed with this function.
|
object
|
A user-defined object to be passed to the callback function,
f_chgnode.
|
priority
|
An integer that determines the order in which multiple node selection 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.
|
Related controls
Integer
Node selection control.
|
Example
The following prints out the node number every time a new node is selected during the global search:
XPRSsetintcontrol(prob,XPRS_MIPLOG,3); XPRSsetintcontrol(prob,XPRS_NODESELECTION,2); XPRSaddcbchgnode(prob,nodeSelection,NULL,0); XPRSmipoptimize(prob,"");
The callback function may resemble:
XPRS_CC void nodeSelection(XPRSprob prob, void *object, int *Node) { printf("Node number %d\n", *Node); }
See the example
depthfirst.c in the
examples/optimizer/c folder for an example of using a node selection callback.
Related topics
XPRSremovecbchgnode,
XPRSaddcboptnode,
XPRSaddcbinfnode,
XPRSaddcbintsol,
XPRSaddcbnodecutoff,
XPRSaddcbchgbranch,
XPRSaddcbprenode.