Scippy

    SCIP

    Solving Constraint Integer Programs

    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, SCIP_DECL_NODESELCOPY((*nodeselcopy)))
     
    void SCIPnodeselSetFree (SCIP_NODESEL *nodesel, SCIP_DECL_NODESELFREE((*nodeselfree)))
     
    void SCIPnodeselSetInit (SCIP_NODESEL *nodesel, SCIP_DECL_NODESELINIT((*nodeselinit)))
     
    void SCIPnodeselSetExit (SCIP_NODESEL *nodesel, SCIP_DECL_NODESELEXIT((*nodeselexit)))
     
    void SCIPnodeselSetInitsol (SCIP_NODESEL *nodesel, SCIP_DECL_NODESELINITSOL((*nodeselinitsol)))
     
    void SCIPnodeselSetExitsol (SCIP_NODESEL *nodesel, SCIP_DECL_NODESELEXITSOL((*nodeselexitsol)))
     
    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 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 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 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 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 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 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 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 283 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, SCIPnodeGetLowerbound(), SCIPnodeGetLowerboundExact(), SCIPrationalDebugMessage, SCIPrationalIsLT(), 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 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 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 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 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 SCIP_NodePQ::bfsqueue, SCIP_NodePQ::len, SCIP_NodePQ::nodesel, NULL, 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 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 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 SCIP_NodePQ::lowerboundsum, and NULL.

    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, 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 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 doNodeselCreate(), NULL, SCIP_CALL_FINALLY, 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 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 1041 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.

    ◆ 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 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 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 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 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 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 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 SCIP_Nodesel::memsavepriority, and NULL.

    Referenced by SCIPsetNodeselMemsavePriority().

    ◆ SCIPnodeselSetCopy()

    void SCIPnodeselSetCopy ( SCIP_NODESEL nodesel,
    SCIP_DECL_NODESELCOPY((*nodeselcopy))   
    )

    sets copy method of node selector

    Parameters
    nodeselnode selector

    Definition at line 1286 of file nodesel.c.

    References NULL.

    Referenced by SCIPsetNodeselCopy().

    ◆ SCIPnodeselSetFree()

    void SCIPnodeselSetFree ( SCIP_NODESEL nodesel,
    SCIP_DECL_NODESELFREE((*nodeselfree))   
    )

    sets destructor method of node selector

    Parameters
    nodeselnode selector

    Definition at line 1297 of file nodesel.c.

    References NULL.

    Referenced by SCIPsetNodeselFree().

    ◆ SCIPnodeselSetInit()

    void SCIPnodeselSetInit ( SCIP_NODESEL nodesel,
    SCIP_DECL_NODESELINIT((*nodeselinit))   
    )

    sets initialization method of node selector

    Parameters
    nodeselnode selector

    Definition at line 1308 of file nodesel.c.

    References NULL.

    Referenced by SCIPsetNodeselInit().

    ◆ SCIPnodeselSetExit()

    void SCIPnodeselSetExit ( SCIP_NODESEL nodesel,
    SCIP_DECL_NODESELEXIT((*nodeselexit))   
    )

    sets deinitialization method of node selector

    Parameters
    nodeselnode selector

    Definition at line 1319 of file nodesel.c.

    References NULL.

    Referenced by SCIPsetNodeselExit().

    ◆ SCIPnodeselSetInitsol()

    void SCIPnodeselSetInitsol ( SCIP_NODESEL nodesel,
    SCIP_DECL_NODESELINITSOL((*nodeselinitsol))   
    )

    sets solving process initialization method of node selector

    Parameters
    nodeselnode selector

    Definition at line 1330 of file nodesel.c.

    References NULL.

    Referenced by SCIPsetNodeselInitsol().

    ◆ SCIPnodeselSetExitsol()

    void SCIPnodeselSetExitsol ( SCIP_NODESEL nodesel,
    SCIP_DECL_NODESELEXITSOL((*nodeselexitsol))   
    )

    sets solving process deinitialization method of node selector

    Parameters
    nodeselnode selector

    Definition at line 1341 of file nodesel.c.

    References NULL.

    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 SCIP_Nodesel::nodeseltime, NULL, SCIPclockEnableOrDisable(), and SCIP_Nodesel::setuptime.