44struct SCIP_ConshdlrData
46 scip::ObjConshdlr* objconshdlr;
71 assert(conshdlrdata->objconshdlr->scip_ !=
scip);
73 if( conshdlrdata->objconshdlr->iscloneable() )
94 assert(conshdlrdata->objconshdlr->scip_ ==
scip);
97 SCIP_CALL( conshdlrdata->objconshdlr->scip_free(
scip, conshdlr) );
100 if( conshdlrdata->deleteobject )
101 delete conshdlrdata->objconshdlr;
120 assert(conshdlrdata->objconshdlr->scip_ ==
scip);
123 SCIP_CALL( conshdlrdata->objconshdlr->scip_init(
scip, conshdlr, conss, nconss) );
140 SCIP_CALL( conshdlrdata->objconshdlr->scip_exit(
scip, conshdlr, conss, nconss) );
157 SCIP_CALL( conshdlrdata->objconshdlr->scip_initpre(
scip, conshdlr, conss, nconss) );
174 SCIP_CALL( conshdlrdata->objconshdlr->scip_exitpre(
scip, conshdlr, conss, nconss) );
191 SCIP_CALL( conshdlrdata->objconshdlr->scip_initsol(
scip, conshdlr, conss, nconss) );
208 SCIP_CALL( conshdlrdata->objconshdlr->scip_exitsol(
scip, conshdlr, conss, nconss, restart) );
225 SCIP_CALL( conshdlrdata->objconshdlr->scip_delete(
scip, conshdlr, cons, consdata) );
242 SCIP_CALL( conshdlrdata->objconshdlr->scip_trans(
scip, conshdlr, sourcecons, targetcons) );
259 SCIP_CALL( conshdlrdata->objconshdlr->scip_initlp(
scip, conshdlr, conss, nconss, infeasible) );
276 SCIP_CALL( conshdlrdata->objconshdlr->scip_sepalp(
scip, conshdlr, conss, nconss, nusefulconss,
result) );
293 SCIP_CALL( conshdlrdata->objconshdlr->scip_sepasol(
scip, conshdlr, conss, nconss, nusefulconss,
sol,
result) );
310 SCIP_CALL( conshdlrdata->objconshdlr->scip_enfolp(
scip, conshdlr, conss, nconss, nusefulconss, solinfeasible,
result) );
327 SCIP_CALL( conshdlrdata->objconshdlr->scip_enforelax(
scip,
sol, conshdlr, conss, nconss, nusefulconss, solinfeasible,
result) );
344 SCIP_CALL( conshdlrdata->objconshdlr->scip_enfops(
scip, conshdlr, conss, nconss, nusefulconss,
345 solinfeasible, objinfeasible,
result) );
362 SCIP_CALL( conshdlrdata->objconshdlr->scip_check(
scip, conshdlr, conss, nconss,
sol,
363 checkintegrality, checklprows, printreason, completely,
result) );
380 SCIP_CALL( conshdlrdata->objconshdlr->scip_prop(
scip, conshdlr, conss, nconss, nusefulconss, nmarkedconss, proptiming,
result) );
397 SCIP_CALL( conshdlrdata->objconshdlr->scip_presol(
scip, conshdlr, conss, nconss, nrounds, presoltiming,
398 nnewfixedvars, nnewaggrvars, nnewchgvartypes, nnewchgbds, nnewholes,
399 nnewdelconss, nnewaddconss, nnewupgdconss, nnewchgcoefs, nnewchgsides,
400 nfixedvars, naggrvars, nchgvartypes, nchgbds, naddholes,
401 ndelconss, naddconss, nupgdconss, nchgcoefs, nchgsides,
result) );
418 SCIP_CALL( conshdlrdata->objconshdlr->scip_resprop(
scip, conshdlr, cons, infervar, inferinfo, boundtype, bdchgidx,
436 SCIP_CALL( conshdlrdata->objconshdlr->scip_lock(
scip, conshdlr, cons, locktype, nlockspos, nlocksneg) );
453 SCIP_CALL( conshdlrdata->objconshdlr->scip_active(
scip, conshdlr, cons) );
470 SCIP_CALL( conshdlrdata->objconshdlr->scip_deactive(
scip, conshdlr, cons) );
487 SCIP_CALL( conshdlrdata->objconshdlr->scip_enable(
scip, conshdlr, cons) );
504 SCIP_CALL( conshdlrdata->objconshdlr->scip_disable(
scip, conshdlr, cons) );
520 SCIP_CALL( conshdlrdata->objconshdlr->scip_delvars(
scip, conshdlr, conss, nconss) );
536 SCIP_CALL( conshdlrdata->objconshdlr->scip_print(
scip, conshdlr, cons, file) );
549 assert(sourceconshdlrdata->objconshdlr !=
NULL);
552 SCIP_CALL( sourceconshdlrdata->objconshdlr->scip_copy(
scip, cons, name, sourcescip, sourceconshdlr, sourcecons, varmap, consmap,
553 initial, separate, enforce, check,
propagate, local, modifiable, dynamic, removable, stickingatnode, global,
valid) );
569 SCIP_CALL( conshdlrdata->objconshdlr->scip_parse(
scip, conshdlr, cons, name, str,
570 initial, separate, enforce, check,
propagate, local, modifiable, dynamic, removable, stickingatnode, success) );
586 SCIP_CALL( conshdlrdata->objconshdlr->scip_getvars(
scip, conshdlr, cons,
vars, varssize, success) );
602 SCIP_CALL( conshdlrdata->objconshdlr->scip_getnvars(
scip, conshdlr, cons,
nvars, success) );
634 SCIP_CALL( conshdlrdata->objconshdlr->scip_getpermsymgraph(
scip, conshdlr, cons, graph, success) );
650 SCIP_CALL( conshdlrdata->objconshdlr->scip_getsignedpermsymgraph(
scip, conshdlr, cons, graph, success) );
676 conshdlrdata->objconshdlr = objconshdlr;
677 conshdlrdata->deleteobject = deleteobject;
687 consFreeObj, consInitObj, consExitObj,
688 consInitpreObj, consExitpreObj, consInitsolObj, consExitsolObj,
689 consDeleteObj, consTransObj, consInitlpObj,
690 consSepalpObj, consSepasolObj, consEnfolpObj, consEnforelaxObj, consEnfopsObj, consCheckObj,
691 consPropObj, consPresolObj, consRespropObj, consLockObj,
692 consActiveObj, consDeactiveObj,
693 consEnableObj, consDisableObj, consDelVarsObj,
694 consPrintObj, consCopyObj, consParseObj,
695 consGetVarsObj, consGetNVarsObj, consGetDiveBdChgsObj,
696 consGetPermsymGraph, consGetSignedPermsymGraph, conshdlrdata) );
711 if( conshdlr ==
NULL )
717 return conshdlrdata->objconshdlr;
732 return conshdlrdata->objconshdlr;
C++ wrapper for constraint handlers.
const SCIP_PRESOLTIMING scip_presoltiming_
const int scip_eagerfreq_
const int scip_sepapriority_
const SCIP_Bool scip_delaysepa_
const SCIP_Bool scip_delayprop_
const SCIP_Bool scip_needscons_
const int scip_enfopriority_
const int scip_maxprerounds_
const int scip_checkpriority_
const SCIP_PROPTIMING scip_proptiming_
void SCIPconshdlrSetData(SCIP_CONSHDLR *conshdlr, SCIP_CONSHDLRDATA *conshdlrdata)
SCIP_CONSHDLR * SCIPfindConshdlr(SCIP *scip, const char *name)
SCIP_CONSHDLRDATA * SCIPconshdlrGetData(SCIP_CONSHDLR *conshdlr)
SCIP_RETCODE SCIPincludeConshdlr(SCIP *scip, const char *name, const char *desc, int sepapriority, int enfopriority, int chckpriority, int sepafreq, int propfreq, int eagerfreq, int maxprerounds, SCIP_Bool delaysepa, SCIP_Bool delayprop, SCIP_Bool needscons, SCIP_PROPTIMING proptiming, SCIP_PRESOLTIMING presoltiming, SCIP_DECL_CONSHDLRCOPY((*conshdlrcopy)), SCIP_DECL_CONSFREE((*consfree)), SCIP_DECL_CONSINIT((*consinit)), SCIP_DECL_CONSEXIT((*consexit)), SCIP_DECL_CONSINITPRE((*consinitpre)), SCIP_DECL_CONSEXITPRE((*consexitpre)), SCIP_DECL_CONSINITSOL((*consinitsol)), SCIP_DECL_CONSEXITSOL((*consexitsol)), SCIP_DECL_CONSDELETE((*consdelete)), SCIP_DECL_CONSTRANS((*constrans)), SCIP_DECL_CONSINITLP((*consinitlp)), SCIP_DECL_CONSSEPALP((*conssepalp)), SCIP_DECL_CONSSEPASOL((*conssepasol)), SCIP_DECL_CONSENFOLP((*consenfolp)), SCIP_DECL_CONSENFORELAX((*consenforelax)), SCIP_DECL_CONSENFOPS((*consenfops)), SCIP_DECL_CONSCHECK((*conscheck)), SCIP_DECL_CONSPROP((*consprop)), SCIP_DECL_CONSPRESOL((*conspresol)), SCIP_DECL_CONSRESPROP((*consresprop)), SCIP_DECL_CONSLOCK((*conslock)), SCIP_DECL_CONSACTIVE((*consactive)), SCIP_DECL_CONSDEACTIVE((*consdeactive)), SCIP_DECL_CONSENABLE((*consenable)), SCIP_DECL_CONSDISABLE((*consdisable)), SCIP_DECL_CONSDELVARS((*consdelvars)), SCIP_DECL_CONSPRINT((*consprint)), SCIP_DECL_CONSCOPY((*conscopy)), SCIP_DECL_CONSPARSE((*consparse)), SCIP_DECL_CONSGETVARS((*consgetvars)), SCIP_DECL_CONSGETNVARS((*consgetnvars)), SCIP_DECL_CONSGETDIVEBDCHGS((*consgetdivebdchgs)), SCIP_DECL_CONSGETPERMSYMGRAPH((*consgetpermsymgraph)), SCIP_DECL_CONSGETSIGNEDPERMSYMGRAPH((*consgetsignedpermsymgraph)), SCIP_CONSHDLRDATA *conshdlrdata)
static SCIP_DIVESET * diveset
assert(minobj< SCIPgetCutoffbound(scip))
static SCIP_Bool propagate
scip::ObjConshdlr * SCIPfindObjConshdlr(SCIP *scip, const char *name)
scip::ObjConshdlr * SCIPgetObjConshdlr(SCIP *scip, SCIP_CONSHDLR *conshdlr)
SCIP_RETCODE SCIPincludeObjConshdlr(SCIP *scip, scip::ObjConshdlr *objconshdlr, SCIP_Bool deleteobject)
C++ wrapper for constraint handlers.
#define SCIP_DECL_CONSGETSIGNEDPERMSYMGRAPH(x)
#define SCIP_DECL_CONSGETPERMSYMGRAPH(x)
#define SCIP_DECL_CONSENFOLP(x)
#define SCIP_DECL_CONSINITPRE(x)
#define SCIP_DECL_CONSDELETE(x)
#define SCIP_DECL_CONSEXIT(x)
#define SCIP_DECL_CONSGETVARS(x)
#define SCIP_DECL_CONSINITSOL(x)
#define SCIP_DECL_CONSPRINT(x)
struct SCIP_ConshdlrData SCIP_CONSHDLRDATA
#define SCIP_DECL_CONSSEPALP(x)
#define SCIP_DECL_CONSDISABLE(x)
#define SCIP_DECL_CONSENFORELAX(x)
#define SCIP_DECL_CONSGETDIVEBDCHGS(x)
#define SCIP_DECL_CONSPROP(x)
#define SCIP_DECL_CONSGETNVARS(x)
#define SCIP_DECL_CONSRESPROP(x)
#define SCIP_DECL_CONSACTIVE(x)
#define SCIP_DECL_CONSENFOPS(x)
#define SCIP_DECL_CONSPARSE(x)
#define SCIP_DECL_CONSTRANS(x)
#define SCIP_DECL_CONSDEACTIVE(x)
#define SCIP_DECL_CONSPRESOL(x)
#define SCIP_DECL_CONSENABLE(x)
#define SCIP_DECL_CONSINITLP(x)
#define SCIP_DECL_CONSEXITPRE(x)
#define SCIP_DECL_CONSLOCK(x)
struct SCIP_Conshdlr SCIP_CONSHDLR
#define SCIP_DECL_CONSCOPY(x)
#define SCIP_DECL_CONSINIT(x)
#define SCIP_DECL_CONSCHECK(x)
#define SCIP_DECL_CONSHDLRCOPY(x)
#define SCIP_DECL_CONSEXITSOL(x)
#define SCIP_DECL_CONSFREE(x)
#define SCIP_DECL_CONSSEPASOL(x)
#define SCIP_DECL_CONSDELVARS(x)
enum SCIP_Retcode SCIP_RETCODE