SCIP Doxygen Documentation
Loading...
Searching...
No Matches
nodesel.h File Reference

Detailed Description

internal methods for node selectors and node priority queues

Author
Tobias Achterberg

Definition in file nodesel.h.

#include "scip/def.h"
#include "blockmemshell/memory.h"
#include "scip/type_event.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/type_message.h"
#include "scip/pub_nodesel.h"

Go to the source code of this file.

Functions

SCIP_RETCODE SCIPnodepqCreate (SCIP_NODEPQ **nodepq, SCIP_SET *set, SCIP_NODESEL *nodesel)
void SCIPnodepqDestroy (SCIP_NODEPQ **nodepq)
SCIP_RETCODE SCIPnodepqFree (SCIP_NODEPQ **nodepq, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_EVENTFILTER *eventfilter, SCIP_EVENTQUEUE *eventqueue, SCIP_TREE *tree, SCIP_LP *lp)
SCIP_RETCODE SCIPnodepqClear (SCIP_NODEPQ *nodepq, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_EVENTFILTER *eventfilter, SCIP_EVENTQUEUE *eventqueue, SCIP_TREE *tree, SCIP_LP *lp)
SCIP_NODESELSCIPnodepqGetNodesel (SCIP_NODEPQ *nodepq)
SCIP_RETCODE SCIPnodepqSetNodesel (SCIP_NODEPQ **nodepq, SCIP_SET *set, SCIP_NODESEL *nodesel)
int SCIPnodepqCompare (SCIP_NODEPQ *nodepq, SCIP_SET *set, SCIP_NODE *node1, SCIP_NODE *node2)
SCIP_RETCODE SCIPnodepqInsert (SCIP_NODEPQ *nodepq, SCIP_SET *set, SCIP_NODE *node)
SCIP_RETCODE SCIPnodepqRemove (SCIP_NODEPQ *nodepq, SCIP_SET *set, SCIP_NODE *node)
SCIP_NODESCIPnodepqFirst (const SCIP_NODEPQ *nodepq)
SCIP_NODE ** SCIPnodepqNodes (const SCIP_NODEPQ *nodepq)
int SCIPnodepqLen (const SCIP_NODEPQ *nodepq)
SCIP_Real SCIPnodepqGetLowerbound (SCIP_NODEPQ *nodepq, SCIP_SET *set)
SCIP_NODESCIPnodepqGetLowerboundNode (SCIP_NODEPQ *nodepq, SCIP_SET *set)
SCIP_Real SCIPnodepqGetLowerboundSum (SCIP_NODEPQ *nodepq)
SCIP_RETCODE SCIPnodepqBound (SCIP_NODEPQ *nodepq, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_EVENTFILTER *eventfilter, SCIP_EVENTQUEUE *eventqueue, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_Real cutoffbound)
SCIP_RETCODE SCIPnodeselCopyInclude (SCIP_NODESEL *nodesel, SCIP_SET *set)
SCIP_RETCODE SCIPnodeselCreate (SCIP_NODESEL **nodesel, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, int stdpriority, int memsavepriority, SCIP_DECL_NODESELCOPY((*nodeselcopy)), SCIP_DECL_NODESELFREE((*nodeselfree)), SCIP_DECL_NODESELINIT((*nodeselinit)), SCIP_DECL_NODESELEXIT((*nodeselexit)), SCIP_DECL_NODESELINITSOL((*nodeselinitsol)), SCIP_DECL_NODESELEXITSOL((*nodeselexitsol)), SCIP_DECL_NODESELSELECT((*nodeselselect)), SCIP_DECL_NODESELCOMP((*nodeselcomp)), SCIP_NODESELDATA *nodeseldata)
SCIP_RETCODE SCIPnodeselFree (SCIP_NODESEL **nodesel, SCIP_SET *set)
SCIP_RETCODE SCIPnodeselInit (SCIP_NODESEL *nodesel, SCIP_SET *set)
SCIP_RETCODE SCIPnodeselExit (SCIP_NODESEL *nodesel, SCIP_SET *set)
SCIP_RETCODE SCIPnodeselInitsol (SCIP_NODESEL *nodesel, SCIP_SET *set)
SCIP_RETCODE SCIPnodeselExitsol (SCIP_NODESEL *nodesel, SCIP_SET *set)
SCIP_RETCODE SCIPnodeselSelect (SCIP_NODESEL *nodesel, SCIP_SET *set, SCIP_NODE **selnode)
int SCIPnodeselCompare (SCIP_NODESEL *nodesel, SCIP_SET *set, SCIP_NODE *node1, SCIP_NODE *node2)
void SCIPnodeselSetStdPriority (SCIP_NODESEL *nodesel, SCIP_SET *set, int priority)
void SCIPnodeselSetMemsavePriority (SCIP_NODESEL *nodesel, SCIP_SET *set, int priority)
void SCIPnodeselSetCopy (SCIP_NODESEL *nodesel,)
void SCIPnodeselSetFree (SCIP_NODESEL *nodesel,)
void SCIPnodeselSetInit (SCIP_NODESEL *nodesel,)
void SCIPnodeselSetExit (SCIP_NODESEL *nodesel,)
void SCIPnodeselSetInitsol (SCIP_NODESEL *nodesel,)
void SCIPnodeselSetExitsol (SCIP_NODESEL *nodesel,)
void SCIPnodeselEnableOrDisableClocks (SCIP_NODESEL *nodesel, SCIP_Bool enable)

Function Documentation

◆ SCIPnodepqCreate()

SCIP_RETCODE SCIPnodepqCreate ( SCIP_NODEPQ ** nodepq,
SCIP_SET * set,
SCIP_NODESEL * nodesel )

creates node priority queue

Parameters
nodepqpointer to a node priority queue
setglobal SCIP settings
nodeselnode selector to use for sorting the nodes in the queue

Definition at line 105 of file nodesel.c.

References assert(), BMSallocMemory, NULL, SCIP_ALLOC, and SCIP_OKAY.

Referenced by SCIPnodepqSetNodesel(), and SCIPtreeCreate().

◆ SCIPnodepqDestroy()

void SCIPnodepqDestroy ( SCIP_NODEPQ ** nodepq)

frees node priority queue, but not the data nodes themselves

Parameters
nodepqpointer to a node priority queue

Definition at line 127 of file nodesel.c.

References assert(), BMSfreeMemory, BMSfreeMemoryArrayNull, and NULL.

Referenced by SCIPnodepqFree(), and SCIPnodepqSetNodesel().

◆ SCIPnodepqFree()

SCIP_RETCODE SCIPnodepqFree ( SCIP_NODEPQ ** nodepq,
BMS_BLKMEM * blkmem,
SCIP_SET * set,
SCIP_STAT * stat,
SCIP_EVENTFILTER * eventfilter,
SCIP_EVENTQUEUE * eventqueue,
SCIP_TREE * tree,
SCIP_LP * lp )

frees node priority queue and all nodes in the queue

Parameters
nodepqpointer to a node priority queue
blkmemblock memory buffers
setglobal SCIP settings
statproblem statistics
eventfilterevent filter for global (not variable dependent) events
eventqueueevent queue
treebranch and bound tree
lpcurrent LP data

Definition at line 141 of file nodesel.c.

References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPnodepqClear(), and SCIPnodepqDestroy().

Referenced by SCIPtreeFree().

◆ SCIPnodepqClear()

SCIP_RETCODE SCIPnodepqClear ( SCIP_NODEPQ * nodepq,
BMS_BLKMEM * blkmem,
SCIP_SET * set,
SCIP_STAT * stat,
SCIP_EVENTFILTER * eventfilter,
SCIP_EVENTQUEUE * eventqueue,
SCIP_TREE * tree,
SCIP_LP * lp )

deletes all nodes in the node priority queue

Parameters
nodepqnode priority queue
blkmemblock memory buffers
setglobal SCIP settings
statproblem statistics
eventfilterevent filter for global (not variable dependent) events
eventqueueevent queue
treebranch and bound tree
lpcurrent LP data

Definition at line 165 of file nodesel.c.

References assert(), i, 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().

◆ SCIPnodepqGetNodesel()

SCIP_NODESEL * SCIPnodepqGetNodesel ( SCIP_NODEPQ * nodepq)

returns the node selector associated with the given node priority queue

Parameters
nodepqnode priority queue

Definition at line 206 of file nodesel.c.

References assert(), SCIP_NodePQ::nodesel, and NULL.

Referenced by SCIPtreeGetBestChild(), SCIPtreeGetBestNode(), SCIPtreeGetBestSibling(), SCIPtreeGetNodesel(), and SCIPtreeSetNodesel().

◆ SCIPnodepqSetNodesel()

SCIP_RETCODE SCIPnodepqSetNodesel ( SCIP_NODEPQ ** nodepq,
SCIP_SET * set,
SCIP_NODESEL * nodesel )

sets the node selector used for sorting the nodes in the queue, and resorts the queue if necessary

Parameters
nodepqpointer to a node priority queue
setglobal SCIP settings
nodeselnode selector to use for sorting the nodes in the queue

Definition at line 216 of file nodesel.c.

References assert(), i, nodepqResize(), NULL, SCIP_CALL, SCIP_OKAY, SCIPnodepqCreate(), SCIPnodepqDestroy(), and SCIPnodepqInsert().

Referenced by SCIPtreeSetNodesel().

◆ SCIPnodepqCompare()

int SCIPnodepqCompare ( SCIP_NODEPQ * nodepq,
SCIP_SET * set,
SCIP_NODE * node1,
SCIP_NODE * node2 )

compares two nodes; returns -1/0/+1 if node1 better/equal/worse than node2

Parameters
nodepqnode priority queue
setglobal SCIP settings
node1first node to compare
node2second node to compare

Definition at line 264 of file nodesel.c.

References assert(), SCIP_NodePQ::nodesel, NULL, and SCIPnodeselCompare().

Referenced by SCIPnodeFocus().

◆ SCIPnodepqInsert()

SCIP_RETCODE SCIPnodepqInsert ( SCIP_NODEPQ * nodepq,
SCIP_SET * set,
SCIP_NODE * node )

inserts node into node priority queue

Parameters
nodepqnode priority queue
setglobal SCIP settings
nodenode to be inserted

Definition at line 280 of file nodesel.c.

References assert(), 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, SCIPnodeGetLowerbound(), SCIPsetDebugMsg, and SCIP_NodePQ::slots.

Referenced by nodeToLeaf(), and SCIPnodepqSetNodesel().

◆ SCIPnodepqRemove()

SCIP_RETCODE SCIPnodepqRemove ( SCIP_NODEPQ * nodepq,
SCIP_SET * set,
SCIP_NODE * node )

removes node from the node priority queue

Parameters
nodepqnode priority queue
setglobal SCIP settings
nodenode to remove

Definition at line 524 of file nodesel.c.

References nodepqDelPos(), nodepqFindNode(), SCIP_INVALIDDATA, SCIP_OKAY, and SCIPerrorMessage.

Referenced by SCIPnodeFocus().

◆ SCIPnodepqFirst()

SCIP_NODE * SCIPnodepqFirst ( const SCIP_NODEPQ * nodepq)

returns the best node of the queue without removing it

Parameters
nodepqnode priority queue

Definition at line 545 of file nodesel.c.

References assert(), SCIP_NodePQ::len, NULL, and SCIP_NodePQ::slots.

Referenced by SCIPtreeGetBestLeaf().

◆ SCIPnodepqNodes()

SCIP_NODE ** SCIPnodepqNodes ( const SCIP_NODEPQ * nodepq)

returns the nodes array of the queue

Parameters
nodepqnode priority queue

Definition at line 561 of file nodesel.c.

References assert(), NULL, and SCIP_NodePQ::slots.

Referenced by SCIPgetLeaves(), and SCIPgetOpenNodesData().

◆ SCIPnodepqLen()

int SCIPnodepqLen ( const SCIP_NODEPQ * nodepq)

returns the number of nodes stored in the node priority queue

Parameters
nodepqnode priority queue

Definition at line 571 of file nodesel.c.

References assert(), SCIP_NodePQ::len, and NULL.

Referenced by SCIPgetLeaves(), SCIPgetNLeaves(), SCIPgetOpenNodesData(), SCIPnodeFocus(), SCIPnodepqBound(), and SCIPtreeGetNLeaves().

◆ SCIPnodepqGetLowerbound()

SCIP_Real SCIPnodepqGetLowerbound ( SCIP_NODEPQ * nodepq,
SCIP_SET * set )

gets the minimal lower bound of all nodes in the queue

Parameters
nodepqnode priority queue
setglobal SCIP settings

Definition at line 582 of file nodesel.c.

References assert(), SCIP_NodePQ::bfsqueue, SCIP_NodePQ::len, SCIP_NodePQ::nodesel, NULL, SCIP_Real, SCIPnodeGetLowerbound(), SCIPsetInfinity(), and SCIP_NodePQ::slots.

Referenced by SCIPtreeGetLowerbound().

◆ SCIPnodepqGetLowerboundNode()

SCIP_NODE * SCIPnodepqGetLowerboundNode ( SCIP_NODEPQ * nodepq,
SCIP_SET * set )

gets the node with minimal lower bound of all nodes in the queue

Parameters
nodepqnode priority queue
setglobal SCIP settings

Definition at line 605 of file nodesel.c.

References assert(), SCIP_NodePQ::bfsqueue, SCIP_NodePQ::len, SCIP_NodePQ::nodesel, NULL, and SCIP_NodePQ::slots.

Referenced by SCIPtreeGetLowerboundNode().

◆ SCIPnodepqGetLowerboundSum()

SCIP_Real SCIPnodepqGetLowerboundSum ( SCIP_NODEPQ * nodepq)

gets the sum of lower bounds of all nodes in the queue

Parameters
nodepqnode priority queue

Definition at line 629 of file nodesel.c.

References assert(), SCIP_NodePQ::lowerboundsum, NULL, and SCIP_Real.

Referenced by SCIPtreeGetAvgLowerbound().

◆ SCIPnodepqBound()

SCIP_RETCODE SCIPnodepqBound ( SCIP_NODEPQ * nodepq,
BMS_BLKMEM * blkmem,
SCIP_SET * set,
SCIP_STAT * stat,
SCIP_EVENTFILTER * eventfilter,
SCIP_EVENTQUEUE * eventqueue,
SCIP_TREE * tree,
SCIP_REOPT * reopt,
SCIP_LP * lp,
SCIP_Real cutoffbound )

free all nodes from the queue that are cut off by the given upper bound

Parameters
nodepqnode priority queue
blkmemblock memory buffer
setglobal SCIP settings
statdynamic problem statistics
eventfilterevent filter for global (not variable dependent) events
eventqueueevent queue
treebranch and bound tree
reoptreoptimization data structure
lpcurrent LP data
cutoffboundcutoff bound: all nodes with lowerbound >= cutoffbound are cut off

Definition at line 639 of file nodesel.c.

References SCIP_Node::active, assert(), SCIP_Node::cutoff, SCIP_Node::depth, SCIP_Tree::effectiverootdepth, SCIP_Node::estimate, FALSE, SCIP_Tree::focusnode, SCIP_Stat::lastlowerbound, SCIP_NodePQ::len, SCIP_Node::lowerbound, nodepqDelPos(), NULL, PQ_LEFTCHILD, PQ_RIGHTCHILD, SCIP_Tree::root, SCIP_Stat::rootlowerbound, SCIP_CALL, SCIP_EVENTTYPE_NODEINFEASIBLE, SCIP_NODETYPE_LEAF, SCIP_OKAY, SCIP_Real, SCIPlpGetSolstat(), SCIPnodeFree(), SCIPnodeGetDepth(), SCIPnodeGetLowerbound(), SCIPnodeGetType(), SCIPnodepqLen(), SCIPreoptCheckCutoff(), SCIPsetDebugMsg, SCIPsetInfinity(), SCIPsetIsGE(), SCIPsetIsInfinity(), SCIPsetIsLT(), SCIPstatUpdatePrimalDualIntegrals(), SCIPtreeGetLowerbound(), SCIPvisualCutoffNode(), SCIP_NodePQ::slots, TRUE, and SCIP_Stat::visual.

Referenced by SCIPtreeCutoff().

◆ SCIPnodeselCopyInclude()

SCIP_RETCODE SCIPnodeselCopyInclude ( SCIP_NODESEL * nodesel,
SCIP_SET * set )

copies the given node selector to a new scip

Parameters
nodeselnode selector
setSCIP_SET of SCIP to copy to

Definition at line 769 of file nodesel.c.

References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPnodeselGetName(), and SCIPsetDebugMsg.

Referenced by SCIPsetCopyPlugins().

◆ SCIPnodeselCreate()

SCIP_RETCODE SCIPnodeselCreate ( SCIP_NODESEL ** nodesel,
SCIP_SET * set,
SCIP_MESSAGEHDLR * messagehdlr,
BMS_BLKMEM * blkmem,
const char * name,
const char * desc,
int stdpriority,
int memsavepriority,
SCIP_DECL_NODESELCOPY((*nodeselcopy)) ,
SCIP_DECL_NODESELFREE((*nodeselfree)) ,
SCIP_DECL_NODESELINIT((*nodeselinit)) ,
SCIP_DECL_NODESELEXIT((*nodeselexit)) ,
SCIP_DECL_NODESELINITSOL((*nodeselinitsol)) ,
SCIP_DECL_NODESELEXITSOL((*nodeselexitsol)) ,
SCIP_DECL_NODESELSELECT((*nodeselselect)) ,
SCIP_DECL_NODESELCOMP((*nodeselcomp)) ,
SCIP_NODESELDATA * nodeseldata )

creates a node selector

Parameters
nodeselpointer to store node selector
setglobal SCIP settings
messagehdlrmessage handler
blkmemblock memory for parameter settings
namename of node selector
descdescription of node selector
stdprioritypriority of the node selector in standard mode
memsaveprioritypriority of the node selector in memory saving mode
nodeseldatanode selector data

Definition at line 855 of file nodesel.c.

References assert(), doNodeselCreate(), NULL, SCIP_CALL_FINALLY, SCIP_DECL_NODESELCOMP, SCIP_DECL_NODESELCOPY, SCIP_DECL_NODESELEXIT, SCIP_DECL_NODESELFREE, SCIP_DECL_NODESELINIT, SCIP_OKAY, and SCIPnodeselFree().

Referenced by SCIPincludeNodesel(), and SCIPincludeNodeselBasic().

◆ SCIPnodeselFree()

SCIP_RETCODE SCIPnodeselFree ( SCIP_NODESEL ** nodesel,
SCIP_SET * set )

frees memory of node selector

Parameters
nodeselpointer to node selector data structure
setglobal SCIP settings

Definition at line 889 of file nodesel.c.

References assert(), BMSfreeMemory, BMSfreeMemoryArrayNull, NULL, SCIP_CALL, SCIP_OKAY, and SCIPclockFree().

Referenced by SCIPnodeselCreate().

◆ SCIPnodeselInit()

SCIP_RETCODE SCIPnodeselInit ( SCIP_NODESEL * nodesel,
SCIP_SET * set )

initializes node selector

Parameters
nodeselnode selector
setglobal SCIP settings

Definition at line 918 of file nodesel.c.

References assert(), 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.

◆ SCIPnodeselExit()

SCIP_RETCODE SCIPnodeselExit ( SCIP_NODESEL * nodesel,
SCIP_SET * set )

deinitializes node selector

Parameters
nodeselnode selector
setglobal SCIP settings

Definition at line 954 of file nodesel.c.

References assert(), FALSE, SCIP_Nodesel::initialized, SCIP_Nodesel::name, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, and SCIP_Nodesel::setuptime.

◆ SCIPnodeselInitsol()

SCIP_RETCODE SCIPnodeselInitsol ( SCIP_NODESEL * nodesel,
SCIP_SET * set )

informs node selector that the branch and bound process is being started

Parameters
nodeselnode selector
setglobal SCIP settings

Definition at line 984 of file nodesel.c.

References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIP_Nodesel::setuptime.

◆ SCIPnodeselExitsol()

SCIP_RETCODE SCIPnodeselExitsol ( SCIP_NODESEL * nodesel,
SCIP_SET * set )

informs node selector that the branch and bound process data is being freed

Parameters
nodeselnode selector
setglobal SCIP settings

Definition at line 1008 of file nodesel.c.

References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), SCIPclockStop(), and SCIP_Nodesel::setuptime.

◆ SCIPnodeselSelect()

SCIP_RETCODE SCIPnodeselSelect ( SCIP_NODESEL * nodesel,
SCIP_SET * set,
SCIP_NODE ** selnode )

select next node to be processed

Parameters
nodeselnode selector
setglobal SCIP settings
selnodepointer to store node to be processed next

Definition at line 1032 of file nodesel.c.

References assert(), SCIP_Nodesel::nodeseltime, NULL, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), and SCIPclockStop().

Referenced by SCIPsolveCIP().

◆ SCIPnodeselCompare()

int SCIPnodeselCompare ( SCIP_NODESEL * nodesel,
SCIP_SET * set,
SCIP_NODE * node1,
SCIP_NODE * node2 )

compares two nodes; returns -1/0/+1 if node1 better/equal/worse than node2

Parameters
nodeselnode selector
setglobal SCIP settings
node1first node to compare
node2second node to compare

Definition at line 1055 of file nodesel.c.

References assert(), and NULL.

Referenced by SCIPnodepqCompare(), SCIPtreeGetBestChild(), SCIPtreeGetBestNode(), and SCIPtreeGetBestSibling().

◆ SCIPnodeselSetStdPriority()

void SCIPnodeselSetStdPriority ( SCIP_NODESEL * nodesel,
SCIP_SET * set,
int priority )

sets priority of node selector in standard mode

gets priority of node selector in standard mode

Parameters
nodeselnode selector
setglobal SCIP settings
prioritynew priority of the node selector

Definition at line 1102 of file nodesel.c.

References assert(), NULL, and SCIP_Nodesel::stdpriority.

Referenced by SCIPsetNodeselStdPriority().

◆ SCIPnodeselSetMemsavePriority()

void SCIPnodeselSetMemsavePriority ( SCIP_NODESEL * nodesel,
SCIP_SET * set,
int priority )

sets priority of node selector in memory saving mode

Parameters
nodeselnode selector
setglobal SCIP settings
prioritynew priority of the node selector

Definition at line 1126 of file nodesel.c.

References assert(), SCIP_Nodesel::memsavepriority, and NULL.

Referenced by SCIPsetNodeselMemsavePriority().

◆ SCIPnodeselSetCopy()

void SCIPnodeselSetCopy ( SCIP_NODESEL * nodesel)

sets copy method of node selector

Parameters
nodeselnode selector copy method of node selector or NULL if you don't want to copy your plugin into sub-SCIPs

Definition at line 1163 of file nodesel.c.

References assert(), NULL, and SCIP_DECL_NODESELCOPY.

Referenced by SCIPsetNodeselCopy().

◆ SCIPnodeselSetFree()

void SCIPnodeselSetFree ( SCIP_NODESEL * nodesel)

sets destructor method of node selector

Parameters
nodeselnode selector destructor of node selector

Definition at line 1174 of file nodesel.c.

References assert(), NULL, and SCIP_DECL_NODESELFREE.

Referenced by SCIPsetNodeselFree().

◆ SCIPnodeselSetInit()

void SCIPnodeselSetInit ( SCIP_NODESEL * nodesel)

sets initialization method of node selector

Parameters
nodeselnode selector initialize node selector

Definition at line 1185 of file nodesel.c.

References assert(), NULL, and SCIP_DECL_NODESELINIT.

Referenced by SCIPsetNodeselInit().

◆ SCIPnodeselSetExit()

void SCIPnodeselSetExit ( SCIP_NODESEL * nodesel)

sets deinitialization method of node selector

Parameters
nodeselnode selector deinitialize node selector

Definition at line 1196 of file nodesel.c.

References assert(), NULL, and SCIP_DECL_NODESELEXIT.

Referenced by SCIPsetNodeselExit().

◆ SCIPnodeselSetInitsol()

void SCIPnodeselSetInitsol ( SCIP_NODESEL * nodesel)

sets solving process initialization method of node selector

Parameters
nodeselnode selector solving process initialization method of node selector

Definition at line 1207 of file nodesel.c.

References assert(), NULL, and SCIP_DECL_NODESELINITSOL.

Referenced by SCIPsetNodeselInitsol().

◆ SCIPnodeselSetExitsol()

void SCIPnodeselSetExitsol ( SCIP_NODESEL * nodesel)

sets solving process deinitialization method of node selector

Parameters
nodeselnode selector solving process deinitialization method of node selector

Definition at line 1218 of file nodesel.c.

References assert(), NULL, and SCIP_DECL_NODESELEXITSOL.

Referenced by SCIPsetNodeselExitsol().

◆ SCIPnodeselEnableOrDisableClocks()

void SCIPnodeselEnableOrDisableClocks ( SCIP_NODESEL * nodesel,
SCIP_Bool enable )

enables or disables all clocks of nodesel, depending on the value of the flag

Parameters
nodeselthe node selector for which all clocks should be enabled or disabled
enableshould the clocks of the node selector be enabled?

Definition at line 1239 of file nodesel.c.

References assert(), SCIP_Nodesel::nodeseltime, NULL, SCIP_Bool, SCIPclockEnableOrDisable(), and SCIP_Nodesel::setuptime.