pub unsafe extern "C" fn SCIPtreeBranchVar(
tree: *mut SCIP_TREE,
reopt: *mut SCIP_REOPT,
blkmem: *mut BMS_BLKMEM,
set: *mut SCIP_SET,
stat: *mut SCIP_STAT,
transprob: *mut SCIP_PROB,
origprob: *mut SCIP_PROB,
lp: *mut SCIP_LP,
branchcand: *mut SCIP_BRANCHCAND,
eventqueue: *mut SCIP_EVENTQUEUE,
eventfilter: *mut SCIP_EVENTFILTER,
var: *mut SCIP_VAR,
val: f64,
downchild: *mut *mut SCIP_NODE,
eqchild: *mut *mut SCIP_NODE,
upchild: *mut *mut SCIP_NODE,
) -> SCIP_RETCODEExpand description
branches on a variable x if x is a continuous variable, then two child nodes will be created (x <= x’, x >= x’) but if the bounds of x are such that their relative difference is smaller than epsilon, the variable is fixed to val (if not SCIP_INVALID) or a well chosen alternative in the current node, i.e., no children are created if x is not a continuous variable, then: if solution value x’ is fractional, two child nodes will be created (x <= floor(x’), x >= ceil(x’)), if solution value is integral, the x’ is equal to lower or upper bound of the branching variable and the bounds of x are finite, then two child nodes will be created (x <= x“, x >= x“+1 with x“ = floor((lb + ub)/2)), otherwise (up to) three child nodes will be created (x <= x’-1, x == x’, x >= x’+1) if solution value is equal to one of the bounds and the other bound is infinite, only two child nodes will be created (the third one would be infeasible anyway)