diff --git a/src/mip/HighsCutGeneration.cpp b/src/mip/HighsCutGeneration.cpp index 7149ea0362..d9552d418f 100644 --- a/src/mip/HighsCutGeneration.cpp +++ b/src/mip/HighsCutGeneration.cpp @@ -1388,6 +1388,8 @@ bool HighsCutGeneration::tryGenerateCut(std::vector& inds_, // the lifting functions have minimality of the cover as necessary facet // condition bool success = false; + bool saveIntegalSupport = false; + bool saveIntegralCoefficients = false; do { if (!determineCover(lpSol)) break; @@ -1409,6 +1411,11 @@ bool HighsCutGeneration::tryGenerateCut(std::vector& inds_, double minMirEfficacy = minEfficacy; if (success) { + // save data that might otherwise be overwritten when calling the cmir + // separator + saveIntegalSupport = integralSupport; + saveIntegralCoefficients = integralCoefficients; + // compute violation and squared norm double violation = -double(rhs); double sqrnorm = 0.0; @@ -1434,11 +1441,6 @@ bool HighsCutGeneration::tryGenerateCut(std::vector& inds_, inds = tmpInds.data(); vals = tmpVals.data(); - // save data that might otherwise be overwritten when calling the cmir - // separator - bool saveIntegalSupport = integralSupport; - bool saveIntegralCoefficients = integralCoefficients; - if (cmirCutGenerationHeuristic(minMirEfficacy, onlyInitialCMIRScale)) { // take the cmir cut as it is better inds_.swap(tmpInds);