SCIP

Solving Constraint Integer Programs

Detailed Description

methods for node selector plugin management

Functions

const char * SCIPnodeselGetName (SCIP_NODESEL *nodesel)
 
const char * SCIPnodeselGetDesc (SCIP_NODESEL *nodesel)
 
int SCIPnodeselGetStdPriority (SCIP_NODESEL *nodesel)
 
int SCIPnodeselGetMemsavePriority (SCIP_NODESEL *nodesel)
 
SCIP_NODESELDATA * SCIPnodeselGetData (SCIP_NODESEL *nodesel)
 
void SCIPnodeselSetData (SCIP_NODESEL *nodesel, SCIP_NODESELDATA *nodeseldata)
 
SCIP_Bool SCIPnodeselIsInitialized (SCIP_NODESEL *nodesel)
 
SCIP_Real SCIPnodeselGetSetupTime (SCIP_NODESEL *nodesel)
 
SCIP_Real SCIPnodeselGetTime (SCIP_NODESEL *nodesel)
 
SCIP_RETCODE SCIPincludeNodesel (SCIP *scip, 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 SCIPincludeNodeselBasic (SCIP *scip, SCIP_NODESEL **nodesel, const char *name, const char *desc, int stdpriority, int memsavepriority, SCIP_DECL_NODESELSELECT((*nodeselselect)), SCIP_DECL_NODESELCOMP((*nodeselcomp)), SCIP_NODESELDATA *nodeseldata)
 
SCIP_RETCODE SCIPsetNodeselCopy (SCIP *scip, SCIP_NODESEL *nodesel, SCIP_DECL_NODESELCOPY((*nodeselcopy)))
 
SCIP_RETCODE SCIPsetNodeselFree (SCIP *scip, SCIP_NODESEL *nodesel, SCIP_DECL_NODESELFREE((*nodeselfree)))
 
SCIP_RETCODE SCIPsetNodeselInit (SCIP *scip, SCIP_NODESEL *nodesel, SCIP_DECL_NODESELINIT((*nodeselinit)))
 
SCIP_RETCODE SCIPsetNodeselExit (SCIP *scip, SCIP_NODESEL *nodesel, SCIP_DECL_NODESELEXIT((*nodeselexit)))
 
SCIP_RETCODE SCIPsetNodeselInitsol (SCIP *scip, SCIP_NODESEL *nodesel, SCIP_DECL_NODESELINITSOL((*nodeselinitsol)))
 
SCIP_RETCODE SCIPsetNodeselExitsol (SCIP *scip, SCIP_NODESEL *nodesel, SCIP_DECL_NODESELEXITSOL((*nodeselexitsol)))
 
SCIP_NODESEL * SCIPfindNodesel (SCIP *scip, const char *name)
 
SCIP_NODESEL ** SCIPgetNodesels (SCIP *scip)
 
int SCIPgetNNodesels (SCIP *scip)
 
SCIP_RETCODE SCIPsetNodeselStdPriority (SCIP *scip, SCIP_NODESEL *nodesel, int priority)
 
SCIP_RETCODE SCIPsetNodeselMemsavePriority (SCIP *scip, SCIP_NODESEL *nodesel, int priority)
 
SCIP_NODESEL * SCIPgetNodesel (SCIP *scip)
 

Function Documentation

◆ SCIPnodeselGetName()

◆ SCIPnodeselGetDesc()

const char* SCIPnodeselGetDesc ( SCIP_NODESEL *  nodesel)

gets description of node selector

Parameters
nodeselnode selector

Definition at line 1003 of file nodesel.c.

References SCIP_Nodesel::desc, and NULL.

Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), and SCIPincludeDialogDefaultSet().

◆ SCIPnodeselGetStdPriority()

int SCIPnodeselGetStdPriority ( SCIP_NODESEL *  nodesel)

gets priority of node selector in standard mode

Parameters
nodeselnode selector

Definition at line 1013 of file nodesel.c.

References NULL, and SCIP_Nodesel::stdpriority.

Referenced by SCIP_DECL_DIALOGEXEC(), SCIP_DECL_NODESELINITSOL(), SCIPsetIncludeNodesel(), and turnoffNodeSelector().

◆ SCIPnodeselGetMemsavePriority()

int SCIPnodeselGetMemsavePriority ( SCIP_NODESEL *  nodesel)

gets priority of node selector in memory saving mode

Parameters
nodeselnode selector

Definition at line 1037 of file nodesel.c.

References SCIP_Nodesel::memsavepriority, and NULL.

Referenced by SCIP_DECL_DIALOGEXEC(), and SCIPsetFindEventhdlr().

◆ SCIPnodeselGetData()

◆ SCIPnodeselSetData()

void SCIPnodeselSetData ( SCIP_NODESEL *  nodesel,
SCIP_NODESELDATA *  nodeseldata 
)

sets user data of node selector; user has to free old data in advance!

Parameters
nodeselnode selector
nodeseldatanew node selector user data

Definition at line 1071 of file nodesel.c.

References SCIP_Nodesel::nodeseldata, and NULL.

Referenced by SCIP_DECL_NODESELFREE().

◆ SCIPnodeselIsInitialized()

SCIP_Bool SCIPnodeselIsInitialized ( SCIP_NODESEL *  nodesel)

is node selector initialized?

Parameters
nodeselnode selector

Definition at line 1150 of file nodesel.c.

References SCIP_Nodesel::initialized, and NULL.

Referenced by SCIPsetSortComprs().

◆ SCIPnodeselGetSetupTime()

SCIP_Real SCIPnodeselGetSetupTime ( SCIP_NODESEL *  nodesel)

gets time in seconds used in this node selector for setting up for next stages

Parameters
nodeselnode selector

Definition at line 1172 of file nodesel.c.

References NULL, SCIPclockGetTime(), and SCIP_Nodesel::setuptime.

◆ SCIPnodeselGetTime()

SCIP_Real SCIPnodeselGetTime ( SCIP_NODESEL *  nodesel)

gets time in seconds used in this node selector

Parameters
nodeselnode selector

Definition at line 1182 of file nodesel.c.

References SCIP_Nodesel::nodeseltime, NULL, and SCIPclockGetTime().

◆ SCIPincludeNodesel()

SCIP_RETCODE SCIPincludeNodesel ( SCIP *  scip,
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 and includes it in SCIP.

Note
method has all node selector callbacks as arguments and is thus changed every time a new callback is added in future releases; consider using SCIPincludeNodeselBasic() and setter functions if you seek for a method which is less likely to change in future releases
Parameters
scipSCIP data structure
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 8731 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, SCIPfindNodesel(), SCIPnodeselCreate(), SCIPsetIncludeNodesel(), Scip::set, SCIP_Mem::setmem, and TRUE.

Referenced by SCIPincludeObjNodesel().

◆ SCIPincludeNodeselBasic()

SCIP_RETCODE SCIPincludeNodeselBasic ( SCIP *  scip,
SCIP_NODESEL **  nodesel,
const char *  name,
const char *  desc,
int  stdpriority,
int  memsavepriority,
SCIP_DECL_NODESELSELECT((*nodeselselect))  ,
SCIP_DECL_NODESELCOMP((*nodeselcomp))  ,
SCIP_NODESELDATA *  nodeseldata 
)

Creates a node selector and includes it in SCIP with its most fundamental callbacks. All non-fundamental (or optional) callbacks as, e.g., init and exit callbacks, will be set to NULL. Optional callbacks can be set via specific setter functions, see SCIPsetNodeselCopy(), SCIPsetNodeselFree(), SCIPsetNodeselInit(), SCIPsetNodeselExit(), SCIPsetNodeselInitsol(), and SCIPsetNodeselExitsol()

Note
if you want to set all callbacks with a single method call, consider using SCIPincludeNodesel() instead
Parameters
scipSCIP data structure
nodeselreference to a node selector, or NULL
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 8775 of file scip.c.

References checkStage(), FALSE, Scip::mem, Scip::messagehdlr, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, SCIPfindNodesel(), SCIPnodeselCreate(), SCIPsetIncludeNodesel(), Scip::set, SCIP_Mem::setmem, and TRUE.

Referenced by SCIPincludeNodeselBfs(), SCIPincludeNodeselBreadthfirst(), SCIPincludeNodeselDfs(), SCIPincludeNodeselEstimate(), SCIPincludeNodeselHybridestim(), SCIPincludeNodeselRestartdfs(), and SCIPincludeNodeselUct().

◆ SCIPsetNodeselCopy()

SCIP_RETCODE SCIPsetNodeselCopy ( SCIP *  scip,
SCIP_NODESEL *  nodesel,
SCIP_DECL_NODESELCOPY((*nodeselcopy))   
)

sets copy method of node selector

Parameters
scipSCIP data structure
nodeselnode selector

Definition at line 8811 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPnodeselSetCopy(), and TRUE.

Referenced by SCIPincludeNodeselBfs(), SCIPincludeNodeselBreadthfirst(), SCIPincludeNodeselDfs(), SCIPincludeNodeselEstimate(), SCIPincludeNodeselHybridestim(), SCIPincludeNodeselRestartdfs(), and SCIPincludeNodeselUct().

◆ SCIPsetNodeselFree()

SCIP_RETCODE SCIPsetNodeselFree ( SCIP *  scip,
SCIP_NODESEL *  nodesel,
SCIP_DECL_NODESELFREE((*nodeselfree))   
)

sets destructor method of node selector

Parameters
scipSCIP data structure
nodeselnode selector

Definition at line 8827 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPnodeselSetFree(), and TRUE.

Referenced by SCIPincludeNodeselBfs(), SCIPincludeNodeselEstimate(), SCIPincludeNodeselHybridestim(), SCIPincludeNodeselRestartdfs(), and SCIPincludeNodeselUct().

◆ SCIPsetNodeselInit()

SCIP_RETCODE SCIPsetNodeselInit ( SCIP *  scip,
SCIP_NODESEL *  nodesel,
SCIP_DECL_NODESELINIT((*nodeselinit))   
)

sets initialization method of node selector

Parameters
scipSCIP data structure
nodeselnode selector

Definition at line 8843 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPnodeselSetInit(), and TRUE.

◆ SCIPsetNodeselExit()

SCIP_RETCODE SCIPsetNodeselExit ( SCIP *  scip,
SCIP_NODESEL *  nodesel,
SCIP_DECL_NODESELEXIT((*nodeselexit))   
)

sets deinitialization method of node selector

Parameters
scipSCIP data structure
nodeselnode selector

Definition at line 8859 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPnodeselSetExit(), and TRUE.

◆ SCIPsetNodeselInitsol()

SCIP_RETCODE SCIPsetNodeselInitsol ( SCIP *  scip,
SCIP_NODESEL *  nodesel,
SCIP_DECL_NODESELINITSOL((*nodeselinitsol))   
)

sets solving process initialization method of node selector

Parameters
scipSCIP data structure
nodeselnode selector

Definition at line 8875 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPnodeselSetInitsol(), and TRUE.

Referenced by SCIPincludeNodeselRestartdfs(), and SCIPincludeNodeselUct().

◆ SCIPsetNodeselExitsol()

SCIP_RETCODE SCIPsetNodeselExitsol ( SCIP *  scip,
SCIP_NODESEL *  nodesel,
SCIP_DECL_NODESELEXITSOL((*nodeselexitsol))   
)

sets solving process deinitialization method of node selector

Parameters
scipSCIP data structure
nodeselnode selector

Definition at line 8891 of file scip.c.

References checkStage(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPnodeselSetExitsol(), and TRUE.

Referenced by SCIPincludeNodeselUct().

◆ SCIPfindNodesel()

SCIP_NODESEL* SCIPfindNodesel ( SCIP *  scip,
const char *  name 
)

returns the node selector of the given name, or NULL if not existing

Parameters
scipSCIP data structure
namename of node selector

Definition at line 8907 of file scip.c.

References NULL, SCIPsetFindNodesel(), and Scip::set.

Referenced by applyCompletesol(), applyOfins(), applyVbounds(), SCIP_DECL_HEUREXEC(), SCIPapplyRens(), SCIPapplyZeroobj(), SCIPfindObjNodesel(), SCIPincludeNodesel(), SCIPincludeNodeselBasic(), setSubscipParameters(), setupSCIPparamsStage3(), setupSubproblem(), setupSubScip(), and solveSubMIP().

◆ SCIPgetNodesels()

SCIP_NODESEL** SCIPgetNodesels ( SCIP *  scip)

returns the array of currently available node selectors

Parameters
scipSCIP data structure

Definition at line 8920 of file scip.c.

References SCIP_Set::nodesels, NULL, and Scip::set.

Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), SCIPincludeDialogDefaultSet(), and turnoffNodeSelector().

◆ SCIPgetNNodesels()

int SCIPgetNNodesels ( SCIP *  scip)

returns the number of currently available node selectors

Parameters
scipSCIP data structure

Definition at line 8931 of file scip.c.

References SCIP_Set::nnodesels, NULL, and Scip::set.

Referenced by SCIP_DECL_DIALOGEXEC(), SCIPincludeDialogDefaultFix(), SCIPincludeDialogDefaultSet(), and turnoffNodeSelector().

◆ SCIPsetNodeselStdPriority()

SCIP_RETCODE SCIPsetNodeselStdPriority ( SCIP *  scip,
SCIP_NODESEL *  nodesel,
int  priority 
)

sets the priority of a node selector in standard mode

Parameters
scipSCIP data structure
nodeselnode selector
prioritynew standard priority of the node selector

Definition at line 8942 of file scip.c.

References NULL, SCIP_OKAY, SCIPnodeselSetStdPriority(), and Scip::set.

Referenced by SCIP_DECL_NODESELEXITSOL(), SCIP_DECL_PARAMCHGD(), and turnoffNodeSelector().

◆ SCIPsetNodeselMemsavePriority()

SCIP_RETCODE SCIPsetNodeselMemsavePriority ( SCIP *  scip,
SCIP_NODESEL *  nodesel,
int  priority 
)

sets the priority of a node selector in memory saving mode

Parameters
scipSCIP data structure
nodeselnode selector
prioritynew memory saving priority of the node selector

Definition at line 8957 of file scip.c.

References NULL, SCIP_OKAY, SCIPnodeselSetMemsavePriority(), and Scip::set.

Referenced by SCIP_DECL_PARAMCHGD().

◆ SCIPgetNodesel()

SCIP_NODESEL* SCIPgetNodesel ( SCIP *  scip)

returns the currently used node selector

Parameters
scipSCIP data structure

Definition at line 8972 of file scip.c.

References NULL, SCIPsetGetNodesel(), Scip::set, and Scip::stat.