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/visual.h" #include "scip/paramset.h" #include "scip/tree.h" #include "scip/reopt.h" #include "scip/lp.h" #include "scip/scip.h" #include "scip/nodesel.h" #include "scip/pub_message.h" #include "scip/pub_misc.h" #include "scip/struct_nodesel.h" #include "scip/struct_scip.h" Go to the source code of this file.
Macro Definition Documentation
Definition at line 48 of file nodesel.c. Referenced by nodepqDelPos(), and SCIPnodepqInsert().
Definition at line 49 of file nodesel.c. Referenced by nodepqDelPos(), and SCIPnodepqBound().
Definition at line 50 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 75 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 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().
deletes node at given position from the node priority queue; returns TRUE, if the parent fell down to the free position
Definition at line 321 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 479 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 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().
method to call, when the standard mode priority of a node selector was changed Definition at line 698 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 713 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 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().
gets name of node selector
Definition at line 992 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(), SCIPsetFindEventhdlr(), and SCIPtreeSetNodesel().
gets description of node selector
Definition at line 1002 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 1012 of file nodesel.c. References NULL, and SCIP_Nodesel::stdpriority. Referenced by SCIP_DECL_DIALOGEXEC(), SCIP_DECL_NODESELINITSOL(), SCIPsetIncludeNodesel(), and turnoffNodeSelector().
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().
gets priority of node selector in memory saving mode
Definition at line 1036 of file nodesel.c. References SCIP_Nodesel::memsavepriority, and NULL. Referenced by SCIP_DECL_DIALOGEXEC(), and SCIPsetIncludeNodesel().
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().
gets user data of node selector
Definition at line 1060 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 1070 of file nodesel.c. References SCIP_Nodesel::nodeseldata, and NULL. Referenced by SCIP_DECL_NODESELFREE().
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().
is node selector initialized?
Definition at line 1149 of file nodesel.c. References SCIP_Nodesel::initialized, and NULL.
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().
gets time in seconds used in this node selector for setting up for next stages
Definition at line 1171 of file nodesel.c. References NULL, SCIPclockGetTime(), and SCIP_Nodesel::setuptime.
gets time in seconds used in this node selector
Definition at line 1181 of file nodesel.c. References SCIP_Nodesel::nodeseltime, NULL, and SCIPclockGetTime(). |