assert(conshdlr !=
NULL);
91assert(num <= conshdlr->consssize);
104assert(conshdlr !=
NULL);
115assert(num <= conshdlr->initconsssize);
128assert(conshdlr !=
NULL);
139assert(num <= conshdlr->sepaconsssize);
152assert(conshdlr !=
NULL);
163assert(num <= conshdlr->enfoconsssize);
176assert(conshdlr !=
NULL);
187assert(num <= conshdlr->checkconsssize);
200assert(conshdlr !=
NULL);
211assert(num <= conshdlr->propconsssize);
224assert(conshdlr !=
NULL);
235assert(num <= conshdlr->updateconsssize);
247#define checkConssArrays(conshdlr) 249#ifdef CHECKCONSARRAYS 250#undef checkConssArrays 259assert(conshdlr !=
NULL);
262 for( c = 0; c < conshdlr->
nconss; ++c )
266assert(conshdlr->
conss[c]->
active== (c < conshdlr->nactiveconss));
270 for( c = 0; c < conshdlr->
ninitconss; ++c )
274assert(c < conshdlr->ninitconsskept || conshdlr->
initconss[c]->
active);
278 for( c = 0; c < conshdlr->
nsepaconss; ++c )
288 for( c = 0; c < conshdlr->
nenfoconss; ++c )
306 for( c = 0; c < conshdlr->
npropconss; ++c )
336assert(conshdlr !=
NULL);
348assert(conshdlr !=
NULL);
361assert(cons !=
NULL);
365&& ((
set->cons_agelimit > 0 && cons->
age>
set->cons_agelimit)
376assert(cons !=
NULL);
380&& ((
set->cons_obsoleteage > 0 && cons->
age>
set->cons_obsoleteage)
395assert(conshdlr !=
NULL);
400assert(cons !=
NULL);
525assert(conshdlr !=
NULL);
530assert(cons !=
NULL);
630assert(conshdlr !=
NULL);
633assert(cons !=
NULL);
705assert(conshdlr !=
NULL);
708assert(cons !=
NULL);
776assert(conshdlr !=
NULL);
777assert(cons !=
NULL);
778assert(cons->
conshdlr== conshdlr);
783assert(cons->
scip==
set->scip);
801assert(conshdlr !=
NULL);
802assert(cons !=
NULL);
803assert(cons->
conshdlr== conshdlr);
825assert(conshdlr !=
NULL);
826assert(cons !=
NULL);
827assert(cons->
conshdlr== conshdlr);
859assert(conshdlr !=
NULL);
860assert(cons !=
NULL);
861assert(cons->
conshdlr== conshdlr);
866 if( delpos < conshdlr->ninitconsskept )
874 if( delpos < conshdlr->ninitconss-1 )
895assert(conshdlr !=
NULL);
897assert(cons !=
NULL);
898assert(cons->
conshdlr== conshdlr);
905assert(cons->
scip==
set->scip);
938assert(conshdlr !=
NULL);
940assert(cons !=
NULL);
941assert(cons->
conshdlr== conshdlr);
951assert(0 <= delpos && delpos < conshdlr->nusefulsepaconss);
953 if( delpos < conshdlr->lastnusefulsepaconss )
963assert(conshdlr->
nusefulsepaconss<= delpos && delpos < conshdlr->nsepaconss);
964 if( delpos < conshdlr->nsepaconss-1 )
985assert(conshdlr !=
NULL);
987assert(cons !=
NULL);
988assert(cons->
conshdlr== conshdlr);
994assert(cons->
scip==
set->scip);
1023conshdlr->
enfoconss[insertpos] = cons;
1041assert(conshdlr !=
NULL);
1043assert(cons !=
NULL);
1044assert(cons->
conshdlr== conshdlr);
1052assert(0 <= delpos && delpos < conshdlr->nusefulenfoconss);
1054 if( delpos < conshdlr->lastnusefulenfoconss )
1072assert(conshdlr->
nusefulenfoconss<= delpos && delpos < conshdlr->nenfoconss);
1073 if( delpos < conshdlr->nenfoconss-1 )
1094assert(conshdlr !=
NULL);
1096assert(cons !=
NULL);
1097assert(cons->
conshdlr== conshdlr);
1100assert(cons->
check);
1103assert(cons->
scip==
set->scip);
1118assert(0 <= insertpos && insertpos <= conshdlr->ncheckconss);
1137assert(conshdlr !=
NULL);
1139assert(cons !=
NULL);
1140assert(cons->
conshdlr== conshdlr);
1143assert(cons->
check);
1149assert(0 <= delpos && delpos < conshdlr->nusefulcheckconss);
1155assert(conshdlr->
nusefulcheckconss<= delpos && delpos < conshdlr->ncheckconss);
1156 if( delpos < conshdlr->ncheckconss-1 )
1177assert(conshdlr !=
NULL);
1179assert(cons !=
NULL);
1180assert(cons->
conshdlr== conshdlr);
1188assert(cons->
scip==
set->scip);
1204conshdlr->
propconss[insertpos] = cons;
1232assert(conshdlr !=
NULL);
1234assert(cons !=
NULL);
1235assert(cons->
conshdlr== conshdlr);
1256assert(0 <= delpos && delpos < conshdlr->nusefulpropconss);
1258 if( delpos < conshdlr->lastnusefulpropconss )
1268assert(conshdlr->
nusefulpropconss<= delpos && delpos < conshdlr->npropconss);
1270 if( delpos < conshdlr->npropconss-1 )
1290assert(conshdlr !=
NULL);
1292assert(cons !=
NULL);
1293assert(cons->
conshdlr== conshdlr);
1297assert(cons->
scip==
set->scip);
1299 SCIPsetDebugMsg(
set,
"enable separation of constraint <%s> in constraint handler <%s>\n", cons->
name, conshdlr->
name);
1320assert(conshdlr !=
NULL);
1322assert(cons !=
NULL);
1323assert(cons->
conshdlr== conshdlr);
1327 SCIPdebugMessage(
"disable separation of constraint <%s> in constraint handler <%s>\n", cons->
name, conshdlr->
name);
1350assert(conshdlr !=
NULL);
1352assert(cons !=
NULL);
1353assert(cons->
conshdlr== conshdlr);
1357assert(cons->
scip==
set->scip);
1359 SCIPsetDebugMsg(
set,
"enable propagation of constraint <%s> in constraint handler <%s>\n", cons->
name, conshdlr->
name);
1380assert(conshdlr !=
NULL);
1382assert(cons !=
NULL);
1383assert(cons->
conshdlr== conshdlr);
1387 SCIPdebugMessage(
"disable propagation of constraint <%s> in constraint handler <%s>\n", cons->
name, conshdlr->
name);
1411assert(conshdlr !=
NULL);
1417assert(stat !=
NULL);
1418assert(cons !=
NULL);
1419assert(cons->
scip==
set->scip);
1420assert(cons->
conshdlr== conshdlr);
1454 if( conshdlr->consenable !=
NULL)
1456 SCIP_CALL( conshdlr->consenable(
set->scip, conshdlr, cons) );
1473assert(conshdlr !=
NULL);
1479assert(stat !=
NULL);
1480assert(cons !=
NULL);
1481assert(cons->
scip==
set->scip);
1482assert(cons->
conshdlr== conshdlr);
1493 if( conshdlr->consdisable !=
NULL)
1495 SCIP_CALL( conshdlr->consdisable(
set->scip, conshdlr, cons) );
1541assert(conshdlr !=
NULL);
1547assert(stat !=
NULL);
1548assert(cons !=
NULL);
1549assert(cons->
scip==
set->scip);
1550assert(cons->
conshdlr== conshdlr);
1561assert(depth >= -1);
1563 SCIPsetDebugMsg(
set,
"activate constraint <%s> in constraint handler <%s> (depth %d, focus=%u)\n",
1564cons->
name, conshdlr->
name, depth, focusnode);
1590 if( conshdlr->consactive !=
NULL)
1592 SCIP_CALL( conshdlr->consactive(
set->scip, conshdlr, cons) );
1614assert(conshdlr !=
NULL);
1620assert(stat !=
NULL);
1621assert(cons !=
NULL);
1622assert(cons->
scip==
set->scip);
1623assert(cons->
conshdlr== conshdlr);
1640 if( conshdlr->consdeactive !=
NULL)
1642 SCIP_CALL( conshdlr->consdeactive(
set->scip, conshdlr, cons) );
1699assert(conshdlr !=
NULL);
1706 SCIPsetDebugMsg(
set,
"processing %d constraints that have to be updated in constraint handler <%s>\n",
1712assert(cons !=
NULL);
1713assert(cons->
conshdlr== conshdlr);
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",
1822assert(cons->
nuses== 1);
1887assert(conshdlr !=
NULL);
1889 SCIPdebugMessage(
"constraint updates of constraint handler <%s> will be delayed (count:%d)\n",
1906assert(conshdlr !=
NULL);
1909 SCIPsetDebugMsg(
set,
"constraint updates of constraint handler <%s> will be processed immediately (count:%d)\n",
1931assert(conshdlr !=
NULL);
1933assert(cons !=
NULL);
1934assert(cons->
conshdlr== conshdlr);
1938 SCIPsetDebugMsg(
set,
"constraint <%s> of age %g has to be updated in constraint handler <%s> (consdata=%p)\n",
1976 return((
SCIP_CONS*)elem2)->conshdlr->checkpriority - ((
SCIP_CONS*)elem1)->conshdlr->checkpriority;
1986assert(conshdlr !=
NULL);
1988assert(valid !=
NULL);
1991 if( conshdlr->conshdlrcopy !=
NULL)
1994 SCIP_CALL( conshdlr->conshdlrcopy(
set->scip, conshdlr, valid) );
2064assert(conshdlr !=
NULL);
2065assert(name !=
NULL);
2066assert(desc !=
NULL);
2067assert(conssepalp !=
NULL|| conssepasol !=
NULL|| sepafreq == -1);
2068assert(consprop !=
NULL|| propfreq == -1);
2069assert(eagerfreq >= -1);
2070assert(!needscons || ((conshdlrcopy ==
NULL) == (conscopy ==
NULL)));
2077 SCIPmessagePrintError(
"ERROR: 'PRESOLDELAY'-flag no longer available since SCIP 3.2, use an appropriate " 2078 "'SCIP_PRESOLTIMING' for <%s> constraint handler instead.\n", name);
2084assert((consgetvars !=
NULL) == (consgetnvars !=
NULL));
2091(*conshdlr)->sepapriority = sepapriority;
2092(*conshdlr)->enfopriority = enfopriority;
2093(*conshdlr)->checkpriority = checkpriority;
2094(*conshdlr)->sepafreq = sepafreq;
2095(*conshdlr)->propfreq = propfreq;
2096(*conshdlr)->eagerfreq = eagerfreq;
2097(*conshdlr)->maxprerounds = maxprerounds;
2098(*conshdlr)->conshdlrcopy = conshdlrcopy;
2099(*conshdlr)->consfree = consfree;
2100(*conshdlr)->consinit = consinit;
2101(*conshdlr)->consexit = consexit;
2102(*conshdlr)->consinitpre = consinitpre;
2103(*conshdlr)->consexitpre = consexitpre;
2104(*conshdlr)->consinitsol = consinitsol;
2105(*conshdlr)->consexitsol = consexitsol;
2106(*conshdlr)->consdelete = consdelete;
2107(*conshdlr)->constrans = constrans;
2108(*conshdlr)->consinitlp = consinitlp;
2109(*conshdlr)->conssepalp = conssepalp;
2110(*conshdlr)->conssepasol = conssepasol;
2111(*conshdlr)->consenfolp = consenfolp;
2112(*conshdlr)->consenforelax = consenforelax;
2113(*conshdlr)->consenfops = consenfops;
2114(*conshdlr)->conscheck = conscheck;
2115(*conshdlr)->consprop = consprop;
2116(*conshdlr)->conspresol = conspresol;
2117(*conshdlr)->consresprop = consresprop;
2118(*conshdlr)->conslock = conslock;
2119(*conshdlr)->consactive = consactive;
2120(*conshdlr)->consdeactive = consdeactive;
2121(*conshdlr)->consenable = consenable;
2122(*conshdlr)->consdisable = consdisable;
2123(*conshdlr)->consprint = consprint;
2124(*conshdlr)->consdelvars = consdelvars;
2125(*conshdlr)->conscopy = conscopy;
2126(*conshdlr)->consparse = consparse;
2127(*conshdlr)->consgetvars = consgetvars;
2128(*conshdlr)->consgetnvars = consgetnvars;
2129(*conshdlr)->conshdlrdata = conshdlrdata;
2130(*conshdlr)->consgetdivebdchgs = consgetdivebdchgs;
2131(*conshdlr)->consgetpermsymgraph = consgetpermsymgraph;
2132(*conshdlr)->consgetsignedpermsymgraph = consgetsignedpermsymgraph;
2133(*conshdlr)->conss =
NULL;
2134(*conshdlr)->consssize = 0;
2135(*conshdlr)->nconss = 0;
2136(*conshdlr)->nactiveconss = 0;
2137(*conshdlr)->maxnactiveconss = 0;
2138(*conshdlr)->startnactiveconss = 0;
2139(*conshdlr)->initconss =
NULL;
2140(*conshdlr)->initconsssize = 0;
2141(*conshdlr)->ninitconss = 0;
2142(*conshdlr)->ninitconsskept = 0;
2143(*conshdlr)->sepaconss =
NULL;
2144(*conshdlr)->sepaconsssize = 0;
2145(*conshdlr)->nsepaconss = 0;
2146(*conshdlr)->nusefulsepaconss = 0;
2147(*conshdlr)->enfoconss =
NULL;
2148(*conshdlr)->enfoconsssize = 0;
2149(*conshdlr)->nenfoconss = 0;
2150(*conshdlr)->nusefulenfoconss = 0;
2151(*conshdlr)->checkconss =
NULL;
2152(*conshdlr)->checkconsssize = 0;
2153(*conshdlr)->ncheckconss = 0;
2154(*conshdlr)->nusefulcheckconss = 0;
2155(*conshdlr)->propconss =
NULL;
2156(*conshdlr)->propconsssize = 0;
2157(*conshdlr)->npropconss = 0;
2158(*conshdlr)->nusefulpropconss = 0;
2159(*conshdlr)->nmarkedpropconss = 0;
2160(*conshdlr)->updateconss =
NULL;
2161(*conshdlr)->updateconsssize = 0;
2162(*conshdlr)->nupdateconss = 0;
2163(*conshdlr)->nenabledconss = 0;
2164(*conshdlr)->lastnusefulpropconss = 0;
2165(*conshdlr)->lastnusefulsepaconss = 0;
2166(*conshdlr)->lastnusefulenfoconss = 0;
2168(*conshdlr)->storedpropconss =
NULL;
2169(*conshdlr)->storedpropconsssize = 0;
2170(*conshdlr)->storednmarkedpropconss = 0;
2171(*conshdlr)->storedpropdomchgcount = 0;
2184(*conshdlr)->nsepacalls = 0;
2185(*conshdlr)->nenfolpcalls = 0;
2186(*conshdlr)->nenfopscalls = 0;
2187(*conshdlr)->nenforelaxcalls = 0;
2188(*conshdlr)->npropcalls = 0;
2189(*conshdlr)->ncheckcalls = 0;
2190(*conshdlr)->nrespropcalls = 0;
2191(*conshdlr)->ncutoffs = 0;
2192(*conshdlr)->ncutsfound = 0;
2193(*conshdlr)->ncutsapplied = 0;
2194(*conshdlr)->nconssfound = 0;
2195(*conshdlr)->ndomredsfound = 0;
2196(*conshdlr)->nchildren = 0;
2197(*conshdlr)->lastpropdomchgcount = -1;
2198(*conshdlr)->lastsepalpcount = -1;
2199(*conshdlr)->lastenfolplpcount = -1;
2200(*conshdlr)->lastenfolpdomchgcount = -1;
2201(*conshdlr)->lastenfopsdomchgcount = -1;
2202(*conshdlr)->lastenforelaxdomchgcount = -1;
2203(*conshdlr)->lastenforelaxrelaxcount = -1;
2204(*conshdlr)->lastenfolpnode = -1;
2205(*conshdlr)->lastenfopsnode = -1;
2209(*conshdlr)->lastnfixedvars = 0;
2210(*conshdlr)->lastnaggrvars = 0;
2211(*conshdlr)->lastnchgvartypes = 0;
2212(*conshdlr)->lastnchgbds = 0;
2213(*conshdlr)->lastnaddholes = 0;
2214(*conshdlr)->lastndelconss = 0;
2215(*conshdlr)->lastnaddconss = 0;
2216(*conshdlr)->lastnupgdconss = 0;
2217(*conshdlr)->lastnchgcoefs = 0;
2218(*conshdlr)->lastnchgsides = 0;
2219(*conshdlr)->nfixedvars = 0;
2220(*conshdlr)->naggrvars = 0;
2221(*conshdlr)->nchgvartypes = 0;
2222(*conshdlr)->nchgbds = 0;
2223(*conshdlr)->naddholes = 0;
2224(*conshdlr)->ndelconss = 0;
2225(*conshdlr)->naddconss = 0;
2226(*conshdlr)->nupgdconss = 0;
2227(*conshdlr)->nchgcoefs = 0;
2228(*conshdlr)->nchgsides = 0;
2229(*conshdlr)->npresolcalls = 0;
2230(*conshdlr)->delayupdatecount = 0;
2232(*conshdlr)->needscons = needscons;
2233(*conshdlr)->sepalpwasdelayed =
FALSE;
2234(*conshdlr)->sepasolwasdelayed =
FALSE;
2235(*conshdlr)->propwasdelayed =
FALSE;
2236(*conshdlr)->duringsepa =
FALSE;
2237(*conshdlr)->duringprop =
FALSE;
2238(*conshdlr)->initialized =
FALSE;
2243 "frequency for separating cuts (-1: never, 0: only in root node)",
2248 "frequency for propagating domains (-1: never, 0: only in root node)",
2258 "frequency for using all instead of only the useful constraints in separation, propagation and enforcement (-1: never, 0: only in first evaluation)",
2263 "maximal number of presolving rounds the constraint handler participates in (-1: no limit)",
2264&(*conshdlr)->maxprerounds,
TRUE, maxprerounds, -1, INT_MAX,
NULL,
NULL) );
2268 "should separation method be delayed, if other separators found cuts?",
2269&(*conshdlr)->delaysepa,
TRUE, delaysepa,
NULL,
NULL) );
2273 "should propagation method be delayed, if other propagators found reductions?",
2274&(*conshdlr)->delayprop,
TRUE, delayprop,
NULL,
NULL) );
2277(void)
SCIPsnprintf(paramdesc,
SCIP_MAXSTRLEN,
"timing mask of the constraint handler's presolving method (%u:FAST, %u:MEDIUM, %u:EXHAUSTIVE, %u:FINAL)",
2345assert(conshdlr !=
NULL);
2346assert(name !=
NULL);
2347assert(desc !=
NULL);
2348assert(conssepalp !=
NULL|| conssepasol !=
NULL|| sepafreq == -1);
2349assert(consprop !=
NULL|| propfreq == -1);
2350assert(eagerfreq >= -1);
2351assert(!needscons || ((conshdlrcopy ==
NULL) == (conscopy ==
NULL)));
2354checkpriority, sepafreq, propfreq, eagerfreq, maxprerounds, delaysepa, delayprop, needscons, proptiming,
2355presoltiming, conshdlrcopy, consfree, consinit, consexit, consinitpre, consexitpre, consinitsol, consexitsol,
2356consdelete, constrans, consinitlp, conssepalp, conssepasol, consenfolp, consenforelax, consenfops, conscheck,
2357consprop, conspresol, consresprop, conslock, consactive, consdeactive, consenable, consdisable, consdelvars,
2358consprint, conscopy, consparse, consgetvars, consgetnvars, consgetdivebdchgs, consgetpermsymgraph,
2359consgetsignedpermsymgraph, conshdlrdata),
2371assert(conshdlr !=
NULL);
2372 if( *conshdlr ==
NULL)
2374assert(!(*conshdlr)->initialized);
2375assert((*conshdlr)->nconss == 0);
2379 if( (*conshdlr)->consfree !=
NULL)
2381 SCIP_CALL( (*conshdlr)->consfree(
set->scip, *conshdlr) );
2418assert(conshdlr !=
NULL);
2427 if(
set->misc_resetstat )
2497 if( conshdlr->consinit !=
NULL)
2531assert(conshdlr !=
NULL);
2541 if( conshdlr->consexit !=
NULL)
2574assert(conshdlr !=
NULL);
2608 if( conshdlr->consinitpre !=
NULL)
2632 if( stat->
nruns>= 2 )
2636 for( c = 0; c < conshdlr->
nconss; ++c )
2660assert(conshdlr !=
NULL);
2664 if( conshdlr->consexitpre !=
NULL)
2700assert(conshdlr !=
NULL);
2702assert(stat !=
NULL);
2708 if( conshdlr->consinitsol !=
NULL)
2741assert(conshdlr !=
NULL);
2745 if( conshdlr->consexitsol !=
NULL)
2782assert(conshdlr !=
NULL);
2783assert(cutoff !=
NULL);
2790 if( conshdlr->consinitlp !=
NULL)
2796 SCIPsetDebugMsg(
set,
"initializing LP with %d initial constraints of handler <%s> (ninitconss=%d, kept=%d, initkept=%u)\n",
2815 if( initkeptconss )
2841assert(currentdepth >= 0);
2888assert(conshdlr !=
NULL);
2893assert(stat !=
NULL);
2897assert(result !=
NULL);
2901 if( conshdlr->conssepalp !=
NULL 2902&& ((depth == 0 && conshdlr->
sepafreq== 0)
2907 if( !conshdlr->
delaysepa|| execdelayed )
2920nusefulconss = nconss;
2930assert(firstcons >= 0);
2931assert(firstcons + nconss <= conshdlr->nsepaconss);
2932assert(nusefulconss <= nconss);
2942 intoldnactiveconss;
2943 intlastnusefulsepaconss;
2945 SCIPsetDebugMsg(
set,
"separating constraints %d to %d of %d constraints of handler <%s> (%s LP solution)\n",
2946firstcons, firstcons + nconss - 1, conshdlr->
nsepaconss, conshdlr->
name,
2950lastsepalpcount = stat->
lpcount;
2954conss = &(conshdlr->
sepaconss[firstcons]);
2964nusefulconss = nconss;
2977 SCIP_CALL( conshdlr->conssepalp(
set->scip, conshdlr, conss, nconss, nusefulconss, result) );
3014 SCIPerrorMessage(
"LP separation method of constraint handler <%s> returned invalid result <%d>\n",
3015conshdlr->
name, *result);
3022 SCIPsetDebugMsg(
set,
"LP separation method of constraint handler <%s> was delayed\n", conshdlr->
name);
3046assert(conshdlr !=
NULL);
3052assert(stat !=
NULL);
3053assert(result !=
NULL);
3057 if( conshdlr->conssepasol !=
NULL 3058&& ((depth == 0 && conshdlr->
sepafreq== 0)
3063 if( !conshdlr->
delaysepa|| execdelayed )
3071assert(nusefulconss <= nconss);
3073 if( nconss > 0 || !conshdlr->
needscons)
3079 intoldnactiveconss;
3081 SCIPsetDebugMsg(
set,
"separating %d constraints of handler <%s> (primal solution %p)\n",
3082nconss, conshdlr->
name, (
void*)sol);
3095nusefulconss = nconss;
3108 SCIP_CALL( conshdlr->conssepasol(
set->scip, conshdlr, conss, nconss, nusefulconss, sol, result) );
3141 SCIPerrorMessage(
"SOL separation method of constraint handler <%s> returned invalid result <%d>\n",
3142conshdlr->
name, *result);
3149 SCIPsetDebugMsg(
set,
"SOL separation method of constraint handler <%s> was delayed\n", conshdlr->
name);
3181assert(conshdlr !=
NULL);
3186assert(stat !=
NULL);
3191assert(tree !=
NULL);
3193assert(relaxsol !=
NULL);
3194assert(result !=
NULL);
3207&& ( strcmp(conshdlr->
name,
"integral") != 0 )
3222lastinfeasible =
TRUE;
3225lastinfeasible =
FALSE;
3231nusefulconss = nconss;
3233relaxchanged =
FALSE;
3241relaxchanged =
TRUE;
3242lastinfeasible =
FALSE;
3244assert(firstcons >= 0);
3245assert(firstcons + nconss <= conshdlr->nenfoconss);
3246assert(nusefulconss <= nconss);
3249 if( nconss > 0 || (!conshdlr->
needscons&& relaxchanged) )
3255 intoldnactiveconss;
3257assert(conshdlr->consenforelax !=
NULL);
3259 SCIPdebugMessage(
"enforcing constraints %d to %d of %d constraints of handler <%s> (%s relaxation solution)\n",
3260firstcons, firstcons + nconss - 1, conshdlr->
nenfoconss, conshdlr->
name, relaxchanged ?
"new":
"old");
3272conss = conshdlr->
enfoconss+ firstcons;
3283nusefulconss = nconss;
3295 SCIP_CALL( conshdlr->consenforelax(
set->scip, relaxsol, conshdlr, conss, nconss, nusefulconss, solinfeasible, result) );
3336 SCIPerrorMessage(
"enforcing method of constraint handler <%s> for relaxation solutions returned invalid result <%d>\n",
3337conshdlr->
name, *result);
3366assert(conshdlr !=
NULL);
3371assert(stat !=
NULL);
3377assert(tree !=
NULL);
3379assert(result !=
NULL);
3383 if( conshdlr->consenfolp !=
NULL)
3405lastinfeasible =
FALSE;
3410lastinfeasible =
TRUE;
3417nusefulconss = nconss;
3428lastinfeasible =
FALSE;
3430assert(firstcons >= 0);
3431assert(firstcons + nconss <= conshdlr->nenfoconss);
3432assert(nusefulconss <= nconss);
3435 if( nconss > 0 || (!conshdlr->
needscons&& lpchanged) )
3441 intoldnactiveconss;
3443 SCIPsetDebugMsg(
set,
"enforcing constraints %d to %d of %d constraints of handler <%s> (%s LP solution)\n",
3444firstcons, firstcons + nconss - 1, conshdlr->
nenfoconss, conshdlr->
name, lpchanged ?
"new":
"old");
3453conss = nconss > 0 ? conshdlr->
enfoconss+ firstcons :
NULL;
3463nusefulconss = nconss;
3475 SCIP_CALL( conshdlr->consenfolp(
set->scip, conshdlr, conss, nconss, nusefulconss, solinfeasible, result) );
3515 SCIPerrorMessage(
"enforcing method of constraint handler <%s> for LP solutions returned invalid result <%d>\n",
3516conshdlr->
name, *result);
3542assert(conshdlr !=
NULL);
3544assert(diveset !=
NULL);
3545assert(sol !=
NULL);
3546assert(success !=
NULL);
3547assert(infeasible !=
NULL);
3549 if( conshdlr->consgetdivebdchgs !=
NULL)
3551 SCIP_CALL( conshdlr->consgetdivebdchgs(
set->scip, conshdlr, diveset, sol, success, infeasible) );
3573assert(conshdlr !=
NULL);
3578assert(stat !=
NULL);
3583assert(tree !=
NULL);
3585assert(result !=
NULL);
3595 if( conshdlr->consenfops !=
NULL)
3622lastinfeasible =
TRUE;
3625lastinfeasible =
FALSE;
3631nusefulconss = nconss;
3642lastinfeasible =
FALSE;
3644assert(firstcons >= 0);
3645assert(firstcons + nconss <= conshdlr->nenfoconss);
3646assert(nusefulconss <= nconss);
3649 if( nconss > 0 || (!conshdlr->
needscons&& pschanged) )
3655 SCIPsetDebugMsg(
set,
"enforcing constraints %d to %d of %d constraints of handler <%s> (%s pseudo solution, objinfeasible=%u)\n",
3656firstcons, firstcons + nconss - 1, conshdlr->
nenfoconss, conshdlr->
name, pschanged ?
"new":
"old", objinfeasible);
3667conss = conshdlr->
enfoconss+ firstcons;
3676nusefulconss = nconss;
3688 SCIP_CALL( conshdlr->consenfops(
set->scip, conshdlr, conss, nconss, nusefulconss, solinfeasible, objinfeasible, result) );
3700 else if( !objinfeasible )
3702 SCIPerrorMessage(
"enforcing method of constraint handler <%s> for pseudo solutions was skipped, even though the solution was not objective-infeasible\n",
3742 SCIPerrorMessage(
"enforcing method of constraint handler <%s> for pseudo solutions returned invalid result <%d>\n",
3743conshdlr->
name, *result);
3754 else if( objinfeasible )
3781assert(conshdlr !=
NULL);
3787assert(result !=
NULL);
3806sol, checkintegrality, checklprows, printreason, completely, result) );
3821 SCIPerrorMessage(
"feasibility check of constraint handler <%s> returned invalid result <%d>\n", conshdlr->
name, *result);
3843assert(conshdlr !=
NULL);
3848assert(stat !=
NULL);
3853assert(result !=
NULL);
3857 if( conshdlr->consprop !=
NULL 3859&& ((depth == 0 && conshdlr->
propfreq== 0)
3864 if( !conshdlr->
delayprop|| execdelayed )
3868 intnmarkedpropconss;
3878nusefulconss = nconss;
3888assert(firstcons >= 0);
3889assert(firstcons + nconss <= conshdlr->npropconss);
3890assert(nusefulconss <= nconss);
3895 if( nconss > 0 || fullpropagation
3902 intlastnusefulpropconss;
3904 SCIPsetDebugMsg(
set,
"propagating constraints %d to %d of %d constraints of handler <%s> (%s pseudo solution, %d useful)\n",
3905firstcons, firstcons + nconss - 1, conshdlr->
npropconss, conshdlr->
name,
3913conss = nconss > 0 ? (conshdlr->
propconss+ firstcons) :
NULL;
3921nusefulconss = nconss;
3931 if( instrongbranching )
3936assert(nusefulconss <= nconss);
3937assert(nmarkedpropconss <= nconss);
3940 SCIP_CALL( conshdlr->consprop(
set->scip, conshdlr, conss, nconss, nusefulconss, nmarkedpropconss, proptiming, result) );
3944 if( instrongbranching )
3962assert(lastpropdomchgcount == stat->
domchgcount);
3981 SCIPerrorMessage(
"propagation method of constraint handler <%s> returned invalid result <%d>\n",
3982conshdlr->
name, *result);
3989 SCIPsetDebugMsg(
set,
"propagation method of constraint handler <%s> was delayed\n", conshdlr->
name);
4021assert(conshdlr !=
NULL);
4027assert(nfixedvars !=
NULL);
4028assert(naggrvars !=
NULL);
4029assert(nchgvartypes !=
NULL);
4030assert(nchgbds !=
NULL);
4031assert(naddholes !=
NULL);
4032assert(ndelconss !=
NULL);
4033assert(naddconss !=
NULL);
4034assert(nupgdconss !=
NULL);
4035assert(nchgcoefs !=
NULL);
4036assert(nchgsides !=
NULL);
4037assert(result !=
NULL);
4041 if( conshdlr->conspresol !=
NULL 4052 intnnewchgvartypes;
4096nnewfixedvars, nnewaggrvars, nnewchgvartypes, nnewchgbds, nnewholes,
4097nnewdelconss, nnewaddconss, nnewupgdconss, nnewchgcoefs, nnewchgsides,
4098nfixedvars, naggrvars, nchgvartypes, nchgbds, naddholes,
4099ndelconss, naddconss, nupgdconss, nchgcoefs, nchgsides, result) );
4127 SCIPerrorMessage(
"presolving method of constraint handler <%s> returned invalid result <%d>\n",
4128conshdlr->
name, *result);
4151assert(conshdlr !=
NULL);
4154 if( conshdlr->consdelvars !=
NULL)
4180assert(conshdlr !=
NULL);
4181assert(conshdlr->conslock !=
NULL);
4195assert(conshdlr !=
NULL);
4196assert(conshdlr->conslock !=
NULL);
4209assert(conshdlr !=
NULL);
4211 returnconshdlr->
name;
4219assert(conshdlr !=
NULL);
4221 returnconshdlr->
desc;
4229assert(conshdlr !=
NULL);
4240assert(conshdlr !=
NULL);
4255assert(conshdlr !=
NULL);
4257assert(conssepalp !=
NULL|| conssepasol !=
NULL|| sepafreq == -1);
4259conshdlr->conssepalp = conssepalp;
4260conshdlr->conssepasol = conssepasol;
4275assert(conshdlr !=
NULL);
4277assert(consprop !=
NULL|| propfreq == -1);
4279conshdlr->consprop = consprop;
4291assert(conshdlr !=
NULL);
4293conshdlr->consenforelax = consenforelax;
4303assert(conshdlr !=
NULL);
4305assert(!conshdlr->
needscons|| (conshdlrcopy ==
NULL) == (conscopy ==
NULL));
4307conshdlr->conshdlrcopy = conshdlrcopy;
4308conshdlr->conscopy = conscopy;
4317assert(conshdlr !=
NULL);
4319conshdlr->consfree = consfree;
4328assert(conshdlr !=
NULL);
4330conshdlr->consinit = consinit;
4339assert(conshdlr !=
NULL);
4341conshdlr->consexit = consexit;
4350assert(conshdlr !=
NULL);
4352conshdlr->consinitsol = consinitsol;
4361assert(conshdlr !=
NULL);
4363conshdlr->consexitsol = consexitsol;
4372assert(conshdlr !=
NULL);
4374conshdlr->consinitpre = consinitpre;
4383assert(conshdlr !=
NULL);
4385conshdlr->consexitpre = consexitpre;
4396assert(conshdlr !=
NULL);
4398conshdlr->conspresol = conspresol;
4406 SCIPmessagePrintError(
"ERROR: 'PRESOLDELAY'-flag no longer available since SCIP 3.2, use an appropriate " 4407 "'SCIP_PRESOLTIMING' for <%s> constraint handler instead.\n", conshdlr->
name);
4423assert(conshdlr !=
NULL);
4425conshdlr->consdelete = consdelete;
4434assert(conshdlr !=
NULL);
4436conshdlr->constrans = constrans;
4445assert(conshdlr !=
NULL);
4447conshdlr->consinitlp = consinitlp;
4456assert(conshdlr !=
NULL);
4458conshdlr->consresprop = consresprop;
4467assert(conshdlr !=
NULL);
4469conshdlr->consactive = consactive;
4478assert(conshdlr !=
NULL);
4480conshdlr->consdeactive = consdeactive;
4489assert(conshdlr !=
NULL);
4491conshdlr->consenable = consenable;
4500assert(conshdlr !=
NULL);
4502conshdlr->consdisable = consdisable;
4511assert(conshdlr !=
NULL);
4513conshdlr->consdelvars = consdelvars;
4522assert(conshdlr !=
NULL);
4524conshdlr->consprint = consprint;
4533assert(conshdlr !=
NULL);
4535conshdlr->consparse = consparse;
4544assert(conshdlr !=
NULL);
4546conshdlr->consgetvars = consgetvars;
4555assert(conshdlr !=
NULL);
4557conshdlr->consgetnvars = consgetnvars;
4566assert(conshdlr !=
NULL);
4568conshdlr->consgetdivebdchgs = consgetdivebdchgs;
4578assert(conshdlr !=
NULL);
4580conshdlr->consgetpermsymgraph = consgetpermsymgraph;
4590assert(conshdlr !=
NULL);
4592conshdlr->consgetsignedpermsymgraph = consgetsignedpermsymgraph;
4605assert(conshdlr !=
NULL);
4607 returnconshdlr->
conss;
4615assert(conshdlr !=
NULL);
4625assert(conshdlr !=
NULL);
4638assert(conshdlr !=
NULL);
4648assert(conshdlr !=
NULL);
4650 returnconshdlr->
nconss;
4658assert(conshdlr !=
NULL);
4668assert(conshdlr !=
NULL);
4682assert(conshdlr !=
NULL);
4692assert(conshdlr !=
NULL);
4702assert(conshdlr !=
NULL);
4713assert(conshdlr !=
NULL);
4732assert(conshdlr !=
NULL);
4742assert(conshdlr !=
NULL);
4752assert(conshdlr !=
NULL);
4762assert(conshdlr !=
NULL);
4772assert(conshdlr !=
NULL);
4782assert(conshdlr !=
NULL);
4792assert(conshdlr !=
NULL);
4802assert(conshdlr !=
NULL);
4812assert(conshdlr !=
NULL);
4822assert(conshdlr !=
NULL);
4832assert(conshdlr !=
NULL);
4842assert(conshdlr !=
NULL);
4852assert(conshdlr !=
NULL);
4862assert(conshdlr !=
NULL);
4872assert(conshdlr !=
NULL);
4882assert(conshdlr !=
NULL);
4892assert(conshdlr !=
NULL);
4902assert(conshdlr !=
NULL);
4912assert(conshdlr !=
NULL);
4922assert(conshdlr !=
NULL);
4932assert(conshdlr !=
NULL);
4942assert(conshdlr !=
NULL);
4952assert(conshdlr !=
NULL);
4962assert(conshdlr !=
NULL);
4972assert(conshdlr !=
NULL);
4982assert(conshdlr !=
NULL);
4992assert(conshdlr !=
NULL);
5002assert(conshdlr !=
NULL);
5012assert(conshdlr !=
NULL);
5022assert(conshdlr !=
NULL);
5032assert(conshdlr !=
NULL);
5042assert(conshdlr !=
NULL);
5052assert(conshdlr !=
NULL);
5062assert(conshdlr !=
NULL);
5072assert(conshdlr !=
NULL);
5082assert(conshdlr !=
NULL);
5092assert(conshdlr !=
NULL);
5102assert(conshdlr !=
NULL);
5112assert(conshdlr !=
NULL);
5122assert(conshdlr !=
NULL);
5132assert(conshdlr !=
NULL);
5142assert(conshdlr !=
NULL);
5152assert(conshdlr !=
NULL);
5162assert(conshdlr !=
NULL);
5172assert(conshdlr !=
NULL);
5182assert(conshdlr !=
NULL);
5184 return(conshdlr->conspresol !=
NULL);
5192assert(conshdlr !=
NULL);
5202assert(conshdlr !=
NULL);
5212assert(conshdlr !=
NULL);
5222assert(conshdlr !=
NULL);
5232assert(conshdlr !=
NULL);
5242assert(conshdlr !=
NULL);
5252assert(conshdlr !=
NULL);
5254 return(conshdlr->conshdlrcopy !=
NULL);
5262assert(conshdlr !=
NULL);
5273assert(conshdlr !=
NULL);
5284assert(conshdlr !=
NULL);
5295assert(conshdlr !=
NULL);
5305assert(conshdlr !=
NULL);
5307 returnconshdlr->consgetpermsymgraph !=
NULL;
5315assert(conshdlr !=
NULL);
5317 returnconshdlr->consgetsignedpermsymgraph !=
NULL;
5331assert(conssetchg !=
NULL);
5332assert(blkmem !=
NULL);
5335(*conssetchg)->addedconss =
NULL;
5336(*conssetchg)->disabledconss =
NULL;
5337(*conssetchg)->addedconsssize = 0;
5338(*conssetchg)->naddedconss = 0;
5339(*conssetchg)->disabledconsssize = 0;
5340(*conssetchg)->ndisabledconss = 0;
5355assert(conssetchg !=
NULL);
5383assert(conssetchg !=
NULL);
5384assert(blkmem !=
NULL);
5386 if( *conssetchg !=
NULL)
5409assert(conssetchg !=
NULL);
5419assert(num <= conssetchg->addedconsssize);
5433assert(conssetchg !=
NULL);
5443assert(num <= conssetchg->disabledconsssize);
5462assert(conssetchg !=
NULL);
5463assert(cons !=
NULL);
5466 if( *conssetchg ==
NULL)
5473(*conssetchg)->addedconss[(*conssetchg)->naddedconss] = cons;
5474(*conssetchg)->naddedconss++;
5490cons->
addarraypos= (*conssetchg)->naddedconss-1;
5504assert(conssetchg !=
NULL);
5505assert(cons !=
NULL);
5508 if( *conssetchg ==
NULL)
5515(*conssetchg)->disabledconss[(*conssetchg)->ndisabledconss] = cons;
5516(*conssetchg)->ndisabledconss++;
5535assert(conssetchg !=
NULL);
5537assert(0 <= arraypos && arraypos < conssetchg->naddedconss);
5540assert(cons !=
NULL);
5542 SCIPsetDebugMsg(
set,
"delete added constraint <%s> at position %d from constraint set change data\n", cons->
name, arraypos);
5555 for( ; arraypos < conssetchg->
naddedconss-1; ++arraypos )
5579assert(conssetchg !=
NULL);
5580assert(0 <= arraypos && arraypos < conssetchg->ndisabledconss);
5583 SCIPsetDebugMsg(
set,
"delete disabled constraint <%s> at position %d from constraint set change data\n",
5607assert(conssetchg !=
NULL);
5608 if( conss !=
NULL)
5610 if( nconss !=
NULL)
5627 if( conssetchg ==
NULL)
5630 SCIPsetDebugMsg(
set,
"applying constraint set changes at %p: %d constraint additions, %d constraint disablings\n",
5635 while( i < conssetchg->naddedconss )
5638assert(cons !=
NULL);
5669 while( i < conssetchg->ndisabledconss )
5672assert(cons !=
NULL);
5678 SCIPsetDebugMsg(
set,
"constraint <%s> of handler <%s> was deactivated -> remove it from disabledconss array\n",
5712 if( conssetchg ==
NULL)
5715 SCIPsetDebugMsg(
set,
"undoing constraint set changes at %p: %d constraint additions, %d constraint disablings\n",
5722assert(cons !=
NULL);
5738 SCIPsetDebugMsg(
set,
"constraint <%s> of handler <%s> was deactivated -> remove it from disabledconss array\n",
5755 for( i = conssetchg->
naddedconss-1; i >= 0; --i )
5758assert(cons !=
NULL);
5800assert(conssetchg !=
NULL);
5803 if( *conssetchg ==
NULL)
5806 SCIPsetDebugMsg(
set,
"moving constraint set changes at %p to global problem: %d constraint additions, %d constraint disablings\n",
5807(
void*)*conssetchg, (*conssetchg)->
naddedconss, (*conssetchg)->ndisabledconss);
5812 for( i = (*conssetchg)->naddedconss-1; i >= 0; --i )
5814cons = (*conssetchg)->addedconss[i];
5815assert(cons !=
NULL);
5841 for( i = (*conssetchg)->ndisabledconss-1; i >= 0; --i )
5843cons = (*conssetchg)->disabledconss[i];
5844assert(cons !=
NULL);
5861 if( (*conssetchg)->naddedconss == 0 && (*conssetchg)->ndisabledconss == 0 )
5920assert(cons !=
NULL);
5921assert(blkmem !=
NULL);
5923assert(name !=
NULL);
5924assert(conshdlr !=
NULL);
5925assert(!original || deleteconsdata);
5931(*cons)->scip =
set->scip;
5933(*cons)->conshdlr = conshdlr;
5934(*cons)->consdata = consdata;
5935(*cons)->transorigcons =
NULL;
5936(*cons)->addconssetchg =
NULL;
5937(*cons)->addarraypos = -1;
5938(*cons)->consspos = -1;
5939(*cons)->initconsspos = -1;
5940(*cons)->sepaconsspos = -1;
5941(*cons)->enfoconsspos = -1;
5942(*cons)->checkconsspos = -1;
5943(*cons)->propconsspos = -1;
5944(*cons)->activedepth = -2;
5945(*cons)->validdepth = (local ? -1 : 0);
5948(*cons)->nupgradelocks = 0;
5949(*cons)->initial = initial;
5950(*cons)->separate = separate;
5951(*cons)->enforce = enforce;
5952(*cons)->check = check;
5953(*cons)->propagate = propagate;
5954(*cons)->sepaenabled = separate;
5955(*cons)->propenabled = propagate;
5956(*cons)->local = local;
5957(*cons)->modifiable = modifiable;
5958(*cons)->dynamic = dynamic;
5959(*cons)->removable = removable;
5960(*cons)->stickingatnode = stickingatnode;
5961(*cons)->original = original;
5962(*cons)->deleteconsdata = deleteconsdata;
5963(*cons)->active =
FALSE;
5964(*cons)->conflict =
FALSE;
5965(*cons)->enabled =
FALSE;
5966(*cons)->obsolete =
FALSE;
5967(*cons)->markpropagate =
TRUE;
5968(*cons)->deleted =
FALSE;
5969(*cons)->update =
FALSE;
5970(*cons)->updateinsert =
FALSE;
5971(*cons)->updateactivate =
FALSE;
5972(*cons)->updatedeactivate =
FALSE;
5973(*cons)->updateenable =
FALSE;
5974(*cons)->updatedisable =
FALSE;
5975(*cons)->updatesepaenable =
FALSE;
5976(*cons)->updatesepadisable =
FALSE;
5977(*cons)->updatepropenable =
FALSE;
5978(*cons)->updatepropdisable =
FALSE;
5979(*cons)->updateobsolete =
FALSE;
5980(*cons)->updatemarkpropagate =
FALSE;
5981(*cons)->updateunmarkpropagate =
FALSE;
5982(*cons)->updatefree =
FALSE;
5983(*cons)->updateactfocus =
FALSE;
5987(*cons)->nlockspos[i] = 0;
5988(*cons)->nlocksneg[i] = 0;
6000 SCIPsetDebugMsg(
set,
" -> delaying insertion of constraint <%s>\n", (*cons)->name);
6001(*cons)->updateinsert =
TRUE;
6003assert((*cons)->update);
6004assert((*cons)->nuses == 2);
6052assert(cons !=
NULL);
6054assert(sourcescip !=
NULL);
6055assert(sourceconshdlr !=
NULL);
6056assert(sourcecons !=
NULL);
6057assert(varmap !=
NULL);
6058assert(consmap !=
NULL);
6059assert(valid !=
NULL);
6064 if( sourceconshdlr->conscopy !=
NULL)
6066 SCIP_CALL( sourceconshdlr->conscopy(
set->scip, cons, name, sourcescip, sourceconshdlr, sourcecons, varmap, consmap,
6067initial, separate, enforce, check, propagate, local, modifiable, dynamic, removable, stickingatnode, global, valid) );
6118assert(cons !=
NULL);
6121(*success) =
FALSE;
6124assert(str !=
NULL);
6126 if( endptr ==
NULL|| endptr == str )
6131assert(endptr !=
NULL);
6136 if( endptr ==
NULL|| endptr == str )
6141assert(endptr !=
NULL);
6165 if( conshdlr ==
NULL)
6167 SCIPmessagePrintWarning(messagehdlr,
"constraint handler <%s> doesn't exist in SCIP data structure\n", conshdlrname);
6171assert( conshdlr !=
NULL);
6172 if( conshdlr->consparse ==
NULL)
6174 SCIPmessagePrintWarning(messagehdlr,
"constraint handler <%s> does not support parsing constraints\n", conshdlrname);
6178 SCIP_CALL( conshdlr->consparse(
set->scip, conshdlr, cons, consname, str,
6179initial, separate, enforce, check, propagate, local, modifiable, dynamic, removable, stickingatnode, success) );
6193assert(cons !=
NULL);
6213assert(cons !=
NULL);
6214assert(*cons !=
NULL);
6215assert((*cons)->conshdlr !=
NULL);
6216assert((*cons)->nuses == 0);
6217assert(!(*cons)->active);
6218assert(!(*cons)->update);
6219assert(!(*cons)->original || (*cons)->transorigcons ==
NULL);
6220assert(blkmem !=
NULL);
6222assert((*cons)->scip ==
set->scip);
6224 SCIPsetDebugMsg(
set,
"freeing constraint <%s> at conss pos %d of handler <%s>\n",
6225(*cons)->name, (*cons)->consspos, (*cons)->conshdlr->name);
6228 if( (*cons)->conshdlr->consdelete !=
NULL&& (*cons)->consdata !=
NULL&& (*cons)->deleteconsdata )
6230 SCIP_CALL( (*cons)->conshdlr->consdelete(
set->scip, (*cons)->conshdlr, *cons, &(*cons)->
consdata) );
6232 else if( !(*cons)->deleteconsdata )
6233(*cons)->consdata =
NULL;
6234assert((*cons)->consdata ==
NULL);
6237 if( (*cons)->transorigcons !=
NULL)
6239assert(!(*cons)->original);
6240assert((*cons)->transorigcons->original);
6241assert((*cons)->transorigcons->transorigcons == *cons);
6243(*cons)->transorigcons->transorigcons =
NULL;
6247 if( !(*cons)->original )
6252assert((*cons)->consspos == -1);
6266assert(cons !=
NULL);
6267assert(cons->
nuses>= 0);
6269 SCIPdebugMessage(
"capture constraint <%s> with nuses=%d, cons pointer %p\n", cons->
name, cons->
nuses, (
void*)cons);
6280assert(blkmem !=
NULL);
6281assert(cons !=
NULL);
6282assert(*cons !=
NULL);
6283assert((*cons)->conshdlr !=
NULL);
6284assert((*cons)->nuses >= 1);
6286assert((*cons)->scip ==
set->scip);
6288 SCIPsetDebugMsg(
set,
"release constraint <%s> with nuses=%d, cons pointer %p\n", (*cons)->name, (*cons)->nuses, (
void*)(*cons));
6290 if( (*cons)->nuses == 0 )
6292assert(!(*cons)->active || (*cons)->updatedeactivate);
6298(*cons)->updatefree =
TRUE;
6300assert((*cons)->update);
6301assert((*cons)->nuses == 1);
6323assert(cons !=
NULL);
6325assert(cons->
scip==
set->scip);
6328assert(conshdlr !=
NULL);
6332 if( conshdlr->consprint !=
NULL)
6334 SCIP_CALL( conshdlr->consprint(
set->scip, conshdlr, cons, file) );
6337 SCIPmessageFPrintInfo(messagehdlr, file,
"constraint handler <%s> doesn't support printing constraint", conshdlr->
name);
6363assert(cons !=
NULL);
6365assert(cons->
scip==
set->scip);
6368assert(conshdlr !=
NULL);
6370 if( conshdlr->consgetvars !=
NULL)
6372 SCIP_CALL( conshdlr->consgetvars(
set->scip, conshdlr, cons, vars, varssize, success) );
6376(*success) =
FALSE;
6398assert(cons !=
NULL);
6400assert(cons->
scip==
set->scip);
6403assert(conshdlr !=
NULL);
6405 if( conshdlr->consgetnvars !=
NULL)
6407 SCIP_CALL( conshdlr->consgetnvars(
set->scip, conshdlr, cons, nvars, success) );
6412(*success) =
FALSE;
6433assert(cons !=
NULL);
6435assert(cons->
scip==
set->scip);
6436assert(success !=
NULL);
6439assert(conshdlr !=
NULL);
6441 if( conshdlr->consgetpermsymgraph !=
NULL)
6443 SCIP_CALL( conshdlr->consgetpermsymgraph(
set->scip, conshdlr, cons, graph, success) );
6466assert(cons !=
NULL);
6468assert(cons->
scip==
set->scip);
6469assert(success !=
NULL);
6472assert(conshdlr !=
NULL);
6474 if( conshdlr->consgetsignedpermsymgraph !=
NULL)
6476 SCIP_CALL( conshdlr->consgetsignedpermsymgraph(
set->scip, conshdlr, cons, graph, success) );
6496assert(cons !=
NULL);
6500assert(cons->
scip==
set->scip);
6554assert(origcons !=
NULL);
6556assert(origcons->
scip==
set->scip);
6559assert(transcons !=
NULL);
6591assert(*transcons !=
NULL);
6604assert(cons !=
NULL);
6606assert(cons->
scip==
set->scip);
6608 if( cons->
initial!= initial )
6637assert(cons !=
NULL);
6639assert(cons->
scip==
set->scip);
6672assert(cons !=
NULL);
6674assert(cons->
scip==
set->scip);
6676 if( cons->
enforce!= enforce )
6707assert(cons !=
NULL);
6709assert(cons->
scip==
set->scip);
6711 if( cons->
check!= check )
6713cons->
check= check;
6755assert(cons !=
NULL);
6757assert(cons->
scip==
set->scip);
6789assert(cons !=
NULL);
6791cons->
local= local;
6802assert(cons !=
NULL);
6813assert(cons !=
NULL);
6824assert(cons !=
NULL);
6835assert(cons !=
NULL);
6847assert( cons !=
NULL);
6848assert( name !=
NULL);
6850cons->
name= (
char*)name;
6874assert(cons !=
NULL);
6886assert(cons->
scip==
set->scip);
6890 SCIPsetDebugMsg(
set,
"delayed activation of constraint <%s> in constraint handler <%s> (depth %d)\n",
6914assert(cons !=
NULL);
6922assert(cons->
scip==
set->scip);
6926 SCIPsetDebugMsg(
set,
"delayed deactivation of constraint <%s> in constraint handler <%s>\n",
6949assert(cons !=
NULL);
6953assert(cons->
scip==
set->scip);
6982assert(cons !=
NULL);
6986assert(cons->
scip==
set->scip);
7015assert(cons !=
NULL);
7018assert(cons->
scip==
set->scip);
7045assert(cons !=
NULL);
7073assert(cons !=
NULL);
7076assert(cons->
scip==
set->scip);
7103assert(cons !=
NULL);
7106assert(cons->
scip==
set->scip);
7132assert(cons !=
NULL);
7143assert(cons !=
NULL);
7146assert(cons->
scip==
set->scip);
7173assert(cons !=
NULL);
7176assert(cons->
scip==
set->scip);
7215assert(cons !=
NULL);
7219assert(cons->
scip==
set->scip);
7225 SCIPsetDebugMsg(
set,
"adding %g to age (%g) of constraint <%s> of handler <%s>\n",
7228cons->
age+= deltaage;
7290assert(cons !=
NULL);
7294assert(cons->
scip==
set->scip);
7340assert(cons !=
NULL);
7345assert(result !=
NULL);
7346assert(cons->
scip==
set->scip);
7351assert(conshdlr !=
NULL);
7353 if( conshdlr->consresprop !=
NULL)
7358 SCIP_CALL( conshdlr->consresprop(
set->scip, conshdlr, cons, infervar, inferinfo, inferboundtype, bdchgidx,
7359relaxedbd, result) );
7370 SCIPerrorMessage(
"propagation conflict resolving method of constraint handler <%s> returned invalid result <%d>\n",
7371conshdlr->
name, *result);
7377 SCIPerrorMessage(
"propagation conflict resolving method of constraint handler <%s> is not implemented\n",
7399assert(cons !=
NULL);
7402assert((
int)locktype >= 0 && (
int)locktype < (
int)
NLOCKTYPES);
7403assert(cons->
nlockspos[locktype] >= 0);
7404assert(cons->
nlocksneg[locktype] >= 0);
7405assert(-2 <= nlockspos && nlockspos <= 2);
7406assert(-2 <= nlocksneg && nlocksneg <= 2);
7408assert(cons->
scip==
set->scip);
7411oldnlockspos = cons->
nlockspos[locktype];
7412oldnlocksneg = cons->
nlocksneg[locktype];
7413cons->
nlockspos[locktype] += nlockspos;
7414cons->
nlocksneg[locktype] += nlocksneg;
7415assert(cons->
nlockspos[locktype] >= 0);
7416assert(cons->
nlocksneg[locktype] >= 0);
7419updlockpos = (int)(cons->
nlockspos[locktype] > 0) - (int)(oldnlockspos > 0);
7420updlockneg = (int)(cons->
nlocksneg[locktype] > 0) - (int)(oldnlocksneg > 0);
7423 if( updlockpos != 0 || updlockneg != 0 )
7444assert(cons !=
NULL);
7446assert(cons->
scip==
set->scip);
7447assert(result !=
NULL);
7450assert(conshdlr !=
NULL);
7453assert(conshdlr->conscheck !=
NULL);
7455 SCIP_CALL( conshdlr->conscheck(
set->scip, conshdlr, &cons, 1, sol, checkintegrality, checklprows, printreason,
7461 SCIPerrorMessage(
"feasibility check of constraint handler <%s> on constraint <%s> returned invalid result <%d>\n",
7462conshdlr->
name, cons->
name, *result);
7480assert(cons !=
NULL);
7482assert(cons->
scip==
set->scip);
7483assert(result !=
NULL);
7486assert(conshdlr !=
NULL);
7489assert(conshdlr->consenfops !=
NULL);
7491 SCIP_CALL( conshdlr->consenfops(
set->scip, conshdlr, &cons, 1, 1, solinfeasible, objinfeasible, result) );
7503 SCIPerrorMessage(
"enforcing method of constraint handler <%s> for pseudo solutions returned invalid result <%d>\n",
7504conshdlr->
name, *result);
7523assert(cons !=
NULL);
7525assert(cons->
scip==
set->scip);
7526assert(result !=
NULL);
7529assert(conshdlr !=
NULL);
7532assert(conshdlr->consenfolp !=
NULL);
7534 SCIP_CALL( conshdlr->consenfolp(
set->scip, conshdlr, &cons, 1, 1, solinfeasible, result) );
7545 SCIPerrorMessage(
"enforcing method of constraint handler <%s> for LP returned invalid result <%d>\n",
7546conshdlr->
name, *result);
7566assert(cons !=
NULL);
7568assert(cons->
scip==
set->scip);
7569assert(sol !=
NULL);
7570assert(result !=
NULL);
7573assert(conshdlr !=
NULL);
7576assert(conshdlr->consenfolp !=
NULL);
7578 SCIP_CALL( conshdlr->consenforelax(
set->scip, sol, conshdlr, &cons, 1, 1, solinfeasible, result) );
7589 SCIPerrorMessage(
"enforcing method of constraint handler <%s> for relaxation returned invalid result <%d>\n",
7590conshdlr->
name, *result);
7608assert(cons !=
NULL);
7610assert(infeasible !=
NULL);
7611assert(cons->
scip==
set->scip);
7614assert(conshdlr !=
NULL);
7617 if( conshdlr->consinitlp !=
NULL)
7619 SCIP_CALL( conshdlr->consinitlp(
set->scip, conshdlr, &cons, 1, infeasible) );
7634assert(cons !=
NULL);
7636assert(cons->
scip==
set->scip);
7637assert(result !=
NULL);
7640assert(conshdlr !=
NULL);
7643 if( conshdlr->conssepalp !=
NULL)
7645 SCIP_CALL( conshdlr->conssepalp(
set->scip, conshdlr, &cons, 1, 1, result) );
7657 SCIPerrorMessage(
"separation method of constraint handler <%s> returned invalid result <%d>\n", conshdlr->
name,
7676assert(cons !=
NULL);
7678assert(cons->
scip==
set->scip);
7679assert(sol !=
NULL);
7680assert(result !=
NULL);
7683assert(conshdlr !=
NULL);
7686 if( conshdlr->conssepasol !=
NULL)
7688 SCIP_CALL( conshdlr->conssepasol(
set->scip, conshdlr, &cons, 1, 1, sol, result) );
7700 SCIPerrorMessage(
"separation method of constraint handler for arbitrary primal solution <%s> returned invalid result <%d>\n",
7701conshdlr->
name, *result);
7719assert(cons !=
NULL);
7721assert(cons->
scip==
set->scip);
7722assert(result !=
NULL);
7725assert(conshdlr !=
NULL);
7728 if( conshdlr->consprop !=
NULL)
7730 SCIP_CALL( conshdlr->consprop(
set->scip, conshdlr, &cons, 1, 1, 1, proptiming, result) );
7740 SCIPerrorMessage(
"propagation method of constraint handler <%s> returned invalid result <%d>\n",
7741conshdlr->
name, *result);
7763assert(cons !=
NULL);
7765assert(cons->
scip==
set->scip);
7766assert(result !=
NULL);
7767assert(infervar !=
NULL);
7768assert(bdchgidx !=
NULL);
7771assert(conshdlr !=
NULL);
7774 if( conshdlr->consresprop !=
NULL)
7776 SCIP_CALL( conshdlr->consresprop(
set->scip, conshdlr, cons, infervar, inferinfo, boundtype, bdchgidx, relaxedbd, result) );
7782 SCIPerrorMessage(
"propagation conflict resolving method of constraint handler <%s> returned invalid result <%d>\n",
7783conshdlr->
name, *result);
7799 intnnewchgvartypes,
7822assert(cons !=
NULL);
7824assert(cons->
scip==
set->scip);
7825assert(nfixedvars !=
NULL);
7826assert(naggrvars !=
NULL);
7827assert(nchgvartypes !=
NULL);
7828assert(nchgbds !=
NULL);
7829assert(naddholes !=
NULL);
7830assert(ndelconss !=
NULL);
7831assert(naddconss !=
NULL);
7832assert(nupgdconss !=
NULL);
7833assert(nchgcoefs !=
NULL);
7834assert(nchgsides !=
NULL);
7835assert(result !=
NULL);
7838assert(conshdlr !=
NULL);
7841 if( conshdlr->conspresol !=
NULL)
7843 SCIP_CALL( conshdlr->conspresol(
set->scip, conshdlr, &cons, 1, nrounds, timing,
7844nnewfixedvars, nnewaggrvars, nnewchgvartypes, nnewchgbds, nnewholes, nnewdelconss, nnewaddconss,
7845nnewupgdconss, nnewchgcoefs, nnewchgsides, nfixedvars, naggrvars, nchgvartypes,
7846nchgbds, naddholes, ndelconss, naddconss, nupgdconss, nchgcoefs, nchgsides, result) );
7856 SCIPerrorMessage(
"presolving method of constraint handler <%s> returned invalid result <%d>\n",
7857conshdlr->
name, *result);
7873assert(cons !=
NULL);
7875assert(cons->
scip==
set->scip);
7878assert(conshdlr !=
NULL);
7881 if( conshdlr->consactive !=
NULL)
7883 SCIP_CALL( conshdlr->consactive(
set->scip, conshdlr, cons) );
7897assert(cons !=
NULL);
7899assert(cons->
scip==
set->scip);
7902assert(conshdlr !=
NULL);
7905 if( conshdlr->consdeactive !=
NULL)
7907 SCIP_CALL( conshdlr->consdeactive(
set->scip, conshdlr, cons) );
7924assert(cons !=
NULL);
7925 returncons->
name;
7942assert(conshdlr !=
NULL);
7953assert(num <= conshdlr->storedpropconsssize);
7969assert(conshdlrs !=
NULL|| nconshdlrs == 0);
7971 for( c = nconshdlrs - 1; c >= 0; --c )
7973conshdlr = conshdlrs[c];
7974assert(conshdlr !=
NULL);
8010assert(blkmem !=
NULL);
8011assert(conshdlrs !=
NULL|| nconshdlrs == 0);
8013 for( c = nconshdlrs - 1; c >= 0; --c )
8015conshdlr = conshdlrs[c];
8016assert(conshdlr !=
NULL);
8034assert(cons !=
NULL);
8064assert(linconsstats !=
NULL);
8077assert(linconsstats !=
NULL);
8078assert(*linconsstats !=
NULL);
8089linconsstats->
sum= 0;
8098assert(linconsstats !=
NULL);
8102 returnlinconsstats->
counter[(int)linconstype];
8110assert(linconsstats !=
NULL);
8112 returnlinconsstats->
sum;
8122assert(linconsstats !=
NULL);
8123assert(increment >= 1);
8127linconsstats->
counter[(int)linconstype] += increment;
8128linconsstats->
sum+= increment;
8139assert(linconsstats !=
NULL);
8175#undef SCIPconsGetName 8176#undef SCIPconsGetPos 8177#undef SCIPconsGetHdlr 8178#undef SCIPconsGetData 8179#undef SCIPconsGetNUses 8180#undef SCIPconsGetActiveDepth 8181#undef SCIPconsGetValidDepth 8182#undef SCIPconsIsActive 8183#undef SCIPconsIsEnabled 8184#undef SCIPconsIsSeparationEnabled 8185#undef SCIPconsIsPropagationEnabled 8186#undef SCIPconsIsDeleted 8187#undef SCIPconsIsObsolete 8188#undef SCIPconsIsConflict 8189#undef SCIPconsGetAge 8190#undef SCIPconsIsInitial 8191#undef SCIPconsIsSeparated 8192#undef SCIPconsIsEnforced 8193#undef SCIPconsIsChecked 8194#undef SCIPconsIsMarkedPropagate 8195#undef SCIPconsIsPropagated 8196#undef SCIPconsIsGlobal 8197#undef SCIPconsIsLocal 8198#undef SCIPconsIsModifiable 8199#undef SCIPconsIsDynamic 8200#undef SCIPconsIsRemovable 8201#undef SCIPconsIsStickingAtNode 8202#undef SCIPconsIsInProb 8203#undef SCIPconsIsOriginal 8204#undef SCIPconsIsTransformed 8205#undef SCIPconsIsLockedPos 8206#undef SCIPconsIsLockedNeg 8207#undef SCIPconsIsLocked 8208#undef SCIPconsGetNLocksPos 8209#undef SCIPconsGetNLocksNeg 8210#undef SCIPconsIsLockedTypePos 8211#undef SCIPconsIsLockedTypeNeg 8212#undef SCIPconsIsLockedType 8213#undef SCIPconsGetNLocksTypePos 8214#undef SCIPconsGetNLocksTypeNeg 8215#undef SCIPconsIsAdded 8216#undef SCIPconsGetNUpgradeLocks 8226assert(cons !=
NULL);
8228 returncons->
name;
8236assert(cons !=
NULL);
8246assert(cons !=
NULL);
8256assert(cons !=
NULL);
8266assert(cons !=
NULL);
8268 returncons->
nuses;
8276assert(cons !=
NULL);
8287assert(cons !=
NULL);
8297assert(cons !=
NULL);
8309assert(cons !=
NULL);
8312 return(!cons->
local? 0
8323assert(cons !=
NULL);
8333assert(cons !=
NULL);
8344assert(cons !=
NULL);
8355assert(cons !=
NULL);
8365assert(cons !=
NULL);
8375assert(cons !=
NULL);
8385assert(cons !=
NULL);
8395assert(cons !=
NULL);
8405assert(cons !=
NULL);
8415assert(cons !=
NULL);
8425assert(cons !=
NULL);
8427 returncons->
check;
8435assert(cons !=
NULL);
8445assert(cons !=
NULL);
8455assert(cons !=
NULL);
8457 return!cons->
local;
8465assert(cons !=
NULL);
8467 returncons->
local;
8475assert(cons !=
NULL);
8485assert(cons !=
NULL);
8495assert(cons !=
NULL);
8505assert(cons !=
NULL);
8515assert(cons !=
NULL);
8525assert(cons !=
NULL);
8535assert(cons !=
NULL);
8545assert(cons !=
NULL);
8555assert(cons !=
NULL);
8565assert(cons !=
NULL);
8575assert(cons !=
NULL);
8585assert(cons !=
NULL);
8596assert(cons !=
NULL);
8597assert((
int)locktype >= 0 && (
int)locktype < (
int)
NLOCKTYPES);
8599 return(cons->
nlockspos[locktype] > 0);
8608assert(cons !=
NULL);
8609assert((
int)locktype >= 0 && (
int)locktype < (
int)
NLOCKTYPES);
8611 return(cons->
nlocksneg[locktype] > 0);
8620assert(cons !=
NULL);
8621assert((
int)locktype >= 0 && (
int)locktype < (
int)
NLOCKTYPES);
8632assert(cons !=
NULL);
8633assert((
int)locktype >= 0 && (
int)locktype < (
int)
NLOCKTYPES);
8644assert(cons !=
NULL);
8645assert((
int)locktype >= 0 && (
int)locktype < (
int)
NLOCKTYPES);
8655assert(cons !=
NULL);
8666assert(cons !=
NULL);
8677assert(cons !=
NULL);
SCIP_DECL_CONSENFOPS(ConshdlrSubtour::scip_enfops)
SCIP_DECL_CONSSEPASOL(ConshdlrSubtour::scip_sepasol)
SCIP_DECL_CONSLOCK(ConshdlrSubtour::scip_lock)
SCIP_DECL_CONSDELETE(ConshdlrSubtour::scip_delete)
SCIP_DECL_CONSCOPY(ConshdlrSubtour::scip_copy)
SCIP_DECL_CONSSEPALP(ConshdlrSubtour::scip_sepalp)
SCIP_DECL_CONSTRANS(ConshdlrSubtour::scip_trans)
SCIP_DECL_CONSDELVARS(ConshdlrSubtour::scip_delvars)
SCIP_DECL_CONSPRINT(ConshdlrSubtour::scip_print)
SCIP_DECL_CONSCHECK(ConshdlrSubtour::scip_check)
SCIP_DECL_CONSPROP(ConshdlrSubtour::scip_prop)
SCIP_DECL_CONSENFOLP(ConshdlrSubtour::scip_enfolp)
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)
static SCIP_RETCODE conshdlrAddInitcons(SCIP_CONSHDLR *conshdlr, SCIP_SET *set, SCIP_STAT *stat, SCIP_CONS *cons)
void SCIPconshdlrSetFree(SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSFREE((*consfree)))
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)
void SCIPconshdlrSetInitsol(SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSINITSOL((*consinitsol)))
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)
void SCIPconshdlrSetTrans(SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSTRANS((*constrans)))
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 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)
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 SCIPconsSetLocal(SCIP_CONS *cons, SCIP_Bool local)
SCIP_RETCODE SCIPconsMarkPropagate(SCIP_CONS *cons, SCIP_SET *set)
void SCIPconshdlrSetInit(SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSINIT((*consinit)))
void SCIPconshdlrSetDelete(SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSDELETE((*consdelete)))
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)
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)
void SCIPconshdlrSetParse(SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSPARSE((*consparse)))
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)
void SCIPconshdlrSetGetPermsymGraph(SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSGETPERMSYMGRAPH((*consgetpermsymgraph)))
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)
void SCIPconshdlrSetGetNVars(SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSGETNVARS((*consgetnvars)))
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)
void SCIPconshdlrSetActive(SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSACTIVE((*consactive)))
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 SCIPconsGetPermsymGraph(SCIP_CONS *cons, SCIP_SET *set, SYM_GRAPH *graph, SCIP_Bool *success)
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 SCIPconshdlrSetInitpre(SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSINITPRE((*consinitpre)))
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)
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)
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 SCIPconsSetRemovable(SCIP_CONS *cons, SCIP_Bool removable)
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_DECL_CONSGETPERMSYMGRAPH((*consgetpermsymgraph)), SCIP_DECL_CONSGETSIGNEDPERMSYMGRAPH((*consgetsignedpermsymgraph)), SCIP_CONSHDLRDATA *conshdlrdata)
void SCIPconshdlrEnableOrDisableClocks(SCIP_CONSHDLR *conshdlr, SCIP_Bool enable)
static SCIP_RETCODE conssetchgDelDisabledCons(SCIP_CONSSETCHG *conssetchg, BMS_BLKMEM *blkmem, SCIP_SET *set, int arraypos)
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)
void SCIPconshdlrSetDisable(SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSDISABLE((*consdisable)))
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)
void SCIPconshdlrSetGetSignedPermsymGraph(SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSGETSIGNEDPERMSYMGRAPH((*consgetsignedpermsymgraph)))
SCIP_RETCODE SCIPconsEnablePropagation(SCIP_CONS *cons, SCIP_SET *set)
static void conshdlrDelCheckcons(SCIP_CONSHDLR *conshdlr, SCIP_CONS *cons)
static void conshdlrDelayUpdates(SCIP_CONSHDLR *conshdlr)
SCIP_DECL_HASHGETKEY(SCIPhashGetKeyCons)
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)
void SCIPconshdlrSetExitsol(SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSEXITSOL((*consexitsol)))
static SCIP_Bool consExceedsObsoleteage(SCIP_CONS *cons, SCIP_SET *set)
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)
SCIP_RETCODE SCIPconsDelete(SCIP_CONS *cons, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *prob, SCIP_REOPT *reopt)
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)
void SCIPconshdlrSetResprop(SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSRESPROP((*consresprop)))
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)
SCIP_RETCODE SCIPconsRelease(SCIP_CONS **cons, BMS_BLKMEM *blkmem, SCIP_SET *set)
void SCIPconshdlrSetInitlp(SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSINITLP((*consinitlp)))
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)
void SCIPconshdlrSetGetDiveBdChgs(SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSGETDIVEBDCHGS((*consgetdivebdchgs)))
static SCIP_RETCODE conshdlrEnsureSepaconssMem(SCIP_CONSHDLR *conshdlr, SCIP_SET *set, int num)
SCIP_RETCODE SCIPconsGetSignedPermsymGraph(SCIP_CONS *cons, SCIP_SET *set, SYM_GRAPH *graph, SCIP_Bool *success)
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)
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_DECL_CONSGETPERMSYMGRAPH((*consgetpermsymgraph)), SCIP_DECL_CONSGETSIGNEDPERMSYMGRAPH((*consgetsignedpermsymgraph)), SCIP_CONSHDLRDATA *conshdlrdata)
SCIP_RETCODE SCIPconshdlrsResetPropagationStatus(SCIP_SET *set, BMS_BLKMEM *blkmem, SCIP_CONSHDLR **conshdlrs, int nconshdlrs)
void SCIPconshdlrSetExit(SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSEXIT((*consexit)))
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)
void SCIPconshdlrSetCopy(SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSHDLRCOPY((*conshdlrcopy)), SCIP_DECL_CONSCOPY((*conscopy)))
void SCIPconshdlrSetDelvars(SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSDELVARS((*consdelvars)))
static void conshdlrDelSepacons(SCIP_CONSHDLR *conshdlr, SCIP_CONS *cons)
void SCIPconshdlrSetEnable(SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSENABLE((*consenable)))
SCIP_CONS * SCIPconsGetTransformed(SCIP_CONS *cons)
#define AGERESETAVG_DECAY
void SCIPconshdlrSetPrint(SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSPRINT((*consprint)))
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)
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 SCIPconshdlrSetDeactive(SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSDEACTIVE((*consdeactive)))
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)
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)
void SCIPconshdlrSetGetVars(SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSGETVARS((*consgetvars)))
static SCIP_RETCODE conshdlrDeactivateCons(SCIP_CONSHDLR *conshdlr, SCIP_SET *set, SCIP_STAT *stat, SCIP_CONS *cons)
void SCIPconshdlrSetExitpre(SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSEXITPRE((*consexitpre)))
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)
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)
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)
void SCIPconshdlrSetEnforelax(SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSENFORELAX((*consenforelax)))
SCIP_Longint SCIPconshdlrGetNCutsFound(SCIP_CONSHDLR *conshdlr)
SCIP_Bool SCIPconshdlrSupportsSignedPermsymDetection(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_DECL_SORTPTRCOMP(SCIPconshdlrCompSepa)
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)
SCIP_Bool SCIPconshdlrSupportsPermsymDetection(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 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
int counter[SCIP_NLINCONSTYPES]
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_CONSGETSIGNEDPERMSYMGRAPH(x)
#define SCIP_DECL_CONSGETPERMSYMGRAPH(x)
#define SCIP_DECL_CONSINITPRE(x)
#define SCIP_DECL_CONSEXIT(x)
#define SCIP_DECL_CONSGETVARS(x)
#define SCIP_DECL_CONSINITSOL(x)
struct SCIP_ConshdlrData SCIP_CONSHDLRDATA
#define SCIP_DECL_CONSDISABLE(x)
#define SCIP_DECL_CONSENFORELAX(x)
#define SCIP_DECL_CONSGETDIVEBDCHGS(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_CONSPARSE(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_CONSINIT(x)
struct SCIP_ConsData SCIP_CONSDATA
#define SCIP_DECL_CONSHDLRCOPY(x)
#define SCIP_DECL_CONSEXITSOL(x)
#define SCIP_NLINCONSTYPES
#define SCIP_DECL_CONSFREE(x)
enum SCIP_LinConstype SCIP_LINCONSTYPE
enum SCIP_BoundType SCIP_BOUNDTYPE
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
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