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],
327 &infeasible, &redundant, &aggregated) );
334 else if( aggregated )
SCIP_RETCODE SCIPincludePresolBasic(SCIP *scip, SCIP_PRESOL **presolptr, const char *name, const char *desc, int priority, int maxrounds, SCIP_PRESOLTIMING timing, SCIP_DECL_PRESOLEXEC((*presolexec)), SCIP_PRESOLDATA *presoldata)
SCIP_RETCODE SCIPaggregateVars(SCIP *scip, SCIP_VAR *varx, SCIP_VAR *vary, SCIP_Real scalarx, SCIP_Real scalary, SCIP_Real rhs, SCIP_Bool *infeasible, SCIP_Bool *redundant, SCIP_Bool *aggregated)