65 SCIP_Real** violations,
80 if( *cutsize - 1 <= *ncutscreated )
82 *cutsize = *cutsize * 2;
87 (*violations)[*ncutscreated] = violation;
96 for(
i = 0;
i < nfirst; ++
i )
98 for( j = 0; j <
i; ++j )
100 inda =
MAX(firstpart[
i], firstpart[j]);
101 indb = MIN(firstpart[
i], firstpart[j]);
106 for(
i = 0;
i < nsecond; ++
i )
108 for( j = 0; j <
i; ++j )
110 inda =
MAX(secondpart[
i], secondpart[j]);
111 indb = MIN(secondpart[
i], secondpart[j]);
116 for(
i = 0;
i < nfirst; ++
i )
118 for( j = 0; j < nsecond; ++j )
121 getEdgevar(edgevars, firstpart[
i], secondpart[j], 1), 1.0) );
152 SCIP_Real* fractionality;
157 SCIP_Real violationchg;
159 SCIP_Real lpvalforward;
160 SCIP_Real lpvalincluster;
161 SCIP_Real goodscorefac;
162 SCIP_Real badscorefac;
163 SCIP_Real goodmaxparall;
165 SCIP_Real dircutoffdist;
166 SCIP_Real efficacyweight;
167 SCIP_Real objparalweight;
168 SCIP_Real intsuppweight;
169 SCIP_Real* violations;
186 SCIP_Bool usecutselection;
222 for(
i = 0;
i < nstates; ++
i )
225 fractionality[
i] = 0;
229 for( j = 0; j < nsuccessors[0]; ++j )
232 states[1] = successors[0][j];
236 fractionality[states[0]] += MIN(lpvalforward, 1 - lpvalforward) + MIN(1 - lpvalincluster, lpvalincluster);
250 for( j = 0; j < nsuccessors[0] && ncutscreated <
MAXCUTSCREATED; ++j )
252 states[1] = successors[0][j];
256 for( k = 0; k < nsuccessors[1] && ncutscreated <
MAXCUTSCREATED; ++k )
258 states[2] = successors[1][k];
266 if( states[1] > states[2] )
270 firstpart[0] = states[0];
273 secondpart[0] = states[1];
274 secondpart[1] = states[2];
288 for( l = 0; l < nsuccessors[2]; ++l )
290 states[3] = successors[2][l];
296 MAX(states[1],states[3]), MIN(states[1],states[3]), 0));
298 MAX(states[2],states[3]), MIN(states[2],states[3]), 0));
300 if( violationchg > bestvalue )
302 bestvalue = violationchg;
303 secondpart[2] = states[3];
307 states[3] = secondpart[2];
310 if( states[3] == -1 )
317 violation += bestvalue;
321 for( l = 0; l < nsuccessors[3]; ++l )
323 states[4] = successors[3][l];
330 MAX(states[0], states[4]), MIN(states[0],states[4]), 0)) - 1.0;
338 firstpart[1] = states[4];
341 nfirst, nsecond, &violations, violation + violationchg) );
350 firstpart[0] = states[1];
351 firstpart[1] = states[2];
354 secondpart[0] = states[0];
367 for( l = 0; l < nsuccessors[2]; ++l )
369 states[3] = successors[2][l];
375 MAX(states[1],states[3]), MIN(states[1],states[3]), 0));
377 MAX(states[2],states[3]), MIN(states[2],states[3]), 0));
379 if( violationchg > bestvalue )
381 bestvalue = violationchg;
382 firstpart[2] = states[3];
386 states[3] = firstpart[2];
388 if( states[3] == -1 )
395 violation += bestvalue;
399 for( l = 0; l < nsuccessors[3]; ++l )
401 states[4] = successors[3][l];
407 MAX(states[0], states[4]), MIN(states[0],states[4]), 0)) - 1.0;
415 secondpart[1] = states[4];
418 secondpart, nfirst, nsecond, &violations, violation + violationchg) );
430 if( usecutselection )
442 goodmaxparall, maxparall, dircutoffdist, efficacyweight, objparalweight, intsuppweight,
443 ncutscreated, 0,
MAXCUTS, &ncutsapplied) );
448 ncutsapplied = MIN(ncutscreated,
MAXCUTS);
451 for( j = 0; j < ncutsapplied; ++j )
462 for(
i = 0;
i < ncutscreated; ++
i )