35 struct SCIP_ConshdlrData
60 assert(conshdlrdata !=
NULL);
61 assert(conshdlrdata->objconshdlr !=
NULL);
62 assert(conshdlrdata->objconshdlr->scip_ !=
scip);
64 if( conshdlrdata->objconshdlr->iscloneable() )
83 assert(conshdlrdata !=
NULL);
84 assert(conshdlrdata->objconshdlr !=
NULL);
85 assert(conshdlrdata->objconshdlr->scip_ ==
scip);
88 SCIP_CALL( conshdlrdata->objconshdlr->scip_free(
scip, conshdlr) );
91 if( conshdlrdata->deleteobject )
92 delete conshdlrdata->objconshdlr;
109 assert(conshdlrdata !=
NULL);
110 assert(conshdlrdata->objconshdlr !=
NULL);
111 assert(conshdlrdata->objconshdlr->scip_ ==
scip);
114 SCIP_CALL( conshdlrdata->objconshdlr->scip_init(
scip, conshdlr, conss, nconss) );
127 assert(conshdlrdata !=
NULL);
128 assert(conshdlrdata->objconshdlr !=
NULL);
131 SCIP_CALL( conshdlrdata->objconshdlr->scip_exit(
scip, conshdlr, conss, nconss) );
144 assert(conshdlrdata !=
NULL);
145 assert(conshdlrdata->objconshdlr !=
NULL);
148 SCIP_CALL( conshdlrdata->objconshdlr->scip_initpre(
scip, conshdlr, conss, nconss) );
161 assert(conshdlrdata !=
NULL);
162 assert(conshdlrdata->objconshdlr !=
NULL);
165 SCIP_CALL( conshdlrdata->objconshdlr->scip_exitpre(
scip, conshdlr, conss, nconss) );
178 assert(conshdlrdata !=
NULL);
179 assert(conshdlrdata->objconshdlr !=
NULL);
182 SCIP_CALL( conshdlrdata->objconshdlr->scip_initsol(
scip, conshdlr, conss, nconss) );
195 assert(conshdlrdata !=
NULL);
196 assert(conshdlrdata->objconshdlr !=
NULL);
199 SCIP_CALL( conshdlrdata->objconshdlr->scip_exitsol(
scip, conshdlr, conss, nconss, restart) );
212 assert(conshdlrdata !=
NULL);
213 assert(conshdlrdata->objconshdlr !=
NULL);
216 SCIP_CALL( conshdlrdata->objconshdlr->scip_delete(
scip, conshdlr, cons, consdata) );
229 assert(conshdlrdata !=
NULL);
230 assert(conshdlrdata->objconshdlr !=
NULL);
233 SCIP_CALL( conshdlrdata->objconshdlr->scip_trans(
scip, conshdlr, sourcecons, targetcons) );
246 assert(conshdlrdata !=
NULL);
247 assert(conshdlrdata->objconshdlr !=
NULL);
250 SCIP_CALL( conshdlrdata->objconshdlr->scip_initlp(
scip, conshdlr, conss, nconss, infeasible) );
263 assert(conshdlrdata !=
NULL);
264 assert(conshdlrdata->objconshdlr !=
NULL);
267 SCIP_CALL( conshdlrdata->objconshdlr->scip_sepalp(
scip, conshdlr, conss, nconss, nusefulconss, result) );
280 assert(conshdlrdata !=
NULL);
281 assert(conshdlrdata->objconshdlr !=
NULL);
284 SCIP_CALL( conshdlrdata->objconshdlr->scip_sepasol(
scip, conshdlr, conss, nconss, nusefulconss, sol, result) );
297 assert(conshdlrdata !=
NULL);
298 assert(conshdlrdata->objconshdlr !=
NULL);
301 SCIP_CALL( conshdlrdata->objconshdlr->scip_enfolp(
scip, conshdlr, conss, nconss, nusefulconss, solinfeasible, result) );
314 assert(conshdlrdata !=
NULL);
315 assert(conshdlrdata->objconshdlr !=
NULL);
318 SCIP_CALL( conshdlrdata->objconshdlr->scip_enforelax(
scip, sol, conshdlr, conss, nconss, nusefulconss, solinfeasible, result) );
331 assert(conshdlrdata !=
NULL);
332 assert(conshdlrdata->objconshdlr !=
NULL);
335 SCIP_CALL( conshdlrdata->objconshdlr->scip_enfops(
scip, conshdlr, conss, nconss, nusefulconss,
336 solinfeasible, objinfeasible, result) );
349 assert(conshdlrdata !=
NULL);
350 assert(conshdlrdata->objconshdlr !=
NULL);
353 SCIP_CALL( conshdlrdata->objconshdlr->scip_check(
scip, conshdlr, conss, nconss, sol,
354 checkintegrality, checklprows, printreason, completely, result) );
367 assert(conshdlrdata !=
NULL);
368 assert(conshdlrdata->objconshdlr !=
NULL);
371 SCIP_CALL( conshdlrdata->objconshdlr->scip_prop(
scip, conshdlr, conss, nconss, nusefulconss, nmarkedconss, proptiming, result) );
384 assert(conshdlrdata !=
NULL);
385 assert(conshdlrdata->objconshdlr !=
NULL);
388 SCIP_CALL( conshdlrdata->objconshdlr->scip_presol(
scip, conshdlr, conss, nconss, nrounds, presoltiming,
389 nnewfixedvars, nnewaggrvars, nnewchgvartypes, nnewchgbds, nnewholes,
390 nnewdelconss, nnewaddconss, nnewupgdconss, nnewchgcoefs, nnewchgsides,
391 nfixedvars, naggrvars, nchgvartypes, nchgbds, naddholes,
392 ndelconss, naddconss, nupgdconss, nchgcoefs, nchgsides, result) );
405 assert(conshdlrdata !=
NULL);
406 assert(conshdlrdata->objconshdlr !=
NULL);
409 SCIP_CALL( conshdlrdata->objconshdlr->scip_resprop(
scip, conshdlr, cons, infervar, inferinfo, boundtype, bdchgidx,
410 relaxedbd, result) );
423 assert(conshdlrdata !=
NULL);
424 assert(conshdlrdata->objconshdlr !=
NULL);
427 SCIP_CALL( conshdlrdata->objconshdlr->scip_lock(
scip, conshdlr, cons, nlockspos, nlocksneg) );
440 assert(conshdlrdata !=
NULL);
441 assert(conshdlrdata->objconshdlr !=
NULL);
444 SCIP_CALL( conshdlrdata->objconshdlr->scip_active(
scip, conshdlr, cons) );
457 assert(conshdlrdata !=
NULL);
458 assert(conshdlrdata->objconshdlr !=
NULL);
461 SCIP_CALL( conshdlrdata->objconshdlr->scip_deactive(
scip, conshdlr, cons) );
474 assert(conshdlrdata !=
NULL);
475 assert(conshdlrdata->objconshdlr !=
NULL);
478 SCIP_CALL( conshdlrdata->objconshdlr->scip_enable(
scip, conshdlr, cons) );
491 assert(conshdlrdata !=
NULL);
492 assert(conshdlrdata->objconshdlr !=
NULL);
495 SCIP_CALL( conshdlrdata->objconshdlr->scip_disable(
scip, conshdlr, cons) );
507 assert(conshdlrdata !=
NULL);
508 assert(conshdlrdata->objconshdlr !=
NULL);
511 SCIP_CALL( conshdlrdata->objconshdlr->scip_delvars(
scip, conshdlr, conss, nconss) );
523 assert(conshdlrdata !=
NULL);
524 assert(conshdlrdata->objconshdlr !=
NULL);
527 SCIP_CALL( conshdlrdata->objconshdlr->scip_print(
scip, conshdlr, cons, file) );
539 assert(sourceconshdlrdata !=
NULL);
540 assert(sourceconshdlrdata->objconshdlr !=
NULL);
543 SCIP_CALL( sourceconshdlrdata->objconshdlr->scip_copy(
scip, cons, name, sourcescip, sourceconshdlr, sourcecons, varmap, consmap,
544 initial, separate, enforce, check, propagate, local, modifiable, dynamic, removable, stickingatnode, global, valid) );
556 assert(conshdlrdata !=
NULL);
557 assert(conshdlrdata->objconshdlr !=
NULL);
560 SCIP_CALL( conshdlrdata->objconshdlr->scip_parse(
scip, conshdlr, cons, name, str,
561 initial, separate, enforce, check, propagate, local, modifiable, dynamic, removable, stickingatnode, success) );
573 assert(conshdlrdata !=
NULL);
574 assert(conshdlrdata->objconshdlr !=
NULL);
577 SCIP_CALL( conshdlrdata->objconshdlr->scip_getvars(
scip, conshdlr, cons, vars, varssize, success) );
589 assert(conshdlrdata !=
NULL);
590 assert(conshdlrdata->objconshdlr !=
NULL);
593 SCIP_CALL( conshdlrdata->objconshdlr->scip_getnvars(
scip, conshdlr, cons, nvars, success) );
605 assert(conshdlrdata !=
NULL);
606 assert(conshdlrdata->objconshdlr !=
NULL);
609 SCIP_CALL( conshdlrdata->objconshdlr->scip_getdivebdchgs(
scip, conshdlr, diveset, sol, success, infeasible) );
629 assert(scip !=
NULL);
630 assert(objconshdlr !=
NULL);
631 assert(objconshdlr->
scip_ == scip);
635 conshdlrdata->objconshdlr = objconshdlr;
636 conshdlrdata->deleteobject = deleteobject;
646 consFreeObj, consInitObj, consExitObj,
647 consInitpreObj, consExitpreObj, consInitsolObj, consExitsolObj,
648 consDeleteObj, consTransObj, consInitlpObj,
649 consSepalpObj, consSepasolObj, consEnfolpObj, consEnforelaxObj, consEnfopsObj, consCheckObj,
650 consPropObj, consPresolObj, consRespropObj, consLockObj,
651 consActiveObj, consDeactiveObj,
652 consEnableObj, consDisableObj, consDelVarsObj,
653 consPrintObj, consCopyObj, consParseObj,
654 consGetVarsObj, consGetNVarsObj, consGetDiveBdChgsObj, conshdlrdata) );
669 if( conshdlr ==
NULL )
673 assert(conshdlrdata !=
NULL);
675 return conshdlrdata->objconshdlr;
687 assert(conshdlrdata !=
NULL);
689 return conshdlrdata->objconshdlr;
static SCIP_DECL_CONSDISABLE(consDisableObj)
void SCIPconshdlrSetData(SCIP_CONSHDLR *conshdlr, SCIP_CONSHDLRDATA *conshdlrdata)
static SCIP_DECL_CONSPRESOL(consPresolObj)
const SCIP_Bool scip_delaysepa_
static SCIP_DECL_CONSEXITPRE(consExitpreObj)
const int scip_eagerfreq_
static SCIP_DECL_CONSINIT(consInitObj)
SCIP_CONSHDLR * SCIPfindConshdlr(SCIP *scip, const char *name)
const SCIP_Bool scip_needscons_
static SCIP_DECL_CONSDEACTIVE(consDeactiveObj)
static SCIP_DECL_CONSRESPROP(consRespropObj)
static SCIP_DECL_CONSCHECK(consCheckObj)
static SCIP_DECL_CONSGETDIVEBDCHGS(consGetDiveBdChgsObj)
static SCIP_DECL_CONSGETVARS(consGetVarsObj)
static SCIP_DECL_CONSEXIT(consExitObj)
enum SCIP_Retcode SCIP_RETCODE
static SCIP_DECL_CONSINITSOL(consInitsolObj)
static SCIP_DECL_CONSENFOPS(consEnfopsObj)
static SCIP_DECL_CONSLOCK(consLockObj)
static SCIP_DECL_CONSGETNVARS(consGetNVarsObj)
const SCIP_PROPTIMING scip_proptiming_
C++ wrapper for constraint handlers.
static SCIP_DECL_CONSHDLRCOPY(conshdlrCopyObj)
SCIP_RETCODE SCIPincludeObjConshdlr(SCIP *scip, scip::ObjConshdlr *objconshdlr, SCIP_Bool deleteobject)
scip::ObjConshdlr * SCIPfindObjConshdlr(SCIP *scip, const char *name)
static SCIP_DECL_CONSENABLE(consEnableObj)
const int scip_maxprerounds_
const int scip_sepapriority_
SCIP_CONSHDLRDATA * SCIPconshdlrGetData(SCIP_CONSHDLR *conshdlr)
const SCIP_Bool scip_delayprop_
static SCIP_DECL_CONSACTIVE(consActiveObj)
static SCIP_DECL_CONSENFOLP(consEnfolpObj)
static SCIP_DECL_CONSTRANS(consTransObj)
static SCIP_DECL_CONSDELVARS(consDelVarsObj)
static SCIP_DECL_CONSENFORELAX(consEnforelaxObj)
C++ wrapper for constraint handlers.
static SCIP_DECL_CONSINITLP(consInitlpObj)
static SCIP_DECL_CONSPROP(consPropObj)
scip::ObjConshdlr * SCIPgetObjConshdlr(SCIP *scip, SCIP_CONSHDLR *conshdlr)
static SCIP_DECL_CONSEXITSOL(consExitsolObj)
static SCIP_DECL_CONSDELETE(consDeleteObj)
const int scip_checkpriority_
static SCIP_DECL_CONSSEPASOL(consSepasolObj)
static SCIP_DECL_CONSCOPY(consCopyObj)
const SCIP_PRESOLTIMING scip_presoltiming_
static SCIP_DECL_CONSPARSE(consParseObj)
static SCIP_DECL_CONSINITPRE(consInitpreObj)
static SCIP_DECL_CONSFREE(consFreeObj)
struct SCIP_ConshdlrData SCIP_CONSHDLRDATA
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_CONSHDLRDATA *conshdlrdata)
static SCIP_DECL_CONSPRINT(consPrintObj)
const int scip_enfopriority_
static SCIP_DECL_CONSSEPALP(consSepalpObj)