Changeset 2333


Ignore:
Timestamp:
Jun 1, 2017 6:24:20 AM (14 months ago)
Author:
stefan
Message:

further fix for SOS2 by JJF - some updates of SOS2 info in presolve was missing

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Cbc/src/CbcSolver.cpp

    r2332 r2333  
    34363436                            int truncateColumns=COIN_INT_MAX;
    34373437                            int truncateRows=-1;
     3438                            bool redoSOS=false;
    34383439                            double * truncatedRhsLower=NULL;
    34393440                            double * truncatedRhsUpper=NULL;
     
    42434244                                        }
    42444245#endif
     4246                                        redoSOS=true;
    42454247                                        solver2 = process.preProcessNonDefault(*saveSolver, translate[preProcess], numberPasses,
    42464248                                                                               tunePreProcess);
     
    42544256#elif CBC_OTHER_SOLVER==1
    42554257                                    cbcPreProcessPointer = & process;
     4258                                    redoSOS=true;
    42564259                                    solver2 = process.preProcessNonDefault(*saveSolver, translate[preProcess], numberPasses,
    42574260                                                                           tunePreProcess);
     
    43454348                                    // redo existing SOS
    43464349                                    if (osiclp->numberSOS()) {
     4350                                      redoSOS=false;
    43474351                                      int * back = new int[numberOriginalColumns];
    43484352                                      for (int i = 0; i < numberOriginalColumns; i++)
     
    57185722                                            int iColumn = oldObjects[iObj]->columnNumber();
    57195723                                            if (iColumn < 0 || iColumn >= numberOriginalColumns) {
    5720 #if 0 // now done earlier
     5724                                              if (redoSOS) { // now done earlier??
    57215725                                                CbcSOS * obj =
    57225726                                                    dynamic_cast <CbcSOS *>(oldObjects[iObj]) ;
     
    57385742                                                    obj->setNumberMembers(nn);
    57395743                                                }
    5740 #endif
    5741                                                 continue;
     5744                                              }
     5745                                              continue;
    57425746                                            }
    57435747                                            if (originalColumns)
Note: See TracChangeset for help on using the changeset viewer.