All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
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(), 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(). Referenced by SCIPsetFree().
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_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(), SCIPsetIsLE(), SCIPtreeGetCurrentDepth(), and SCIPtreeGetLowerbound(). Referenced by SCIPbranchExecLP().
executes branching rule for external branching candidates
Definition at line 1536 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_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(), SCIPsetIsLE(), SCIPtreeGetCurrentDepth(), and SCIPtreeGetLowerbound(). Referenced by SCIPbranchExecExtern().
executes branching rule for not completely fixed pseudo solution
Definition at line 1631 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_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(), SCIPsetIsLE(), SCIPtreeGetCurrentDepth(), and SCIPtreeGetLowerbound(). Referenced by SCIPbranchExecPseudo().
gets user data of branching rule
Definition at line 1721 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(), and selectBranchVar().
sets user data of branching rule; user has to free old data in advance!
Definition at line 1731 of file branch.c. References SCIP_Branchrule::branchruledata, and NULL. Referenced by SCIP_DECL_BRANCHFREE().
sets copy method of branching rule
Definition at line 1742 of file branch.c. References NULL. Referenced by SCIPsetBranchruleCopy().
sets destructor method of branching rule
Definition at line 1753 of file branch.c. References NULL. Referenced by SCIPsetBranchruleFree().
sets initialization method of branching rule
Definition at line 1764 of file branch.c. References NULL. Referenced by SCIPsetBranchruleInit().
sets deinitialization method of branching rule
Definition at line 1775 of file branch.c. References NULL. Referenced by SCIPsetBranchruleExit().
sets solving process initialization method of branching rule
Definition at line 1786 of file branch.c. References NULL. Referenced by SCIPsetBranchruleInitsol().
sets solving process deinitialization method of branching rule
Definition at line 1797 of file branch.c. References NULL. Referenced by SCIPsetBranchruleExitsol().
sets branching execution method for fractional LP solutions
Definition at line 1810 of file branch.c. References NULL. Referenced by SCIPsetBranchruleExecLp().
sets branching execution method for external candidates
Definition at line 1821 of file branch.c. References NULL. Referenced by SCIPsetBranchruleExecExt().
sets branching execution method for not completely fixed pseudo solutions
Definition at line 1832 of file branch.c. References NULL. Referenced by SCIPsetBranchruleExecPs().
gets name of branching rule
Definition at line 1843 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_DIALOGEXEC(), SCIP_DECL_SORTPTRCOMP(), SCIPbranchruleCopyInclude(), SCIPincludeDialogDefaultFix(), SCIPincludeDialogDefaultSet(), and SCIPsetFindBranchrule().
gets description of branching rule
Definition at line 1853 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 1863 of file branch.c. References NULL, and SCIP_Branchrule::priority. Referenced by SCIP_DECL_DIALOGEXEC().
sets priority of branching rule
Definition at line 1873 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 1887 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 1897 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 1909 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 1919 of file branch.c. References SCIP_Branchrule::maxbounddist, and NULL. Referenced by SCIPsetBranchruleMaxbounddist().
gets time in seconds used in this branching rule for setting up for next stages
Definition at line 1931 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 1941 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 1951 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 1961 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 1971 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 1981 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 1991 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 2003 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 2013 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 2023 of file branch.c. References SCIP_Branchrule::nchildren, and NULL. Referenced by printBranchruleStatistics().
is branching rule initialized?
Definition at line 2033 of file branch.c. References SCIP_Branchrule::initialized, and NULL. Referenced by SCIPsetIncludeBranchrule().
calculates the branching score out of the gain predictions for a binary branching
Definition at line 2050 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 2100 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 2138 of file branch.c. References MAX, MIN, NULL, REALABS, SCIP_INVALID, SCIP_Real, SCIP_VARTYPE_CONTINUOUS, SCIPABORT, SCIPerrorMessage, SCIPrelDiff(), SCIPsetEpsilon(), SCIPsetFloor(), SCIPsetInfinity(), SCIPsetIsEQ(), SCIPsetIsFeasNegative(), SCIPsetIsFeasPositive(), SCIPsetIsFeasZero(), SCIPsetIsGE(), SCIPsetIsGT(), SCIPsetIsInfinity(), SCIPsetIsIntegral(), SCIPsetIsLE(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPsetIsRelEQ(), SCIPsetIsRelGT(), SCIPsetIsRelLT(), 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 2350 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 2451 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 2572 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(). |