83 SCIP_Real* aggrconsts;
120 SCIP_Real* implbounds[2];
131 for( varfixing = 0; varfixing < 2; ++varfixing )
142 while( i0 < nimpls[0] && i1 < nimpls[1] )
150 while( index0 < index1 )
153 if( i0 == nimpls[0] )
160 while( index1 < index0 )
163 if( i1 == nimpls[1] )
172 if( index0 == index1 )
177 assert(implvars[0][i0] == implvars[1][i1]);
182 if( impltypes[0][i0] == impltypes[1][i1] )
190 bdchgvars[nbdchgs] = implvars[0][i0];
191 bdchgtypes[nbdchgs] = impltypes[0][i0];
193 bdchgvals[nbdchgs] =
MIN(implbounds[0][i0], implbounds[1][i1]);
195 bdchgvals[nbdchgs] =
MAX(implbounds[0][i0], implbounds[1][i1]);
197 SCIPdebugMsg(
scip,
" -> <%s> = 0 -> <%s> %s %g, and <%s> = 1 -> <%s> %s %g: tighten <%s> %s %g\n",
224 aggrvars[naggregations] = implvars[0][i0];
225 aggraggvars[naggregations] =
vars[v];
226 aggrcoefs[naggregations] = implvarub - implvarlb;
227 aggrconsts[naggregations] = implvarlb;
229 SCIPdebugMsg(
scip,
" -> <%s> = 0 -> <%s> = %g, and <%s> = 1 -> <%s> = %g: aggregate <%s> = %g %+g<%s>\n",
232 SCIPvarGetName(aggrvars[naggregations]), aggrconsts[naggregations], aggrcoefs[naggregations],
246 aggrvars[naggregations] = implvars[0][i0];
247 aggraggvars[naggregations] =
vars[v];
248 aggrcoefs[naggregations] = implvarlb - implvarub;
249 aggrconsts[naggregations] = implvarub;
251 SCIPdebugMsg(
scip,
" -> <%s> = 0 -> <%s> = %g, and <%s> = 1 -> <%s> = %g: aggregate <%s> = %g %+g<%s>\n",
254 SCIPvarGetName(aggrvars[naggregations]), aggrconsts[naggregations], aggrcoefs[naggregations],
279 SCIP_Bool infeasible;
316 SCIP_Bool infeasible;
318 SCIP_Bool aggregated;
327 &infeasible, &redundant, &aggregated) );
334 else if( aggregated )