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 1227 of file branch.c.
References SCIPbranchruleGetName().
SCIP_BRANCHRULEDATA* SCIPbranchruleGetData | ( | SCIP_BRANCHRULE * | branchrule | ) |
gets user data of branching rule
branchrule | branching rule |
Definition at line 1810 of file branch.c.
References SCIP_Branchrule::branchruledata.
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 1820 of file branch.c.
References SCIP_Branchrule::branchruledata.
Referenced by SCIP_DECL_BRANCHFREE().
const char* SCIPbranchruleGetName | ( | SCIP_BRANCHRULE * | branchrule | ) |
gets name of branching rule
branchrule | branching rule |
Definition at line 1932 of file branch.c.
References SCIP_Branchrule::name.
Referenced by branch(), 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(), SCIPincludeDialogDefaultSet(), SCIPprintBranchruleStatistics(), and SCIPsetFindNodesel().
const char* SCIPbranchruleGetDesc | ( | SCIP_BRANCHRULE * | branchrule | ) |
gets description of branching rule
branchrule | branching rule |
Definition at line 1942 of file branch.c.
References SCIP_Branchrule::desc.
Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().
int SCIPbranchruleGetPriority | ( | SCIP_BRANCHRULE * | branchrule | ) |
gets priority of branching rule
branchrule | branching rule |
Definition at line 1952 of file branch.c.
References 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 1976 of file branch.c.
References SCIP_Branchrule::maxdepth.
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 1998 of file branch.c.
References SCIP_Branchrule::maxbounddist.
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 2032 of file branch.c.
References SCIPclockGetTime(), and SCIP_Branchrule::setuptime.
Referenced by SCIPprintBranchruleStatistics().
SCIP_Real SCIPbranchruleGetTime | ( | SCIP_BRANCHRULE * | branchrule | ) |
gets time in seconds used in this branching rule
branchrule | branching rule |
Definition at line 2042 of file branch.c.
References SCIP_Branchrule::branchclock, and SCIPclockGetTime().
Referenced by SCIPprintBranchruleStatistics().
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 2052 of file branch.c.
References SCIP_Branchrule::nlpcalls.
Referenced by SCIPprintBranchruleStatistics().
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 2062 of file branch.c.
References SCIP_Branchrule::nexterncalls.
Referenced by SCIPprintBranchruleStatistics().
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 2072 of file branch.c.
References SCIP_Branchrule::npseudocalls.
Referenced by SCIPprintBranchruleStatistics().
SCIP_Longint SCIPbranchruleGetNCutoffs | ( | SCIP_BRANCHRULE * | branchrule | ) |
gets the total number of times, the branching rule detected a cutoff
branchrule | branching rule |
Definition at line 2082 of file branch.c.
References SCIP_Branchrule::ncutoffs.
Referenced by SCIPprintBranchruleStatistics().
SCIP_Longint SCIPbranchruleGetNCutsFound | ( | SCIP_BRANCHRULE * | branchrule | ) |
gets the total number of cuts, the branching rule separated
branchrule | branching rule |
Definition at line 2092 of file branch.c.
References SCIP_Branchrule::ncutsfound.
Referenced by SCIPprintBranchruleStatistics().
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 2104 of file branch.c.
References SCIP_Branchrule::nconssfound.
Referenced by SCIPprintBranchruleStatistics().
SCIP_Longint SCIPbranchruleGetNDomredsFound | ( | SCIP_BRANCHRULE * | branchrule | ) |
gets the total number of domain reductions, the branching rule found
branchrule | branching rule |
Definition at line 2114 of file branch.c.
References SCIP_Branchrule::ndomredsfound.
Referenced by SCIPprintBranchruleStatistics().
SCIP_Longint SCIPbranchruleGetNChildren | ( | SCIP_BRANCHRULE * | branchrule | ) |
gets the total number of children, the branching rule created
branchrule | branching rule |
Definition at line 2124 of file branch.c.
References SCIP_Branchrule::nchildren.
Referenced by displayRelevantStats(), and SCIPprintBranchruleStatistics().
SCIP_Bool SCIPbranchruleIsInitialized | ( | SCIP_BRANCHRULE * | branchrule | ) |
is branching rule initialized?
branchrule | branching rule |
Definition at line 2134 of file branch.c.
References SCIP_Branchrule::initialized.
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 9038 of file scip.c.
References checkStage(), FALSE, Scip::mem, Scip::messagehdlr, 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 9086 of file scip.c.
References checkStage(), FALSE, Scip::mem, Scip::messagehdlr, 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(), 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 9123 of file scip.c.
References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPbranchruleSetCopy(), and TRUE.
Referenced by SCIPincludeBranchruleAllfullstrong(), SCIPincludeBranchruleDistribution(), SCIPincludeBranchruleFullstrong(), SCIPincludeBranchruleInference(), SCIPincludeBranchruleLeastinf(), SCIPincludeBranchruleMostinf(), SCIPincludeBranchruleMultAggr(), SCIPincludeBranchruleNodereopt(), SCIPincludeBranchrulePscost(), and SCIPincludeBranchruleRandom().
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 9139 of file scip.c.
References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPbranchruleSetFree(), and TRUE.
Referenced by SCIPincludeBranchruleAllfullstrong(), SCIPincludeBranchruleCloud(), SCIPincludeBranchruleDistribution(), SCIPincludeBranchruleFullstrong(), SCIPincludeBranchruleInference(), SCIPincludeBranchruleMultAggr(), SCIPincludeBranchrulePscost(), and SCIPincludeBranchruleRandom().
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 9155 of file scip.c.
References checkStage(), FALSE, 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 9171 of file scip.c.
References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPbranchruleSetExit(), and TRUE.
Referenced by SCIPincludeBranchruleFullstrong(), SCIPincludeBranchruleMultAggr(), 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 9187 of file scip.c.
References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPbranchruleSetInitsol(), and TRUE.
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 9203 of file scip.c.
References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPbranchruleSetExitsol(), and TRUE.
Referenced by SCIPincludeBranchruleDistribution().
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 9221 of file scip.c.
References checkStage(), FALSE, SCIP_CALL, SCIP_OKAY, SCIPbranchruleSetExecLp(), and TRUE.
Referenced by SCIPincludeBranchruleAllfullstrong(), SCIPincludeBranchruleCloud(), SCIPincludeBranchruleDistribution(), SCIPincludeBranchruleFullstrong(), SCIPincludeBranchruleInference(), SCIPincludeBranchruleLeastinf(), SCIPincludeBranchruleMostinf(), SCIPincludeBranchruleMultAggr(), SCIPincludeBranchruleNodereopt(), SCIPincludeBranchrulePscost(), SCIPincludeBranchruleRandom(), 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 9237 of file scip.c.
References checkStage(), FALSE, 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 9253 of file scip.c.
References checkStage(), FALSE, 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 9269 of file scip.c.
References SCIPsetFindBranchrule(), SCIPsetSortBranchrules(), and Scip::set.
Referenced by applyBdchgs(), applyRepair(), displayRelevantStats(), doSolveSubMIP(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_HEUREXEC(), SCIPexecRelpscostBranching(), SCIPfindObjBranchrule(), SCIPincludeBranchrule(), SCIPincludeBranchruleBasic(), SCIPselectBranchVarPscost(), SCIPselectVarPseudoStrongBranching(), SCIPselectVarStrongBranching(), selectVarMultAggrBranching(), setSubscipParameters(), setupAndSolve(), setupAndSolveSubscip(), setupAndSolveSubscipCrossover(), setupAndSolveSubscipLocalbranching(), setupAndSolveSubscipMutation(), setupSCIPparamsStage3(), setupSubproblem(), setupSubScip(), solveCoveringProblem(), wrapperDins(), and wrapperRins().
SCIP_BRANCHRULE** SCIPgetBranchrules | ( | SCIP * | scip | ) |
returns the array of currently available branching rules
scip | SCIP data structure |
Definition at line 9284 of file scip.c.
References SCIP_Set::branchrules, 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 9295 of file scip.c.
References SCIP_Set::nbranchrules, 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 9306 of file scip.c.
References 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 9321 of file scip.c.
References 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 9336 of file scip.c.
References SCIP_OKAY, SCIPbranchruleSetMaxbounddist(), and Scip::set.