assert(paramdata !=
NULL);
91assert(paramdata !=
NULL);
105assert(prop !=
NULL);
109 if( prop->propcopy !=
NULL)
150assert(prop !=
NULL);
151assert(name !=
NULL);
152assert(desc !=
NULL);
154assert(propexec !=
NULL);
161 SCIPmessagePrintError(
"ERROR: 'PRESOLDELAY'-flag no longer available since SCIP 3.2, use an appropriate " 162 "'SCIP_PRESOLTIMING' for <%s> propagator instead.\n", name);
172(*prop)->priority = priority;
173(*prop)->freq = freq;
174(*prop)->propcopy = propcopy;
175(*prop)->propfree = propfree;
176(*prop)->propinit = propinit;
177(*prop)->propexit = propexit;
178(*prop)->propinitpre = propinitpre;
179(*prop)->propexitpre = propexitpre;
180(*prop)->propinitsol = propinitsol;
181(*prop)->propexitsol = propexitsol;
182(*prop)->proppresol = proppresol;
183(*prop)->propexec = propexec;
184(*prop)->propresprop = propresprop;
185(*prop)->propdata = propdata;
192(*prop)->nrespropcalls = 0;
193(*prop)->ncutoffs = 0;
194(*prop)->ndomredsfound = 0;
195(*prop)->wasdelayed =
FALSE;
196(*prop)->initialized =
FALSE;
202&(*prop)->priority,
TRUE, priority, INT_MIN/4, INT_MAX/4,
206(void)
SCIPsnprintf(paramdesc,
SCIP_MAXSTRLEN,
"frequency for calling propagator <%s> (-1: never, 0: only in root node)", name);
212 "should propagator be delayed, if other propagators found reductions?",
216(void)
SCIPsnprintf(paramdesc,
SCIP_MAXSTRLEN,
"timing when propagator should be called (%u:BEFORELP, %u:DURINGLPLOOP, %u:AFTERLPLOOP, %u:ALWAYS))",
224&(*prop)->presolpriority,
TRUE, presolpriority, INT_MIN/4, INT_MAX/4,
229 "maximal number of presolving rounds the propagator participates in (-1: no limit)",
230&(*prop)->maxprerounds,
FALSE, presolmaxrounds, -1, INT_MAX,
NULL,
NULL) );
233(void)
SCIPsnprintf(paramdesc,
SCIP_MAXSTRLEN,
"timing mask of the presolving method of propagator <%s> (%u:FAST, %u:MEDIUM, %u:EXHAUSTIVE, %u:FINAL)",
270assert(prop !=
NULL);
271assert(name !=
NULL);
272assert(desc !=
NULL);
274assert(propexec !=
NULL);
276 SCIP_CALL_FINALLY(
doPropCreate(prop,
set, messagehdlr, blkmem, name, desc, priority, freq, delay, timingmask,
277presolpriority, presolmaxrounds, presoltiming, propcopy, propfree, propinit, propexit, propinitpre, propexitpre,
278propinitsol, propexitsol, proppresol, propexec, propresprop, propdata), (
void)
SCIPpropFree(prop,
set) );
289assert(prop !=
NULL);
292assert(!(*prop)->initialized);
296 if( (*prop)->propfree !=
NULL)
319assert(prop !=
NULL);
328 if(
set->misc_resetstat )
364 if( prop->propinit !=
NULL)
385assert(prop !=
NULL);
394 if( prop->propexit !=
NULL)
415assert(prop !=
NULL);
431 if( prop->propinitpre !=
NULL)
451assert(prop !=
NULL);
455 if( prop->propexitpre !=
NULL)
475assert(prop !=
NULL);
479 if( prop->propinitsol !=
NULL)
500assert(prop !=
NULL);
504 if( prop->propexitsol !=
NULL)
509 SCIP_CALL( prop->propexitsol(
set->scip, prop, restart) );
537assert(prop !=
NULL);
539assert(nfixedvars !=
NULL);
540assert(naggrvars !=
NULL);
541assert(nchgvartypes !=
NULL);
542assert(nchgbds !=
NULL);
543assert(naddholes !=
NULL);
544assert(ndelconss !=
NULL);
545assert(naddconss !=
NULL);
546assert(nupgdconss !=
NULL);
547assert(nchgcoefs !=
NULL);
548assert(nchgsides !=
NULL);
549assert(result !=
NULL);
553 if( prop->proppresol ==
NULL)
604 SCIP_CALL( prop->proppresol(
set->scip, prop, nrounds, timing,
605nnewfixedvars, nnewaggrvars, nnewchgvartypes, nnewchgbds, nnewaddholes,
606nnewdelconss, nnewaddconss, nnewupgdconss, nnewchgcoefs, nnewchgsides,
607nfixedvars, naggrvars, nchgvartypes, nchgbds, naddholes,
608ndelconss, naddconss, nupgdconss, nchgcoefs, nchgsides, result) );
656assert(prop !=
NULL);
657assert(prop->propexec !=
NULL);
658assert(prop->
freq>= -1);
661assert(stat !=
NULL);
663assert(result !=
NULL);
665 if( (depth == 0 && prop->
freq== 0) || (prop->
freq> 0 && depth % prop->
freq== 0) )
667 if( !prop->
delay|| execdelayed )
678 if( instrongbranching )
684 SCIP_CALL( prop->propexec(
set->scip, prop, proptiming, result) );
687 if( instrongbranching )
711 SCIPerrorMessage(
"execution method of propagator <%s> returned invalid result <%d>\n",
712prop->
name, *result);
748assert(prop !=
NULL);
753assert(result !=
NULL);
757 if( prop->propresprop !=
NULL)
762 SCIP_CALL( prop->propresprop(
set->scip, prop, infervar, inferinfo, inferboundtype, bdchgidx,
763relaxedbd, result) );
774 SCIPerrorMessage(
"propagation conflict resolving method of propagator <%s> returned invalid result <%d>\n",
775prop->
name, *result);
781 SCIPerrorMessage(
"propagation conflict resolving method of propagator <%s> is not implemented\n", prop->
name);
793assert(prop !=
NULL);
804assert(prop !=
NULL);
815assert(prop !=
NULL);
817prop->propcopy = propcopy;
826assert(prop !=
NULL);
828prop->propfree = propfree;
837assert(prop !=
NULL);
839prop->propinit = propinit;
848assert(prop !=
NULL);
850prop->propexit = propexit;
859assert(prop !=
NULL);
861prop->propinitsol = propinitsol;
870assert(prop !=
NULL);
872prop->propexitsol = propexitsol;
881assert(prop !=
NULL);
883prop->propinitpre = propinitpre;
894assert(prop !=
NULL);
896prop->propexitpre = propexitpre;
908assert(prop !=
NULL);
910prop->proppresol = proppresol;
917 SCIPmessagePrintError(
"ERROR: 'PRESOLDELAY'-flag no longer available since SCIP 3.2, use an appropriate " 918 "'SCIP_PRESOLTIMING' for <%s> constraint handler instead.\n", prop->
name);
935assert(prop !=
NULL);
937prop->propresprop = propresprop;
945assert(prop !=
NULL);
955assert(prop !=
NULL);
965assert(prop !=
NULL);
975assert(prop !=
NULL);
987assert(prop !=
NULL);
1001assert(prop !=
NULL);
1013assert(prop !=
NULL);
1015 returnprop->
freq;
1024assert(prop !=
NULL);
1038assert(prop !=
NULL);
1049assert(prop !=
NULL);
1060assert(prop !=
NULL);
1070assert(prop !=
NULL);
1080assert(prop !=
NULL);
1090assert(prop !=
NULL);
1100assert(prop !=
NULL);
1110assert(prop !=
NULL);
1120assert(prop !=
NULL);
1130assert(prop !=
NULL);
1140assert(prop !=
NULL);
1142 returnprop->
delay;
1150assert(prop !=
NULL);
1160assert(prop !=
NULL);
1170assert(prop !=
NULL);
1180assert(prop !=
NULL);
1190assert(prop !=
NULL);
1200assert(prop !=
NULL);
1210assert(prop !=
NULL);
1220assert(prop !=
NULL);
1230assert(prop !=
NULL);
1240assert(prop !=
NULL);
1250assert(prop !=
NULL);
1260assert(prop !=
NULL);
1270assert(prop !=
NULL);
1280assert(prop !=
NULL);
1290assert(prop !=
NULL);
1292 return(prop->proppresol !=
NULL);
1300assert(prop !=
NULL);
1311assert(prop !=
NULL);
void SCIPclockStop(SCIP_CLOCK *clck, SCIP_SET *set)
void SCIPclockEnableOrDisable(SCIP_CLOCK *clck, SCIP_Bool enable)
void SCIPclockStart(SCIP_CLOCK *clck, SCIP_SET *set)
SCIP_Real SCIPclockGetTime(SCIP_CLOCK *clck)
void SCIPclockReset(SCIP_CLOCK *clck)
void SCIPclockFree(SCIP_CLOCK **clck)
SCIP_RETCODE SCIPclockCreate(SCIP_CLOCK **clck, SCIP_CLOCKTYPE clocktype)
internal methods for clocks and timing issues
common defines and data types used in all packages of SCIP
#define SCIP_MAXTREEDEPTH
#define SCIP_CALL_FINALLY(x, y)
SCIP_Bool SCIPpropDoesPresolve(SCIP_PROP *prop)
SCIP_Real SCIPpropGetRespropTime(SCIP_PROP *prop)
SCIP_Bool SCIPpropIsDelayed(SCIP_PROP *prop)
SCIP_Real SCIPpropGetPresolTime(SCIP_PROP *prop)
void SCIPpropSetPresolTiming(SCIP_PROP *prop, SCIP_PRESOLTIMING presoltiming)
SCIP_Bool SCIPpropWasDelayed(SCIP_PROP *prop)
SCIP_Longint SCIPpropGetNCutoffs(SCIP_PROP *prop)
SCIP_Real SCIPpropGetSetupTime(SCIP_PROP *prop)
int SCIPpropGetNAddHoles(SCIP_PROP *prop)
int SCIPpropGetNChgBds(SCIP_PROP *prop)
void SCIPpropSetData(SCIP_PROP *prop, SCIP_PROPDATA *propdata)
int SCIPpropGetNChgSides(SCIP_PROP *prop)
SCIP_RETCODE SCIPsetPropPriority(SCIP *scip, SCIP_PROP *prop, int priority)
int SCIPpropGetNUpgdConss(SCIP_PROP *prop)
int SCIPpropGetNPresolCalls(SCIP_PROP *prop)
SCIP_Longint SCIPpropGetNRespropCalls(SCIP_PROP *prop)
SCIP_Real SCIPpropGetStrongBranchPropTime(SCIP_PROP *prop)
SCIP_Longint SCIPpropGetNDomredsFound(SCIP_PROP *prop)
int SCIPpropGetFreq(SCIP_PROP *prop)
SCIP_PROPDATA * SCIPpropGetData(SCIP_PROP *prop)
SCIP_RETCODE SCIPsetPropPresolPriority(SCIP *scip, SCIP_PROP *prop, int presolpriority)
int SCIPpropGetNChgCoefs(SCIP_PROP *prop)
int SCIPpropGetNAggrVars(SCIP_PROP *prop)
const char * SCIPpropGetDesc(SCIP_PROP *prop)
int SCIPpropGetPresolPriority(SCIP_PROP *prop)
int SCIPpropGetNFixedVars(SCIP_PROP *prop)
const char * SCIPpropGetName(SCIP_PROP *prop)
int SCIPpropGetNAddConss(SCIP_PROP *prop)
int SCIPpropGetPriority(SCIP_PROP *prop)
void SCIPpropSetFreq(SCIP_PROP *prop, int freq)
SCIP_Real SCIPpropGetTime(SCIP_PROP *prop)
int SCIPpropGetNChgVarTypes(SCIP_PROP *prop)
SCIP_PRESOLTIMING SCIPpropGetPresolTiming(SCIP_PROP *prop)
SCIP_Bool SCIPpropIsInitialized(SCIP_PROP *prop)
SCIP_DECL_SORTPTRCOMP(SCIPpropComp)
SCIP_Longint SCIPpropGetNCalls(SCIP_PROP *prop)
SCIP_PROPTIMING SCIPpropGetTimingmask(SCIP_PROP *prop)
int SCIPpropGetNDelConss(SCIP_PROP *prop)
SCIP_Real SCIPvarGetUbGlobal(SCIP_VAR *var)
SCIP_Real SCIPgetVarUbAtIndex(SCIP *scip, SCIP_VAR *var, SCIP_BDCHGIDX *bdchgidx, SCIP_Bool after)
SCIP_Real SCIPvarGetLbGlobal(SCIP_VAR *var)
SCIP_Real SCIPgetVarLbAtIndex(SCIP *scip, SCIP_VAR *var, SCIP_BDCHGIDX *bdchgidx, SCIP_Bool after)
int SCIPsnprintf(char *t, int len, const char *s,...)
static const char * paramname[]
#define BMSfreeMemory(ptr)
#define BMSduplicateMemoryArray(ptr, source, num)
#define BMSclearMemory(ptr)
struct BMS_BlkMem BMS_BLKMEM
#define BMSfreeMemoryArrayNull(ptr)
#define BMSallocMemory(ptr)
void SCIPmessagePrintError(const char *formatstr,...)
SCIP_PARAMDATA * SCIPparamGetData(SCIP_PARAM *param)
int SCIPparamGetInt(SCIP_PARAM *param)
internal methods for handling parameter settings
void SCIPpropSetPriority(SCIP_PROP *prop, SCIP_SET *set, int priority)
SCIP_RETCODE SCIPpropInitsol(SCIP_PROP *prop, SCIP_SET *set)
SCIP_RETCODE SCIPpropInit(SCIP_PROP *prop, SCIP_SET *set)
void SCIPpropSetResprop(SCIP_PROP *prop, SCIP_DECL_PROPRESPROP((*propresprop)))
void SCIPpropSetExitsol(SCIP_PROP *prop, SCIP_DECL_PROPEXITSOL((*propexitsol)))
void SCIPpropSetFree(SCIP_PROP *prop, SCIP_DECL_PROPFREE((*propfree)))
SCIP_RETCODE SCIPpropCreate(SCIP_PROP **prop, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, int priority, int freq, SCIP_Bool delay, SCIP_PROPTIMING timingmask, int presolpriority, int presolmaxrounds, SCIP_PRESOLTIMING presoltiming, SCIP_DECL_PROPCOPY((*propcopy)), SCIP_DECL_PROPFREE((*propfree)), SCIP_DECL_PROPINIT((*propinit)), SCIP_DECL_PROPEXIT((*propexit)), SCIP_DECL_PROPINITPRE((*propinitpre)), SCIP_DECL_PROPEXITPRE((*propexitpre)), SCIP_DECL_PROPINITSOL((*propinitsol)), SCIP_DECL_PROPEXITSOL((*propexitsol)), SCIP_DECL_PROPPRESOL((*proppresol)), SCIP_DECL_PROPEXEC((*propexec)), SCIP_DECL_PROPRESPROP((*propresprop)), SCIP_PROPDATA *propdata)
SCIP_RETCODE SCIPpropCopyInclude(SCIP_PROP *prop, SCIP_SET *set)
SCIP_RETCODE SCIPpropExitpre(SCIP_PROP *prop, SCIP_SET *set)
SCIP_RETCODE SCIPpropExit(SCIP_PROP *prop, SCIP_SET *set)
void SCIPpropEnableOrDisableClocks(SCIP_PROP *prop, SCIP_Bool enable)
static SCIP_RETCODE doPropCreate(SCIP_PROP **prop, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, int priority, int freq, SCIP_Bool delay, SCIP_PROPTIMING timingmask, int presolpriority, int presolmaxrounds, SCIP_PRESOLTIMING presoltiming, SCIP_DECL_PROPCOPY((*propcopy)), SCIP_DECL_PROPFREE((*propfree)), SCIP_DECL_PROPINIT((*propinit)), SCIP_DECL_PROPEXIT((*propexit)), SCIP_DECL_PROPINITPRE((*propinitpre)), SCIP_DECL_PROPEXITPRE((*propexitpre)), SCIP_DECL_PROPINITSOL((*propinitsol)), SCIP_DECL_PROPEXITSOL((*propexitsol)), SCIP_DECL_PROPPRESOL((*proppresol)), SCIP_DECL_PROPEXEC((*propexec)), SCIP_DECL_PROPRESPROP((*propresprop)), SCIP_PROPDATA *propdata)
void SCIPpropSetExitpre(SCIP_PROP *prop, SCIP_DECL_PROPEXITPRE((*propexitpre)))
SCIP_RETCODE SCIPpropResolvePropagation(SCIP_PROP *prop, SCIP_SET *set, SCIP_VAR *infervar, int inferinfo, SCIP_BOUNDTYPE inferboundtype, SCIP_BDCHGIDX *bdchgidx, SCIP_Real relaxedbd, SCIP_RESULT *result)
SCIP_RETCODE SCIPpropExitsol(SCIP_PROP *prop, SCIP_SET *set, SCIP_Bool restart)
void SCIPpropSetInitsol(SCIP_PROP *prop, SCIP_DECL_PROPINITSOL((*propinitsol)))
void SCIPpropSetExit(SCIP_PROP *prop, SCIP_DECL_PROPEXIT((*propexit)))
void SCIPpropSetPresolPriority(SCIP_PROP *prop, SCIP_SET *set, int presolpriority)
void SCIPpropSetInitpre(SCIP_PROP *prop, SCIP_DECL_PROPINITPRE((*propinitpre)))
static SCIP_DECL_PARAMCHGD(paramChgdPropPriority)
SCIP_RETCODE SCIPpropPresol(SCIP_PROP *prop, SCIP_SET *set, SCIP_PRESOLTIMING timing, int nrounds, int *nfixedvars, int *naggrvars, int *nchgvartypes, int *nchgbds, int *naddholes, int *ndelconss, int *naddconss, int *nupgdconss, int *nchgcoefs, int *nchgsides, SCIP_RESULT *result)
SCIP_RETCODE SCIPpropExec(SCIP_PROP *prop, SCIP_SET *set, SCIP_STAT *stat, int depth, SCIP_Bool execdelayed, SCIP_Bool instrongbranching, SCIP_PROPTIMING proptiming, SCIP_RESULT *result)
SCIP_RETCODE SCIPpropInitpre(SCIP_PROP *prop, SCIP_SET *set)
void SCIPpropSetInit(SCIP_PROP *prop, SCIP_DECL_PROPINIT((*propinit)))
SCIP_RETCODE SCIPpropFree(SCIP_PROP **prop, SCIP_SET *set)
SCIP_RETCODE SCIPpropSetPresol(SCIP_PROP *prop, SCIP_DECL_PROPPRESOL((*proppresol)), int presolpriority, int presolmaxrounds, SCIP_PRESOLTIMING presoltiming)
void SCIPpropSetCopy(SCIP_PROP *prop, SCIP_DECL_PROPCOPY((*propcopy)))
internal methods for propagators
public methods for message output
public data structures and miscellaneous methods
SCIP_RETCODE SCIPsetAddIntParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, int *valueptr, SCIP_Bool isadvanced, int defaultvalue, int minvalue, int maxvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
SCIP_RETCODE SCIPsetAddBoolParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, SCIP_Bool *valueptr, SCIP_Bool isadvanced, SCIP_Bool defaultvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
internal methods for global SCIP settings
internal methods for problem statistics
SCIP_PROPTIMING timingmask
SCIP_PRESOLTIMING presoltiming
SCIP_Longint ndomredsfound
SCIP_Longint nrespropcalls
SCIP_Longint nprobholechgs
SCIP_Longint nprobboundchgs
datastructures for propagators
enum SCIP_BoundType SCIP_BOUNDTYPE
struct SCIP_ParamData SCIP_PARAMDATA
#define SCIP_DECL_PROPCOPY(x)
#define SCIP_DECL_PROPEXITPRE(x)
#define SCIP_DECL_PROPINITSOL(x)
#define SCIP_DECL_PROPINIT(x)
#define SCIP_DECL_PROPFREE(x)
#define SCIP_DECL_PROPEXITSOL(x)
#define SCIP_DECL_PROPEXIT(x)
#define SCIP_DECL_PROPPRESOL(x)
#define SCIP_DECL_PROPINITPRE(x)
#define SCIP_DECL_PROPRESPROP(x)
struct SCIP_PropData SCIP_PROPDATA
#define SCIP_DECL_PROPEXEC(x)
enum SCIP_Result SCIP_RESULT
enum SCIP_Retcode SCIP_RETCODE
#define SCIP_PRESOLTIMING_MAX
#define SCIP_PRESOLTIMING_FINAL
unsigned int SCIP_PROPTIMING
#define SCIP_PRESOLTIMING_MEDIUM
unsigned int SCIP_PRESOLTIMING
#define SCIP_PROPTIMING_AFTERLPLOOP
#define SCIP_PRESOLTIMING_FAST
#define SCIP_PRESOLTIMING_EXHAUSTIVE
#define SCIP_PROPTIMING_BEFORELP
#define SCIP_PROPTIMING_ALWAYS
#define SCIP_PRESOLTIMING_NONE
#define SCIP_PROPTIMING_DURINGLPLOOP
internal methods for problem variables
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4