methods for branching rule plugins
SCIP_DECL_SORTPTRCOMP | ( | SCIPbranchruleComp | ) |
SCIP_DECL_SORTPTRCOMP | ( | SCIPbranchruleCompName | ) |
comparison method for sorting branching rules w.r.t. to their name
Definition at line 1197 of file branch.c.
References SCIPbranchruleGetName().
SCIP_BRANCHRULEDATA* SCIPbranchruleGetData | ( | SCIP_BRANCHRULE * | branchrule | ) |
gets user data of branching rule
branchrule | branching rule |
Definition at line 1780 of file branch.c.
References SCIP_Branchrule::branchruledata, and NULL.
Referenced by applyBdchgs(), branch(), execRelpscost(), SCIP_DECL_BRANCHCOPY(), SCIP_DECL_BRANCHEXECEXT(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_BRANCHEXECPS(), SCIP_DECL_BRANCHEXIT(), SCIP_DECL_BRANCHEXITSOL(), SCIP_DECL_BRANCHFREE(), SCIP_DECL_BRANCHINIT(), SCIP_DECL_BRANCHINITSOL(), SCIPfindObjBranchrule(), SCIPgetObjBranchrule(), SCIPselectVarPseudoStrongBranching(), SCIPselectVarStrongBranching(), selectBranchVar(), and selectVarMultAggrBranching().
void SCIPbranchruleSetData | ( | SCIP_BRANCHRULE * | branchrule, |
SCIP_BRANCHRULEDATA * | branchruledata | ||
) |
sets user data of branching rule; user has to free old data in advance!
branchrule | branching rule |
branchruledata | new branching rule user data |
Definition at line 1790 of file branch.c.
References SCIP_Branchrule::branchruledata, and NULL.
Referenced by SCIP_DECL_BRANCHFREE().
const char* SCIPbranchruleGetName | ( | SCIP_BRANCHRULE * | branchrule | ) |
gets name of branching rule
branchrule | branching rule |
Definition at line 1902 of file branch.c.
References SCIP_Branchrule::name, and NULL.
Referenced by branch(), printBranchruleStatistics(), SCIP_DECL_BRANCHCOPY(), SCIP_DECL_BRANCHEXECEXT(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_BRANCHEXECPS(), SCIP_DECL_BRANCHEXITSOL(), SCIP_DECL_BRANCHFREE(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_SORTPTRCOMP(), SCIPbranchruleCopyInclude(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().
const char* SCIPbranchruleGetDesc | ( | SCIP_BRANCHRULE * | branchrule | ) |
gets description of branching rule
branchrule | branching rule |
Definition at line 1912 of file branch.c.
References SCIP_Branchrule::desc, and NULL.
Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().
int SCIPbranchruleGetPriority | ( | SCIP_BRANCHRULE * | branchrule | ) |
gets priority of branching rule
branchrule | branching rule |
Definition at line 1922 of file branch.c.
References NULL, and SCIP_Branchrule::priority.
Referenced by SCIP_DECL_DIALOGEXEC().
int SCIPbranchruleGetMaxdepth | ( | SCIP_BRANCHRULE * | branchrule | ) |
gets maximal depth level, up to which this branching rule should be used (-1 for no limit)
branchrule | branching rule |
Definition at line 1946 of file branch.c.
References SCIP_Branchrule::maxdepth, and NULL.
Referenced by SCIP_DECL_DIALOGEXEC().
SCIP_Real SCIPbranchruleGetMaxbounddist | ( | SCIP_BRANCHRULE * | branchrule | ) |
gets maximal relative distance from current node's dual bound to primal bound for applying branching rule
branchrule | branching rule |
Definition at line 1968 of file branch.c.
References SCIP_Branchrule::maxbounddist, and NULL.
Referenced by SCIP_DECL_DIALOGEXEC().
SCIP_Real SCIPbranchruleGetSetupTime | ( | SCIP_BRANCHRULE * | branchrule | ) |
gets time in seconds used in this branching rule for setting up for next stages
branchrule | branching rule |
Definition at line 2002 of file branch.c.
References NULL, SCIPclockGetTime(), and SCIP_Branchrule::setuptime.
Referenced by printBranchruleStatistics().
SCIP_Real SCIPbranchruleGetTime | ( | SCIP_BRANCHRULE * | branchrule | ) |
gets time in seconds used in this branching rule
branchrule | branching rule |
Definition at line 2012 of file branch.c.
References SCIP_Branchrule::branchclock, NULL, and SCIPclockGetTime().
Referenced by printBranchruleStatistics().
SCIP_Longint SCIPbranchruleGetNLPCalls | ( | SCIP_BRANCHRULE * | branchrule | ) |
gets the total number of times, the branching rule was called on an LP solution
branchrule | branching rule |
Definition at line 2022 of file branch.c.
References SCIP_Branchrule::nlpcalls, and NULL.
Referenced by printBranchruleStatistics().
SCIP_Longint SCIPbranchruleGetNExternCalls | ( | SCIP_BRANCHRULE * | branchrule | ) |
gets the total number of times, the branching rule was called on external candidates
gets the total number of times, the branching rule was called on an external solution
branchrule | branching rule |
Definition at line 2032 of file branch.c.
References SCIP_Branchrule::nexterncalls, and NULL.
Referenced by printBranchruleStatistics().
SCIP_Longint SCIPbranchruleGetNPseudoCalls | ( | SCIP_BRANCHRULE * | branchrule | ) |
gets the total number of times, the branching rule was called on a pseudo solution
branchrule | branching rule |
Definition at line 2042 of file branch.c.
References SCIP_Branchrule::npseudocalls, and NULL.
Referenced by printBranchruleStatistics().
SCIP_Longint SCIPbranchruleGetNCutoffs | ( | SCIP_BRANCHRULE * | branchrule | ) |
gets the total number of times, the branching rule detected a cutoff
branchrule | branching rule |
Definition at line 2052 of file branch.c.
References SCIP_Branchrule::ncutoffs, and NULL.
Referenced by printBranchruleStatistics().
SCIP_Longint SCIPbranchruleGetNCutsFound | ( | SCIP_BRANCHRULE * | branchrule | ) |
gets the total number of cuts, the branching rule separated
branchrule | branching rule |
Definition at line 2062 of file branch.c.
References SCIP_Branchrule::ncutsfound, and NULL.
Referenced by printBranchruleStatistics().
SCIP_Longint SCIPbranchruleGetNConssFound | ( | SCIP_BRANCHRULE * | branchrule | ) |
gets the total number of constraints, the branching rule added to the respective local nodes (not counting constraints that were added to the child nodes as branching decisions)
branchrule | branching rule |
Definition at line 2074 of file branch.c.
References SCIP_Branchrule::nconssfound, and NULL.
Referenced by printBranchruleStatistics().
SCIP_Longint SCIPbranchruleGetNDomredsFound | ( | SCIP_BRANCHRULE * | branchrule | ) |
gets the total number of domain reductions, the branching rule found
branchrule | branching rule |
Definition at line 2084 of file branch.c.
References SCIP_Branchrule::ndomredsfound, and NULL.
Referenced by printBranchruleStatistics().
SCIP_Longint SCIPbranchruleGetNChildren | ( | SCIP_BRANCHRULE * | branchrule | ) |
gets the total number of children, the branching rule created
branchrule | branching rule |
Definition at line 2094 of file branch.c.
References SCIP_Branchrule::nchildren, and NULL.
Referenced by displayRelevantStats(), and printBranchruleStatistics().
SCIP_Bool SCIPbranchruleIsInitialized | ( | SCIP_BRANCHRULE * | branchrule | ) |
is branching rule initialized?
branchrule | branching rule |
Definition at line 2104 of file branch.c.
References SCIP_Branchrule::initialized, and NULL.
Referenced by SCIPsetIncludeNodesel().
SCIP_RETCODE SCIPincludeBranchrule | ( | SCIP * | scip, |
const char * | name, | ||
const char * | desc, | ||
int | priority, | ||
int | maxdepth, | ||
SCIP_Real | maxbounddist, | ||
SCIP_DECL_BRANCHCOPY((*branchcopy)) | , | ||
SCIP_DECL_BRANCHFREE((*branchfree)) | , | ||
SCIP_DECL_BRANCHINIT((*branchinit)) | , | ||
SCIP_DECL_BRANCHEXIT((*branchexit)) | , | ||
SCIP_DECL_BRANCHINITSOL((*branchinitsol)) | , | ||
SCIP_DECL_BRANCHEXITSOL((*branchexitsol)) | , | ||
SCIP_DECL_BRANCHEXECLP((*branchexeclp)) | , | ||
SCIP_DECL_BRANCHEXECEXT((*branchexecext)) | , | ||
SCIP_DECL_BRANCHEXECPS((*branchexecps)) | , | ||
SCIP_BRANCHRULEDATA * | branchruledata | ||
) |
creates a branching rule and includes it in SCIP
scip | SCIP data structure |
name | name of branching rule |
desc | description of branching rule |
priority | priority of the branching rule |
maxdepth | maximal depth level, up to which this branching rule should be used (or -1) |
maxbounddist | maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying branching rule (0.0: only on current best node, 1.0: on all nodes) |
branchruledata | branching rule data |
Definition at line 8988 of file scip.c.
References checkStage(), FALSE, Scip::mem, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPbranchruleCreate(), SCIPerrorMessage, SCIPfindBranchrule(), SCIPsetIncludeBranchrule(), Scip::set, SCIP_Mem::setmem, and TRUE.
Referenced by SCIPincludeObjBranchrule().
SCIP_RETCODE SCIPincludeBranchruleBasic | ( | SCIP * | scip, |
SCIP_BRANCHRULE ** | branchruleptr, | ||
const char * | name, | ||
const char * | desc, | ||
int | priority, | ||
int | maxdepth, | ||
SCIP_Real | maxbounddist, | ||
SCIP_BRANCHRULEDATA * | branchruledata | ||
) |
creates a branching rule and includes it in SCIP. All non-fundamental (or optional) callbacks will be set to NULL. Optional callbacks can be set via specific setter functions, see SCIPsetBranchruleInit(), SCIPsetBranchruleExit(), SCIPsetBranchruleCopy(), SCIPsetBranchruleFree(), SCIPsetBranchruleInitsol(), SCIPsetBranchruleExitsol(), SCIPsetBranchruleExecLp(), SCIPsetBranchruleExecExt(), and SCIPsetBranchruleExecPs().
scip | SCIP data structure |
branchruleptr | pointer to branching rule, or NULL |
name | name of branching rule |
desc | description of branching rule |
priority | priority of the branching rule |
maxdepth | maximal depth level, up to which this branching rule should be used (or -1) |
maxbounddist | maximal relative distance from current node's dual bound to primal bound compared to best node's dual bound for applying branching rule (0.0: only on current best node, 1.0: on all nodes) |
branchruledata | branching rule data |
Definition at line 9036 of file scip.c.
References checkStage(), FALSE, Scip::mem, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPbranchruleCreate(), SCIPerrorMessage, SCIPfindBranchrule(), SCIPsetIncludeBranchrule(), Scip::set, SCIP_Mem::setmem, and TRUE.
Referenced by SCIPincludeBranchruleAllfullstrong(), SCIPincludeBranchruleCloud(), SCIPincludeBranchruleDistribution(), SCIPincludeBranchruleFullstrong(), SCIPincludeBranchruleInference(), SCIPincludeBranchruleLeastinf(), SCIPincludeBranchruleMostinf(), SCIPincludeBranchruleMultAggr(), SCIPincludeBranchruleNodereopt(), SCIPincludeBranchrulePscost(), SCIPincludeBranchruleRandom(), SCIPincludeBranchruleRelpscost(), and SCIPincludeBranchruleRyanFoster().
SCIP_RETCODE SCIPsetBranchruleCopy | ( | SCIP * | scip, |
SCIP_BRANCHRULE * | branchrule, | ||
SCIP_DECL_BRANCHCOPY((*branchcopy)) | |||
) |
sets copy method of branching rule
scip | SCIP data structure |
branchrule | branching rule |
Definition at line 9073 of file scip.c.
References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPbranchruleSetCopy(), and TRUE.
Referenced by SCIPincludeBranchruleAllfullstrong(), SCIPincludeBranchruleDistribution(), SCIPincludeBranchruleFullstrong(), SCIPincludeBranchruleInference(), SCIPincludeBranchruleLeastinf(), SCIPincludeBranchruleMostinf(), SCIPincludeBranchruleMultAggr(), SCIPincludeBranchruleNodereopt(), SCIPincludeBranchrulePscost(), SCIPincludeBranchruleRandom(), and SCIPincludeBranchruleRelpscost().
SCIP_RETCODE SCIPsetBranchruleFree | ( | SCIP * | scip, |
SCIP_BRANCHRULE * | branchrule, | ||
SCIP_DECL_BRANCHFREE((*branchfree)) | |||
) |
sets destructor method of branching rule
scip | SCIP data structure |
branchrule | branching rule |
Definition at line 9089 of file scip.c.
References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPbranchruleSetFree(), and TRUE.
Referenced by SCIPincludeBranchruleAllfullstrong(), SCIPincludeBranchruleCloud(), SCIPincludeBranchruleDistribution(), SCIPincludeBranchruleFullstrong(), SCIPincludeBranchruleInference(), SCIPincludeBranchruleMultAggr(), SCIPincludeBranchrulePscost(), SCIPincludeBranchruleRandom(), and SCIPincludeBranchruleRelpscost().
SCIP_RETCODE SCIPsetBranchruleInit | ( | SCIP * | scip, |
SCIP_BRANCHRULE * | branchrule, | ||
SCIP_DECL_BRANCHINIT((*branchinit)) | |||
) |
sets initialization method of branching rule
scip | SCIP data structure |
branchrule | branching rule |
Definition at line 9105 of file scip.c.
References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPbranchruleSetInit(), and TRUE.
Referenced by SCIPincludeBranchruleAllfullstrong(), SCIPincludeBranchruleCloud(), SCIPincludeBranchruleFullstrong(), SCIPincludeBranchruleMultAggr(), SCIPincludeBranchrulePscost(), and SCIPincludeBranchruleRandom().
SCIP_RETCODE SCIPsetBranchruleExit | ( | SCIP * | scip, |
SCIP_BRANCHRULE * | branchrule, | ||
SCIP_DECL_BRANCHEXIT((*branchexit)) | |||
) |
sets deinitialization method of branching rule
scip | SCIP data structure |
branchrule | branching rule |
Definition at line 9121 of file scip.c.
References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPbranchruleSetExit(), and TRUE.
Referenced by SCIPincludeBranchruleFullstrong(), SCIPincludeBranchruleMultAggr(), SCIPincludeBranchrulePscost(), and SCIPincludeBranchruleRandom().
SCIP_RETCODE SCIPsetBranchruleInitsol | ( | SCIP * | scip, |
SCIP_BRANCHRULE * | branchrule, | ||
SCIP_DECL_BRANCHINITSOL((*branchinitsol)) | |||
) |
sets solving process initialization method of branching rule
scip | SCIP data structure |
branchrule | branching rule |
Definition at line 9137 of file scip.c.
References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPbranchruleSetInitsol(), and TRUE.
Referenced by SCIPincludeBranchruleRelpscost().
SCIP_RETCODE SCIPsetBranchruleExitsol | ( | SCIP * | scip, |
SCIP_BRANCHRULE * | branchrule, | ||
SCIP_DECL_BRANCHEXITSOL((*branchexitsol)) | |||
) |
sets solving process deinitialization method of branching rule
scip | SCIP data structure |
branchrule | branching rule |
Definition at line 9153 of file scip.c.
References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPbranchruleSetExitsol(), and TRUE.
Referenced by SCIPincludeBranchruleDistribution(), and SCIPincludeBranchruleRelpscost().
SCIP_RETCODE SCIPsetBranchruleExecLp | ( | SCIP * | scip, |
SCIP_BRANCHRULE * | branchrule, | ||
SCIP_DECL_BRANCHEXECLP((*branchexeclp)) | |||
) |
sets branching execution method for fractional LP solutions
scip | SCIP data structure |
branchrule | branching rule |
Definition at line 9171 of file scip.c.
References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPbranchruleSetExecLp(), and TRUE.
Referenced by SCIPincludeBranchruleAllfullstrong(), SCIPincludeBranchruleCloud(), SCIPincludeBranchruleDistribution(), SCIPincludeBranchruleFullstrong(), SCIPincludeBranchruleInference(), SCIPincludeBranchruleLeastinf(), SCIPincludeBranchruleMostinf(), SCIPincludeBranchruleMultAggr(), SCIPincludeBranchruleNodereopt(), SCIPincludeBranchrulePscost(), SCIPincludeBranchruleRandom(), SCIPincludeBranchruleRelpscost(), and SCIPincludeBranchruleRyanFoster().
SCIP_RETCODE SCIPsetBranchruleExecExt | ( | SCIP * | scip, |
SCIP_BRANCHRULE * | branchrule, | ||
SCIP_DECL_BRANCHEXECEXT((*branchexecext)) | |||
) |
sets branching execution method for external candidates
scip | SCIP data structure |
branchrule | branching rule |
Definition at line 9187 of file scip.c.
References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPbranchruleSetExecExt(), and TRUE.
Referenced by SCIPincludeBranchruleInference(), SCIPincludeBranchruleLeastinf(), SCIPincludeBranchruleMostinf(), SCIPincludeBranchruleNodereopt(), SCIPincludeBranchrulePscost(), and SCIPincludeBranchruleRandom().
SCIP_RETCODE SCIPsetBranchruleExecPs | ( | SCIP * | scip, |
SCIP_BRANCHRULE * | branchrule, | ||
SCIP_DECL_BRANCHEXECPS((*branchexecps)) | |||
) |
sets branching execution method for not completely fixed pseudo solutions
scip | SCIP data structure |
branchrule | branching rule |
Definition at line 9203 of file scip.c.
References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPbranchruleSetExecPs(), and TRUE.
Referenced by SCIPincludeBranchruleAllfullstrong(), SCIPincludeBranchruleInference(), SCIPincludeBranchruleNodereopt(), and SCIPincludeBranchruleRandom().
SCIP_BRANCHRULE* SCIPfindBranchrule | ( | SCIP * | scip, |
const char * | name | ||
) |
returns the branching rule of the given name, or NULL if not existing
scip | SCIP data structure |
name | name of branching rule |
Definition at line 9219 of file scip.c.
References NULL, SCIPsetFindBranchrule(), SCIPsetSortBranchrules(), and Scip::set.
Referenced by applyBdchgs(), applyCompletesol(), applyOfins(), applyRepair(), applyVbounds(), displayRelevantStats(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_HEUREXEC(), SCIPapplyRens(), SCIPapplyZeroobj(), SCIPexecRelpscostBranching(), SCIPfindObjBranchrule(), SCIPincludeBranchrule(), SCIPincludeBranchruleBasic(), SCIPselectBranchVarPscost(), SCIPselectVarPseudoStrongBranching(), SCIPselectVarStrongBranching(), selectVarMultAggrBranching(), setSubscipParameters(), setupSCIPparamsStage3(), setupSubproblem(), setupSubScip(), solveCoveringProblem(), and solveSubMIP().
SCIP_BRANCHRULE** SCIPgetBranchrules | ( | SCIP * | scip | ) |
returns the array of currently available branching rules
scip | SCIP data structure |
Definition at line 9234 of file scip.c.
References SCIP_Set::branchrules, NULL, and Scip::set.
Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().
int SCIPgetNBranchrules | ( | SCIP * | scip | ) |
returns the number of currently available branching rules
scip | SCIP data structure |
Definition at line 9245 of file scip.c.
References SCIP_Set::nbranchrules, NULL, and Scip::set.
Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().
SCIP_RETCODE SCIPsetBranchrulePriority | ( | SCIP * | scip, |
SCIP_BRANCHRULE * | branchrule, | ||
int | priority | ||
) |
sets the priority of a branching rule
scip | SCIP data structure |
branchrule | branching rule |
priority | new priority of the branching rule |
Definition at line 9256 of file scip.c.
References NULL, SCIP_OKAY, SCIPbranchruleSetPriority(), and Scip::set.
Referenced by SCIP_DECL_PARAMCHGD().
SCIP_RETCODE SCIPsetBranchruleMaxdepth | ( | SCIP * | scip, |
SCIP_BRANCHRULE * | branchrule, | ||
int | maxdepth | ||
) |
sets maximal depth level, up to which this branching rule should be used (-1 for no limit)
scip | SCIP data structure |
branchrule | branching rule |
maxdepth | new maxdepth of the branching rule |
Definition at line 9271 of file scip.c.
References NULL, SCIP_OKAY, SCIPbranchruleSetMaxdepth(), and Scip::set.
SCIP_RETCODE SCIPsetBranchruleMaxbounddist | ( | SCIP * | scip, |
SCIP_BRANCHRULE * | branchrule, | ||
SCIP_Real | maxbounddist | ||
) |
sets maximal relative distance from current node's dual bound to primal bound for applying branching rule
scip | SCIP data structure |
branchrule | branching rule |
maxbounddist | new maxbounddist of the branching rule |
Definition at line 9286 of file scip.c.
References NULL, SCIP_OKAY, SCIPbranchruleSetMaxbounddist(), and Scip::set.