Skip to content

Commit dc7c517

Browse files
committed
Slightly change stopping criteria
1 parent 9502836 commit dc7c517

File tree

1 file changed

+15
-6
lines changed

1 file changed

+15
-6
lines changed

highs/presolve/HPresolve.cpp

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1161,6 +1161,10 @@ HPresolve::Result HPresolve::dominatedColumns(
11611161
HighsInt numFixedColsPredBndAnalysis = 0;
11621162
HighsInt numModifiedBndsPredBndAnalysis = 0;
11631163

1164+
// parameters for predictive bound analysis
1165+
const double maxAverageNumDomChecksPredBndAnalysis = 1e4;
1166+
const double minAverageNumRedsPredBndAnalysis = 1e-2;
1167+
11641168
// perform predictive bound analysis?
11651169
bool allowPredBndAnalysis = true;
11661170

@@ -1417,14 +1421,19 @@ HPresolve::Result HPresolve::dominatedColumns(
14171421
hasPosCliques));
14181422

14191423
// do not use predictive bound analysis if it requires many domination
1420-
// checks and does not yield fixings or improved bounds
1424+
// checks and only yields few fixings or improved bounds on average
1425+
double averageNumDomChecksPredBndAnalysis =
1426+
numDomChecksPredBndAnalysis / static_cast<double>(numCols);
1427+
double averageNumRedsPredBndAnalysis =
1428+
(numFixedColsPredBndAnalysis + numModifiedBndsPredBndAnalysis) /
1429+
static_cast<double>(numCols);
14211430
allowPredBndAnalysis =
14221431
allowPredBndAnalysis &&
1423-
(numDomChecksPredBndAnalysis == 0 ||
1424-
(numDomChecksPredBndAnalysis / static_cast<double>(numCols) <= 1e4 &&
1425-
(numFixedColsPredBndAnalysis + numModifiedBndsPredBndAnalysis) /
1426-
static_cast<double>(numDomChecksPredBndAnalysis) >=
1427-
1e-5));
1432+
(numDomChecksPredBndAnalysis <=
1433+
30.0 * maxAverageNumDomChecksPredBndAnalysis ||
1434+
(averageNumDomChecksPredBndAnalysis <=
1435+
maxAverageNumDomChecksPredBndAnalysis &&
1436+
averageNumRedsPredBndAnalysis >= minAverageNumRedsPredBndAnalysis));
14281437
}
14291438

14301439
if (numFixedCols > 0 || numModifiedBndsPredBndAnalysis > 0)

0 commit comments

Comments
 (0)