35 struct SCIP_NodeselData
60 assert(nodeseldata != NULL);
61 assert(nodeseldata->objnodesel != NULL);
62 assert(nodeseldata->objnodesel->scip_ !=
scip);
64 if( nodeseldata->objnodesel->iscloneable() )
83 assert(nodeseldata != NULL);
84 assert(nodeseldata->objnodesel != NULL);
85 assert(nodeseldata->objnodesel->scip_ ==
scip);
88 SCIP_CALL( nodeseldata->objnodesel->scip_free(
scip, nodesel) );
91 if( nodeseldata->deleteobject )
92 delete nodeseldata->objnodesel;
109 assert(nodeseldata != NULL);
110 assert(nodeseldata->objnodesel != NULL);
111 assert(nodeseldata->objnodesel->scip_ ==
scip);
114 SCIP_CALL( nodeseldata->objnodesel->scip_init(
scip, nodesel) );
127 assert(nodeseldata != NULL);
128 assert(nodeseldata->objnodesel != NULL);
131 SCIP_CALL( nodeseldata->objnodesel->scip_exit(
scip, nodesel) );
144 assert(nodeseldata != NULL);
145 assert(nodeseldata->objnodesel != NULL);
148 SCIP_CALL( nodeseldata->objnodesel->scip_initsol(
scip, nodesel) );
161 assert(nodeseldata != NULL);
162 assert(nodeseldata->objnodesel != NULL);
165 SCIP_CALL( nodeseldata->objnodesel->scip_exitsol(
scip, nodesel) );
178 assert(nodeseldata != NULL);
179 assert(nodeseldata->objnodesel != NULL);
182 SCIP_CALL( nodeseldata->objnodesel->scip_select(
scip, nodesel, selnode) );
195 assert(nodeseldata != NULL);
196 assert(nodeseldata->objnodesel != NULL);
199 return nodeseldata->objnodesel->scip_comp(
scip, nodesel, node1, node2);
218 assert(scip != NULL);
219 assert(objnodesel != NULL);
223 nodeseldata->objnodesel = objnodesel;
224 nodeseldata->deleteobject = deleteobject;
230 nodeselFreeObj, nodeselInitObj, nodeselExitObj,
231 nodeselInitsolObj, nodeselExitsolObj, nodeselSelectObj, nodeselCompObj,
247 if( nodesel == NULL )
251 assert(nodeseldata != NULL);
253 return nodeseldata->objnodesel;
265 assert(nodeseldata != NULL);
267 return nodeseldata->objnodesel;
C++ wrapper for primal heuristics.
static SCIP_DECL_NODESELSELECT(nodeselSelectObj)
static SCIP_DECL_NODESELCOMP(nodeselCompObj)
enum SCIP_Retcode SCIP_RETCODE
static SCIP_DECL_NODESELINIT(nodeselInitObj)
struct SCIP_NodeselData SCIP_NODESELDATA
static SCIP_DECL_NODESELEXITSOL(nodeselExitsolObj)
SCIP_NODESELDATA * SCIPnodeselGetData(SCIP_NODESEL *nodesel)
const int scip_stdpriority_
const int scip_memsavepriority_
scip::ObjNodesel * SCIPgetObjNodesel(SCIP *scip, SCIP_NODESEL *nodesel)
static SCIP_DECL_NODESELEXIT(nodeselExitObj)
C++ wrapper for node selectors.
static SCIP_DECL_NODESELINITSOL(nodeselInitsolObj)
SCIP_NODESEL * SCIPfindNodesel(SCIP *scip, const char *name)
static SCIP_DECL_NODESELFREE(nodeselFreeObj)
void SCIPnodeselSetData(SCIP_NODESEL *nodesel, SCIP_NODESELDATA *nodeseldata)
scip::ObjNodesel * SCIPfindObjNodesel(SCIP *scip, const char *name)
static SCIP_DECL_NODESELCOPY(nodeselCopyObj)
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 SCIPincludeObjNodesel(SCIP *scip, scip::ObjNodesel *objnodesel, SCIP_Bool deleteobject)