|
public methods for branch and bound tree
- Author
- Tobias Achterberg
Definition in file pub_tree.h.
Go to the source code of this file.
|
| SCIP_DECL_SORTPTRCOMP (SCIPnodeCompLowerbound) |
|
void | SCIPnodeGetParentBranchings (SCIP_NODE *node, SCIP_VAR **branchvars, SCIP_Real *branchbounds, SCIP_BOUNDTYPE *boundtypes, int *nbranchvars, int branchvarssize) |
|
void | SCIPnodeGetAncestorBranchings (SCIP_NODE *node, SCIP_VAR **branchvars, SCIP_Real *branchbounds, SCIP_BOUNDTYPE *boundtypes, int *nbranchvars, int branchvarssize) |
|
SCIP_RETCODE | SCIPnodePrintAncestorBranchings (SCIP_NODE *node, FILE *file) |
|
void | SCIPnodeGetAncestorBranchingPath (SCIP_NODE *node, SCIP_VAR **branchvars, SCIP_Real *branchbounds, SCIP_BOUNDTYPE *boundtypes, int *nbranchvars, int branchvarssize, int *nodeswitches, int *nnodes, int nodeswitchsize) |
|
SCIP_Bool | SCIPnodesSharePath (SCIP_NODE *node1, SCIP_NODE *node2) |
|
SCIP_NODE * | SCIPnodesGetCommonAncestor (SCIP_NODE *node1, SCIP_NODE *node2) |
|
SCIP_NODETYPE | SCIPnodeGetType (SCIP_NODE *node) |
|
SCIP_Longint | SCIPnodeGetNumber (SCIP_NODE *node) |
|
int | SCIPnodeGetDepth (SCIP_NODE *node) |
|
SCIP_Real | SCIPnodeGetLowerbound (SCIP_NODE *node) |
|
SCIP_Real | SCIPnodeGetEstimate (SCIP_NODE *node) |
|
SCIP_DOMCHG * | SCIPnodeGetDomchg (SCIP_NODE *node) |
|
SCIP_NODE * | SCIPnodeGetParent (SCIP_NODE *node) |
|
SCIP_Bool | SCIPnodeIsActive (SCIP_NODE *node) |
|
SCIP_Bool | SCIPnodeIsPropagatedAgain (SCIP_NODE *node) |
|
SCIP_DECL_SORTPTRCOMP |
( |
SCIPnodeCompLowerbound |
| ) |
|
node comparator for best lower bound
Definition at line 140 of file tree.c.
References NULL.
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 6760 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(), and SCIPnodeGetAncestorBranchings().
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 6824 of file tree.c.
References NULL, SCIP_Node::parent, SCIPnodeGetDepth(), and SCIPnodeGetParentBranchings().
outputs the path into given file stream in GML format
- Parameters
-
node | node data |
file | file to output the path |
Definition at line 6861 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.
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 6913 of file tree.c.
References NULL, SCIP_Node::parent, SCIPnodeGetDepth(), and SCIPnodeGetParentBranchings().
Referenced by SCIPprintNodeRootPath().
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 6962 of file tree.c.
References NULL, SCIP_Node::parent, and SCIPnodeGetDepth().
gets the type of the node
- Parameters
-
Definition at line 6688 of file tree.c.
References SCIP_Node::nodetype, and NULL.
Referenced by focusnodeCleanupVars(), focusnodeToDeadend(), focusnodeToFork(), focusnodeToJunction(), focusnodeToPseudofork(), forkAddLP(), nodeActivate(), nodeAssignParent(), nodeDeactivate(), nodeReleaseParent(), nodeToLeaf(), priceAndCutLoop(), propagateDomains(), pseudoforkAddLP(), SCIP_DECL_NODESELCOMP(), SCIPchgChildPrio(), SCIPchgVarLbProbing(), SCIPchgVarUbProbing(), SCIPchildChgNodeselPrio(), SCIPendStrongbranch(), SCIPfixVarProbing(), SCIPnodeAddBoundinfer(), SCIPnodeAddCons(), SCIPnodeAddHoleinfer(), SCIPnodeCaptureLPIState(), SCIPnodeCreateChild(), SCIPnodeFocus(), SCIPnodeFree(), SCIPnodepqBound(), SCIPnodepqClear(), SCIPnodePropagateImplics(), SCIPnodeReleaseLPIState(), SCIPprimalHeuristics(), SCIPstartDive(), SCIPtreeBacktrackProbing(), SCIPtreeEndProbing(), SCIPtreeInRepropagation(), SCIPtreeLoadLP(), SCIPtreeLoadLPState(), SCIPtreeLoadProbingLPState(), SCIPtreeMarkProbingNodeHasLP(), SCIPvbcCutoffNode(), SCIPvbcFoundConflict(), SCIPvbcFoundSolution(), SCIPvbcMarkedRepropagateNode(), SCIPvbcNewChild(), SCIPvbcRepropagatedNode(), SCIPvbcSolvedNode(), SCIPvbcUpdateChild(), solveNode(), solveNodeInitialLP(), solveNodeRelax(), subrootConstructLP(), treeAddChild(), treeBacktrackProbing(), treeCheckPath(), treeChildrenToSiblings(), treeCreateProbingNode(), treeFindSwitchForks(), treeRemoveChild(), treeRemoveSibling(), treeSwitchPath(), treeUpdatePathLPSize(), and updatePseudocost().
gets successively assigned number of the node
- Parameters
-
Definition at line 6698 of file tree.c.
References NULL, and SCIP_Node::number.
Referenced by applyVbounds(), focusnodeToDeadend(), focusnodeToFork(), focusnodeToJunction(), focusnodeToPseudofork(), nodeActivate(), nodeAssignParent(), nodeDeactivate(), nodeGetVisits(), nodeReleaseParent(), nodeRepropagate(), nodeToLeaf(), SCIP_DECL_NODESELCOMP(), SCIP_DECL_NODESELSELECT(), SCIP_DECL_PROPEXEC(), SCIP_DECL_SEPAEXECLP(), SCIPnodeCaptureLPIState(), SCIPnodeCreateChild(), SCIPnodeCutoff(), SCIPnodeFocus(), SCIPnodeFree(), SCIPnodePropagateAgain(), SCIPnodePropagateImplics(), SCIPnodeReleaseLPIState(), SCIPtreeCutoff(), SCIPtreeLoadLP(), SCIPtreeLoadLPState(), SCIPvbcMarkedRepropagateNode(), treeCreateProbingNode(), and updateVisits().
gets the depth of the node
- Parameters
-
Definition at line 6708 of file tree.c.
References SCIP_Node::depth, and NULL.
Referenced by applyProbing(), compareNodes(), focusnodeToDeadend(), focusnodeToFork(), focusnodeToJunction(), focusnodeToPseudofork(), generateCut(), generateSecantCut(), generateSecantCutNoCheck(), nodeActivate(), nodeAssignParent(), nodeDeactivate(), nodeReleaseParent(), nodeRepropagate(), nodeToLeaf(), priceAndCutLoop(), propagateDomains(), SCIP_DECL_BRANCHEXECEXT(), SCIP_DECL_NODESELCOMP(), SCIP_DECL_NODESELSELECT(), SCIPaddConsNode(), SCIPaddRowDive(), SCIPanalyzeDeductionsProbing(), SCIPconflicthdlrExec(), SCIPconstructCurrentLP(), SCIPdelConsLocal(), SCIPdelConsNode(), SCIPnodeAddBoundinfer(), SCIPnodeAddCons(), SCIPnodeAddHoleinfer(), SCIPnodeCaptureLPIState(), SCIPnodeCutoff(), SCIPnodeFocus(), SCIPnodeFree(), SCIPnodeGetAncestorBranchingPath(), SCIPnodeGetAncestorBranchings(), SCIPnodeGetParentBranchings(), SCIPnodepqBound(), SCIPnodePrintAncestorBranchings(), SCIPnodePropagateAgain(), SCIPnodePropagateImplics(), SCIPnodeReleaseLPIState(), SCIPnodesGetCommonAncestor(), SCIPnodesSharePath(), SCIPprimalHeuristics(), SCIPprintNodeRootPath(), SCIPsepastoreApplyCuts(), SCIPsolveCIP(), SCIPtreeCreateProbingNode(), SCIPtreeCutoff(), SCIPtreeEndProbing(), SCIPtreeGetProbingDepth(), SCIPtreeGetProbingRoot(), SCIPtreeLoadLP(), SCIPtreeLoadLPState(), SCIPtreeProbing(), SCIPvbcCutoffNode(), SCIPvbcNewChild(), SCIPvbcSolvedNode(), SCIPvbcUpdateChild(), solveNode(), solveNodeInitialLP(), solveNodeLP(), tightenBounds(), treeApplyPendingBdchgs(), treeBacktrackProbing(), treeCreateProbingNode(), updatePseudocost(), and updateVisits().
gets the lower bound of the node
- Parameters
-
Definition at line 6718 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(), SCIPnodepqBound(), SCIPnodepqGetLowerbound(), SCIPnodepqInsert(), SCIPpriceLoop(), SCIPprimalHeuristics(), SCIPsolveCIP(), SCIPtreeBranchVar(), SCIPvbcCutoffNode(), SCIPvbcNewChild(), SCIPvbcSolvedNode(), SCIPvbcUpdateChild(), and updateEstimate().
gets the estimated value of the best feasible solution in subtree of the node
- Parameters
-
Definition at line 6728 of file tree.c.
References SCIP_Node::estimate, and NULL.
Referenced by getNodeselScore(), nodeGetUctScore(), SCIP_DECL_CONSENFOLP(), SCIP_DECL_NODESELCOMP(), SCIP_DECL_NODESELSELECT(), SCIPgetLocalOrigEstimate(), SCIPgetLocalTransEstimate(), SCIPtreeBranchVar(), SCIPtreeBranchVarHole(), SCIPtreeBranchVarNary(), and SCIPtreeCalcChildEstimate().
gets the domain change information of the node, i.e., the information about the differences in the variables domains to the parent node
- Parameters
-
Definition at line 6740 of file tree.c.
References SCIP_Node::domchg, and NULL.
Referenced by SCIPendStrongbranch().
|