branch.c File Reference Detailed Descriptionmethods for branching rules and branching candidate storage Definition in file branch.c. #include <assert.h> #include <string.h> #include "scip/def.h" #include "blockmemshell/memory.h" #include "scip/set.h" #include "scip/stat.h" #include "scip/clock.h" #include "scip/paramset.h" #include "scip/event.h" #include "scip/lp.h" #include "scip/var.h" #include "scip/prob.h" #include "scip/tree.h" #include "scip/sepastore.h" #include "scip/scip.h" #include "scip/branch.h" #include "scip/struct_branch.h" Go to the source code of this file. Function Documentation
ensures, that lpcands array can store at least num entries
Definition at line 54 of file branch.c. References BMSreallocMemoryArray, SCIP_BranchCand::lpcands, SCIP_BranchCand::lpcandsfrac, SCIP_BranchCand::lpcandssize, SCIP_BranchCand::lpcandssol, SCIP_BranchCand::nlpcands, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize(). Referenced by branchcandCalcLPCands().
ensures, that pseudocands array can store at least num entries
Definition at line 79 of file branch.c. References BMSreallocMemoryArray, SCIP_BranchCand::npseudocands, SCIP_BranchCand::pseudocands, SCIP_BranchCand::pseudocandssize, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize(). Referenced by SCIPbranchcandUpdateVar().
ensures, that externcands array can store at least num entries
Definition at line 102 of file branch.c. References BMSreallocMemoryArray, SCIP_BranchCand::externcands, SCIP_BranchCand::externcandsscore, SCIP_BranchCand::externcandssize, SCIP_BranchCand::externcandssol, SCIP_BranchCand::nexterncands, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize(). Referenced by SCIPbranchcandAddExternCand().
creates a branching candidate storage
Definition at line 132 of file branch.c. References BMSallocMemory, NULL, SCIP_ALLOC, and SCIP_OKAY. Referenced by SCIPtransformProb().
frees branching candidate storage
Definition at line 171 of file branch.c. References BMSfreeMemory, BMSfreeMemoryArrayNull, NULL, and SCIP_OKAY. Referenced by freeTransform().
calculates branching candidates for LP solution branching (fractional variables)
Definition at line 191 of file branch.c. References ensureLpcandsSize(), SCIP_Col::lb, SCIP_BranchCand::lpcands, SCIP_BranchCand::lpcandsfrac, SCIP_BranchCand::lpcandssol, SCIP_Stat::lpcount, SCIP_Col::lpipos, SCIP_BranchCand::lpmaxpriority, SCIP_Col::lppos, SCIP_BranchCand::nimpllpfracs, SCIP_BranchCand::nlpcands, SCIP_BranchCand::npriolpbins, SCIP_BranchCand::npriolpcands, NULL, SCIP_CALL, SCIP_INVALID, SCIP_LPSOLSTAT_OPTIMAL, SCIP_LPSOLSTAT_UNBOUNDEDRAY, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_CONTINUOUS, SCIP_VARTYPE_IMPLINT, SCIPcolGetPrimsol(), SCIPdebugMessage, SCIPlpGetCols(), SCIPlpGetNCols(), SCIPlpGetSolstat(), SCIPsetFeasFrac(), SCIPsetIsFeasFracIntegral(), SCIPsetIsFeasGE(), SCIPsetIsFeasLE(), SCIPsetIsInfinity(), SCIPvarGetBranchPriority(), SCIPvarGetCol(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbLocal(), SCIP_Lp::solved, SCIP_Col::ub, SCIP_BranchCand::validlpcandslp, and SCIP_Col::var. Referenced by SCIPbranchcandGetLPCands(), and SCIPbranchExecLP().
gets branching candidates for LP solution branching (fractional variables)
Definition at line 384 of file branch.c. References branchcandCalcLPCands(), SCIP_BranchCand::lpcands, SCIP_BranchCand::lpcandsfrac, SCIP_BranchCand::lpcandssol, SCIP_BranchCand::nimpllpfracs, SCIP_BranchCand::nlpcands, SCIP_BranchCand::npriolpbins, SCIP_BranchCand::npriolpcands, NULL, SCIP_CALL, and SCIP_OKAY. Referenced by priceAndCutLoop(), SCIPgetLPBranchCands(), SCIPgetNLPBranchCands(), SCIPgetNPrioLPBranchCands(), solveNode(), and updateEstimate().
gets external branching candidates
Definition at line 419 of file branch.c. References SCIP_BranchCand::externcands, SCIP_BranchCand::externcandsscore, SCIP_BranchCand::externcandssol, SCIP_BranchCand::nexterncands, SCIP_BranchCand::nprioexternbins, SCIP_BranchCand::nprioexterncands, SCIP_BranchCand::nprioexternimpls, SCIP_BranchCand::nprioexternints, NULL, and SCIP_OKAY. Referenced by SCIPgetExternBranchCands().
gets number of external branching candidates
Definition at line 457 of file branch.c. References SCIP_BranchCand::nexterncands, and NULL. Referenced by SCIPgetNExternBranchCands(), and solveNode().
gets number of external branching candidates with maximal branch priority
Definition at line 467 of file branch.c. References SCIP_BranchCand::nprioexterncands, and NULL. Referenced by SCIPgetNPrioExternBranchCands().
gets number of binary external branching candidates with maximal branch priority
Definition at line 477 of file branch.c. References SCIP_BranchCand::nprioexternbins, and NULL. Referenced by SCIPgetNPrioExternBranchBins().
gets number of integer external branching candidates with maximal branch priority
Definition at line 487 of file branch.c. References SCIP_BranchCand::nprioexternints, and NULL. Referenced by SCIPgetNPrioExternBranchInts().
gets number of implicit integer external branching candidates with maximal branch priority
Definition at line 497 of file branch.c. References SCIP_BranchCand::nprioexternimpls, and NULL. Referenced by SCIPgetNPrioExternBranchImpls().
gets number of continuous external branching candidates with maximal branch priority
Definition at line 507 of file branch.c. References SCIP_BranchCand::nprioexternbins, SCIP_BranchCand::nprioexterncands, SCIP_BranchCand::nprioexternimpls, SCIP_BranchCand::nprioexternints, and NULL. Referenced by SCIPgetNPrioExternBranchConts().
insert variable, its score and its solution value into the external branching candidate storage the absolute difference of the current lower and upper bounds of the variable must be at least epsilon
Definition at line 519 of file branch.c. References ensureExterncandsSize(), SCIP_BranchCand::externcands, SCIP_BranchCand::externcandsscore, SCIP_BranchCand::externcandssize, SCIP_BranchCand::externcandssol, SCIP_BranchCand::externmaxpriority, SCIP_BranchCand::nexterncands, SCIP_BranchCand::nprioexternbins, SCIP_BranchCand::nprioexterncands, SCIP_BranchCand::nprioexternimpls, SCIP_BranchCand::nprioexternints, NULL, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_MULTAGGR, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_CONTINUOUS, SCIP_VARTYPE_IMPLINT, SCIP_VARTYPE_INTEGER, SCIPdebugMessage, SCIPsetCeil(), SCIPsetFloor(), SCIPsetIsEQ(), SCIPvarGetBranchPriority(), SCIPvarGetLbLocal(), SCIPvarGetMultaggrLbLocal(), SCIPvarGetMultaggrUbLocal(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarGetType(), and SCIPvarGetUbLocal(). Referenced by SCIPaddExternBranchCand().
removes all external candidates from the storage for external branching
Definition at line 649 of file branch.c. References SCIP_BranchCand::externmaxpriority, SCIP_BranchCand::nexterncands, SCIP_BranchCand::nprioexternbins, SCIP_BranchCand::nprioexterncands, SCIP_BranchCand::nprioexternimpls, SCIP_BranchCand::nprioexternints, and NULL. Referenced by propAndSolve(), SCIPclearExternBranchCands(), and solveNode().
checks whether the given variable is contained in the candidate storage for external branching
Definition at line 664 of file branch.c. References SCIP_BranchCand::externcands, SCIP_BranchCand::externcandssize, SCIP_BranchCand::externmaxpriority, FALSE, SCIP_BranchCand::nexterncands, SCIP_BranchCand::nprioexternbins, SCIP_BranchCand::nprioexterncands, SCIP_BranchCand::nprioexternimpls, SCIP_BranchCand::nprioexternints, NULL, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_CONTINUOUS, SCIP_VARTYPE_IMPLINT, SCIP_VARTYPE_INTEGER, SCIPvarGetBranchPriority(), SCIPvarGetType(), and TRUE. Referenced by SCIPcontainsExternBranchCand().
gets branching candidates for pseudo solution branching (non-fixed variables)
Definition at line 740 of file branch.c. References SCIP_Prob::nbinvars, SCIP_Prob::nimplvars, SCIP_Prob::nintvars, SCIP_BranchCand::npriopseudobins, SCIP_BranchCand::npriopseudocands, SCIP_BranchCand::npseudocands, NULL, SCIP_Var::pseudocandindex, SCIP_BranchCand::pseudocands, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_IMPLINT, SCIP_VARTYPE_INTEGER, SCIPsetIsFeasIntegral(), SCIPsetIsLE(), SCIPsetIsLT(), SCIPvarGetLbLocal(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbLocal(), and SCIP_Prob::vars. Referenced by SCIPgetPseudoBranchCands().
gets number of branching candidates for pseudo solution branching (non-fixed variables)
Definition at line 802 of file branch.c. References SCIP_BranchCand::npseudocands, and NULL. Referenced by propAndSolve(), SCIPconshdlrEnforcePseudoSol(), SCIPgetNPseudoBranchCands(), SCIPsolveCIP(), and solveNode().
gets number of branching candidates with maximal branch priority for pseudo solution branching
Definition at line 812 of file branch.c. References SCIP_BranchCand::npriopseudocands, and NULL. Referenced by SCIPgetNPrioPseudoBranchCands().
gets number of binary branching candidates with maximal branch priority for pseudo solution branching
Definition at line 822 of file branch.c. References SCIP_BranchCand::npriopseudobins, and NULL. Referenced by SCIPgetNPrioPseudoBranchBins().
gets number of integer branching candidates with maximal branch priority for pseudo solution branching
Definition at line 832 of file branch.c. References SCIP_BranchCand::npriopseudoints, and NULL. Referenced by SCIPgetNPrioPseudoBranchInts().
gets number of implicit integer branching candidates with maximal branch priority for pseudo solution branching
Definition at line 842 of file branch.c. References SCIP_BranchCand::npriopseudobins, SCIP_BranchCand::npriopseudocands, SCIP_BranchCand::npriopseudoints, and NULL. Referenced by SCIPgetNPrioPseudoBranchImpls().
insert pseudocand at given position, or to the first positions of the maximal priority candidates, using the given position as free slot for the other candidates
Definition at line 855 of file branch.c. References SCIP_BranchCand::npriopseudobins, SCIP_BranchCand::npriopseudocands, SCIP_BranchCand::npriopseudoints, SCIP_BranchCand::npseudocands, NULL, SCIP_Var::pseudocandindex, SCIP_BranchCand::pseudocands, SCIP_BranchCand::pseudocandssize, SCIP_BranchCand::pseudomaxpriority, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPdebugMessage, SCIPvarGetBranchPriority(), SCIPvarGetName(), and SCIPvarGetType(). Referenced by branchcandSortPseudoCands(), and SCIPbranchcandUpdateVar().
sorts the pseudo branching candidates, such that the candidates of maximal priority are at the front, ordered by binaries, integers, implicit integers
Definition at line 945 of file branch.c. References branchcandInsertPseudoCand(), SCIP_BranchCand::npriopseudobins, SCIP_BranchCand::npriopseudocands, SCIP_BranchCand::npriopseudoints, SCIP_BranchCand::npseudocands, NULL, SCIP_Var::pseudocandindex, SCIP_BranchCand::pseudocands, SCIP_BranchCand::pseudomaxpriority, SCIPdebugMessage, and SCIPvarGetBranchPriority(). Referenced by branchcandRemovePseudoCand().
removes pseudo candidate from pseudocands array
Definition at line 978 of file branch.c. References branchcandSortPseudoCands(), SCIP_BranchCand::npriopseudobins, SCIP_BranchCand::npriopseudocands, SCIP_BranchCand::npriopseudoints, SCIP_BranchCand::npseudocands, NULL, SCIP_Var::pseudocandindex, SCIP_BranchCand::pseudocands, SCIP_BranchCand::pseudomaxpriority, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPdebugMessage, SCIPvarGetBranchPriority(), SCIPvarGetName(), and SCIPvarGetType(). Referenced by SCIPbranchcandRemoveVar().
removes variable from branching candidate list
Definition at line 1063 of file branch.c. References branchcandRemovePseudoCand(), NULL, SCIP_Var::pseudocandindex, and SCIP_OKAY. Referenced by SCIPbranchcandUpdateVar(), SCIPbranchcandUpdateVarBranchPriority(), SCIPprobChgVarType(), and SCIPprobPerformVarDeletions().
updates branching candidate list for a given variable
Definition at line 1080 of file branch.c. References branchcandInsertPseudoCand(), ensurePseudocandsSize(), SCIP_BranchCand::npseudocands, NULL, SCIP_Var::pseudocandindex, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIP_VARTYPE_CONTINUOUS, SCIPbranchcandRemoveVar(), SCIPsetIsGE(), SCIPsetIsLT(), SCIPvarGetLbLocal(), SCIPvarGetStatus(), SCIPvarGetType(), and SCIPvarGetUbLocal(). Referenced by SCIPbranchcandUpdateVarBranchPriority(), SCIPeventProcess(), SCIPprobAddVar(), SCIPprobChgVarType(), and SCIPprobVarChangedStatus().
updates branching priority of the given variable and update the pseude candidate array if needed
Definition at line 1120 of file branch.c. References NULL, SCIP_Var::pseudocandindex, SCIP_BranchCand::pseudomaxpriority, SCIP_CALL, SCIP_OKAY, SCIPbranchcandRemoveVar(), SCIPbranchcandUpdateVar(), SCIPvarChgBranchPriority(), and SCIPvarGetBranchPriority(). Referenced by SCIPchgVarBranchPriority().
comparison method for sorting branching rules w.r.t. to their name Definition at line 1172 of file branch.c. References SCIPbranchruleGetName().
method to call, when the priority of a branching rule was changed Definition at line 1179 of file branch.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPparamGetData(), SCIPparamGetInt(), and SCIPsetBranchrulePriority().
copies the given branchrule to a new scip
Definition at line 1193 of file branch.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPbranchruleGetName(), and SCIPdebugMessage. Referenced by SCIPsetCopyPlugins().
creates a branching rule
Definition at line 1212 of file branch.c. References BMSallocMemory, BMSduplicateMemoryArray, FALSE, NULL, paramname, SCIP_ALLOC, SCIP_CALL, SCIP_CLOCKTYPE_DEFAULT, SCIP_MAXSTRLEN, SCIP_OKAY, SCIPclockCreate(), SCIPsetAddIntParam(), SCIPsetAddRealParam(), and SCIPsnprintf(). Referenced by SCIPincludeBranchrule(), and SCIPincludeBranchruleBasic().
frees memory of branching rule
Definition at line 1292 of file branch.c. References BMSfreeMemory, BMSfreeMemoryArray, NULL, SCIP_CALL, SCIP_OKAY, and SCIPclockFree().
initializes branching rule
Definition at line 1318 of file branch.c. References SCIP_Branchrule::branchclock, SCIP_Branchrule::initialized, SCIP_Branchrule::name, SCIP_Branchrule::nchildren, SCIP_Branchrule::nconssfound, SCIP_Branchrule::ncutoffs, SCIP_Branchrule::ncutsfound, SCIP_Branchrule::ndomredsfound, SCIP_Branchrule::nexterncalls, SCIP_Branchrule::nlpcalls, SCIP_Branchrule::npseudocalls, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPclockReset(), SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, SCIP_Branchrule::setuptime, and TRUE. Referenced by SCIPsetInitPlugins().
deinitializes branching rule
Definition at line 1362 of file branch.c. References FALSE, SCIP_Branchrule::initialized, SCIP_Branchrule::name, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, and SCIP_Branchrule::setuptime. Referenced by SCIPsetExitPlugins().
informs branching rule that the branch and bound process is being started
Definition at line 1392 of file branch.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIP_Branchrule::setuptime. Referenced by SCIPsetInitsolPlugins().
informs branching rule that the branch and bound process data is being freed
Definition at line 1416 of file branch.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIP_Branchrule::setuptime. Referenced by SCIPsetExitsolPlugins().
executes branching rule for fractional LP solution
Definition at line 1440 of file branch.c. References SCIP_Branchrule::branchclock, SCIP_Tree::focusnode, SCIP_Branchrule::maxbounddist, SCIP_Branchrule::maxdepth, SCIP_Stat::nactiveconss, SCIP_Branchrule::name, SCIP_Stat::nboundchgs, SCIP_Branchrule::nchildren, SCIP_Tree::nchildren, SCIP_Branchrule::nconssfound, SCIP_Branchrule::ncutoffs, SCIP_Branchrule::ncutsfound, SCIP_Branchrule::ndomredsfound, SCIP_Stat::nholechgs, SCIP_Branchrule::nlpcalls, SCIP_Stat::nprobboundchgs, SCIP_Stat::nprobholechgs, NULL, SCIP_Bool, SCIP_BRANCHED, SCIP_CALL, SCIP_CONSADDED, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_INVALIDRESULT, SCIP_Longint, SCIP_OKAY, SCIP_Real, SCIP_REDUCEDDOM, SCIP_SEPARATED, SCIPclockStart(), SCIPclockStop(), SCIPdebugMessage, SCIPerrorMessage, SCIPnodeGetLowerbound(), SCIPsepastoreGetNCuts(), SCIPsetIsGE(), SCIPsetIsInfinity(), SCIPsetIsLE(), SCIPtreeGetCurrentDepth(), and SCIPtreeGetLowerbound(). Referenced by SCIPbranchExecLP().
executes branching rule for external branching candidates
Definition at line 1547 of file branch.c. References SCIP_Branchrule::branchclock, SCIP_Tree::focusnode, SCIP_Branchrule::maxbounddist, SCIP_Branchrule::maxdepth, SCIP_Stat::nactiveconss, SCIP_Branchrule::name, SCIP_Stat::nboundchgs, SCIP_Branchrule::nchildren, SCIP_Tree::nchildren, SCIP_Branchrule::nconssfound, SCIP_Branchrule::ncutoffs, SCIP_Branchrule::ncutsfound, SCIP_Branchrule::ndomredsfound, SCIP_Branchrule::nexterncalls, SCIP_Stat::nholechgs, SCIP_Stat::nprobboundchgs, SCIP_Stat::nprobholechgs, NULL, SCIP_Bool, SCIP_BRANCHED, SCIP_CALL, SCIP_CONSADDED, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_INVALIDRESULT, SCIP_Longint, SCIP_OKAY, SCIP_Real, SCIP_REDUCEDDOM, SCIP_SEPARATED, SCIPclockStart(), SCIPclockStop(), SCIPdebugMessage, SCIPerrorMessage, SCIPnodeGetLowerbound(), SCIPsepastoreGetNCuts(), SCIPsetIsGE(), SCIPsetIsInfinity(), SCIPsetIsLE(), SCIPtreeGetCurrentDepth(), and SCIPtreeGetLowerbound(). Referenced by SCIPbranchExecExtern().
executes branching rule for not completely fixed pseudo solution
Definition at line 1654 of file branch.c. References SCIP_Branchrule::branchclock, SCIP_Tree::focusnode, SCIP_Branchrule::maxbounddist, SCIP_Branchrule::maxdepth, SCIP_Stat::nactiveconss, SCIP_Branchrule::name, SCIP_Stat::nboundchgs, SCIP_Branchrule::nchildren, SCIP_Tree::nchildren, SCIP_Branchrule::nconssfound, SCIP_Branchrule::ncutoffs, SCIP_Branchrule::ndomredsfound, SCIP_Stat::nholechgs, SCIP_Stat::nprobboundchgs, SCIP_Stat::nprobholechgs, SCIP_Branchrule::npseudocalls, NULL, SCIP_Bool, SCIP_BRANCHED, SCIP_CALL, SCIP_CONSADDED, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_INVALIDRESULT, SCIP_Longint, SCIP_OKAY, SCIP_Real, SCIP_REDUCEDDOM, SCIPclockStart(), SCIPclockStop(), SCIPdebugMessage, SCIPerrorMessage, SCIPnodeGetLowerbound(), SCIPsetIsGE(), SCIPsetIsInfinity(), SCIPsetIsLE(), SCIPtreeGetCurrentDepth(), and SCIPtreeGetLowerbound(). Referenced by SCIPbranchExecPseudo().
gets user data of branching rule
Definition at line 1755 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().
sets user data of branching rule; user has to free old data in advance!
Definition at line 1765 of file branch.c. References SCIP_Branchrule::branchruledata, and NULL. Referenced by SCIP_DECL_BRANCHFREE().
sets copy method of branching rule
Definition at line 1776 of file branch.c. References NULL. Referenced by SCIPsetBranchruleCopy().
sets destructor method of branching rule
Definition at line 1787 of file branch.c. References NULL. Referenced by SCIPsetBranchruleFree().
sets initialization method of branching rule
Definition at line 1798 of file branch.c. References NULL. Referenced by SCIPsetBranchruleInit().
sets deinitialization method of branching rule
Definition at line 1809 of file branch.c. References NULL. Referenced by SCIPsetBranchruleExit().
sets solving process initialization method of branching rule
Definition at line 1820 of file branch.c. References NULL. Referenced by SCIPsetBranchruleInitsol().
sets solving process deinitialization method of branching rule
Definition at line 1831 of file branch.c. References NULL. Referenced by SCIPsetBranchruleExitsol().
sets branching execution method for fractional LP solutions
Definition at line 1844 of file branch.c. References NULL. Referenced by SCIPsetBranchruleExecLp().
sets branching execution method for external candidates
Definition at line 1855 of file branch.c. References NULL. Referenced by SCIPsetBranchruleExecExt().
sets branching execution method for not completely fixed pseudo solutions
Definition at line 1866 of file branch.c. References NULL. Referenced by SCIPsetBranchruleExecPs().
gets name of branching rule
Definition at line 1877 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(), SCIPincludeDialogDefaultSet(), and SCIPsetGetNodesel().
gets description of branching rule
Definition at line 1887 of file branch.c. References SCIP_Branchrule::desc, and NULL. Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().
gets priority of branching rule
Definition at line 1897 of file branch.c. References NULL, and SCIP_Branchrule::priority. Referenced by SCIP_DECL_DIALOGEXEC().
sets priority of branching rule
Definition at line 1907 of file branch.c. References FALSE, NULL, and SCIP_Branchrule::priority. Referenced by SCIPsetBranchrulePriority().
gets maximal depth level, up to which this branching rule should be used (-1 for no limit)
Definition at line 1921 of file branch.c. References SCIP_Branchrule::maxdepth, and NULL. Referenced by SCIP_DECL_DIALOGEXEC().
sets maximal depth level, up to which this branching rule should be used (-1 for no limit)
Definition at line 1931 of file branch.c. References SCIP_Branchrule::maxdepth, and NULL. Referenced by SCIPsetBranchruleMaxdepth().
gets maximal relative distance from current node's dual bound to primal bound for applying branching rule
Definition at line 1943 of file branch.c. References SCIP_Branchrule::maxbounddist, and NULL. Referenced by SCIP_DECL_DIALOGEXEC().
sets maximal relative distance from current node's dual bound to primal bound for applying branching rule
Definition at line 1953 of file branch.c. References SCIP_Branchrule::maxbounddist, and NULL. Referenced by SCIPsetBranchruleMaxbounddist().
enables or disables all clocks of
Definition at line 1965 of file branch.c. References SCIP_Branchrule::branchclock, NULL, SCIPclockEnableOrDisable(), and SCIP_Branchrule::setuptime. Referenced by SCIPsetSetReoptimizationParams().
gets time in seconds used in this branching rule for setting up for next stages
Definition at line 1977 of file branch.c. References NULL, SCIPclockGetTime(), and SCIP_Branchrule::setuptime. Referenced by printBranchruleStatistics().
gets time in seconds used in this branching rule
Definition at line 1987 of file branch.c. References SCIP_Branchrule::branchclock, NULL, and SCIPclockGetTime(). Referenced by printBranchruleStatistics().
gets the total number of times, the branching rule was called on an LP solution
Definition at line 1997 of file branch.c. References SCIP_Branchrule::nlpcalls, and NULL. Referenced by printBranchruleStatistics().
gets the total number of times, the branching rule was called on an external solution
Definition at line 2007 of file branch.c. References SCIP_Branchrule::nexterncalls, and NULL. Referenced by printBranchruleStatistics().
gets the total number of times, the branching rule was called on a pseudo solution
Definition at line 2017 of file branch.c. References SCIP_Branchrule::npseudocalls, and NULL. Referenced by printBranchruleStatistics().
gets the total number of times, the branching rule detected a cutoff
Definition at line 2027 of file branch.c. References SCIP_Branchrule::ncutoffs, and NULL. Referenced by printBranchruleStatistics().
gets the total number of cuts, the branching rule separated
Definition at line 2037 of file branch.c. References SCIP_Branchrule::ncutsfound, and NULL. Referenced by printBranchruleStatistics().
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)
Definition at line 2049 of file branch.c. References SCIP_Branchrule::nconssfound, and NULL. Referenced by printBranchruleStatistics().
gets the total number of domain reductions, the branching rule found
Definition at line 2059 of file branch.c. References SCIP_Branchrule::ndomredsfound, and NULL. Referenced by printBranchruleStatistics().
gets the total number of children, the branching rule created
Definition at line 2069 of file branch.c. References SCIP_Branchrule::nchildren, and NULL. Referenced by displayRelevantStats(), and printBranchruleStatistics().
is branching rule initialized?
Definition at line 2079 of file branch.c. References SCIP_Branchrule::initialized, and NULL. Referenced by SCIPsetFindNodesel().
calculates the branching score out of the gain predictions for a binary branching
Definition at line 2096 of file branch.c. References MAX, NULL, SCIP_Real, SCIPABORT, SCIPerrorMessage, SCIPsetSumepsilon(), and SCIPvarGetBranchFactor(). Referenced by SCIPbranchGetScoreMultiple(), SCIPgetAvgConflictlengthScore(), SCIPgetAvgConflictlengthScoreCurrentRun(), SCIPgetAvgConflictScore(), SCIPgetAvgConflictScoreCurrentRun(), SCIPgetAvgCutoffScore(), SCIPgetAvgCutoffScoreCurrentRun(), SCIPgetAvgInferenceScore(), SCIPgetAvgInferenceScoreCurrentRun(), SCIPgetAvgPseudocostScore(), SCIPgetAvgPseudocostScoreCurrentRun(), SCIPgetBranchScore(), SCIPgetVarAvgCutoffScore(), SCIPgetVarAvgCutoffScoreCurrentRun(), SCIPgetVarAvgInferenceCutoffScore(), SCIPgetVarAvgInferenceCutoffScoreCurrentRun(), SCIPgetVarAvgInferenceScore(), SCIPgetVarAvgInferenceScoreCurrentRun(), SCIPgetVarConflictlengthScore(), SCIPgetVarConflictlengthScoreCurrentRun(), SCIPgetVarConflictScore(), SCIPgetVarConflictScoreCurrentRun(), SCIPgetVarPseudocostScore(), and SCIPgetVarPseudocostScoreCurrentRun().
calculates the branching score out of the gain predictions for a branching with arbitrary many children
Definition at line 2146 of file branch.c. References NULL, SCIP_Real, SCIPbranchGetScore(), and SCIPsetInfinity(). Referenced by SCIPgetBranchScoreMultiple().
computes a branching point for a (not necessarily discrete) variable a suggested branching point is first projected onto the box if no point is suggested, then the value in the current LP or pseudo solution is used if this value is at infinity, then 0.0 projected onto the bounds and then moved inside the interval is used for a discrete variable, it is ensured that the returned value is fractional for a continuous variable, the parameter branching/clamp defines how far a branching point need to be from the bounds of a variable the latter is only applied if no point has been suggested, or the suggested point is not inside the variable's interval
Definition at line 2184 of file branch.c. References MAX, MIN, NULL, REALABS, SCIP_INVALID, SCIP_Real, SCIP_VARTYPE_CONTINUOUS, SCIP_VARTYPE_IMPLINT, SCIPABORT, SCIPerrorMessage, SCIPrelDiff(), SCIPsetEpsilon(), SCIPsetFloor(), SCIPsetInfinity(), SCIPsetIsEQ(), SCIPsetIsFeasNegative(), SCIPsetIsFeasPositive(), SCIPsetIsFeasZero(), SCIPsetIsGE(), SCIPsetIsInfinity(), SCIPsetIsIntegral(), SCIPsetIsLE(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPsetIsRelGT(), SCIPsetIsRelLT(), SCIPsetRound(), SCIPtreeHasCurrentNodeLP(), SCIPvarGetLbLocal(), SCIPvarGetSol(), SCIPvarGetType(), and SCIPvarGetUbLocal(). Referenced by SCIPbranchExecExtern(), and SCIPgetBranchingPoint().
calls branching rules to branch on an LP solution; if no fractional variables exist, the result is SCIP_DIDNOTRUN; if the branch priority of an unfixed variable is larger than the maximal branch priority of the fractional variables, pseudo solution branching is applied on the unfixed variables with maximal branch priority
Definition at line 2384 of file branch.c. References branchcandCalcLPCands(), SCIP_BranchCand::lpcands, SCIP_BranchCand::lpmaxpriority, SCIP_BranchCand::nimpllpfracs, SCIP_BranchCand::nlpcands, SCIP_BranchCand::npriolpcands, NULL, SCIP_BranchCand::pseudomaxpriority, SCIP_BRANCHED, SCIP_CALL, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_INVALID, SCIP_OKAY, SCIP_Real, SCIP_REAL_MIN, SCIP_VARTYPE_CONTINUOUS, SCIP_VARTYPE_IMPLINT, SCIPbranchExecPseudo(), SCIPbranchruleExecLPSol(), SCIPdebugMessage, SCIPsetIsEQ(), SCIPsetSortBranchrules(), SCIPtreeBranchVar(), SCIPvarGetBranchFactor(), SCIPvarGetBranchPriority(), SCIPvarGetLbLocal(), SCIPvarGetType(), and SCIPvarGetUbLocal(). Referenced by SCIPbranchLP(), and solveNode().
calls branching rules to branch on an external solution; if no external branching candidates exist, the result is SCIP_DIDNOTRUN
Definition at line 2486 of file branch.c. References SCIP_BranchCand::externcands, SCIP_BranchCand::externcandssol, SCIP_BranchCand::externmaxpriority, SCIP_BranchCand::nexterncands, SCIP_BranchCand::nprioexterncands, NULL, SCIP_BranchCand::pseudomaxpriority, SCIP_BRANCHED, SCIP_CALL, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_OKAY, SCIP_Real, SCIP_REAL_MIN, SCIPbranchExecPseudo(), SCIPbranchGetBranchingPoint(), SCIPbranchruleExecExternSol(), SCIPdebugMessage, SCIPsetInfinity(), SCIPsetIsEQ(), SCIPsetIsInfinity(), SCIPsetIsLT(), SCIPsetSortBranchrules(), SCIPtreeBranchVar(), SCIPvarGetBranchFactor(), SCIPvarGetBranchPriority(), SCIPvarGetLbLocal(), SCIPvarGetName(), and SCIPvarGetUbLocal(). Referenced by SCIPbranchExtern(), and solveNode().
calls branching rules to branch on a pseudo solution; if no unfixed variables exist, the result is SCIP_DIDNOTRUN
Definition at line 2608 of file branch.c. References SCIP_BranchCand::npseudocands, NULL, SCIP_BranchCand::pseudocands, SCIP_BRANCHED, SCIP_CALL, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_INVALID, SCIP_OKAY, SCIP_Real, SCIP_REAL_MIN, SCIP_VARTYPE_CONTINUOUS, SCIPbranchruleExecPseudoSol(), SCIPdebugMessage, SCIPsetIsEQ(), SCIPsetSortBranchrules(), SCIPtreeBranchVar(), SCIPvarGetBranchFactor(), SCIPvarGetBranchPriority(), SCIPvarGetLbLocal(), SCIPvarGetType(), and SCIPvarGetUbLocal(). Referenced by SCIPbranchExecExtern(), SCIPbranchExecLP(), SCIPbranchPseudo(), SCIPsolveCIP(), and solveNode(). |