XPRSaddcbestimate
XPRSaddcbestimate |
Purpose
This function is deprecated and may be removed in future releases. Please use branching objects instead. Declares an estimate
callback function. If defined, it will be called at each node of the branch and bound tree to determine the estimated
degradation from
branching the user's global entities. This callback function will be called in addition to any callbacks already added by XPRSaddcbestimate.
Synopsis
int XPRS_CC XPRSaddcbestimate(XPRSprob prob, int (XPRS_CC *f_estimate)(XPRSprob my_prob, void *my_object, int *iglsel, int *iprio, double *degbest, double *degworst, double *curval, int *ifupx, int *nglinf, double *degsum, int *nbr), void *object, int priority);
Arguments
prob
|
The current problem.
|
f_estimate
|
The callback function which takes eleven arguments,
my_prob,
my_object,
iglsel,
iprio,
degbest,
degworst,
curval,
ifupx,
nglinf,
degsum and
nbr, and has an integer return value. This function is called at each node of the branch and bound search.
|
my_prob
|
The problem passed to the callback function,
f_estimate.
|
my_object
|
The user-defined object passed as
object when setting up the callback with
XPRSaddcbestimate.
|
iglsel
|
Selected user global entity. Must be non-negative or -1 to indicate that there is no user global entity candidate for branching. If set to -1, all other arguments, except for
nglinf and
degsum are ignored. This argument is initialized to -1.
|
iprio
|
Priority of selected user global entity. This argument is initialized to a value larger (i.e., lower priority) than the default priority for global entities (see Section
Variable Selection for Branching in Section
Branch and Bound).
|
degbest
|
Estimated degradation from branching on selected user entity in preferred direction.
|
degworst
|
Estimated degradation from branching on selected user entity in worst direction.
|
curval
|
Current value of user global entities.
|
ifupx
|
Preferred branch on user global entity (
0,...,
nbr-1).
|
nglinf
|
Number of infeasible user global entities.
|
degsum
|
Sum of estimated degradations of satisfying all user entities.
|
nbr
|
Number of branches. The user separate routine (set up with
XPRSaddcbsepnode) will be called
nbr times in order to create the actual branches.
|
object
|
A user-defined object to be passed to the callback function,
f_estimate.
|
priority
|
An integer that determines the order in which multiple estimate 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
Consider using the more flexible
branching objects, as described for the
XPRS_bo_create function.
Related topics