44struct SCIP_NodeselData
47 SCIP_Bool deleteobject;
71 assert(nodeseldata->objnodesel->scip_ !=
scip);
73 if( nodeseldata->objnodesel->iscloneable() )
94 assert(nodeseldata->objnodesel->scip_ ==
scip);
97 SCIP_CALL( nodeseldata->objnodesel->scip_free(
scip, nodesel) );
100 if( nodeseldata->deleteobject )
101 delete nodeseldata->objnodesel;
120 assert(nodeseldata->objnodesel->scip_ ==
scip);
123 SCIP_CALL( nodeseldata->objnodesel->scip_init(
scip, nodesel) );
140 SCIP_CALL( nodeseldata->objnodesel->scip_exit(
scip, nodesel) );
157 SCIP_CALL( nodeseldata->objnodesel->scip_initsol(
scip, nodesel) );
174 SCIP_CALL( nodeseldata->objnodesel->scip_exitsol(
scip, nodesel) );
191 SCIP_CALL( nodeseldata->objnodesel->scip_select(
scip, nodesel, selnode) );
208 return nodeseldata->objnodesel->scip_comp(
scip, nodesel, node1, node2);
222 SCIP_Bool deleteobject
232 nodeseldata->objnodesel = objnodesel;
233 nodeseldata->deleteobject = deleteobject;
239 nodeselFreeObj, nodeselInitObj, nodeselExitObj,
240 nodeselInitsolObj, nodeselExitsolObj, nodeselSelectObj, nodeselCompObj,
256 if( nodesel ==
NULL )
262 return nodeseldata->objnodesel;
277 return nodeseldata->objnodesel;
C++ wrapper for node selectors.
const int scip_stdpriority_
const int scip_memsavepriority_
SCIP_NODESEL * SCIPfindNodesel(SCIP *scip, const char *name)
void SCIPnodeselSetData(SCIP_NODESEL *nodesel, SCIP_NODESELDATA *nodeseldata)
SCIP_NODESELDATA * SCIPnodeselGetData(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)
assert(minobj< SCIPgetCutoffbound(scip))
SCIP_RETCODE SCIPincludeObjNodesel(SCIP *scip, scip::ObjNodesel *objnodesel, SCIP_Bool deleteobject)
scip::ObjNodesel * SCIPfindObjNodesel(SCIP *scip, const char *name)
scip::ObjNodesel * SCIPgetObjNodesel(SCIP *scip, SCIP_NODESEL *nodesel)
C++ wrapper for node selectors.
#define SCIP_DECL_NODESELEXIT(x)
#define SCIP_DECL_NODESELCOMP(x)
#define SCIP_DECL_NODESELINITSOL(x)
#define SCIP_DECL_NODESELCOPY(x)
#define SCIP_DECL_NODESELEXITSOL(x)
#define SCIP_DECL_NODESELINIT(x)
#define SCIP_DECL_NODESELSELECT(x)
#define SCIP_DECL_NODESELFREE(x)
struct SCIP_NodeselData SCIP_NODESELDATA
enum SCIP_Retcode SCIP_RETCODE