@@ -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