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"
#include "scip/type_rational.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_EVENTQUEUE *eventqueue, SCIP_EVENTFILTER *eventfilter, SCIP_TREE *tree, SCIP_LP *lp)
SCIP_RETCODE SCIPnodepqClear (SCIP_NODEPQ *nodepq, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_EVENTQUEUE *eventqueue, SCIP_EVENTFILTER *eventfilter, 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_RATIONALSCIPnodepqGetLowerboundExact (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_EVENTQUEUE *eventqueue, SCIP_EVENTFILTER *eventfilter, 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 108 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 130 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_EVENTQUEUE * eventqueue,
SCIP_EVENTFILTER * eventfilter,
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
eventqueueevent queue
eventfilterglobal event filter
treebranch and bound tree
lpcurrent LP data

Definition at line 144 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_EVENTQUEUE * eventqueue,
SCIP_EVENTFILTER * eventfilter,
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
eventqueueevent queue
eventfilterglobal event filter
treebranch and bound tree
lpcurrent LP data

Definition at line 168 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 209 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 219 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 267 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 )

◆ 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 581 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 602 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 618 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 628 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 639 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().

◆ SCIPnodepqGetLowerboundExact()

SCIP_RATIONAL * SCIPnodepqGetLowerboundExact ( SCIP_NODEPQ * nodepq,
SCIP_SET * set )

gets the minimal exact lower bound of all nodes in the queue or NULL if empty

Parameters
nodepqnode priority queue
setglobal SCIP settings

Definition at line 662 of file nodesel.c.

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

Referenced by SCIPtreeGetLowerboundExact().

◆ 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 685 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 709 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_EVENTQUEUE * eventqueue,
SCIP_EVENTFILTER * eventfilter,
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
eventqueueevent queue
eventfilterglobal event filter
treebranch and bound tree
reoptreoptimization data structure
lpcurrent LP data
cutoffboundcutoff bound: all nodes with lowerbound >= cutoffbound are cut off

Definition at line 719 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_Stat::lastlowerboundexact, SCIP_NodePQ::len, SCIP_Node::lowerbound, SCIP_Node::lowerboundexact, nodepqDelPos(), NULL, PQ_LEFTCHILD, PQ_RIGHTCHILD, SCIP_Tree::root, SCIP_Stat::rootlowerbound, SCIP_CALL, SCIP_EVENTTYPE_DUALBOUNDIMPROVED, SCIP_EVENTTYPE_NODEINFEASIBLE, SCIP_NODETYPE_LEAF, SCIP_OKAY, SCIP_Real, SCIPeventChgType(), SCIPeventProcess(), SCIPlpGetSolstat(), SCIPnodeFree(), SCIPnodeGetDepth(), SCIPnodeGetLowerbound(), SCIPnodeGetLowerboundExact(), SCIPnodeGetType(), SCIPnodepqLen(), SCIPrationalIsGEReal(), SCIPrationalIsLT(), SCIPrationalSetInfinity(), SCIPrationalSetRational(), SCIPreoptCheckCutoff(), SCIPsetDebugMsg, SCIPsetInfinity(), SCIPsetIsGE(), SCIPsetIsLT(), SCIPstatUpdatePrimalDualIntegrals(), SCIPtreeGetLowerbound(), SCIPtreeGetLowerboundExact(), 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 892 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 978 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 1012 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 )

◆ SCIPnodeselExit()

SCIP_RETCODE SCIPnodeselExit ( SCIP_NODESEL * nodesel,
SCIP_SET * set )

deinitializes node selector

Parameters
nodeselnode selector
setglobal SCIP settings

Definition at line 1077 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 1107 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 1131 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 1155 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 1178 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 1225 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 1249 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 1286 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 1297 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 1308 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 1319 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 1330 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 1341 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 1362 of file nodesel.c.

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