Skip to content

Commit c6b279c

Browse files
committed
fix possibility of odd bug
1 parent ecb8d84 commit c6b279c

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

src/OsiClp/OsiClpSolverInterface.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1469,6 +1469,18 @@ void OsiClpSolverInterface::resolve()
14691469
#ifdef CBC_STATISTICS
14701470
osi_primal++;
14711471
#endif
1472+
// check free really superbasic
1473+
const double * columnLower = modelPtr_->columnLower();
1474+
const double * columnUpper = modelPtr_->columnUpper();
1475+
int numberColumns = modelPtr_->numberColumns();
1476+
unsigned char * status = modelPtr_->statusArray();
1477+
for (int iColumn = 0; iColumn < numberColumns; iColumn++) {
1478+
if ((status[iColumn]&7)==0) {
1479+
// check not just superBasic
1480+
if (columnLower[iColumn]>-1.0e100||columnUpper[iColumn]<1.0e100)
1481+
status[iColumn] = 4;
1482+
}
1483+
}
14721484
modelPtr_->primal(1, startFinishOptions);
14731485
totalIterations += modelPtr_->numberIterations();
14741486
lastAlgorithm_ = 1; // primal

0 commit comments

Comments
 (0)