nodesel.h File Reference Detailed Descriptioninternal methods for node selectors and node priority queues Definition in file nodesel.h. #include "scip/def.h" #include "blockmemshell/memory.h" #include "scip/type_retcode.h" #include "scip/type_set.h" #include "scip/type_stat.h" #include "scip/type_lp.h" #include "scip/type_tree.h" #include "scip/type_reopt.h" #include "scip/pub_nodesel.h" Go to the source code of this file. Function Documentation
creates node priority queue
Definition at line 95 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 116 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 130 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 153 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 193 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 203 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 243 of file nodesel.c. References SCIP_NodePQ::nodesel, NULL, and SCIPnodeselCompare(). Referenced by SCIPnodeFocus().
inserts node into node priority queue
Definition at line 259 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().
removes node from the node priority queue
Definition at line 503 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 524 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 540 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 550 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 561 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 584 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 608 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 618 of file nodesel.c. References FALSE, SCIP_NodePQ::len, nodepqDelPos(), NULL, PQ_LEFTCHILD, PQ_RIGHTCHILD, SCIP_Bool, SCIP_CALL, SCIP_EVENTTYPE_NODEINFEASIBLE, SCIP_NODETYPE_LEAF, SCIP_OKAY, SCIPdebugMessage, SCIPlpGetSolstat(), SCIPnodeFree(), SCIPnodeGetDepth(), SCIPnodeGetLowerbound(), SCIPnodeGetType(), SCIPreoptCheckCutoff(), SCIPsetIsGE(), SCIPsetIsLT(), SCIPtreeGetEffectiveRootDepth(), SCIPtreeGetFocusNode(), SCIPvisualCutoffNode(), SCIP_NodePQ::slots, and SCIP_Stat::visual. Referenced by SCIPtreeCutoff().
copies the given node selector to a new scip
Definition at line 727 of file nodesel.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, and SCIPnodeselGetName(). Referenced by SCIPsetCopyPlugins().
creates a node selector
Definition at line 745 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 810 of file nodesel.c. References BMSfreeMemory, BMSfreeMemoryArray, NULL, SCIP_CALL, SCIP_OKAY, and SCIPclockFree().
initializes node selector
Definition at line 838 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 874 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 904 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 928 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 952 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 975 of file nodesel.c. References NULL. Referenced by SCIPnodepqCompare(), SCIPtreeGetBestChild(), SCIPtreeGetBestNode(), and SCIPtreeGetBestSibling().
sets priority of node selector in standard mode gets priority of node selector in standard mode
Definition at line 1022 of file nodesel.c. References NULL, and SCIP_Nodesel::stdpriority. Referenced by SCIPsetNodeselStdPriority().
sets priority of node selector in memory saving mode
Definition at line 1046 of file nodesel.c. References SCIP_Nodesel::memsavepriority, and NULL. Referenced by SCIPsetNodeselMemsavePriority().
sets copy method of node selector
Definition at line 1083 of file nodesel.c. References NULL. Referenced by SCIPsetNodeselCopy().
sets destructor method of node selector
Definition at line 1094 of file nodesel.c. References NULL. Referenced by SCIPsetNodeselFree().
sets initialization method of node selector
Definition at line 1105 of file nodesel.c. References NULL. Referenced by SCIPsetNodeselInit().
sets deinitialization method of node selector
Definition at line 1116 of file nodesel.c. References NULL. Referenced by SCIPsetNodeselExit().
sets solving process initialization method of node selector
Definition at line 1127 of file nodesel.c. References NULL. Referenced by SCIPsetNodeselInitsol().
sets solving process deinitialization method of node selector
Definition at line 1138 of file nodesel.c. References NULL. Referenced by SCIPsetNodeselExitsol().
enables or disables all clocks of
Definition at line 1159 of file nodesel.c. References SCIP_Nodesel::nodeseltime, NULL, SCIPclockEnableOrDisable(), and SCIP_Nodesel::setuptime. Referenced by SCIPsetSetReoptimizationParams(). |