All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Detailed Descriptionmethods for node selectors Definition in file nodesel.c. #include <assert.h> #include <string.h> #include "scip/def.h" #include "scip/set.h" #include "scip/clock.h" #include "scip/stat.h" #include "scip/vbc.h" #include "scip/paramset.h" #include "scip/tree.h" #include "scip/scip.h" #include "scip/nodesel.h" #include "scip/pub_message.h" #include "scip/pub_misc.h" #include "scip/struct_nodesel.h" Go to the source code of this file.
Macro Definition Documentation
Definition at line 47 of file nodesel.c. Referenced by nodepqDelPos(), and SCIPnodepqInsert().
Definition at line 48 of file nodesel.c. Referenced by nodepqDelPos(), and SCIPnodepqBound().
Definition at line 49 of file nodesel.c. Referenced by nodepqDelPos(), and SCIPnodepqBound(). Function Documentation
resizes node memory to hold at least the given number of nodes
Definition at line 74 of file nodesel.c. References SCIP_NodePQ::bfsposs, SCIP_NodePQ::bfsqueue, BMSreallocMemoryArray, NULL, SCIP_ALLOC, SCIP_OKAY, SCIPsetCalcTreeGrowSize(), SCIP_NodePQ::size, and SCIP_NodePQ::slots. Referenced by SCIPnodepqInsert(), and SCIPnodepqSetNodesel().
creates node priority queue
Definition at line 94 of file nodesel.c. References BMSallocMemory, NULL, SCIP_ALLOC, and SCIP_OKAY. Referenced by SCIPnodepqSetNodesel(), and SCIPtreeCreate().
frees node priority queue, but not the data nodes themselves
Definition at line 115 of file nodesel.c. References BMSfreeMemory, BMSfreeMemoryArrayNull, and NULL. Referenced by SCIPnodepqFree(), and SCIPnodepqSetNodesel().
frees node priority queue and all nodes in the queue
Definition at line 129 of file nodesel.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPnodepqClear(), and SCIPnodepqDestroy(). Referenced by SCIPtreeFree().
deletes all nodes in the node priority queue
Definition at line 152 of file nodesel.c. References SCIP_NodePQ::len, SCIP_NodePQ::lowerboundsum, NULL, SCIP_CALL, SCIP_NODETYPE_LEAF, SCIP_OKAY, SCIPnodeFree(), SCIPnodeGetType(), SCIPsortDownPtr(), and SCIP_NodePQ::slots. Referenced by SCIPnodepqFree(), and SCIPtreeClear().
returns the node selector associated with the given node priority queue
Definition at line 192 of file nodesel.c. References SCIP_NodePQ::nodesel, and NULL. Referenced by SCIPtreeGetBestChild(), SCIPtreeGetBestNode(), SCIPtreeGetBestSibling(), SCIPtreeGetNodesel(), and SCIPtreeSetNodesel().
sets the node selector used for sorting the nodes in the queue, and resorts the queue if necessary
Definition at line 202 of file nodesel.c. References SCIP_NodePQ::len, nodepqResize(), NULL, SCIP_CALL, SCIP_OKAY, SCIPnodepqCreate(), SCIPnodepqDestroy(), SCIPnodepqInsert(), and SCIP_NodePQ::slots. Referenced by SCIPtreeSetNodesel().
compares two nodes; returns -1/0/+1 if node1 better/equal/worse than node2
Definition at line 242 of file nodesel.c. References SCIP_NodePQ::nodesel, NULL, and SCIPnodeselCompare(). Referenced by SCIPnodeFocus().
inserts node into node priority queue
Definition at line 258 of file nodesel.c. References SCIP_NodePQ::bfsposs, SCIP_NodePQ::bfsqueue, SCIP_NodePQ::len, SCIP_NodePQ::lowerboundsum, nodepqResize(), SCIP_NodePQ::nodesel, NULL, PQ_PARENT, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPdebugMessage, SCIPnodeGetLowerbound(), and SCIP_NodePQ::slots. Referenced by nodeToLeaf(), and SCIPnodepqSetNodesel().
deletes node at given position from the node priority queue; returns TRUE, if the parent fell down to the free position
Definition at line 320 of file nodesel.c. References SCIP_NodePQ::bfsposs, SCIP_NodePQ::bfsqueue, FALSE, SCIP_NodePQ::len, SCIP_NodePQ::lowerboundsum, SCIP_NodePQ::nodesel, NULL, PQ_LEFTCHILD, PQ_PARENT, PQ_RIGHTCHILD, SCIP_Bool, SCIP_Real, SCIPdebugMessage, SCIPnodeGetLowerbound(), SCIP_NodePQ::slots, and TRUE. Referenced by SCIPnodepqBound(), and SCIPnodepqRemove().
returns the position of given node in the priority queue, or -1 if not existing
Definition at line 478 of file nodesel.c. References SCIP_NodePQ::len, NULL, and SCIP_NodePQ::slots. Referenced by SCIPnodepqRemove().
removes node from the node priority queue
Definition at line 502 of file nodesel.c. References nodepqDelPos(), nodepqFindNode(), SCIP_INVALIDDATA, SCIP_OKAY, and SCIPerrorMessage. Referenced by SCIPnodeFocus().
returns the best node of the queue without removing it
Definition at line 523 of file nodesel.c. References SCIP_NodePQ::len, NULL, and SCIP_NodePQ::slots. Referenced by SCIPtreeGetBestLeaf().
returns the nodes array of the queue
Definition at line 539 of file nodesel.c. References NULL, and SCIP_NodePQ::slots. Referenced by SCIPgetLeaves(), and SCIPgetOpenNodesData().
returns the number of nodes stored in the node priority queue
Definition at line 549 of file nodesel.c. References SCIP_NodePQ::len, and NULL. Referenced by SCIPgetLeaves(), SCIPgetNLeaves(), SCIPgetOpenNodesData(), and SCIPtreeGetNLeaves().
gets the minimal lower bound of all nodes in the queue
Definition at line 560 of file nodesel.c. References SCIP_NodePQ::bfsqueue, SCIP_NodePQ::len, SCIP_NodePQ::nodesel, NULL, SCIPnodeGetLowerbound(), SCIPsetInfinity(), and SCIP_NodePQ::slots. Referenced by SCIPtreeGetLowerbound().
gets the node with minimal lower bound of all nodes in the queue
Definition at line 583 of file nodesel.c. References SCIP_NodePQ::bfsqueue, SCIP_NodePQ::len, SCIP_NodePQ::nodesel, NULL, and SCIP_NodePQ::slots. Referenced by SCIPtreeGetLowerboundNode().
gets the sum of lower bounds of all nodes in the queue
Definition at line 607 of file nodesel.c. References SCIP_NodePQ::lowerboundsum, and NULL. Referenced by SCIPtreeGetAvgLowerbound().
free all nodes from the queue that are cut off by the given upper bound
Definition at line 617 of file nodesel.c. References SCIP_NodePQ::len, nodepqDelPos(), NULL, PQ_LEFTCHILD, PQ_RIGHTCHILD, SCIP_Bool, SCIP_CALL, SCIP_NODETYPE_LEAF, SCIP_OKAY, SCIPdebugMessage, SCIPnodeFree(), SCIPnodeGetDepth(), SCIPnodeGetLowerbound(), SCIPnodeGetType(), SCIPsetIsGE(), SCIPsetIsLT(), SCIPvbcCutoffNode(), SCIP_NodePQ::slots, and SCIP_Stat::vbc. Referenced by SCIPtreeCutoff().
method to call, when the standard mode priority of a node selector was changed Definition at line 688 of file nodesel.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPparamGetData(), SCIPparamGetInt(), and SCIPsetNodeselStdPriority().
method to call, when the memory saving mode priority of a node selector was changed Definition at line 703 of file nodesel.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPparamGetData(), SCIPparamGetInt(), and SCIPsetNodeselMemsavePriority().
copies the given node selector to a new scip
Definition at line 717 of file nodesel.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, and SCIPnodeselGetName(). Referenced by SCIPsetCopyPlugins().
creates a node selector
Definition at line 735 of file nodesel.c. References BMSallocMemory, BMSduplicateMemoryArray, FALSE, NULL, paramname, SCIP_ALLOC, SCIP_CALL, SCIP_CLOCKTYPE_DEFAULT, SCIP_MAXSTRLEN, SCIP_OKAY, SCIPclockCreate(), SCIPsetAddIntParam(), SCIPsnprintf(), and TRUE. Referenced by SCIPincludeNodesel(), and SCIPincludeNodeselBasic().
frees memory of node selector
Definition at line 800 of file nodesel.c. References BMSfreeMemory, BMSfreeMemoryArray, NULL, SCIP_CALL, SCIP_OKAY, and SCIPclockFree(). Referenced by SCIPsetFree().
initializes node selector
Definition at line 828 of file nodesel.c. References SCIP_Nodesel::initialized, SCIP_Nodesel::name, SCIP_Nodesel::nodeseltime, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPclockReset(), SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, SCIP_Nodesel::setuptime, and TRUE. Referenced by SCIPsetInitPlugins().
deinitializes node selector
Definition at line 864 of file nodesel.c. References FALSE, SCIP_Nodesel::initialized, SCIP_Nodesel::name, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, and SCIP_Nodesel::setuptime. Referenced by SCIPsetExitPlugins().
informs node selector that the branch and bound process is being started
Definition at line 894 of file nodesel.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIP_Nodesel::setuptime. Referenced by SCIPsetInitsolPlugins().
informs node selector that the branch and bound process data is being freed
Definition at line 918 of file nodesel.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIP_Nodesel::setuptime. Referenced by SCIPsetExitsolPlugins().
select next node to be processed
Definition at line 942 of file nodesel.c. References SCIP_Nodesel::nodeseltime, NULL, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), and SCIPclockStop(). Referenced by SCIPsolveCIP().
compares two nodes; returns -1/0/+1 if node1 better/equal/worse than node2
Definition at line 965 of file nodesel.c. References NULL. Referenced by SCIPnodepqCompare(), SCIPtreeGetBestChild(), SCIPtreeGetBestNode(), and SCIPtreeGetBestSibling().
gets name of node selector
Definition at line 982 of file nodesel.c. References SCIP_Nodesel::name, and NULL. Referenced by SCIP_DECL_DIALOGEXEC(), SCIP_DECL_NODESELCOMP(), SCIP_DECL_NODESELCOPY(), SCIP_DECL_NODESELFREE(), SCIP_DECL_NODESELINITSOL(), SCIP_DECL_NODESELSELECT(), SCIPincludeDialogDefaultFix(), SCIPincludeDialogDefaultSet(), SCIPnodeselCopyInclude(), SCIPsetFindNodesel(), and SCIPtreeSetNodesel().
gets description of node selector
Definition at line 992 of file nodesel.c. References SCIP_Nodesel::desc, and NULL. Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().
gets priority of node selector in standard mode
Definition at line 1002 of file nodesel.c. References NULL, and SCIP_Nodesel::stdpriority. Referenced by SCIP_DECL_DIALOGEXEC(), SCIP_DECL_NODESELINITSOL(), SCIPsetGetNodesel(), SCIPsetIncludeNodesel(), and turnoffNodeSelector().
gets priority of node selector in standard mode
Definition at line 1012 of file nodesel.c. References NULL, and SCIP_Nodesel::stdpriority. Referenced by SCIPsetNodeselStdPriority().
gets priority of node selector in memory saving mode
Definition at line 1026 of file nodesel.c. References SCIP_Nodesel::memsavepriority, and NULL. Referenced by SCIP_DECL_DIALOGEXEC(), and SCIPsetGetNodesel().
sets priority of node selector in memory saving mode
Definition at line 1036 of file nodesel.c. References SCIP_Nodesel::memsavepriority, and NULL. Referenced by SCIPsetNodeselMemsavePriority().
gets user data of node selector
Definition at line 1050 of file nodesel.c. References SCIP_Nodesel::nodeseldata, and NULL. Referenced by SCIP_DECL_NODESELCOMP(), SCIP_DECL_NODESELCOPY(), SCIP_DECL_NODESELEXIT(), SCIP_DECL_NODESELEXITSOL(), SCIP_DECL_NODESELFREE(), SCIP_DECL_NODESELINIT(), SCIP_DECL_NODESELINITSOL(), SCIP_DECL_NODESELSELECT(), SCIPfindObjNodesel(), and SCIPgetObjNodesel().
sets user data of node selector; user has to free old data in advance!
Definition at line 1060 of file nodesel.c. References SCIP_Nodesel::nodeseldata, and NULL. Referenced by SCIP_DECL_NODESELFREE().
sets copy method of node selector
Definition at line 1073 of file nodesel.c. References NULL. Referenced by SCIPsetNodeselCopy().
sets destructor method of node selector
Definition at line 1084 of file nodesel.c. References NULL. Referenced by SCIPsetNodeselFree().
sets initialization method of node selector
Definition at line 1095 of file nodesel.c. References NULL. Referenced by SCIPsetNodeselInit().
sets deinitialization method of node selector
Definition at line 1106 of file nodesel.c. References NULL. Referenced by SCIPsetNodeselExit().
sets solving process initialization method of node selector
Definition at line 1117 of file nodesel.c. References NULL. Referenced by SCIPsetNodeselInitsol().
sets solving process deinitialization method of node selector
Definition at line 1128 of file nodesel.c. References NULL. Referenced by SCIPsetNodeselExitsol().
is node selector initialized?
Definition at line 1139 of file nodesel.c. References SCIP_Nodesel::initialized, and NULL. Referenced by SCIPsetIncludeNodesel().
gets time in seconds used in this node selector for setting up for next stages
Definition at line 1149 of file nodesel.c. References NULL, SCIPclockGetTime(), and SCIP_Nodesel::setuptime.
gets time in seconds used in this node selector
Definition at line 1159 of file nodesel.c. References SCIP_Nodesel::nodeseltime, NULL, and SCIPclockGetTime(). |