Ignore:
Timestamp:
Aug 8, 2007 5:46:15 AM (13 years ago)
Author:
forrest
Message:

try and fix heap problem

File:
1 edited

Legend:

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

    r722 r724  
    15771577*/
    15781578    totalTime = getCurrentSeconds() ;
     1579    double maxSeconds = getMaximumSeconds();
     1580    if (parentModel_)
     1581      maxSeconds=CoinMin(maxSeconds,parentModel_->getMaximumSeconds());
    15791582    if (!(numberNodes_ < intParam_[CbcMaxNumNode] &&
    15801583          numberSolutions_ < intParam_[CbcMaxNumSol] &&
    1581           totalTime < dblParam_[CbcMaximumSeconds] &&
     1584          totalTime < maxSeconds &&
    15821585          !stoppedOnGap_&&!eventHappened_)) {
    15831586      // out of loop
     
    36653668  return *this;
    36663669}
    3667  
    36683670// Destructor
    36693671CbcModel::~CbcModel ()
     
    47904792        int numberRowCutsBefore = theseCuts.sizeRowCuts() ;
    47914793        int numberColumnCutsBefore = theseCuts.sizeColCuts() ;
     4794        int numberRowCutsAfter = numberRowCutsBefore;
     4795        int numberColumnCutsAfter = numberColumnCutsBefore;
    47924796        bool generate = generator_[i]->normal();
    47934797        // skip if not optimal and should be (maybe a cut generator has fixed variables)
     
    47994803          bool mustResolve =
    48004804            generator_[i]->generateCuts(theseCuts,fullScan,solver_,node) ;
    4801           int numberRowCutsAfter = theseCuts.sizeRowCuts() ;
     4805          numberRowCutsAfter = theseCuts.sizeRowCuts() ;
    48024806          if(numberRowCutsBefore < numberRowCutsAfter &&
    48034807             generator_[i]->mustCallAgain())
     
    48484852          }
    48494853        }
    4850         int numberRowCutsAfter = theseCuts.sizeRowCuts() ;
    4851         int numberColumnCutsAfter = theseCuts.sizeColCuts() ;
     4854        numberRowCutsAfter = theseCuts.sizeRowCuts() ;
     4855        numberColumnCutsAfter = theseCuts.sizeColCuts() ;
    48524856       
    48534857        if ((specialOptions_&1)!=0) {
     
    49424946      // Add in any violated saved cuts
    49434947      if (!theseCuts.sizeRowCuts()&&!theseCuts.sizeColCuts()) {
    4944         int numberOld = theseCuts.sizeRowCuts();
     4948        int numberOld = theseCuts.sizeRowCuts()+lastNumberCuts;
    49454949        int numberCuts = slackCuts.sizeRowCuts() ;
    49464950        int i;
     
    51765180      // Add in any violated saved cuts
    51775181      if (!theseCuts.sizeRowCuts()&&!theseCuts.sizeColCuts()) {
    5178         int numberOld = theseCuts.sizeRowCuts();
     5182        int numberOld = theseCuts.sizeRowCuts()+lastNumberCuts;
    51795183        int numberCuts = slackCuts.sizeRowCuts() ;
    51805184        int i;
Note: See TracChangeset for help on using the changeset viewer.