methods to query search tree related information
Topics | |
Nodes | |
methods for nodes of the search tree of SCIP | |
gets focus node in the tree
if we are in probing/diving mode this method returns the node in the tree where the probing/diving mode was started.
scip
is in one of the following stages:
scip | SCIP data structure |
Definition at line 72 of file scip_tree.c.
References FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPtreeGetFocusNode(), and TRUE.
Referenced by applyCliqueFixings(), applyOrbitalBranchingPropagations(), applyOrbitalReductionPropagations(), propagateOrbitope(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_HEUREXEC(), SCIPlexicographicReductionPropagate(), SCIPvarUpdatePseudocost(), subtreeSumGapInsertChildren(), subtreeSumGapSplit(), and subtreeSumGapUpdate().
gets current node in the tree
scip
is in one of the following stages:
scip | SCIP data structure |
Definition at line 91 of file scip_tree.c.
References FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPtreeGetCurrentNode(), and TRUE.
Referenced by applyObbt(), applyOrbitalBranchingPropagations(), applyOrbitalReductionPropagations(), applyProbing(), applyVbounds(), branchCons(), checkDivingCandidates(), computeDynamicRowOrder(), consEnfo(), consSepa(), constructCompression(), createAndSplitProblem(), enforceCardinality(), Exec(), execGenVBounds(), executeStrongBranching(), findComponents(), getBranchingDecisionStrongbranchSOS1(), initProblem(), performInteriorSolCutStrengthening(), propagateOrbitope(), SCIP_DECL_BRANCHEXECEXT(), SCIP_DECL_BRANCHEXECEXT(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_BRANCHEXECPS(), SCIP_DECL_CONSENFOLP(), SCIP_DECL_CONSPROP(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_NLHDLRENFO(), SCIP_DECL_NLHDLRESTIMATE(), SCIP_DECL_PRICERFARKAS(), SCIP_DECL_PRICERREDCOST(), SCIP_DECL_PROPEXEC(), SCIP_DECL_PROPEXEC(), SCIP_DECL_PROPEXEC(), SCIP_DECL_PROPEXEC(), SCIP_DECL_SEPAEXECLP(), SCIPanalyzeDeductionsProbing(), SCIPendStrongbranch(), SCIPstartDive(), SCIPtreemodelSelectCandidate(), selectVarMultAggrBranching(), selectVarStart(), separateOddCycles(), setupAndSolveSubscipRapidlearning(), subscipdataCopySubscip(), and updateDataStructures().
int SCIPgetDepth | ( | SCIP * | scip | ) |
gets depth of current node, or -1 if no current node exists; in probing, the current node is the last probing node, such that the depth includes the probing path
scip | SCIP data structure |
Definition at line 672 of file scip_tree.c.
References FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPtreeGetCurrentDepth(), and TRUE.
Referenced by applyCliqueFixings(), applyGenVBounds(), applyNlobbt(), applyObbtBilinear(), applySeparation(), applyVboundsFixings(), branchAuxNonlinear(), computeCut(), computeRltCut(), createAndSplitProblem(), createAuxVar(), createCons(), createGenVBound(), createRow(), createSubscip(), detectNlhdlrs(), disableCons(), disableCons(), enforceCardinality(), enforceConflictgraph(), enforceConstraint(), execGenVBounds(), execRelpscost(), filterExistingLP(), filterRound(), findComponents(), findNewBounds(), initImplGraphSOS1(), initProblem(), isCurrentNodeCutoff(), performFixing(), performImplicationGraphAnalysis(), performRandRounding(), processRealBoundChg(), processWatchedVars(), processWatchedVars(), propagateCons(), propagateCons(), propagateCutoffbound(), propagateCutoffboundBinvar(), propagateCutoffboundGlobally(), propagateRootRedcostBinvar(), propdataInit(), rangedRowPropagation(), removeFixedBinvars(), runVanillaStrongBranching(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONSENFOLP(), SCIP_DECL_CONSENFOPS(), SCIP_DECL_CONSENFORELAX(), SCIP_DECL_CONSPROP(), SCIP_DECL_CONSPROP(), SCIP_DECL_CONSPROP(), SCIP_DECL_CONSPROP(), SCIP_DECL_CONSPROP(), SCIP_DECL_CONSSEPALP(), SCIP_DECL_CONSSEPALP(), SCIP_DECL_CONSSEPALP(), SCIP_DECL_CONSSEPASOL(), SCIP_DECL_CONSSEPASOL(), SCIP_DECL_CONSSEPASOL(), SCIP_DECL_CUTSELSELECT(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_NLHDLRENFO(), SCIP_DECL_NLHDLRESTIMATE(), SCIP_DECL_NLHDLRINITSEPA(), SCIP_DECL_NODESELSELECT(), SCIP_DECL_PRICERREDCOST(), SCIP_DECL_PROPEXEC(), SCIP_DECL_PROPEXEC(), SCIP_DECL_PROPEXEC(), SCIP_DECL_PROPEXEC(), SCIP_DECL_PROPEXEC(), SCIP_DECL_PROPEXEC(), SCIP_DECL_PROPEXEC(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAEXECLP(), SCIPaddRow(), SCIPapplyLockFixings(), SCIPapplyUndercover(), SCIPapplyZeroobj(), SCIPbendersExec(), SCIPbendersSetSubproblemsAreInfeasible(), SCIPbendersSetupSubproblem(), SCIPgetRowprepRowCons(), SCIPgetRowprepRowConshdlr(), SCIPgetRowprepRowSepa(), SCIPisConflictAnalysisApplicable(), SCIPperformGenericDivingAlgorithm(), SCIPpropagateProbing(), SCIPselectVarPseudoStrongBranching(), SCIPselectVarStrongBranching(), SCIPsnprintfProbingStats(), SCIPupdateDivesetStats(), SCIPvarUpdatePseudocost(), selectVarMultAggrBranching(), selectVarStart(), sepaImplBoundCutsSOS1(), separateIndicators(), separateSOS1(), setupAndSolveSubscipRapidlearning(), setupProbingSCIP(), solveNlp(), startProbing(), tightenBounds(), tryOneOpt(), trySolCandidate(), varIsInteresting(), and while().
int SCIPgetFocusDepth | ( | SCIP * | scip | ) |
gets depth of the focus node, or -1 if no focus node exists; the focus node is the currently processed node in the branching tree, excluding the nodes of the probing path
scip | SCIP data structure |
Definition at line 698 of file scip_tree.c.
References FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPtreeGetFocusDepth(), and TRUE.
int SCIPgetPlungeDepth | ( | SCIP * | scip | ) |
gets current plunging depth (successive times, a child was selected as next node)
scip | SCIP data structure |
Definition at line 715 of file scip_tree.c.
References FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), and TRUE.
Referenced by SCIP_DECL_DISPOUTPUT(), SCIP_DECL_NODESELSELECT(), SCIP_DECL_NODESELSELECT(), and SCIP_DECL_NODESELSELECT().
gets the root node of the tree
scip
is in one of the following stages:
scip | SCIP data structure |
Definition at line 110 of file scip_tree.c.
References FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPtreeGetRootNode(), and TRUE.
Referenced by Exec(), propagateCons(), propagateCutoffbound(), propagateLowerbound(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_HEUREXEC(), SCIP_DECL_PRICERFARKAS(), SCIP_DECL_PROPEXEC(), SCIPcopyConcurrentSolvingStats(), SCIPreoptimizeNode(), tightenVarLb(), and tightenVarUb().
int SCIPgetEffectiveRootDepth | ( | SCIP * | scip | ) |
gets the effective root depth, i.e., the depth of the deepest node which is part of all paths from the root node to the unprocessed nodes.
scip
is in one of the following stages:
scip | SCIP data structure |
Definition at line 127 of file scip_tree.c.
References FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPtreeGetEffectiveRootDepth(), and TRUE.
Referenced by SCIP_DECL_EVENTEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_SEPAEXECLP(), and setupAndSolveSubscipRapidlearning().
returns whether the current node is already solved and only propagated again
scip
is in one of the following stages:
scip | SCIP data structure |
Definition at line 146 of file scip_tree.c.
References FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPtreeInRepropagation(), and TRUE.
Referenced by applyProbingVar(), computeEffectiveHorizonCumulativeCondition(), fixIntegerVariable(), fixIntegerVariableLb(), fixIntegerVariableUb(), propagateAllConss(), propagateCons(), propagateCons(), propagateCons(), propagateCons(), propagateCons(), propagateCons(), propagateCons(), propagateVbounds(), propIndicator(), rangedRowPropagation(), removeFixedBinvars(), SCIP_DECL_CONSPROP(), SCIP_DECL_CONSPROP(), SCIP_DECL_CONSPROP(), SCIP_DECL_PROPEXEC(), SCIP_DECL_PROPEXEC(), SCIP_DECL_PROPEXEC(), SCIPorbitalReductionPropagate(), solveIndependentCons(), and updateSubproblemLowerbound().
SCIP_RETCODE SCIPgetChildren | ( | SCIP * | scip, |
SCIP_NODE *** | children, | ||
int * | nchildren ) |
gets children of focus node along with the number of children
scip
is in one of the following stages:
gets children of focus node along with the number of children
scip
is in one of the following stages:
scip | SCIP data structure |
children | pointer to store children array, or NULL if not needed |
nchildren | pointer to store number of children, or NULL if not needed |
Definition at line 164 of file scip_tree.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), and TRUE.
Referenced by checkLeavesBelowIncumbent(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EVENTEXEC(), SCIPsolve(), subtreeSumGapInsertChildren(), updateDataStructures(), and writeBounds().
int SCIPgetNChildren | ( | SCIP * | scip | ) |
gets number of children of focus node
scip
is in one of the following stages:
gets number of children of focus node
scip
is in one of the following stages:
scip | SCIP data structure |
Definition at line 188 of file scip_tree.c.
References FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), and TRUE.
Referenced by SCIP_DECL_CONSDEACTIVE(), SCIP_DECL_EVENTEXEC(), subtreeSumGapUpdate(), and updateDataStructures().
SCIP_RETCODE SCIPgetSiblings | ( | SCIP * | scip, |
SCIP_NODE *** | siblings, | ||
int * | nsiblings ) |
gets siblings of focus node along with the number of siblings
scip
is in one of the following stages:
gets siblings of focus node along with the number of siblings
scip
is in one of the following stages:
scip | SCIP data structure |
siblings | pointer to store siblings array, or NULL if not needed |
nsiblings | pointer to store number of siblings, or NULL if not needed |
Definition at line 206 of file scip_tree.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), and TRUE.
Referenced by checkLeavesBelowIncumbent(), SCIPsolve(), and writeBounds().
int SCIPgetNSiblings | ( | SCIP * | scip | ) |
gets number of siblings of focus node
scip
is in one of the following stages:
gets number of siblings of focus node
scip
is in one of the following stages:
scip | SCIP data structure |
Definition at line 230 of file scip_tree.c.
References FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), and TRUE.
Referenced by subtreeSumGapUpdate().
SCIP_RETCODE SCIPgetLeaves | ( | SCIP * | scip, |
SCIP_NODE *** | leaves, | ||
int * | nleaves ) |
gets leaves of the tree along with the number of leaves
scip
is in one of the following stages:
gets leaves of the tree along with the number of leaves
scip
is in one of the following stages:
scip | SCIP data structure |
leaves | pointer to store leaves array, or NULL if not needed |
nleaves | pointer to store number of leaves, or NULL if not needed |
Definition at line 248 of file scip_tree.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPnodepqLen(), SCIPnodepqNodes(), and TRUE.
Referenced by checkLeavesBelowIncumbent(), SCIPsolve(), and writeBounds().
int SCIPgetNLeaves | ( | SCIP * | scip | ) |
gets number of leaves in the tree
scip
is in one of the following stages:
gets number of leaves in the tree
scip
is in one of the following stages:
scip | SCIP data structure |
Definition at line 272 of file scip_tree.c.
References FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPnodepqLen(), and TRUE.
Referenced by subtreeSumGapUpdate().
int SCIPgetNNodesLeft | ( | SCIP * | scip | ) |
gets number of nodes left in the tree (children + siblings + leaves)
scip | SCIP data structure |
Definition at line 646 of file scip_tree.c.
References FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPtreeGetNNodes(), and TRUE.
Referenced by checkLeavesBelowIncumbent(), releaseNodeInformation(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_NODESELSELECT(), SCIPsolve(), updateDataStructures(), and writeBounds().
gets the best child of the focus node w.r.t. the node selection priority assigned by the branching rule
scip
is in one of the following stages:
scip | SCIP data structure |
Definition at line 288 of file scip_tree.c.
References FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPtreeGetPrioChild(), and TRUE.
Referenced by SCIP_DECL_NODESELSELECT(), SCIP_DECL_NODESELSELECT(), SCIP_DECL_NODESELSELECT(), SCIP_DECL_NODESELSELECT(), and SCIP_DECL_NODESELSELECT().
gets the best sibling of the focus node w.r.t. the node selection priority assigned by the branching rule
scip
is in one of the following stages:
scip | SCIP data structure |
Definition at line 304 of file scip_tree.c.
References FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPtreeGetPrioSibling(), and TRUE.
Referenced by SCIP_DECL_NODESELSELECT(), SCIP_DECL_NODESELSELECT(), SCIP_DECL_NODESELSELECT(), SCIP_DECL_NODESELSELECT(), and SCIP_DECL_NODESELSELECT().
gets the best child of the focus node w.r.t. the node selection strategy
scip
is in one of the following stages:
scip | SCIP data structure |
Definition at line 320 of file scip_tree.c.
References FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPtreeGetBestChild(), and TRUE.
Referenced by SCIP_DECL_NODESELSELECT(), SCIP_DECL_NODESELSELECT(), SCIP_DECL_NODESELSELECT(), and SCIP_DECL_NODESELSELECT().
gets the best sibling of the focus node w.r.t. the node selection strategy
scip
is in one of the following stages:
scip | SCIP data structure |
Definition at line 336 of file scip_tree.c.
References FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPtreeGetBestSibling(), and TRUE.
Referenced by SCIP_DECL_NODESELSELECT(), SCIP_DECL_NODESELSELECT(), SCIP_DECL_NODESELSELECT(), and SCIP_DECL_NODESELSELECT().
gets the best leaf from the node queue w.r.t. the node selection strategy
scip
is in one of the following stages:
scip | SCIP data structure |
Definition at line 352 of file scip_tree.c.
References FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPtreeGetBestLeaf(), and TRUE.
Referenced by SCIP_DECL_NODESELSELECT(), SCIP_DECL_NODESELSELECT(), and SCIP_DECL_NODESELSELECT().
gets the best node from the tree (child, sibling, or leaf) w.r.t. the node selection strategy
scip
is in one of the following stages:
scip | SCIP data structure |
Definition at line 368 of file scip_tree.c.
References FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPtreeGetBestNode(), and TRUE.
Referenced by SCIP_DECL_NODESELSELECT(), SCIP_DECL_NODESELSELECT(), and SCIP_DECL_NODESELSELECT().
gets the node with smallest lower bound from the tree (child, sibling, or leaf)
scip
is in one of the following stages:
scip | SCIP data structure |
Definition at line 384 of file scip_tree.c.
References FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPtreeGetLowerboundNode(), and TRUE.
Referenced by SCIP_DECL_NODESELSELECT(), SCIP_DECL_NODESELSELECT(), and SCIP_DECL_NODESELSELECT().
SCIP_RETCODE SCIPgetOpenNodesData | ( | SCIP * | scip, |
SCIP_NODE *** | leaves, | ||
SCIP_NODE *** | children, | ||
SCIP_NODE *** | siblings, | ||
int * | nleaves, | ||
int * | nchildren, | ||
int * | nsiblings ) |
access to all data of open nodes (leaves, children, and siblings)
scip
is in one of the following stages:
scip | SCIP data structure |
leaves | pointer to store the leaves, or NULL if not needed |
children | pointer to store the children, or NULL if not needed |
siblings | pointer to store the siblings, or NULL if not needed |
nleaves | pointer to store the number of leaves, or NULL |
nchildren | pointer to store the number of children, or NULL |
nsiblings | pointer to store the number of siblings, or NULL |
Definition at line 398 of file scip_tree.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPnodepqLen(), SCIPnodepqNodes(), SCIPtreeGetNChildren(), SCIPtreeGetNSiblings(), and TRUE.
Referenced by recomputeNodeInformation(), SCIP_DECL_NODESELSELECT(), and subtreeSumGapSplit().
SCIP_RETCODE SCIPcutoffNode | ( | SCIP * | scip, |
SCIP_NODE * | node ) |
marks node and whole sub tree to be cut off from branch and bound tree
scip
is in one of the following stages:
cuts off node and whole sub tree from branch and bound tree
scip
is in one of the following stages:
scip | SCIP data structure |
node | node that should be cut off |
Definition at line 436 of file scip_tree.c.
References FALSE, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPnodeCutoff(), and TRUE.
Referenced by applyVbounds(), propagateCons(), propagateCutoffbound(), propagateLowerbound(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_PROPEXEC(), tightenVarLb(), and tightenVarUb().
SCIP_RETCODE SCIPpruneTree | ( | SCIP * | scip | ) |
removes all nodes from branch and bound tree that were marked to be cut off via SCIPcutoffNode()
scip
is in one of the following stages:
scip | SCIP data structure |
Definition at line 459 of file scip_tree.c.
References FALSE, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPinfinity(), SCIPtreeCutoff(), and TRUE.
SCIP_RETCODE SCIPrepropagateNode | ( | SCIP * | scip, |
SCIP_NODE * | node ) |
marks the given node to be propagated again the next time a node of its subtree is processed
scip
is in one of the following stages:
scip | SCIP data structure |
node | node that should be propagated again |
Definition at line 479 of file scip_tree.c.
References FALSE, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPnodePropagateAgain(), and TRUE.
Referenced by SCIP_DECL_CONSACTIVE(), and SCIP_DECL_CONSACTIVE().
int SCIPgetCutoffdepth | ( | SCIP * | scip | ) |
returns depth of first node in active path that is marked being cutoff
scip
is in one of the following stages:
scip | SCIP data structure |
Definition at line 498 of file scip_tree.c.
References FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), and TRUE.
Referenced by isCurrentNodeCutoff(), and propagateCutoffbound().
int SCIPgetRepropdepth | ( | SCIP * | scip | ) |
returns depth of first node in active path that has to be propagated again
scip
is in one of the following stages:
scip | SCIP data structure |
Definition at line 514 of file scip_tree.c.
References FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), and TRUE.
SCIP_RETCODE SCIPprintNodeRootPath | ( | SCIP * | scip, |
SCIP_NODE * | node, | ||
FILE * | file ) |
prints all branching decisions on variables from the root to the given node
scip
is in one of the following stages:
scip | SCIP data structure |
node | node data |
file | output file (or NULL for standard output) |
Definition at line 531 of file scip_tree.c.
References assert(), i, nnodes, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_OKAY, SCIPallocBufferArray, SCIPfreeBufferArray, SCIPmessageFPrintInfo(), SCIPnodeGetAncestorBranchingPath(), SCIPnodeGetDepth(), SCIPreallocBufferArray, and SCIPvarGetName().
sets whether the LP should be solved at the focus node
scip
is in one of the following stages:
scip | SCIP data structure |
solvelp | should the LP be solved? |
Definition at line 627 of file scip_tree.c.
References FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPtreeSetFocusNodeLP(), and TRUE.
query if node was the last parent of a branching of the tree
scip | SCIP data structure |
node | tree node, or NULL to check focus node |
Definition at line 733 of file scip_tree.c.
References FALSE, SCIP_CALL_ABORT, SCIPcheckStage(), SCIPtreeWasNodeLastBranchParent(), and TRUE.
Referenced by SCIP_DECL_EVENTEXEC(), and subtreeSumGapUpdate().