Skip to content

Commit 664600c

Browse files
committed
Update rule to be more conservative
1 parent a684943 commit 664600c

File tree

1 file changed

+6
-8
lines changed

1 file changed

+6
-8
lines changed

highs/presolve/HPresolve.cpp

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1545,8 +1545,7 @@ HPresolve::Result HPresolve::runProbing(HighsPostsolveStack& postsolve_stack) {
15451545
if (cliquetable.getSubstitution(i) != nullptr || !domain.isBinary(i))
15461546
continue;
15471547

1548-
bool tightenLimits = (numProbed - oldNumProbed) >= 1000;
1549-
if (numProbed - oldNumProbed == 1000) splayContingent /= 2;
1548+
bool tightenLimits = (numProbed - oldNumProbed) >= 2500;
15501549

15511550
// when a large percentage of columns have been deleted, stop this round
15521551
// of probing
@@ -1557,7 +1556,7 @@ HPresolve::Result HPresolve::runProbing(HighsPostsolveStack& postsolve_stack) {
15571556
std::max(HighsInt{1000}, (model->num_row_ + model->num_col_) / 20);
15581557
} else {
15591558
probingEarlyAbort =
1560-
numDel > std::min(HighsInt{1000}, (model->num_row_ + model->num_col_) / 40);
1559+
numDel > std::min(HighsInt{1000}, (model->num_row_ + model->num_col_) / 20);
15611560
}
15621561
if (probingEarlyAbort) break;
15631562

@@ -1599,17 +1598,16 @@ HPresolve::Result HPresolve::runProbing(HighsPostsolveStack& postsolve_stack) {
15991598
if (newNumDel > numDel) {
16001599
probingContingent += numDel;
16011600
if (!mipsolver->submip) {
1602-
splayContingent +=
1603-
(tightenLimits ? 50 : 100) * (newNumDel + numDelStart);
1604-
splayContingent += (tightenLimits ? 500 : 1000) * numNewCliques;
1601+
splayContingent += 100 * (newNumDel + numDelStart);
1602+
splayContingent += 1000 * numNewCliques;
16051603
}
16061604
numDel = newNumDel;
16071605
numFail = 0;
16081606
} else if (mipsolver->submip || numNewCliques == 0) {
1609-
splayContingent -= (tightenLimits ? 200 : 100) * numFail;
1607+
splayContingent -= (tightenLimits ? 250 : 100) * numFail;
16101608
++numFail;
16111609
} else {
1612-
splayContingent += (tightenLimits ? 500 : 1000) * numNewCliques;
1610+
splayContingent += 1000 * numNewCliques;
16131611
numFail = 0;
16141612
}
16151613

0 commit comments

Comments
 (0)