From b3cfa0a37ad5dda5fc1913815ed337b050d4bccb Mon Sep 17 00:00:00 2001 From: Federico Battista Date: Thu, 3 Oct 2024 16:32:06 -0400 Subject: [PATCH] Fix column bounds in findLowerLevelSolImprovingDirectionIC() --- src/MibSCutGenerator.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/MibSCutGenerator.cpp b/src/MibSCutGenerator.cpp index ea80ddb8..fd4583bb 100644 --- a/src/MibSCutGenerator.cpp +++ b/src/MibSCutGenerator.cpp @@ -1455,10 +1455,11 @@ MibSCutGenerator::findLowerLevelSolImprovingDirectionIC(double *uselessIneqs, do for(i = 0; i < lCols; i++){ colIndex = lColInd[i]; value = lpSol[colIndex]; - nSolver->setColLower(i, ceil(origColLb[colIndex] - value - - localModel_->etol_)); - nSolver->setColUpper(i, floor(origColUb[colIndex] - value + - localModel_->etol_)); + // feb223: w = 0 should be always a feasible direction + nSolver->setColLower(i, CoinMin(ceil(origColLb[colIndex] - value - + localModel_->etol_), 0.0)); + nSolver->setColUpper(i, CoinMax(floor(origColUb[colIndex] - value + + localModel_->etol_), 0.0)); } remainingTime = timeLimit - localModel_->broker_->subTreeTimer().getTime();