File tree Expand file tree Collapse file tree 1 file changed +6
-0
lines changed Expand file tree Collapse file tree 1 file changed +6
-0
lines changed Original file line number Diff line number Diff line change @@ -589,6 +589,12 @@ CoinWarmStartBasis::generateDiff(const CoinWarmStart *const oldCWS) const
589589 const unsigned int *oldStatus = reinterpret_cast < const unsigned int * >(oldBasis->getArtificialStatus ());
590590 const unsigned int *newStatus = reinterpret_cast < const unsigned int * >(newBasis->getArtificialStatus ());
591591 int numberChanged = 0 ;
592+ /* Code taken out incorrectly years ago!
593+ When basis expanded all artificials set to basic.
594+ It can happen that last one is basic later - so looks same
595+ and diff is not created. Happens very rarely but better to be correct. */
596+ if (sizeNewArtif == sizeOldArtif)
597+ sizeOldArtif--; // make sure all taken
592598 int i;
593599 for (i = 0 ; i < sizeOldArtif; i++) {
594600 if (oldStatus[i] != newStatus[i]) {
You can’t perform that action at this time.
0 commit comments