Skip to content

Commit a8b8444

Browse files
committed
Add explicit tolerances not tied to feastol
1 parent 6d41859 commit a8b8444

File tree

1 file changed

+2
-3
lines changed

1 file changed

+2
-3
lines changed

highs/mip/HighsCutGeneration.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -704,7 +704,6 @@ bool HighsCutGeneration::cmirCutGenerationHeuristic(double minEfficacy,
704704
double downrhs = fast_floor(scalrhs);
705705
double f0 = scalrhs - downrhs;
706706
double oneoveroneminusf0 = 1.0 / (1.0 - f0);
707-
// TODO: Should stronger safeguards be used, i.e. multiply delta by 2, if f0 is too large?
708707
double k = fast_ceil((1 / f0) - kHighsTiny) - 1;
709708

710709
// All coefficients of continuous variables are 0 in strong CG cut
@@ -715,7 +714,7 @@ bool HighsCutGeneration::cmirCutGenerationHeuristic(double minEfficacy,
715714
double scalaj = vals[j] * scale;
716715
double downaj = fast_floor(scalaj + kHighsTiny);
717716
double fj = scalaj - downaj;
718-
if (fj <= f0 + 0.0001) {
717+
if (fj <= f0 + 1e-5) {
719718
double aj = downaj;
720719
updateViolationAndNorm(j, aj, viol, sqrnorm);
721720
}
@@ -727,7 +726,7 @@ bool HighsCutGeneration::cmirCutGenerationHeuristic(double minEfficacy,
727726
}
728727
double efficacy = viol / sqrt(sqrnorm);
729728
// Use the strong CG cut instead of the CMIR if efficacy is larger
730-
if (efficacy < bestefficacy + 10 * feastol) {
729+
if (efficacy < bestefficacy + 1e-5) {
731730
strongcg = false;
732731
}
733732
else {

0 commit comments

Comments
 (0)