Closed svigerske closed 5 years ago
I don't know much about this code, but I think we need
--- src/CglZeroHalf/Cgl012cut.cpp (revision 1473)
+++ src/CglZeroHalf/Cgl012cut.cpp (working copy)
@@ -1685,8 +1685,9 @@
crhs = 0;
for ( e = 0; e < s_cyc->length; e++ ) {
i = (s_cyc->edge_list[e])->constr;
- if ( i >= 0 ) {
+ if ( i >= 0 && flag_comb[i] != IN) {
/* the edge is not associated with a bound constraint */
+ assert (ncomb<inp_ilp->mr);
comb[ncomb] = i; ncomb++; flag_comb[i] = IN;
}
}
Otherwise flag_comb is not used at all
Yes, that seems to do it.
git blame told me that you added this cut generator some years ago (18d1a34f2), so I went straight to you :).
I now remembered that you did some announcement for these cuts and explained where the original source comes from: https://list.coin-or.org/pipermail/cbc/2013-January/001002.html Thanks again for putting this in and also for the above patch (d09858105cf).
With the current Cbc/master and stable/2.10, I get valgrind complains on instance 012.mps.txt and crashes on Windows.