Changeset 2088 for stable


Ignore:
Timestamp:
Oct 1, 2014 10:05:17 AM (4 years ago)
Author:
forrest
Message:

fix multiple solvers in stable

File:
1 edited

Legend:

Unmodified
Added
Removed
  • stable/2.8/Cbc/src/CbcModel.cpp

    r2085 r2088  
    28532853                  //rowCut.addCuts(globalCuts_);
    28542854                  int nTightened=0;
    2855                   bool feasible=true;
     2855                  assert (feasible);
    28562856                  {
    28572857                    double tolerance=1.0e-5;
     
    28612861                      if (tightBounds[2*i+0]>tightBounds[2*i+1]) {
    28622862                        feasible=false;
    2863                         printf("Bad bounds on %d %g,%g was %g,%g\n",
    2864                                i,tightBounds[2*i+0],tightBounds[2*i+1],
    2865                                lower[i],upper[i]);
     2863                        char general[200];
     2864                        sprintf(general,"Solvers give infeasible bounds on %d %g,%g was %g,%g - search finished\n",
     2865                               i,tightBounds[2*i+0],tightBounds[2*i+1],lower[i],upper[i]);
     2866                        messageHandler()->message(CBC_GENERAL,messages())
     2867                          << general << CoinMessageEol ;
     2868                        break;
    28662869                      }
    2867                       //int k=0;
    28682870                      double oldLower=lower[i];
    28692871                      double oldUpper=upper[i];
    28702872                      if (tightBounds[2*i+0]>oldLower+tolerance) {
    28712873                        nTightened++;
    2872                         //k++;
    28732874                        solver_->setColLower(i,tightBounds[2*i+0]);
    28742875                      }
    28752876                      if (tightBounds[2*i+1]<oldUpper-tolerance) {
    28762877                        nTightened++;
    2877                         //k++;
    28782878                        solver_->setColUpper(i,tightBounds[2*i+1]);
    28792879                      }
    2880                       //if (k)
    2881                       //printf("new bounds on %d %g,%g was %g,%g\n",
    2882                       //       i,tightBounds[2*i+0],tightBounds[2*i+1],
    2883                       //       oldLower,oldUpper);
    28842880                    }
    2885                     if (!feasible)
    2886                       abort(); // deal with later
    28872881                  }
    28882882                  delete [] tightBounds;
     
    29902984                  }
    29912985                }
    2992                 feasible = solveWithCuts(cuts, maximumCutPassesAtRoot_,
     2986                if (feasible)
     2987                  feasible = solveWithCuts(cuts, maximumCutPassesAtRoot_,
    29932988                                         NULL);
    29942989                if (multipleRootTries_&&
Note: See TracChangeset for help on using the changeset viewer.