full strong LP branching rule
The full strong branching rule applies strong branching to every fractional variable of the LP solution at the current node of the branch-and-bound search. The rule selects the candidate which will cause the highest gain of the dual bound in the created sub-tree among all branching variables.
For calculating the gain, a look-ahead is performed by solving the child node LPs which will result from branching on a variable.
For a more mathematical description and a comparison between the strong branching rule and other branching rules in SCIP, we refer to
- Tobias Achterberg
Constraint Integer Programming
PhD Thesis, Technische Universität Berlin, 2007
Definition in file branch_fullstrong.h.
|SCIP_EXPORT SCIP_RETCODE||SCIPincludeBranchruleFullstrong (SCIP *scip)|
|SCIP_EXPORT SCIP_RETCODE||SCIPselectVarStrongBranching (SCIP *scip, SCIP_VAR **lpcands, SCIP_Real *lpcandssol, SCIP_Real *lpcandsfrac, SCIP_Bool *skipdown, SCIP_Bool *skipup, int nlpcands, int npriolpcands, int ncomplete, int *start, int maxproprounds, SCIP_Bool probingbounds, SCIP_Bool forcestrongbranch, int *bestcand, SCIP_Real *bestdown, SCIP_Real *bestup, SCIP_Real *bestscore, SCIP_Bool *bestdownvalid, SCIP_Bool *bestupvalid, SCIP_Real *provedbound, SCIP_RESULT *result)|