55#define AGERESETAVG_INIT 1000.0
56#define AGERESETAVG_MIN 100.0
57#define AGERESETAVG_DECAY 0.0005
58#define AGERESETAVG_AGELIMIT 2.0
60#define AGERESETAVG_OBSOLETEAGE 1.8
247#define checkConssArrays(conshdlr)
249#ifdef CHECKCONSARRAYS
250#undef checkConssArrays
365 && ((
set->cons_agelimit > 0 && cons->
age >
set->cons_agelimit)
380 && ((
set->cons_obsoleteage > 0 && cons->
age >
set->cons_obsoleteage)
1327 SCIPdebugMessage(
"disable separation of constraint <%s> in constraint handler <%s>\n", cons->
name, conshdlr->
name);
1387 SCIPdebugMessage(
"disable propagation of constraint <%s> in constraint handler <%s>\n", cons->
name, conshdlr->
name);
1454 if( conshdlr->consenable !=
NULL )
1456 SCIP_CALL( conshdlr->consenable(
set->scip, conshdlr, cons) );
1493 if( conshdlr->consdisable !=
NULL )
1495 SCIP_CALL( conshdlr->consdisable(
set->scip, conshdlr, cons) );
1563 SCIPsetDebugMsg(
set,
"activate constraint <%s> in constraint handler <%s> (depth %d, focus=%u)\n",
1590 if( conshdlr->consactive !=
NULL )
1592 SCIP_CALL( conshdlr->consactive(
set->scip, conshdlr, cons) );
1640 if( conshdlr->consdeactive !=
NULL )
1642 SCIP_CALL( conshdlr->consdeactive(
set->scip, conshdlr, cons) );
1706 SCIPsetDebugMsg(
set,
"processing %d constraints that have to be updated in constraint handler <%s>\n",
1722 SCIPsetDebugMsg(
set,
" -> constraint <%s>: insert=%u, activate=%u, deactivate=%u, enable=%u, disable=%u, sepaenable=%u, sepadisable=%u, propenable=%u, propdisable=%u, obsolete=%u, free=%u (consdata=%p)\n",
1889 SCIPdebugMessage(
"constraint updates of constraint handler <%s> will be delayed (count:%d)\n",
1909 SCIPsetDebugMsg(
set,
"constraint updates of constraint handler <%s> will be processed immediately (count:%d)\n",
1938 SCIPsetDebugMsg(
set,
"constraint <%s> of age %g has to be updated in constraint handler <%s> (consdata=%p)\n",
1985 if( conshdlr->conshdlrcopy !=
NULL )
2011 SCIP_Bool delaysepa,
2012 SCIP_Bool delayprop,
2013 SCIP_Bool needscons,
2067 SCIPmessagePrintError(
"ERROR: 'PRESOLDELAY'-flag no longer available since SCIP 3.2, use an appropriate "
2068 "'SCIP_PRESOLTIMING' for <%s> constraint handler instead.\n", name);
2081 (*conshdlr)->sepapriority = sepapriority;
2082 (*conshdlr)->enfopriority = enfopriority;
2083 (*conshdlr)->checkpriority = checkpriority;
2084 (*conshdlr)->sepafreq = sepafreq;
2085 (*conshdlr)->propfreq = propfreq;
2086 (*conshdlr)->eagerfreq = eagerfreq;
2087 (*conshdlr)->maxprerounds = maxprerounds;
2119 (*conshdlr)->conshdlrdata = conshdlrdata;
2121 (*conshdlr)->conss =
NULL;
2122 (*conshdlr)->consssize = 0;
2123 (*conshdlr)->nconss = 0;
2124 (*conshdlr)->nactiveconss = 0;
2125 (*conshdlr)->maxnactiveconss = 0;
2126 (*conshdlr)->startnactiveconss = 0;
2127 (*conshdlr)->initconss =
NULL;
2128 (*conshdlr)->initconsssize = 0;
2129 (*conshdlr)->ninitconss = 0;
2130 (*conshdlr)->ninitconsskept = 0;
2131 (*conshdlr)->sepaconss =
NULL;
2132 (*conshdlr)->sepaconsssize = 0;
2133 (*conshdlr)->nsepaconss = 0;
2134 (*conshdlr)->nusefulsepaconss = 0;
2135 (*conshdlr)->enfoconss =
NULL;
2136 (*conshdlr)->enfoconsssize = 0;
2137 (*conshdlr)->nenfoconss = 0;
2138 (*conshdlr)->nusefulenfoconss = 0;
2139 (*conshdlr)->checkconss =
NULL;
2140 (*conshdlr)->checkconsssize = 0;
2141 (*conshdlr)->ncheckconss = 0;
2142 (*conshdlr)->nusefulcheckconss = 0;
2143 (*conshdlr)->propconss =
NULL;
2144 (*conshdlr)->propconsssize = 0;
2145 (*conshdlr)->npropconss = 0;
2146 (*conshdlr)->nusefulpropconss = 0;
2147 (*conshdlr)->nmarkedpropconss = 0;
2148 (*conshdlr)->updateconss =
NULL;
2149 (*conshdlr)->updateconsssize = 0;
2150 (*conshdlr)->nupdateconss = 0;
2151 (*conshdlr)->nenabledconss = 0;
2152 (*conshdlr)->lastnusefulpropconss = 0;
2153 (*conshdlr)->lastnusefulsepaconss = 0;
2154 (*conshdlr)->lastnusefulenfoconss = 0;
2156 (*conshdlr)->storedpropconss =
NULL;
2157 (*conshdlr)->storedpropconsssize = 0;
2158 (*conshdlr)->storednmarkedpropconss = 0;
2159 (*conshdlr)->storedpropdomchgcount = 0;
2172 (*conshdlr)->nsepacalls = 0;
2173 (*conshdlr)->nenfolpcalls = 0;
2174 (*conshdlr)->nenfopscalls = 0;
2175 (*conshdlr)->nenforelaxcalls = 0;
2176 (*conshdlr)->npropcalls = 0;
2177 (*conshdlr)->ncheckcalls = 0;
2178 (*conshdlr)->nrespropcalls = 0;
2179 (*conshdlr)->ncutoffs = 0;
2180 (*conshdlr)->ncutsfound = 0;
2181 (*conshdlr)->ncutsapplied = 0;
2182 (*conshdlr)->nconssfound = 0;
2183 (*conshdlr)->ndomredsfound = 0;
2184 (*conshdlr)->nchildren = 0;
2185 (*conshdlr)->lastpropdomchgcount = -1;
2186 (*conshdlr)->lastsepalpcount = -1;
2187 (*conshdlr)->lastenfolplpcount = -1;
2188 (*conshdlr)->lastenfolpdomchgcount = -1;
2189 (*conshdlr)->lastenfopsdomchgcount = -1;
2190 (*conshdlr)->lastenforelaxdomchgcount = -1;
2191 (*conshdlr)->lastenforelaxrelaxcount = -1;
2192 (*conshdlr)->lastenfolpnode = -1;
2193 (*conshdlr)->lastenfopsnode = -1;
2197 (*conshdlr)->lastnfixedvars = 0;
2198 (*conshdlr)->lastnaggrvars = 0;
2199 (*conshdlr)->lastnchgvartypes = 0;
2200 (*conshdlr)->lastnchgbds = 0;
2201 (*conshdlr)->lastnaddholes = 0;
2202 (*conshdlr)->lastndelconss = 0;
2203 (*conshdlr)->lastnaddconss = 0;
2204 (*conshdlr)->lastnupgdconss = 0;
2205 (*conshdlr)->lastnchgcoefs = 0;
2206 (*conshdlr)->lastnchgsides = 0;
2207 (*conshdlr)->nfixedvars = 0;
2208 (*conshdlr)->naggrvars = 0;
2209 (*conshdlr)->nchgvartypes = 0;
2210 (*conshdlr)->nchgbds = 0;
2211 (*conshdlr)->naddholes = 0;
2212 (*conshdlr)->ndelconss = 0;
2213 (*conshdlr)->naddconss = 0;
2214 (*conshdlr)->nupgdconss = 0;
2215 (*conshdlr)->nchgcoefs = 0;
2216 (*conshdlr)->nchgsides = 0;
2217 (*conshdlr)->npresolcalls = 0;
2218 (*conshdlr)->delayupdatecount = 0;
2220 (*conshdlr)->needscons = needscons;
2221 (*conshdlr)->sepalpwasdelayed =
FALSE;
2222 (*conshdlr)->sepasolwasdelayed =
FALSE;
2223 (*conshdlr)->propwasdelayed =
FALSE;
2224 (*conshdlr)->duringsepa =
FALSE;
2225 (*conshdlr)->duringprop =
FALSE;
2226 (*conshdlr)->initialized =
FALSE;
2231 "frequency for separating cuts (-1: never, 0: only in root node)",
2236 "frequency for propagating domains (-1: never, 0: only in root node)",
2246 "frequency for using all instead of only the useful constraints in separation, propagation and enforcement (-1: never, 0: only in first evaluation)",
2251 "maximal number of presolving rounds the constraint handler participates in (-1: no limit)",
2256 "should separation method be delayed, if other separators found cuts?",
2257 &(*conshdlr)->delaysepa,
TRUE, delaysepa,
NULL,
NULL) );
2261 "should propagation method be delayed, if other propagators found reductions?",
2262 &(*conshdlr)->delayprop,
TRUE, delayprop,
NULL,
NULL) );
2289 SCIP_Bool delaysepa,
2290 SCIP_Bool delayprop,
2291 SCIP_Bool needscons,
2338 checkpriority, sepafreq, propfreq, eagerfreq, maxprerounds, delaysepa, delayprop, needscons, proptiming,
2355 if( *conshdlr ==
NULL )
2357 assert(!(*conshdlr)->initialized);
2358 assert((*conshdlr)->nconss == 0);
2362 if( (*conshdlr)->consfree !=
NULL )
2364 SCIP_CALL( (*conshdlr)->consfree(
set->scip, *conshdlr) );
2410 if(
set->misc_resetstat )
2480 if( conshdlr->consinit !=
NULL )
2524 if( conshdlr->consexit !=
NULL )
2591 if( conshdlr->consinitpre !=
NULL )
2615 if( stat->
nruns >= 2 )
2647 if( conshdlr->consexitpre !=
NULL )
2691 if( conshdlr->consinitsol !=
NULL )
2728 if( conshdlr->consexitsol !=
NULL )
2773 if( conshdlr->consinitlp !=
NULL )
2779 SCIPsetDebugMsg(
set,
"initializing LP with %d initial constraints of handler <%s> (ninitconss=%d, kept=%d, initkept=%u)\n",
2884 if( conshdlr->conssepalp !=
NULL
2923 SCIP_Longint lastsepalpcount;
2926 int lastnusefulsepaconss;
2928 SCIPsetDebugMsg(
set,
"separating constraints %d to %d of %d constraints of handler <%s> (%s LP solution)\n",
2933 lastsepalpcount = stat->
lpcount;
2997 SCIPerrorMessage(
"LP separation method of constraint handler <%s> returned invalid result <%d>\n",
3040 if( conshdlr->conssepasol !=
NULL
3056 if( nconss > 0 || !conshdlr->
needscons )
3064 SCIPsetDebugMsg(
set,
"separating %d constraints of handler <%s> (primal solution %p)\n",
3065 nconss, conshdlr->
name, (
void*)
sol);
3124 SCIPerrorMessage(
"SOL separation method of constraint handler <%s> returned invalid result <%d>\n",
3190 && (
strcmp(conshdlr->
name,
"integral") != 0 )
3242 SCIPdebugMessage(
"enforcing constraints %d to %d of %d constraints of handler <%s> (%s relaxation solution)\n",
3315 SCIPerrorMessage(
"enforcing method of constraint handler <%s> for relaxation solutions returned invalid result <%d>\n",
3362 if( conshdlr->consenfolp !=
NULL )
3422 SCIPsetDebugMsg(
set,
"enforcing constraints %d to %d of %d constraints of handler <%s> (%s LP solution)\n",
3494 SCIPerrorMessage(
"enforcing method of constraint handler <%s> for LP solutions returned invalid result <%d>\n",
3518 SCIP_Bool* infeasible
3528 if( conshdlr->consgetdivebdchgs !=
NULL )
3574 if( conshdlr->consenfops !=
NULL )
3634 SCIPsetDebugMsg(
set,
"enforcing constraints %d to %d of %d constraints of handler <%s> (%s pseudo solution, objinfeasible=%u)\n",
3677 SCIPerrorMessage(
"enforcing method of constraint handler <%s> for pseudo solutions was skipped, even though the solution was not objective-infeasible\n",
3717 SCIPerrorMessage(
"enforcing method of constraint handler <%s> for pseudo solutions returned invalid result <%d>\n",
3832 if( conshdlr->consprop !=
NULL
3843 int nmarkedpropconss;
3876 SCIP_Longint lastpropdomchgcount;
3877 int lastnusefulpropconss;
3879 SCIPsetDebugMsg(
set,
"propagating constraints %d to %d of %d constraints of handler <%s> (%s pseudo solution, %d useful)\n",
3912 assert(nmarkedpropconss <= nconss);
3956 SCIPerrorMessage(
"propagation method of constraint handler <%s> returned invalid result <%d>\n",
4016 if( conshdlr->conspresol !=
NULL
4073 nfixedvars, naggrvars, nchgvartypes, nchgbds, naddholes,
4074 ndelconss, naddconss, nupgdconss, nchgcoefs, nchgsides,
result) );
4102 SCIPerrorMessage(
"presolving method of constraint handler <%s> returned invalid result <%d>\n",
4129 if( conshdlr->consdelvars !=
NULL )
4186 return conshdlr->
name;
4196 return conshdlr->
desc;
4246 SCIP_Bool delayprop,
4381 SCIPmessagePrintError(
"ERROR: 'PRESOLDELAY'-flag no longer available since SCIP 3.2, use an appropriate "
4382 "'SCIP_PRESOLTIMING' for <%s> constraint handler instead.\n", conshdlr->
name);
4558 return conshdlr->
conss;
5135 return (conshdlr->conspresol !=
NULL);
5205 return (conshdlr->conshdlrcopy !=
NULL);
5267 (*conssetchg)->addedconss =
NULL;
5268 (*conssetchg)->disabledconss =
NULL;
5269 (*conssetchg)->addedconsssize = 0;
5270 (*conssetchg)->naddedconss = 0;
5271 (*conssetchg)->disabledconsssize = 0;
5272 (*conssetchg)->ndisabledconss = 0;
5318 if( *conssetchg !=
NULL )
5390 SCIP_Bool focusnode,
5398 if( *conssetchg ==
NULL )
5405 (*conssetchg)->addedconss[(*conssetchg)->naddedconss] = cons;
5406 (*conssetchg)->naddedconss++;
5440 if( *conssetchg ==
NULL )
5447 (*conssetchg)->disabledconss[(*conssetchg)->ndisabledconss] = cons;
5448 (*conssetchg)->ndisabledconss++;
5474 SCIPsetDebugMsg(
set,
"delete added constraint <%s> at position %d from constraint set change data\n", cons->
name, arraypos);
5487 for( ; arraypos < conssetchg->
naddedconss-1; ++arraypos )
5515 SCIPsetDebugMsg(
set,
"delete disabled constraint <%s> at position %d from constraint set change data\n",
5542 if( nconss !=
NULL )
5559 if( conssetchg ==
NULL )
5562 SCIPsetDebugMsg(
set,
"applying constraint set changes at %p: %d constraint additions, %d constraint disablings\n",
5610 SCIPsetDebugMsg(
set,
"constraint <%s> of handler <%s> was deactivated -> remove it from disabledconss array\n",
5644 if( conssetchg ==
NULL )
5647 SCIPsetDebugMsg(
set,
"undoing constraint set changes at %p: %d constraint additions, %d constraint disablings\n",
5670 SCIPsetDebugMsg(
set,
"constraint <%s> of handler <%s> was deactivated -> remove it from disabledconss array\n",
5735 if( *conssetchg ==
NULL )
5738 SCIPsetDebugMsg(
set,
"moving constraint set changes at %p to global problem: %d constraint additions, %d constraint disablings\n",
5739 (
void*)*conssetchg, (*conssetchg)->
naddedconss, (*conssetchg)->ndisabledconss);
5744 for(
i = (*conssetchg)->naddedconss-1;
i >= 0; --
i )
5746 cons = (*conssetchg)->addedconss[
i];
5773 for(
i = (*conssetchg)->ndisabledconss-1;
i >= 0; --
i )
5775 cons = (*conssetchg)->disabledconss[
i];
5793 if( (*conssetchg)->naddedconss == 0 && (*conssetchg)->ndisabledconss == 0 )
5835 SCIP_Bool modifiable,
5841 SCIP_Bool removable,
5843 SCIP_Bool stickingatnode,
5847 SCIP_Bool deleteconsdata
5857 assert(!original || deleteconsdata);
5863 (*cons)->scip =
set->scip;
5865 (*cons)->conshdlr = conshdlr;
5866 (*cons)->consdata = consdata;
5867 (*cons)->transorigcons =
NULL;
5868 (*cons)->addconssetchg =
NULL;
5869 (*cons)->addarraypos = -1;
5870 (*cons)->consspos = -1;
5871 (*cons)->initconsspos = -1;
5872 (*cons)->sepaconsspos = -1;
5873 (*cons)->enfoconsspos = -1;
5874 (*cons)->checkconsspos = -1;
5875 (*cons)->propconsspos = -1;
5876 (*cons)->activedepth = -2;
5877 (*cons)->validdepth = (local ? -1 : 0);
5880 (*cons)->nupgradelocks = 0;
5881 (*cons)->initial = initial;
5882 (*cons)->separate = separate;
5883 (*cons)->enforce = enforce;
5884 (*cons)->check = check;
5886 (*cons)->sepaenabled = separate;
5888 (*cons)->local = local;
5889 (*cons)->modifiable = modifiable;
5890 (*cons)->dynamic = dynamic;
5891 (*cons)->removable = removable;
5892 (*cons)->stickingatnode = stickingatnode;
5893 (*cons)->original = original;
5894 (*cons)->deleteconsdata = deleteconsdata;
5895 (*cons)->active =
FALSE;
5896 (*cons)->conflict =
FALSE;
5897 (*cons)->enabled =
FALSE;
5898 (*cons)->obsolete =
FALSE;
5899 (*cons)->markpropagate =
TRUE;
5900 (*cons)->deleted =
FALSE;
5901 (*cons)->update =
FALSE;
5902 (*cons)->updateinsert =
FALSE;
5903 (*cons)->updateactivate =
FALSE;
5904 (*cons)->updatedeactivate =
FALSE;
5905 (*cons)->updateenable =
FALSE;
5906 (*cons)->updatedisable =
FALSE;
5907 (*cons)->updatesepaenable =
FALSE;
5908 (*cons)->updatesepadisable =
FALSE;
5909 (*cons)->updatepropenable =
FALSE;
5910 (*cons)->updatepropdisable =
FALSE;
5911 (*cons)->updateobsolete =
FALSE;
5912 (*cons)->updatemarkpropagate =
FALSE;
5913 (*cons)->updateunmarkpropagate =
FALSE;
5914 (*cons)->updatefree =
FALSE;
5915 (*cons)->updateactfocus =
FALSE;
5919 (*cons)->nlockspos[
i] = 0;
5920 (*cons)->nlocksneg[
i] = 0;
5933 (*cons)->updateinsert =
TRUE;
5936 assert((*cons)->nuses == 2);
5975 SCIP_Bool modifiable,
5977 SCIP_Bool removable,
5978 SCIP_Bool stickingatnode,
5999 initial, separate, enforce, check,
propagate, local, modifiable, dynamic, removable, stickingatnode, global,
valid) );
6031 SCIP_Bool modifiable,
6037 SCIP_Bool removable,
6039 SCIP_Bool stickingatnode,
6097 if( conshdlr ==
NULL )
6104 if ( conshdlr->consparse ==
NULL )
6110 SCIP_CALL( conshdlr->consparse(
set->scip, conshdlr, cons, consname,
str,
6111 initial, separate, enforce, check,
propagate, local, modifiable, dynamic, removable, stickingatnode,
success) );
6148 assert((*cons)->nuses == 0);
6149 assert(!(*cons)->active);
6150 assert(!(*cons)->update);
6151 assert(!(*cons)->original || (*cons)->transorigcons ==
NULL);
6157 (*cons)->name, (*cons)->consspos, (*cons)->conshdlr->name);
6160 if( (*cons)->conshdlr->consdelete !=
NULL && (*cons)->consdata !=
NULL && (*cons)->deleteconsdata )
6162 SCIP_CALL( (*cons)->conshdlr->consdelete(
set->scip, (*cons)->conshdlr, *cons, &(*cons)->
consdata) );
6164 else if( !(*cons)->deleteconsdata )
6165 (*cons)->consdata =
NULL;
6169 if( (*cons)->transorigcons !=
NULL )
6171 assert(!(*cons)->original);
6172 assert((*cons)->transorigcons->original);
6173 assert((*cons)->transorigcons->transorigcons == *cons);
6175 (*cons)->transorigcons->transorigcons =
NULL;
6179 if( !(*cons)->original )
6184 assert((*cons)->consspos == -1);
6216 assert((*cons)->nuses >= 1);
6220 SCIPsetDebugMsg(
set,
"release constraint <%s> with nuses=%d, cons pointer %p\n", (*cons)->name, (*cons)->nuses, (
void*)(*cons));
6222 if( (*cons)->nuses == 0 )
6224 assert(!(*cons)->active || (*cons)->updatedeactivate);
6230 (*cons)->updatefree =
TRUE;
6233 assert((*cons)->nuses == 1);
6264 if( conshdlr->consprint !=
NULL )
6266 SCIP_CALL( conshdlr->consprint(
set->scip, conshdlr, cons, file) );
6269 SCIPmessageFPrintInfo(messagehdlr, file,
"constraint handler <%s> doesn't support printing constraint", conshdlr->
name);
6302 if( conshdlr->consgetvars !=
NULL )
6337 if( conshdlr->consgetnvars !=
NULL )
6452 (*transcons)->transorigcons = origcons;
6474 if( cons->
initial != initial )
6542 if( cons->
enforce != enforce )
6577 if( cons->
check != check )
6579 cons->
check = check;
6657 cons->
local = local;
6665 SCIP_Bool modifiable
6698 SCIP_Bool stickingatnode
6716 cons->
name = (
char*)name;
6756 SCIPsetDebugMsg(
set,
"delayed activation of constraint <%s> in constraint handler <%s> (depth %d)\n",
6792 SCIPsetDebugMsg(
set,
"delayed deactivation of constraint <%s> in constraint handler <%s>\n",
7219 if( conshdlr->consresprop !=
NULL )
7224 SCIP_CALL( conshdlr->consresprop(
set->scip, conshdlr, cons,
infervar, inferinfo, inferboundtype, bdchgidx,
7236 SCIPerrorMessage(
"propagation conflict resolving method of constraint handler <%s> returned invalid result <%d>\n",
7243 SCIPerrorMessage(
"propagation conflict resolving method of constraint handler <%s> is not implemented\n",
7271 assert(-2 <= nlockspos && nlockspos <= 2);
7272 assert(-2 <= nlocksneg && nlocksneg <= 2);
7327 SCIPerrorMessage(
"feasibility check of constraint handler <%s> on constraint <%s> returned invalid result <%d>\n",
7369 SCIPerrorMessage(
"enforcing method of constraint handler <%s> for pseudo solutions returned invalid result <%d>\n",
7411 SCIPerrorMessage(
"enforcing method of constraint handler <%s> for LP returned invalid result <%d>\n",
7455 SCIPerrorMessage(
"enforcing method of constraint handler <%s> for relaxation returned invalid result <%d>\n",
7469 SCIP_Bool* infeasible
7483 if( conshdlr->consinitlp !=
NULL )
7485 SCIP_CALL( conshdlr->consinitlp(
set->scip, conshdlr, &cons, 1, infeasible) );
7509 if( conshdlr->conssepalp !=
NULL )
7523 SCIPerrorMessage(
"separation method of constraint handler <%s> returned invalid result <%d>\n", conshdlr->
name,
7552 if( conshdlr->conssepasol !=
NULL )
7566 SCIPerrorMessage(
"separation method of constraint handler for arbitrary primal solution <%s> returned invalid result <%d>\n",
7594 if( conshdlr->consprop !=
NULL )
7596 SCIP_CALL( conshdlr->consprop(
set->scip, conshdlr, &cons, 1, 1, 1, proptiming,
result) );
7606 SCIPerrorMessage(
"propagation method of constraint handler <%s> returned invalid result <%d>\n",
7640 if( conshdlr->consresprop !=
NULL )
7648 SCIPerrorMessage(
"propagation conflict resolving method of constraint handler <%s> returned invalid result <%d>\n",
7707 if( conshdlr->conspresol !=
NULL )
7712 nchgbds, naddholes, ndelconss, naddconss, nupgdconss, nchgcoefs, nchgsides,
result) );
7722 SCIPerrorMessage(
"presolving method of constraint handler <%s> returned invalid result <%d>\n",
7747 if( conshdlr->consactive !=
NULL )
7749 SCIP_CALL( conshdlr->consactive(
set->scip, conshdlr, cons) );
7771 if( conshdlr->consdeactive !=
NULL )
7773 SCIP_CALL( conshdlr->consdeactive(
set->scip, conshdlr, cons) );
7835 assert(conshdlrs !=
NULL || nconshdlrs == 0);
7837 for(
c = nconshdlrs - 1;
c >= 0; --
c )
7839 conshdlr = conshdlrs[
c];
7877 assert(conshdlrs !=
NULL || nconshdlrs == 0);
7879 for(
c = nconshdlrs - 1;
c >= 0; --
c )
7881 conshdlr = conshdlrs[
c];
8041#undef SCIPconsGetName
8042#undef SCIPconsGetPos
8043#undef SCIPconsGetHdlr
8044#undef SCIPconsGetData
8045#undef SCIPconsGetNUses
8046#undef SCIPconsGetActiveDepth
8047#undef SCIPconsGetValidDepth
8048#undef SCIPconsIsActive
8049#undef SCIPconsIsEnabled
8050#undef SCIPconsIsSeparationEnabled
8051#undef SCIPconsIsPropagationEnabled
8052#undef SCIPconsIsDeleted
8053#undef SCIPconsIsObsolete
8054#undef SCIPconsIsConflict
8055#undef SCIPconsGetAge
8056#undef SCIPconsIsInitial
8057#undef SCIPconsIsSeparated
8058#undef SCIPconsIsEnforced
8059#undef SCIPconsIsChecked
8060#undef SCIPconsIsMarkedPropagate
8061#undef SCIPconsIsPropagated
8062#undef SCIPconsIsGlobal
8063#undef SCIPconsIsLocal
8064#undef SCIPconsIsModifiable
8065#undef SCIPconsIsDynamic
8066#undef SCIPconsIsRemovable
8067#undef SCIPconsIsStickingAtNode
8068#undef SCIPconsIsInProb
8069#undef SCIPconsIsOriginal
8070#undef SCIPconsIsTransformed
8071#undef SCIPconsIsLockedPos
8072#undef SCIPconsIsLockedNeg
8073#undef SCIPconsIsLocked
8074#undef SCIPconsGetNLocksPos
8075#undef SCIPconsGetNLocksNeg
8076#undef SCIPconsIsLockedTypePos
8077#undef SCIPconsIsLockedTypeNeg
8078#undef SCIPconsIsLockedType
8079#undef SCIPconsGetNLocksTypePos
8080#undef SCIPconsGetNLocksTypeNeg
8081#undef SCIPconsIsAdded
8082#undef SCIPconsGetNUpgradeLocks
8178 return (!cons->
local ? 0
8323 return !cons->
local;
static GRAPHNODE ** active
int SCIPbranchcandGetNPseudoCands(SCIP_BRANCHCAND *branchcand)
internal methods for branching rules and branching candidate storage
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
SCIP_RETCODE SCIPconshdlrsStorePropagationStatus(SCIP_SET *set, SCIP_CONSHDLR **conshdlrs, int nconshdlrs)
void SCIPconshdlrSetExitpre(SCIP_CONSHDLR *conshdlr,)
static SCIP_RETCODE conshdlrAddInitcons(SCIP_CONSHDLR *conshdlr, SCIP_SET *set, SCIP_STAT *stat, SCIP_CONS *cons)
SCIP_RETCODE SCIPconsAddLocks(SCIP_CONS *cons, SCIP_SET *set, SCIP_LOCKTYPE locktype, int nlockspos, int nlocksneg)
SCIP_RETCODE SCIPconshdlrSeparateLP(SCIP_CONSHDLR *conshdlr, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_SEPASTORE *sepastore, int depth, SCIP_Bool execdelayed, SCIP_RESULT *result)
SCIP_RETCODE SCIPconsParse(SCIP_CONS **cons, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, const char *str, SCIP_Bool initial, SCIP_Bool separate, SCIP_Bool enforce, SCIP_Bool check, SCIP_Bool propagate, SCIP_Bool local, SCIP_Bool modifiable, SCIP_Bool dynamic, SCIP_Bool removable, SCIP_Bool stickingatnode, SCIP_Bool *success)
SCIP_RETCODE SCIPconssetchgUndo(SCIP_CONSSETCHG *conssetchg, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat)
SCIP_RETCODE SCIPconsEnableSeparation(SCIP_CONS *cons, SCIP_SET *set)
static SCIP_RETCODE conssetchgEnsureAddedconssSize(SCIP_CONSSETCHG *conssetchg, BMS_BLKMEM *blkmem, SCIP_SET *set, int num)
SCIP_RETCODE SCIPconshdlrSetPresol(SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSPRESOL((*conspresol)), int maxprerounds, SCIP_PRESOLTIMING presoltiming)
void SCIPconshdlrIncNCutsFound(SCIP_CONSHDLR *conshdlr)
SCIP_RETCODE SCIPconshdlrInit(SCIP_CONSHDLR *conshdlr, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat)
static SCIP_RETCODE conssetchgDelAddedCons(SCIP_CONSSETCHG *conssetchg, BMS_BLKMEM *blkmem, SCIP_SET *set, int arraypos)
static SCIP_RETCODE conshdlrEnableCons(SCIP_CONSHDLR *conshdlr, SCIP_SET *set, SCIP_STAT *stat, SCIP_CONS *cons)
void SCIPconshdlrSetDelvars(SCIP_CONSHDLR *conshdlr,)
void SCIPconsMarkConflict(SCIP_CONS *cons)
SCIP_RETCODE SCIPconsEnable(SCIP_CONS *cons, SCIP_SET *set, SCIP_STAT *stat)
void SCIPconsCapture(SCIP_CONS *cons)
SCIP_RETCODE SCIPconsProp(SCIP_CONS *cons, SCIP_SET *set, SCIP_PROPTIMING proptiming, SCIP_RESULT *result)
static SCIP_RETCODE conssetchgCreate(SCIP_CONSSETCHG **conssetchg, BMS_BLKMEM *blkmem)
static SCIP_RETCODE doConshdlrCreate(SCIP_CONSHDLR **conshdlr, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, int sepapriority, int enfopriority, int checkpriority, 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)
SCIP_RETCODE SCIPconsPrint(SCIP_CONS *cons, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, FILE *file)
SCIP_RETCODE SCIPconsCreate(SCIP_CONS **cons, BMS_BLKMEM *blkmem, SCIP_SET *set, const char *name, SCIP_CONSHDLR *conshdlr, SCIP_CONSDATA *consdata, SCIP_Bool initial, SCIP_Bool separate, SCIP_Bool enforce, SCIP_Bool check, SCIP_Bool propagate, SCIP_Bool local, SCIP_Bool modifiable, SCIP_Bool dynamic, SCIP_Bool removable, SCIP_Bool stickingatnode, SCIP_Bool original, SCIP_Bool deleteconsdata)
void SCIPconshdlrIncNAppliedCuts(SCIP_CONSHDLR *conshdlr)
static SCIP_RETCODE conshdlrEnsureCheckconssMem(SCIP_CONSHDLR *conshdlr, SCIP_SET *set, int num)
static void conshdlrDelPropcons(SCIP_CONSHDLR *conshdlr, SCIP_CONS *cons)
static SCIP_Bool conshdlrAreUpdatesDelayed(SCIP_CONSHDLR *conshdlr)
void SCIPconshdlrSetInit(SCIP_CONSHDLR *conshdlr,)
void SCIPconsSetLocal(SCIP_CONS *cons, SCIP_Bool local)
SCIP_RETCODE SCIPconsMarkPropagate(SCIP_CONS *cons, SCIP_SET *set)
SCIP_RETCODE SCIPconshdlrEnforceRelaxSol(SCIP_CONSHDLR *conshdlr, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_TREE *tree, SCIP_SEPASTORE *sepastore, SCIP_SOL *relaxsol, SCIP_Bool solinfeasible, SCIP_RESULT *result)
static SCIP_RETCODE conshdlrDisableConsSeparation(SCIP_CONSHDLR *conshdlr, SCIP_CONS *cons)
static SCIP_Real conshdlrGetAgeresetavg(SCIP_CONSHDLR *conshdlr)
void SCIPconshdlrSetGetNVars(SCIP_CONSHDLR *conshdlr,)
static SCIP_RETCODE conssetchgEnsureDisabledconssSize(SCIP_CONSSETCHG *conssetchg, BMS_BLKMEM *blkmem, SCIP_SET *set, int num)
SCIP_RETCODE SCIPconsDeactivate(SCIP_CONS *cons, SCIP_SET *set, SCIP_STAT *stat)
static SCIP_RETCODE conshdlrEnsurePropconssMem(SCIP_CONSHDLR *conshdlr, SCIP_SET *set, int num)
SCIP_RETCODE SCIPconshdlrExitsol(SCIP_CONSHDLR *conshdlr, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_Bool restart)
SCIP_RETCODE SCIPconshdlrSeparateSol(SCIP_CONSHDLR *conshdlr, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_SEPASTORE *sepastore, SCIP_SOL *sol, int depth, SCIP_Bool execdelayed, SCIP_RESULT *result)
SCIP_RETCODE SCIPconsDisable(SCIP_CONS *cons, SCIP_SET *set, SCIP_STAT *stat)
SCIP_RETCODE SCIPconsDeactive(SCIP_CONS *cons, SCIP_SET *set)
static SCIP_RETCODE conshdlrMarkConsObsolete(SCIP_CONSHDLR *conshdlr, SCIP_CONS *cons)
SCIP_RETCODE SCIPconshdlrLockVars(SCIP_CONSHDLR *conshdlr, SCIP_SET *set)
SCIP_RETCODE SCIPconshdlrEnforceLPSol(SCIP_CONSHDLR *conshdlr, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_TREE *tree, SCIP_SEPASTORE *sepastore, SCIP_Bool solinfeasible, SCIP_RESULT *result)
SCIP_RETCODE SCIPconsGetNVars(SCIP_CONS *cons, SCIP_SET *set, int *nvars, SCIP_Bool *success)
static SCIP_RETCODE conshdlrEnsureUpdateconssMem(SCIP_CONSHDLR *conshdlr, SCIP_SET *set, int num)
void SCIPconsSetStickingAtNode(SCIP_CONS *cons, SCIP_Bool stickingatnode)
SCIP_RETCODE SCIPconsSetSeparated(SCIP_CONS *cons, SCIP_SET *set, SCIP_Bool separate)
#define checkConssArrays(conshdlr)
SCIP_RETCODE SCIPconsSepalp(SCIP_CONS *cons, SCIP_SET *set, SCIP_RESULT *result)
static SCIP_RETCODE conssetchgRelease(SCIP_CONSSETCHG *conssetchg, BMS_BLKMEM *blkmem, SCIP_SET *set)
static SCIP_RETCODE conshdlrProcessUpdates(SCIP_CONSHDLR *conshdlr, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat)
SCIP_RETCODE SCIPconsEnfops(SCIP_CONS *cons, SCIP_SET *set, SCIP_Bool solinfeasible, SCIP_Bool objinfeasible, SCIP_RESULT *result)
SCIP_RETCODE SCIPconsActive(SCIP_CONS *cons, SCIP_SET *set)
#define AGERESETAVG_AGELIMIT
SCIP_RETCODE SCIPconsResetAge(SCIP_CONS *cons, SCIP_SET *set)
static SCIP_RETCODE conshdlrEnsureInitconssMem(SCIP_CONSHDLR *conshdlr, SCIP_SET *set, int num)
void SCIPconshdlrSetExit(SCIP_CONSHDLR *conshdlr,)
void SCIPconshdlrSetResprop(SCIP_CONSHDLR *conshdlr,)
void SCIPconshdlrSetTrans(SCIP_CONSHDLR *conshdlr,)
static SCIP_RETCODE conshdlrAddCheckcons(SCIP_CONSHDLR *conshdlr, SCIP_SET *set, SCIP_CONS *cons)
static SCIP_RETCODE ensurePropagationStorage(SCIP_SET *set, SCIP_CONSHDLR *conshdlr, int num)
void SCIPconshdlrSetDelete(SCIP_CONSHDLR *conshdlr,)
SCIP_RETCODE SCIPconsResprop(SCIP_CONS *cons, SCIP_SET *set, SCIP_VAR *infervar, int inferinfo, SCIP_BOUNDTYPE boundtype, SCIP_BDCHGIDX *bdchgidx, SCIP_Real relaxedbd, SCIP_RESULT *result)
void SCIPconshdlrSetParse(SCIP_CONSHDLR *conshdlr,)
void SCIPconsSetRemovable(SCIP_CONS *cons, SCIP_Bool removable)
void SCIPconshdlrSetExitsol(SCIP_CONSHDLR *conshdlr,)
void SCIPconshdlrEnableOrDisableClocks(SCIP_CONSHDLR *conshdlr, SCIP_Bool enable)
static SCIP_RETCODE conssetchgDelDisabledCons(SCIP_CONSSETCHG *conssetchg, BMS_BLKMEM *blkmem, SCIP_SET *set, int arraypos)
void SCIPconshdlrSetDisable(SCIP_CONSHDLR *conshdlr,)
void SCIPconshdlrSetActive(SCIP_CONSHDLR *conshdlr,)
SCIP_RETCODE SCIPconsTransform(SCIP_CONS *origcons, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_CONS **transcons)
static SCIP_Bool consExceedsAgelimit(SCIP_CONS *cons, SCIP_SET *set)
static SCIP_RETCODE conshdlrAddSepacons(SCIP_CONSHDLR *conshdlr, SCIP_SET *set, SCIP_CONS *cons)
SCIP_RETCODE SCIPconsCheck(SCIP_CONS *cons, SCIP_SET *set, SCIP_SOL *sol, SCIP_Bool checkintegrality, SCIP_Bool checklprows, SCIP_Bool printreason, SCIP_RESULT *result)
#define AGERESETAVG_OBSOLETEAGE
static void conshdlrDelEnfocons(SCIP_CONSHDLR *conshdlr, SCIP_CONS *cons)
SCIP_RETCODE SCIPconssetchgAddAddedCons(SCIP_CONSSETCHG **conssetchg, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_CONS *cons, int depth, SCIP_Bool focusnode, SCIP_Bool active)
SCIP_RETCODE SCIPconshdlrInitLP(SCIP_CONSHDLR *conshdlr, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_TREE *tree, SCIP_Bool initkeptconss, SCIP_Bool *cutoff)
static SCIP_RETCODE conshdlrDisableConsPropagation(SCIP_CONSHDLR *conshdlr, SCIP_CONS *cons)
static SCIP_RETCODE conshdlrEnsureConssMem(SCIP_CONSHDLR *conshdlr, SCIP_SET *set, int num)
SCIP_RETCODE SCIPconshdlrCreate(SCIP_CONSHDLR **conshdlr, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, int sepapriority, int enfopriority, int checkpriority, 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 void conshdlrUnmarkConsPropagate(SCIP_CONSHDLR *conshdlr, SCIP_CONS *cons)
static void conshdlrMarkConsPropagate(SCIP_CONSHDLR *conshdlr, SCIP_CONS *cons)
SCIP_RETCODE SCIPconsAddAge(SCIP_CONS *cons, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *prob, SCIP_Real deltaage, SCIP_REOPT *reopt)
SCIP_RETCODE SCIPconsEnablePropagation(SCIP_CONS *cons, SCIP_SET *set)
static void conshdlrDelCheckcons(SCIP_CONSHDLR *conshdlr, SCIP_CONS *cons)
static void conshdlrDelayUpdates(SCIP_CONSHDLR *conshdlr)
static void conshdlrDelInitcons(SCIP_CONSHDLR *conshdlr, SCIP_CONS *cons)
static SCIP_RETCODE conshdlrForceUpdates(SCIP_CONSHDLR *conshdlr, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat)
SCIP_RETCODE SCIPconsEnfolp(SCIP_CONS *cons, SCIP_SET *set, SCIP_Bool solinfeasible, SCIP_RESULT *result)
static SCIP_RETCODE conshdlrAddCons(SCIP_CONSHDLR *conshdlr, SCIP_SET *set, SCIP_CONS *cons)
SCIP_RETCODE SCIPconsSetInitial(SCIP_CONS *cons, SCIP_SET *set, SCIP_STAT *stat, SCIP_Bool initial)
SCIP_RETCODE SCIPconssetchgFree(SCIP_CONSSETCHG **conssetchg, BMS_BLKMEM *blkmem, SCIP_SET *set)
static SCIP_RETCODE conshdlrEnsureEnfoconssMem(SCIP_CONSHDLR *conshdlr, SCIP_SET *set, int num)
SCIP_RETCODE SCIPconsChgName(SCIP_CONS *cons, BMS_BLKMEM *blkmem, const char *name)
static SCIP_RETCODE conshdlrDisableCons(SCIP_CONSHDLR *conshdlr, SCIP_SET *set, SCIP_STAT *stat, SCIP_CONS *cons)
SCIP_RETCODE SCIPconsIncAge(SCIP_CONS *cons, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *prob, SCIP_REOPT *reopt)
static SCIP_Bool consExceedsObsoleteage(SCIP_CONS *cons, SCIP_SET *set)
void SCIPconshdlrSetEnable(SCIP_CONSHDLR *conshdlr,)
SCIP_RETCODE SCIPconshdlrInitpre(SCIP_CONSHDLR *conshdlr, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat)
void SCIPconsSetDynamic(SCIP_CONS *cons, SCIP_Bool dynamic)
SCIP_RETCODE SCIPconsSepasol(SCIP_CONS *cons, SCIP_SET *set, SCIP_SOL *sol, SCIP_RESULT *result)
SCIP_RETCODE SCIPconsFree(SCIP_CONS **cons, BMS_BLKMEM *blkmem, SCIP_SET *set)
static SCIP_RETCODE conshdlrMarkConsUseful(SCIP_CONSHDLR *conshdlr, SCIP_CONS *cons)
static SCIP_RETCODE conshdlrEnableConsPropagation(SCIP_CONSHDLR *conshdlr, SCIP_SET *set, SCIP_CONS *cons)
SCIP_RETCODE SCIPconssetchgAddDisabledCons(SCIP_CONSSETCHG **conssetchg, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_CONS *cons)
void SCIPconshdlrSetDeactive(SCIP_CONSHDLR *conshdlr,)
SCIP_RETCODE SCIPconsDelete(SCIP_CONS *cons, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *prob, SCIP_REOPT *reopt)
void SCIPconshdlrSetGetVars(SCIP_CONSHDLR *conshdlr,)
SCIP_RETCODE SCIPconsPresol(SCIP_CONS *cons, SCIP_SET *set, int nrounds, SCIP_PRESOLTIMING timing, int nnewfixedvars, int nnewaggrvars, int nnewchgvartypes, int nnewchgbds, int nnewholes, int nnewdelconss, int nnewaddconss, int nnewupgdconss, int nnewchgcoefs, int nnewchgsides, 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 SCIPconsDisablePropagation(SCIP_CONS *cons, SCIP_SET *set)
SCIP_RETCODE SCIPconsCopy(SCIP_CONS **cons, SCIP_SET *set, const char *name, SCIP *sourcescip, SCIP_CONSHDLR *sourceconshdlr, SCIP_CONS *sourcecons, SCIP_HASHMAP *varmap, SCIP_HASHMAP *consmap, SCIP_Bool initial, SCIP_Bool separate, SCIP_Bool enforce, SCIP_Bool check, SCIP_Bool propagate, SCIP_Bool local, SCIP_Bool modifiable, SCIP_Bool dynamic, SCIP_Bool removable, SCIP_Bool stickingatnode, SCIP_Bool global, SCIP_Bool *valid)
static void conshdlrDelCons(SCIP_CONSHDLR *conshdlr, SCIP_CONS *cons)
void SCIPconshdlrSetGetDiveBdChgs(SCIP_CONSHDLR *conshdlr,)
SCIP_RETCODE SCIPconsRelease(SCIP_CONS **cons, BMS_BLKMEM *blkmem, SCIP_SET *set)
SCIP_RETCODE SCIPconsResolvePropagation(SCIP_CONS *cons, SCIP_SET *set, SCIP_VAR *infervar, int inferinfo, SCIP_BOUNDTYPE inferboundtype, SCIP_BDCHGIDX *bdchgidx, SCIP_Real relaxedbd, SCIP_RESULT *result)
SCIP_RETCODE SCIPconsSetPropagated(SCIP_CONS *cons, SCIP_SET *set, SCIP_Bool propagate)
SCIP_RETCODE SCIPconsDisableSeparation(SCIP_CONS *cons, SCIP_SET *set)
static SCIP_RETCODE conshdlrEnsureSepaconssMem(SCIP_CONSHDLR *conshdlr, SCIP_SET *set, int num)
void SCIPconshdlrSetInitsol(SCIP_CONSHDLR *conshdlr,)
SCIP_RETCODE SCIPconshdlrUnlockVars(SCIP_CONSHDLR *conshdlr, SCIP_SET *set)
SCIP_RETCODE SCIPconsSetChecked(SCIP_CONS *cons, SCIP_SET *set, SCIP_Bool check)
SCIP_RETCODE SCIPconsInitlp(SCIP_CONS *cons, SCIP_SET *set, SCIP_Bool *infeasible)
SCIP_RETCODE SCIPconsEnforelax(SCIP_CONS *cons, SCIP_SET *set, SCIP_SOL *sol, SCIP_Bool solinfeasible, SCIP_RESULT *result)
static SCIP_RETCODE conshdlrAddUpdateCons(SCIP_CONSHDLR *conshdlr, SCIP_SET *set, SCIP_CONS *cons)
SCIP_RETCODE SCIPconshdlrsResetPropagationStatus(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_CONSHDLR **conshdlrs, int nconshdlrs)
SCIP_RETCODE SCIPconshdlrCopyInclude(SCIP_CONSHDLR *conshdlr, SCIP_SET *set, SCIP_Bool *valid)
SCIP_RETCODE SCIPconsActivate(SCIP_CONS *cons, SCIP_SET *set, SCIP_STAT *stat, int depth, SCIP_Bool focusnode)
static SCIP_RETCODE conshdlrAddEnfocons(SCIP_CONSHDLR *conshdlr, SCIP_SET *set, SCIP_CONS *cons)
static SCIP_RETCODE conshdlrEnableConsSeparation(SCIP_CONSHDLR *conshdlr, SCIP_SET *set, SCIP_CONS *cons)
static void conshdlrDelSepacons(SCIP_CONSHDLR *conshdlr, SCIP_CONS *cons)
SCIP_CONS * SCIPconsGetTransformed(SCIP_CONS *cons)
#define AGERESETAVG_DECAY
SCIP_RETCODE SCIPconshdlrPropagate(SCIP_CONSHDLR *conshdlr, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, int depth, SCIP_Bool fullpropagation, SCIP_Bool execdelayed, SCIP_Bool instrongbranching, SCIP_PROPTIMING proptiming, SCIP_RESULT *result)
void SCIPconshdlrSetInitlp(SCIP_CONSHDLR *conshdlr,)
SCIP_RETCODE SCIPconsUnmarkPropagate(SCIP_CONS *cons, SCIP_SET *set)
SCIP_RETCODE SCIPconshdlrGetDiveBoundChanges(SCIP_CONSHDLR *conshdlr, SCIP_SET *set, SCIP_DIVESET *diveset, SCIP_SOL *sol, SCIP_Bool *success, SCIP_Bool *infeasible)
static void conshdlrUpdateAgeresetavg(SCIP_CONSHDLR *conshdlr, SCIP_Real age)
void SCIPconshdlrSetCopy(SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSHDLRCOPY((*conshdlrcopy)),)
void SCIPconshdlrSetFree(SCIP_CONSHDLR *conshdlr,)
static SCIP_RETCODE conshdlrAddPropcons(SCIP_CONSHDLR *conshdlr, SCIP_SET *set, SCIP_CONS *cons)
SCIP_RETCODE SCIPconshdlrPresolve(SCIP_CONSHDLR *conshdlr, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, 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 SCIPconsGetVars(SCIP_CONS *cons, SCIP_SET *set, SCIP_VAR **vars, int varssize, SCIP_Bool *success)
void SCIPconsSetNamePointer(SCIP_CONS *cons, const char *name)
SCIP_RETCODE SCIPconshdlrEnforcePseudoSol(SCIP_CONSHDLR *conshdlr, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_TREE *tree, SCIP_BRANCHCAND *branchcand, SCIP_Bool solinfeasible, SCIP_Bool objinfeasible, SCIP_Bool forced, SCIP_RESULT *result)
void SCIPconshdlrSetInitpre(SCIP_CONSHDLR *conshdlr,)
SCIP_RETCODE SCIPconssetchgApply(SCIP_CONSSETCHG *conssetchg, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, int depth, SCIP_Bool focusnode)
SCIP_RETCODE SCIPconshdlrDelVars(SCIP_CONSHDLR *conshdlr, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat)
SCIP_RETCODE SCIPconsSetEnforced(SCIP_CONS *cons, SCIP_SET *set, SCIP_Bool enforce)
void SCIPconsSetModifiable(SCIP_CONS *cons, SCIP_Bool modifiable)
static SCIP_RETCODE conshdlrDeactivateCons(SCIP_CONSHDLR *conshdlr, SCIP_SET *set, SCIP_STAT *stat, SCIP_CONS *cons)
SCIP_RETCODE SCIPconshdlrExitpre(SCIP_CONSHDLR *conshdlr, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat)
SCIP_RETCODE SCIPconshdlrInitsol(SCIP_CONSHDLR *conshdlr, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat)
SCIP_RETCODE SCIPconssetchgMakeGlobal(SCIP_CONSSETCHG **conssetchg, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *prob, SCIP_REOPT *reopt)
void SCIPconshdlrSetPrint(SCIP_CONSHDLR *conshdlr,)
SCIP_RETCODE SCIPconshdlrCheck(SCIP_CONSHDLR *conshdlr, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_SOL *sol, SCIP_Bool checkintegrality, SCIP_Bool checklprows, SCIP_Bool printreason, SCIP_Bool completely, SCIP_RESULT *result)
SCIP_RETCODE SCIPconshdlrExit(SCIP_CONSHDLR *conshdlr, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat)
static SCIP_RETCODE conshdlrActivateCons(SCIP_CONSHDLR *conshdlr, SCIP_SET *set, SCIP_STAT *stat, SCIP_CONS *cons, int depth, SCIP_Bool focusnode)
SCIP_RETCODE SCIPconshdlrFree(SCIP_CONSHDLR **conshdlr, SCIP_SET *set)
internal methods for constraints and constraint handlers
common defines and data types used in all packages of SCIP
#define SCIP_MAXTREEDEPTH
#define SCIP_CALL_FINALLY(x, y)
void SCIPinfoMessage(SCIP *scip, FILE *file, const char *formatstr,...)
int SCIPconshdlrGetNCheckConss(SCIP_CONSHDLR *conshdlr)
void SCIPconshdlrSetData(SCIP_CONSHDLR *conshdlr, SCIP_CONSHDLRDATA *conshdlrdata)
void SCIPconshdlrSetEnforelax(SCIP_CONSHDLR *conshdlr,)
int SCIPconshdlrGetMaxNActiveConss(SCIP_CONSHDLR *conshdlr)
SCIP_Real SCIPconshdlrGetCheckTime(SCIP_CONSHDLR *conshdlr)
SCIP_PROPTIMING SCIPconshdlrGetPropTiming(SCIP_CONSHDLR *conshdlr)
SCIP_Bool SCIPconshdlrWasSolSeparationDelayed(SCIP_CONSHDLR *conshdlr)
SCIP_Longint SCIPconshdlrGetNCheckCalls(SCIP_CONSHDLR *conshdlr)
SCIP_CONS ** SCIPconshdlrGetCheckConss(SCIP_CONSHDLR *conshdlr)
int SCIPconshdlrGetNChgSides(SCIP_CONSHDLR *conshdlr)
SCIP_Real SCIPconshdlrGetPresolTime(SCIP_CONSHDLR *conshdlr)
int SCIPconshdlrGetEagerFreq(SCIP_CONSHDLR *conshdlr)
SCIP_Bool SCIPconshdlrDoesPresolve(SCIP_CONSHDLR *conshdlr)
void SCIPconshdlrSetProp(SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSPROP((*consprop)), int propfreq, SCIP_Bool delayprop, SCIP_PROPTIMING timingmask)
int SCIPconshdlrGetNFixedVars(SCIP_CONSHDLR *conshdlr)
SCIP_PRESOLTIMING SCIPconshdlrGetPresolTiming(SCIP_CONSHDLR *conshdlr)
SCIP_Real SCIPconshdlrGetEnfoLPTime(SCIP_CONSHDLR *conshdlr)
int SCIPconshdlrGetNPresolCalls(SCIP_CONSHDLR *conshdlr)
SCIP_Longint SCIPconshdlrGetNDomredsFound(SCIP_CONSHDLR *conshdlr)
int SCIPconshdlrGetSepaPriority(SCIP_CONSHDLR *conshdlr)
SCIP_Longint SCIPconshdlrGetNCutsApplied(SCIP_CONSHDLR *conshdlr)
int SCIPconshdlrGetNChgCoefs(SCIP_CONSHDLR *conshdlr)
void SCIPconshdlrSetPresolTiming(SCIP_CONSHDLR *conshdlr, SCIP_PRESOLTIMING presoltiming)
int SCIPconshdlrGetNUpdateConss(SCIP_CONSHDLR *conshdlr)
SCIP_CONS ** SCIPconshdlrGetEnfoConss(SCIP_CONSHDLR *conshdlr)
void SCIPconshdlrSetSepa(SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSSEPALP((*conssepalp)), SCIP_DECL_CONSSEPASOL((*conssepasol)), int sepafreq, int sepapriority, SCIP_Bool delaysepa)
SCIP_Real SCIPconshdlrGetStrongBranchPropTime(SCIP_CONSHDLR *conshdlr)
SCIP_Longint SCIPconshdlrGetNCutsFound(SCIP_CONSHDLR *conshdlr)
SCIP_Bool SCIPconshdlrIsPropagationDelayed(SCIP_CONSHDLR *conshdlr)
SCIP_Real SCIPconshdlrGetPropTime(SCIP_CONSHDLR *conshdlr)
void SCIPconssetchgGetAddedConsData(SCIP_CONSSETCHG *conssetchg, SCIP_CONS ***conss, int *nconss)
SCIP_Real SCIPconshdlrGetEnfoPSTime(SCIP_CONSHDLR *conshdlr)
int SCIPconshdlrGetPropFreq(SCIP_CONSHDLR *conshdlr)
int SCIPconshdlrGetNConss(SCIP_CONSHDLR *conshdlr)
SCIP_Longint SCIPconshdlrGetNCutoffs(SCIP_CONSHDLR *conshdlr)
const char * SCIPconshdlrGetName(SCIP_CONSHDLR *conshdlr)
int SCIPconshdlrGetNEnabledConss(SCIP_CONSHDLR *conshdlr)
SCIP_CONS ** SCIPconshdlrGetUpdateConss(SCIP_CONSHDLR *conshdlr)
SCIP_Bool SCIPconshdlrIsSeparationDelayed(SCIP_CONSHDLR *conshdlr)
SCIP_Longint SCIPconshdlrGetNSepaCalls(SCIP_CONSHDLR *conshdlr)
int SCIPconshdlrGetNDelConss(SCIP_CONSHDLR *conshdlr)
SCIP_Bool SCIPconshdlrWasLPSeparationDelayed(SCIP_CONSHDLR *conshdlr)
SCIP_Longint SCIPconshdlrGetNChildren(SCIP_CONSHDLR *conshdlr)
SCIP_Real SCIPconshdlrGetEnfoRelaxTime(SCIP_CONSHDLR *conshdlr)
void SCIPconshdlrSetPropTiming(SCIP_CONSHDLR *conshdlr, SCIP_PROPTIMING proptiming)
SCIP_Bool SCIPconshdlrNeedsCons(SCIP_CONSHDLR *conshdlr)
int SCIPconshdlrGetNAggrVars(SCIP_CONSHDLR *conshdlr)
SCIP_Longint SCIPconshdlrGetNEnfoPSCalls(SCIP_CONSHDLR *conshdlr)
int SCIPconshdlrGetNAddHoles(SCIP_CONSHDLR *conshdlr)
int SCIPconshdlrGetNEnfoConss(SCIP_CONSHDLR *conshdlr)
SCIP_Bool SCIPconshdlrIsInitialized(SCIP_CONSHDLR *conshdlr)
int SCIPconshdlrGetNUpgdConss(SCIP_CONSHDLR *conshdlr)
int SCIPconshdlrGetStartNActiveConss(SCIP_CONSHDLR *conshdlr)
SCIP_Bool SCIPconshdlrWasPropagationDelayed(SCIP_CONSHDLR *conshdlr)
int SCIPconshdlrGetNAddConss(SCIP_CONSHDLR *conshdlr)
int SCIPconshdlrGetNChgBds(SCIP_CONSHDLR *conshdlr)
const char * SCIPconshdlrGetDesc(SCIP_CONSHDLR *conshdlr)
SCIP_CONSHDLRDATA * SCIPconshdlrGetData(SCIP_CONSHDLR *conshdlr)
SCIP_Longint SCIPconshdlrGetNConssFound(SCIP_CONSHDLR *conshdlr)
int SCIPconshdlrGetNActiveConss(SCIP_CONSHDLR *conshdlr)
int SCIPconshdlrGetCheckPriority(SCIP_CONSHDLR *conshdlr)
int SCIPconshdlrGetSepaFreq(SCIP_CONSHDLR *conshdlr)
SCIP_Longint SCIPconshdlrGetNPropCalls(SCIP_CONSHDLR *conshdlr)
SCIP_Longint SCIPconshdlrGetNEnfoLPCalls(SCIP_CONSHDLR *conshdlr)
SCIP_CONS ** SCIPconshdlrGetConss(SCIP_CONSHDLR *conshdlr)
int SCIPconshdlrGetEnfoPriority(SCIP_CONSHDLR *conshdlr)
SCIP_Real SCIPconshdlrGetSetupTime(SCIP_CONSHDLR *conshdlr)
SCIP_Longint SCIPconshdlrGetNRespropCalls(SCIP_CONSHDLR *conshdlr)
SCIP_Real SCIPconshdlrGetSepaTime(SCIP_CONSHDLR *conshdlr)
SCIP_Bool SCIPconshdlrIsClonable(SCIP_CONSHDLR *conshdlr)
int SCIPconshdlrGetNChgVarTypes(SCIP_CONSHDLR *conshdlr)
SCIP_Real SCIPconshdlrGetRespropTime(SCIP_CONSHDLR *conshdlr)
SCIP_Longint SCIPconshdlrGetNEnfoRelaxCalls(SCIP_CONSHDLR *conshdlr)
SCIP_Bool SCIPconsIsLockedNeg(SCIP_CONS *cons)
SCIP_CONSDATA * SCIPconsGetData(SCIP_CONS *cons)
void SCIPconsAddUpgradeLocks(SCIP_CONS *cons, int nlocks)
int SCIPconsGetPos(SCIP_CONS *cons)
SCIP_Bool SCIPconsIsConflict(SCIP_CONS *cons)
SCIP_Bool SCIPconsIsDynamic(SCIP_CONS *cons)
SCIP_Real SCIPconsGetAge(SCIP_CONS *cons)
SCIP_CONSHDLR * SCIPconsGetHdlr(SCIP_CONS *cons)
int SCIPconsGetActiveDepth(SCIP_CONS *cons)
SCIP_Bool SCIPconsIsLockedPos(SCIP_CONS *cons)
SCIP_Bool SCIPconsIsPropagationEnabled(SCIP_CONS *cons)
SCIP_Bool SCIPconsIsInitial(SCIP_CONS *cons)
int SCIPconsGetNUpgradeLocks(SCIP_CONS *cons)
SCIP_Bool SCIPconsIsMarkedPropagate(SCIP_CONS *cons)
int SCIPconsGetNLocksTypeNeg(SCIP_CONS *cons, SCIP_LOCKTYPE locktype)
int SCIPconsGetValidDepth(SCIP_CONS *cons)
SCIP_Bool SCIPconsIsOriginal(SCIP_CONS *cons)
SCIP_Bool SCIPconsIsChecked(SCIP_CONS *cons)
SCIP_Bool SCIPconsIsDeleted(SCIP_CONS *cons)
SCIP_Bool SCIPconsIsUpdatedeactivate(SCIP_CONS *cons)
SCIP_Bool SCIPconsIsTransformed(SCIP_CONS *cons)
int SCIPconsGetNLocksPos(SCIP_CONS *cons)
SCIP_Bool SCIPconsIsLockedType(SCIP_CONS *cons, SCIP_LOCKTYPE locktype)
SCIP_Bool SCIPconsIsEnforced(SCIP_CONS *cons)
SCIP_Bool SCIPconsIsInProb(SCIP_CONS *cons)
SCIP_Bool SCIPconsIsGlobal(SCIP_CONS *cons)
SCIP_Bool SCIPconsIsActive(SCIP_CONS *cons)
SCIP_Bool SCIPconsIsPropagated(SCIP_CONS *cons)
SCIP_Bool SCIPconsIsLocal(SCIP_CONS *cons)
int SCIPconsGetNLocksNeg(SCIP_CONS *cons)
int SCIPconsGetNUses(SCIP_CONS *cons)
SCIP_Bool SCIPconsIsLockedTypePos(SCIP_CONS *cons, SCIP_LOCKTYPE locktype)
SCIP_Bool SCIPconsIsEnabled(SCIP_CONS *cons)
const char * SCIPconsGetName(SCIP_CONS *cons)
SCIP_Bool SCIPconsIsLocked(SCIP_CONS *cons)
SCIP_Bool SCIPconsIsSeparationEnabled(SCIP_CONS *cons)
SCIP_Bool SCIPconsIsLockedTypeNeg(SCIP_CONS *cons, SCIP_LOCKTYPE locktype)
SCIP_Bool SCIPconsIsModifiable(SCIP_CONS *cons)
SCIP_Bool SCIPconsIsAdded(SCIP_CONS *cons)
SCIP_Bool SCIPconsIsObsolete(SCIP_CONS *cons)
SCIP_Bool SCIPconsIsStickingAtNode(SCIP_CONS *cons)
int SCIPconsGetNLocksTypePos(SCIP_CONS *cons, SCIP_LOCKTYPE locktype)
SCIP_Bool SCIPconsIsSeparated(SCIP_CONS *cons)
SCIP_Bool SCIPconsIsRemovable(SCIP_CONS *cons)
#define SCIPfreeBlockMemory(scip, ptr)
#define SCIPallocBlockMemory(scip, ptr)
int SCIPlinConsStatsGetSum(SCIP_LINCONSSTATS *linconsstats)
void SCIPlinConsStatsIncTypeCount(SCIP_LINCONSSTATS *linconsstats, SCIP_LINCONSTYPE linconstype, int increment)
int SCIPlinConsStatsGetTypeCount(SCIP_LINCONSSTATS *linconsstats, SCIP_LINCONSTYPE linconstype)
void SCIPlinConsStatsFree(SCIP *scip, SCIP_LINCONSSTATS **linconsstats)
void SCIPlinConsStatsReset(SCIP_LINCONSSTATS *linconsstats)
void SCIPprintLinConsStats(SCIP *scip, FILE *file, SCIP_LINCONSSTATS *linconsstats)
SCIP_RETCODE SCIPlinConsStatsCreate(SCIP *scip, SCIP_LINCONSSTATS **linconsstats)
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,...)
void SCIPstrCopySection(const char *str, char startchar, char endchar, char *token, int size, char **endptr)
SCIP_RETCODE SCIPskipSpace(char **s)
static SCIP_DIVESET * diveset
assert(minobj< SCIPgetCutoffbound(scip))
static SCIP_Bool propagate
static const char * paramname[]
#define BMSduplicateBlockMemoryArray(mem, ptr, source, num)
#define BMSfreeMemory(ptr)
#define BMSfreeBlockMemory(mem, ptr)
#define BMSallocBlockMemory(mem, ptr)
#define BMSreallocMemoryArray(ptr, num)
#define BMSfreeBlockMemoryArrayNull(mem, ptr, num)
#define BMSduplicateMemoryArray(ptr, source, num)
#define BMSclearMemory(ptr)
#define BMScopyMemoryArray(ptr, source, num)
#define BMSfreeBlockMemoryArray(mem, ptr, num)
#define BMSreallocBlockMemoryArray(mem, ptr, oldnum, newnum)
#define BMSclearMemoryArray(ptr, num)
struct BMS_BlkMem BMS_BLKMEM
#define BMSfreeMemoryArrayNull(ptr)
#define BMSallocMemory(ptr)
void SCIPmessagePrintError(const char *formatstr,...)
void SCIPmessageFPrintInfo(SCIP_MESSAGEHDLR *messagehdlr, FILE *file, const char *formatstr,...)
void SCIPmessagePrintWarning(SCIP_MESSAGEHDLR *messagehdlr, const char *formatstr,...)
SCIP_RETCODE SCIPprobDelCons(SCIP_PROB *prob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_CONS *cons)
SCIP_RETCODE SCIPprobAddCons(SCIP_PROB *prob, SCIP_SET *set, SCIP_STAT *stat, SCIP_CONS *cons)
internal methods for storing and manipulating the main problem
public data structures and miscellaneous methods
SCIP_Bool SCIPreoptConsCanBeDeleted(SCIP_REOPT *reopt, SCIP_CONS *cons)
data structures and methods for collecting reoptimization information
int SCIPsepastoreGetNCuts(SCIP_SEPASTORE *sepastore)
internal methods for storing separated cuts
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)
SCIP_CONSHDLR * SCIPsetFindConshdlr(SCIP_SET *set, const char *name)
SCIP_STAGE SCIPsetGetStage(SCIP_SET *set)
int SCIPsetCalcMemGrowSize(SCIP_SET *set, int num)
internal methods for global SCIP settings
internal methods for problem statistics
SCIP_CONS ** disabledconss
unsigned int nupgradelocks
int nlocksneg[NLOCKTYPES]
unsigned int updatesepaenable
unsigned int updateobsolete
unsigned int updatesepadisable
SCIP_CONSSETCHG * addconssetchg
unsigned int updateenable
unsigned int updateactfocus
unsigned int updateunmarkpropagate
unsigned int updateactivate
SCIP_CONS * transorigcons
unsigned int updatedisable
unsigned int updatedeactivate
unsigned int updatepropenable
unsigned int stickingatnode
int nlockspos[NLOCKTYPES]
unsigned int markpropagate
unsigned int updatemarkpropagate
unsigned int updatepropdisable
unsigned int updateinsert
SCIP_RESULT lastenfolpresult
SCIP_Longint ndomredsfound
SCIP_PRESOLTIMING presoltiming
SCIP_Longint lastenfolpdomchgcount
SCIP_CLOCK * enforelaxtime
int storednmarkedpropconss
SCIP_Longint nenfolpcalls
SCIP_RESULT lastenfopsresult
SCIP_Longint nenforelaxcalls
SCIP_Longint lastsepalpcount
SCIP_Longint lastenfolplpcount
SCIP_Bool sepasolwasdelayed
SCIP_Bool sepalpwasdelayed
SCIP_Longint ncutsapplied
SCIP_RESULT lastenforelaxresult
SCIP_Longint nenfopscalls
SCIP_Longint lastenforelaxrelaxcount
SCIP_Longint storedpropdomchgcount
SCIP_Longint lastenfolpnode
SCIP_PROPTIMING proptiming
SCIP_Longint lastenforelaxnode
SCIP_CONS ** storedpropconss
SCIP_Longint lastpropdomchgcount
SCIP_Longint lastenfopsnode
SCIP_Longint lastenforelaxdomchgcount
SCIP_Longint nrespropcalls
SCIP_CONSHDLRDATA * conshdlrdata
SCIP_Longint lastenfopsdomchgcount
SCIP_Longint nprobholechgs
SCIP_Longint ninitconssadded
SCIP_Longint nprobboundchgs
datastructures for constraints and constraint handlers
SCIP_Bool SCIPtreeProbing(SCIP_TREE *tree)
int SCIPtreeGetCurrentDepth(SCIP_TREE *tree)
internal methods for branch and bound tree
#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)
@ SCIP_LINCONSTYPE_BINPACKING
@ SCIP_LINCONSTYPE_VARBOUND
@ SCIP_LINCONSTYPE_INVKNAPSACK
@ SCIP_LINCONSTYPE_PRECEDENCE
@ SCIP_LINCONSTYPE_AGGREGATION
@ SCIP_LINCONSTYPE_MIXEDBINARY
@ SCIP_LINCONSTYPE_SINGLETON
@ SCIP_LINCONSTYPE_SETCOVERING
@ SCIP_LINCONSTYPE_EQKNAPSACK
@ SCIP_LINCONSTYPE_KNAPSACK
@ SCIP_LINCONSTYPE_SETPARTITION
@ SCIP_LINCONSTYPE_INTKNAPSACK
@ SCIP_LINCONSTYPE_SETPACKING
@ SCIP_LINCONSTYPE_GENERAL
@ SCIP_LINCONSTYPE_CARDINALITY
#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)
#define SCIP_DECL_CONSCOPY(x)
#define SCIP_DECL_CONSINIT(x)
struct SCIP_ConsData SCIP_CONSDATA
#define SCIP_DECL_CONSCHECK(x)
#define SCIP_DECL_CONSHDLRCOPY(x)
#define SCIP_DECL_CONSEXITSOL(x)
#define SCIP_NLINCONSTYPES
#define SCIP_DECL_CONSFREE(x)
#define SCIP_DECL_CONSSEPASOL(x)
enum SCIP_LinConstype SCIP_LINCONSTYPE
#define SCIP_DECL_CONSDELVARS(x)
enum SCIP_BoundType SCIP_BOUNDTYPE
#define SCIP_DECL_SORTPTRCOMP(x)
#define SCIP_DECL_HASHGETKEY(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_PROPTIMING_DURINGLPLOOP
enum SCIP_LockType SCIP_LOCKTYPE
internal methods for problem variables