Detailed Description
methods for nodes of the search tree of SCIP
Function Documentation
◆ SCIP_DECL_SORTPTRCOMP()
SCIP_DECL_SORTPTRCOMP | ( | SCIPnodeCompLowerbound | ) |
◆ SCIPnodeGetParentBranchings()
void SCIPnodeGetParentBranchings | ( | SCIP_NODE * | node, |
SCIP_VAR ** | branchvars, | ||
SCIP_Real * | branchbounds, | ||
SCIP_BOUNDTYPE * | boundtypes, | ||
int * | nbranchvars, | ||
int | branchvarssize | ||
) |
returns the set of variable branchings that were performed in the parent node to create this node
- Parameters
-
node node data branchvars array of variables on which the branching has been performed in the parent node branchbounds array of bounds which the branching in the parent node set boundtypes array of boundtypes which the branching in the parent node set nbranchvars number of variables on which branching has been performed in the parent node if this is larger than the array size, arrays should be reallocated and method should be called again branchvarssize available slots in arrays
Definition at line 7724 of file tree.c.
References SCIP_DomChgBound::boundchgs, SCIP_Node::domchg, SCIP_DomChg::domchgbound, SCIP_DomChgBound::nboundchgs, SCIP_BoundChg::newbound, NULL, SCIP_BOUNDCHGTYPE_BRANCHING, SCIPnodeGetDepth(), and SCIP_BoundChg::var.
Referenced by SCIPnodeGetAncestorBranchingPath(), SCIPnodeGetAncestorBranchings(), and SCIPnodeGetAncestorBranchingsPart().
◆ SCIPnodeGetAncestorBranchings()
void SCIPnodeGetAncestorBranchings | ( | SCIP_NODE * | node, |
SCIP_VAR ** | branchvars, | ||
SCIP_Real * | branchbounds, | ||
SCIP_BOUNDTYPE * | boundtypes, | ||
int * | nbranchvars, | ||
int | branchvarssize | ||
) |
returns the set of variable branchings that were performed in all ancestor nodes (nodes on the path to the root) to create this node
- Parameters
-
node node data branchvars array of variables on which the branchings has been performed in all ancestors branchbounds array of bounds which the branchings in all ancestors set boundtypes array of boundtypes which the branchings in all ancestors set nbranchvars number of variables on which branchings have been performed in all ancestors if this is larger than the array size, arrays should be reallocated and method should be called again branchvarssize available slots in arrays
Definition at line 7788 of file tree.c.
References NULL, SCIP_Node::parent, SCIPnodeGetDepth(), and SCIPnodeGetParentBranchings().
Referenced by saveGlobalCons(), and writeBounds().
◆ SCIPnodeGetAncestorBranchingsPart()
void SCIPnodeGetAncestorBranchingsPart | ( | SCIP_NODE * | node, |
SCIP_NODE * | parent, | ||
SCIP_VAR ** | branchvars, | ||
SCIP_Real * | branchbounds, | ||
SCIP_BOUNDTYPE * | boundtypes, | ||
int * | nbranchvars, | ||
int | branchvarssize | ||
) |
returns the set of variable branchings that were performed between the given node
and the given parent
node.
- Parameters
-
node node data parent node data of the last ancestor node branchvars array of variables on which the branchings has been performed in all ancestors branchbounds array of bounds which the branchings in all ancestors set boundtypes array of boundtypes which the branchings in all ancestors set nbranchvars number of variables on which branchings have been performed in all ancestors if this is larger than the array size, arrays should be reallocated and method should be called again branchvarssize available slots in arrays
Definition at line 7825 of file tree.c.
References NULL, SCIP_Node::parent, and SCIPnodeGetParentBranchings().
Referenced by saveAncestorBranchings().
◆ SCIPnodePrintAncestorBranchings()
SCIP_RETCODE SCIPnodePrintAncestorBranchings | ( | SCIP_NODE * | node, |
FILE * | file | ||
) |
outputs the path into given file stream in GML format
- Parameters
-
node node data file file to output the path
Definition at line 8033 of file tree.c.
References SCIP_DomChgBound::boundchgs, SCIP_Node::domchg, SCIP_DomChg::domchgbound, SCIP_DomChgBound::nboundchgs, NULL, SCIP_Node::parent, SCIP_BOUNDCHGTYPE_BRANCHING, SCIP_BOUNDTYPE_LOWER, SCIP_MAXSTRLEN, SCIP_OKAY, SCIPgmlWriteArc(), SCIPgmlWriteClosing(), SCIPgmlWriteNode(), SCIPgmlWriteOpening(), SCIPnodeGetDepth(), SCIPsnprintf(), SCIPvarGetName(), and TRUE.
◆ SCIPnodeGetAncestorBranchingPath()
void SCIPnodeGetAncestorBranchingPath | ( | SCIP_NODE * | node, |
SCIP_VAR ** | branchvars, | ||
SCIP_Real * | branchbounds, | ||
SCIP_BOUNDTYPE * | boundtypes, | ||
int * | nbranchvars, | ||
int | branchvarssize, | ||
int * | nodeswitches, | ||
int * | nnodes, | ||
int | nodeswitchsize | ||
) |
returns the set of variable branchings that were performed in all ancestor nodes (nodes on the path to the root) to create this node sorted by the nodes, starting from the current node going up to the root
- Parameters
-
node node data branchvars array of variables on which the branchings has been performed in all ancestors branchbounds array of bounds which the branchings in all ancestors set boundtypes array of boundtypes which the branchings in all ancestors set nbranchvars number of variables on which branchings have been performed in all ancestors if this is larger than the array size, arrays should be reallocated and method should be called again branchvarssize available slots in arrays nodeswitches marks, where in the arrays the branching decisions of the next node on the path start branchings performed at the parent of node always start at position 0. For single variable branching, nodeswitches[i] = i holds nnodes number of nodes in the nodeswitch array nodeswitchsize available slots in node switch array
Definition at line 8085 of file tree.c.
References nnodes, NULL, SCIP_Node::parent, SCIPnodeGetDepth(), and SCIPnodeGetParentBranchings().
Referenced by SCIPprintNodeRootPath().
◆ SCIPnodesSharePath()
checks for two nodes whether they share the same root path, i.e., whether one is an ancestor of the other
- Parameters
-
node1 node data node2 node data
Definition at line 8134 of file tree.c.
References NULL, SCIP_Node::parent, and SCIPnodeGetDepth().
◆ SCIPnodesGetCommonAncestor()
finds the common ancestor node of two given nodes
- Parameters
-
node1 node data node2 node data
Definition at line 8158 of file tree.c.
References NULL, SCIP_Node::parent, and SCIPnodeGetDepth().
◆ SCIPnodeGetType()
SCIP_NODETYPE SCIPnodeGetType | ( | SCIP_NODE * | node | ) |
gets the type of the node
- Parameters
-
node node
Definition at line 7424 of file tree.c.
References SCIP_Node::nodetype, and NULL.
Referenced by addNodesInformation(), applyDomainChanges(), focusnodeCleanupVars(), focusnodeToDeadend(), focusnodeToFork(), focusnodeToJunction(), focusnodeToLeaf(), focusnodeToPseudofork(), forkAddLP(), nodeActivate(), nodeAssignParent(), nodeDeactivate(), nodeReleaseParent(), nodeToLeaf(), priceAndCutLoop(), propagateDomains(), pseudoforkAddLP(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_NODESELCOMP(), SCIPaddConflict(), SCIPchgChildPrio(), SCIPchgVarLbProbing(), SCIPchgVarObjProbing(), SCIPchgVarUbProbing(), SCIPchildChgNodeselPrio(), SCIPendStrongbranch(), SCIPfixVarProbing(), SCIPnodeAddBoundinfer(), SCIPnodeAddCons(), SCIPnodeAddHoleinfer(), SCIPnodeCaptureLPIState(), SCIPnodeCreateChild(), SCIPnodeFocus(), SCIPnodeFree(), SCIPnodepqBound(), SCIPnodepqClear(), SCIPnodePropagateImplics(), SCIPnodeReleaseLPIState(), SCIPnodeUpdateLowerbound(), SCIPprimalHeuristics(), SCIPreoptCheckCutoff(), SCIPstartDive(), SCIPtreeBacktrackProbing(), SCIPtreeEndProbing(), SCIPtreeInRepropagation(), SCIPtreeLoadLP(), SCIPtreeLoadLPState(), SCIPtreeLoadProbingLPState(), SCIPtreeMarkProbingNodeHasLP(), SCIPtreeSetProbingLPState(), SCIPvisualCutoffNode(), SCIPvisualFoundConflict(), SCIPvisualFoundSolution(), SCIPvisualMarkedRepropagateNode(), SCIPvisualNewChild(), SCIPvisualRepropagatedNode(), SCIPvisualSolvedNode(), SCIPvisualUpdateChild(), solveNode(), solveNodeInitialLP(), solveNodeRelax(), subrootConstructLP(), treeAddChild(), treeBacktrackProbing(), treeCheckPath(), treeChildrenToSiblings(), treeCreateProbingNode(), treeFindSwitchForks(), treeRemoveChild(), treeRemoveSibling(), treeSwitchPath(), treeUpdatePathLPSize(), and updatePseudocost().
◆ SCIPnodeGetNumber()
SCIP_Longint SCIPnodeGetNumber | ( | SCIP_NODE * | node | ) |
gets successively assigned number of the node
- Parameters
-
node node
Definition at line 7434 of file tree.c.
References NULL, and SCIP_Node::number.
Referenced by addBranchingComplementaritiesSOS1(), addLocalConss(), addNode(), addSplitcons(), applyDomainChanges(), applyVbounds(), branchCons(), checkDivingCandidates(), collectDualInformation(), consdataPrint(), consEnfo(), consSepa(), constructCompression(), createAndAddProofcons(), createAndSplitProblem(), Exec(), findComponents(), fixVarsRedbasedIsPromising(), focusnodeToDeadend(), focusnodeToFork(), focusnodeToJunction(), focusnodeToLeaf(), focusnodeToPseudofork(), initProblem(), initPropgraph(), nodeActivate(), nodeAssignParent(), nodeDeactivate(), nodeGetVisits(), nodeReleaseParent(), nodeRepropagate(), nodeToLeaf(), SCIP_DECL_BRANCHEXITSOL(), SCIP_DECL_CONSACTIVE(), SCIP_DECL_CONSDEACTIVE(), SCIP_DECL_CONSPROP(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_NLHDLRENFO(), SCIP_DECL_NLHDLRESTIMATE(), SCIP_DECL_NODESELCOMP(), SCIP_DECL_NODESELSELECT(), SCIP_DECL_PROPEXEC(), SCIP_DECL_RELAXEXEC(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SORTPTRCOMP(), SCIPconflictstoreAddConflict(), SCIPnodeCaptureLPIState(), SCIPnodeCreateChild(), SCIPnodeCutoff(), SCIPnodeFocus(), SCIPnodeFree(), SCIPnodePropagateAgain(), SCIPnodePropagateImplics(), SCIPnodeReleaseLPIState(), SCIPreoptAddDualBndchg(), SCIPreoptApply(), SCIPreoptApplyCuts(), SCIPreoptCheckCutoff(), SCIPreoptGetNDualBndchgs(), SCIPtreeCutoff(), SCIPtreeLoadLP(), SCIPtreeLoadLPState(), SCIPvarUpdatePseudocost(), SCIPvisualMarkedRepropagateNode(), separateOddCycles(), shrinkNode(), subtreeSumGapInsertChildren(), subtreeSumGapRemoveNode(), subtreeSumGapStoreNode(), tightenSingleVar(), treeCreateProbingNode(), updatePropgraph(), updateVisits(), and writeBounds().
◆ SCIPnodeGetDepth()
int SCIPnodeGetDepth | ( | SCIP_NODE * | node | ) |
gets the depth of the node
- Parameters
-
node node
Definition at line 7444 of file tree.c.
References SCIP_Node::depth, and NULL.
Referenced by addNode(), addNodesInformation(), applyDomainChanges(), applyLastVertexBranch(), applyProbing(), compareNodes(), computeBranchingVariables(), computeDynamicRowOrder(), constructCompression(), ensureDepthInfoArraySize(), focusnodeToDeadend(), focusnodeToFork(), focusnodeToJunction(), focusnodeToLeaf(), focusnodeToPseudofork(), getLastSavedNode(), nodeActivate(), nodeAssignParent(), nodeDeactivate(), nodeReleaseParent(), nodeRepropagate(), nodeToLeaf(), priceAndCutLoop(), propagateDomains(), releaseNodeFromDepthInfo(), removeNode(), reoptCheckLocalRestart(), saveGlobalCons(), SCIP_DECL_BRANCHEXECEXT(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_BRANCHEXECPS(), SCIP_DECL_CONSACTIVE(), SCIP_DECL_CONSDEACTIVE(), SCIP_DECL_CONSSEPALP(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_NLHDLRENFO(), SCIP_DECL_NODESELCOMP(), SCIP_DECL_NODESELSELECT(), SCIP_DECL_PROPEXEC(), SCIPaddConsNode(), SCIPaddRowDive(), SCIPaddRowProbing(), SCIPanalyzeDeductionsProbing(), SCIPconflicthdlrExec(), SCIPconstructCurrentLP(), SCIPdelConsLocal(), SCIPdelConsNode(), SCIPnodeAddBoundinfer(), SCIPnodeAddCons(), SCIPnodeAddHoleinfer(), SCIPnodeCaptureLPIState(), SCIPnodeCutoff(), SCIPnodeFocus(), SCIPnodeFree(), SCIPnodeGetAncestorBranchingPath(), SCIPnodeGetAncestorBranchings(), SCIPnodeGetBdChgsAfterDual(), SCIPnodeGetConsProps(), SCIPnodeGetDualBoundchgs(), SCIPnodeGetParentBranchings(), SCIPnodepqBound(), SCIPnodePrintAncestorBranchings(), SCIPnodePropagateAgain(), SCIPnodePropagateImplics(), SCIPnodeReleaseLPIState(), SCIPnodesGetCommonAncestor(), SCIPnodesSharePath(), SCIPprimalHeuristics(), SCIPprintNodeRootPath(), SCIPreoptApplyCuts(), SCIPreoptCheckCutoff(), SCIPreoptGetChildIDs(), SCIPreoptGetNAddedConss(), SCIPreoptGetNLeaves(), SCIPreoptGetNNodes(), SCIPreoptGetSolveLP(), SCIPreoptResetDualBndchgs(), SCIPsepastoreApplyCuts(), SCIPsolveCIP(), SCIPStpBranchruleGetVertexChgs(), SCIPtreeCreateProbingNode(), SCIPtreeCutoff(), SCIPtreeEndProbing(), SCIPtreeGetProbingDepth(), SCIPtreeGetProbingRoot(), SCIPtreeLoadLP(), SCIPtreeLoadLPState(), SCIPtreeProbing(), SCIPvisualCutoffNode(), SCIPvisualNewChild(), SCIPvisualSolvedNode(), SCIPvisualUpdateChild(), selectBranchingVertexByDegree(), selectBranchingVertexByLp(), selectBranchingVertexByLp2Flow(), selectBranchingVertexBySol(), solveNode(), solveNodeInitialLP(), solveNodeLP(), treeApplyPendingBdchgs(), treeBacktrackProbing(), treeCreateProbingNode(), updatePseudocost(), updateTreeData(), updateTreeProfile(), updateVisits(), and writeBounds().
◆ SCIPnodeGetLowerbound()
gets the lower bound of the node
- Parameters
-
node node
Definition at line 7454 of file tree.c.
References SCIP_Node::lowerbound, and NULL.
Referenced by applyBounding(), branch(), enforceConstraints(), execRelpscost(), getNodeselScore(), nodeGetUctScore(), nodepqDelPos(), priceAndCutLoop(), propAndSolve(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_NODESELCOMP(), SCIP_DECL_NODESELSELECT(), SCIPbranchruleExecExternSol(), SCIPbranchruleExecLPSol(), SCIPbranchruleExecPseudoSol(), SCIPgetLocalDualbound(), SCIPgetLocalLowerbound(), SCIPgetNodeDualbound(), SCIPgetNodeLowerbound(), SCIPnodeFocus(), SCIPnodepqBound(), SCIPnodepqGetLowerbound(), SCIPnodepqInsert(), SCIPpriceLoop(), SCIPprimalHeuristics(), SCIPrelaxExec(), SCIPreoptSaveOpenNodes(), SCIPsolveCIP(), SCIPtreeBranchVar(), SCIPvisualCutoffNode(), SCIPvisualNewChild(), SCIPvisualSolvedNode(), SCIPvisualUpdateChild(), selectVarMultAggrBranching(), subtreeSumGapStoreNode(), and updateEstimate().
◆ SCIPnodeGetEstimate()
gets the estimated value of the best feasible solution in subtree of the node
- Parameters
-
node node
Definition at line 7464 of file tree.c.
References SCIP_Node::estimate, and NULL.
Referenced by addNodesInformation(), checkLeavesBelowIncumbent(), Exec(), getNodeselScore(), nodeGetUctScore(), releaseNodeFromDepthInfo(), SCIP_DECL_NODESELCOMP(), SCIP_DECL_NODESELSELECT(), SCIP_DECL_SORTPTRCOMP(), SCIPgetLocalOrigEstimate(), SCIPgetLocalTransEstimate(), SCIPtreeBranchVar(), SCIPtreeBranchVarHole(), SCIPtreeBranchVarNary(), and SCIPtreeCalcChildEstimate().
◆ SCIPnodeGetReopttype()
SCIP_REOPTTYPE SCIPnodeGetReopttype | ( | SCIP_NODE * | node | ) |
gets the reoptimization type of a node
gets the reoptimization type of this node
- Parameters
-
node node
Definition at line 7474 of file tree.c.
References NULL, and SCIP_Node::reopttype.
Referenced by getLastSavedNode(), and SCIPreoptGetSolveLP().
◆ SCIPnodeGetReoptID()
unsigned int SCIPnodeGetReoptID | ( | SCIP_NODE * | node | ) |
gets the unique id to identify the node during reoptimization; id is 0 if the node is the root or not part of the reoptimization tree
gets the unique id to identify the node during reoptimization; the id is 0 if the node is the root or not part of the reoptimization tree
- Parameters
-
node node
Definition at line 7505 of file tree.c.
References NULL, and SCIP_Node::reoptid.
Referenced by addNode(), Exec(), getLastSavedNode(), reoptCheckLocalRestart(), SCIP_DECL_BRANCHEXECEXT(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_BRANCHEXECPS(), SCIPreoptApplyCuts(), SCIPreoptGetChildIDs(), SCIPreoptGetLeaves(), SCIPreoptGetNAddedConss(), SCIPreoptGetNLeaves(), SCIPreoptGetNNodes(), SCIPreoptGetSolveLP(), SCIPreoptimizeNode(), and SCIPreoptResetDualBndchgs().
◆ SCIPnodeSetReopttype()
void SCIPnodeSetReopttype | ( | SCIP_NODE * | node, |
SCIP_REOPTTYPE | reopttype | ||
) |
sets the reoptimization type of the node
sets the reoptimization type of this node
- Parameters
-
node node reopttype reoptimization type
Definition at line 7484 of file tree.c.
References NULL, SCIP_Node::reopttype, SCIP_REOPTTYPE_FEASIBLE, SCIP_REOPTTYPE_INFSUBTREE, SCIP_REOPTTYPE_LEAF, SCIP_REOPTTYPE_LOGICORNODE, SCIP_REOPTTYPE_NONE, SCIP_REOPTTYPE_PRUNED, SCIP_REOPTTYPE_STRBRANCHED, and SCIP_REOPTTYPE_TRANSIT.
Referenced by addNode(), getLastSavedNode(), SCIPreoptApply(), SCIPreoptSplitRoot(), and shrinkNode().
◆ SCIPnodeSetReoptID()
void SCIPnodeSetReoptID | ( | SCIP_NODE * | node, |
unsigned int | id | ||
) |
sets a unique id to identify the node during reoptimization
set a unique id to identify the node during reoptimization
- Parameters
-
node node id unique id
Definition at line 7515 of file tree.c.
References NULL, and SCIP_Node::reoptid.
Referenced by addNode(), getLastSavedNode(), and SCIPreoptApply().
◆ SCIPnodeGetNDomchg()
void SCIPnodeGetNDomchg | ( | SCIP_NODE * | node, |
int * | nbranchings, | ||
int * | nconsprop, | ||
int * | nprop | ||
) |
counts the number of bound changes due to branching, constraint propagation, and propagation
- Parameters
-
node node nbranchings pointer to store number of branchings (or NULL if not needed) nconsprop pointer to store number of constraint propagations (or NULL if not needed) nprop pointer to store number of propagations (or NULL if not needed)
Definition at line 7539 of file tree.c.
References SCIP_DomChgBound::boundchgs, SCIP_BoundChg::boundchgtype, SCIP_Node::domchg, SCIP_DomChg::domchgbound, SCIP_DomChgBound::nboundchgs, NULL, SCIP_Bool, SCIP_BOUNDCHGTYPE_BRANCHING, SCIP_BOUNDCHGTYPE_CONSINFER, and SCIP_BOUNDCHGTYPE_PROPINFER.
Referenced by getLastSavedNode(), SCIPnodeGetConsProps(), and updateConstraintPropagation().
◆ SCIPnodeGetDomchg()
SCIP_DOMCHG* SCIPnodeGetDomchg | ( | SCIP_NODE * | node | ) |
gets the domain change information of the node, i.e., the information about the differences in the variables domains to the parent node
- Parameters
-
node node
Definition at line 7529 of file tree.c.
References SCIP_Node::domchg, and NULL.
Referenced by computeBranchingVariables(), computeDynamicRowOrder(), and SCIPendStrongbranch().
◆ SCIPnodeGetParent()
gets the parent node of a node in the branch-and-bound tree, if any
- Parameters
-
node node
Definition at line 7714 of file tree.c.
References NULL, and SCIP_Node::parent.
Referenced by addNode(), compareNodes(), computeBranchingVariables(), computeDynamicRowOrder(), getLastSavedNode(), nodeGetUctScore(), SCIPStpBranchruleGetVertexChgs(), SCIPvarUpdatePseudocost(), SCIPvisualFoundSolution(), subtreeSumGapInsertChildren(), subtreeSumGapRemoveNode(), and updateVisits().
◆ SCIPnodeGetAddedConss()
void SCIPnodeGetAddedConss | ( | SCIP_NODE * | node, |
SCIP_CONS ** | addedconss, | ||
int * | naddedconss, | ||
int | addedconsssize | ||
) |
returns all constraints added to a given node
- Parameters
-
node node addedconss array to store the constraints naddedconss number of added constraints addedconsssize size of the constraint array
Definition at line 1672 of file tree.c.
References SCIP_ConsSetChg::addedconss, SCIP_Node::conssetchg, SCIP_ConsSetChg::naddedconss, and NULL.
Referenced by saveLocalConssData(), SCIPStpBranchruleGetVertexChgLast(), and SCIPStpBranchruleGetVertexChgs().
◆ SCIPnodeGetNAddedConss()
int SCIPnodeGetNAddedConss | ( | SCIP_NODE * | node | ) |
returns the number of added constraints to the given node
- Parameters
-
node node
Definition at line 1702 of file tree.c.
References SCIP_Node::conssetchg, SCIP_ConsSetChg::naddedconss, and NULL.
Referenced by addNode(), saveLocalConssData(), SCIPreoptGetNAddedConss(), SCIPStpBranchruleGetVertexChgLast(), and SCIPStpBranchruleGetVertexChgs().
◆ SCIPnodeIsActive()
returns whether node is in the path to the current node
- Parameters
-
node node
Definition at line 8189 of file tree.c.
References SCIP_Node::active, and NULL.
Referenced by propagateDomains(), SCIPnodePropagateImplics(), and updatePseudocost().
◆ SCIPnodeIsPropagatedAgain()
returns whether the node is marked to be propagated again
- Parameters
-
node node data
Definition at line 8199 of file tree.c.
References NULL, and SCIP_Node::reprop.
Referenced by updateLoopStatus().
◆ SCIPnodeGetConssetchg()
SCIP_CONSSETCHG* SCIPnodeGetConssetchg | ( | SCIP_NODE * | node | ) |
- Parameters
-
node node data
Definition at line 8209 of file tree.c.
References SCIP_Node::conssetchg, and NULL.