Changeset 1779 for stable


Ignore:
Timestamp:
May 19, 2012 8:30:04 AM (7 years ago)
Author:
stefan
Message:

merge r1773 and r1775 from trunk

Location:
stable/2.7/Cbc
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • stable/2.7/Cbc

  • stable/2.7/Cbc/src/CbcModel.cpp

    r1772 r1779  
    13271327            if (!rowLength[i]) {
    13281328                del[nDel++] = i;
    1329                 possibleRow[i] = 1;
    13301329            } else if (possibleRow[i]) {
    13311330                if (rowLength[i] == 1) {
     
    14121411        if (nDel) {
    14131412            copy2->deleteRows(nDel, del);
     1413            // pack down possible
     1414            int n=0;
     1415            for (int i=0;i<nDel;i++)
     1416              possibleRow[del[i]]=-1;
     1417            for (int i=0;i<numberRows;i++) {
     1418              if (possibleRow[i]>=0)
     1419                possibleRow[n++]=possibleRow[i];
     1420            }
    14141421        }
    14151422        if (nDel != numberRows) {
     
    14711478                    break;
    14721479                }
     1480                if (possibleRow[i]==0) {
     1481                    couldBeNetwork = false;
     1482                    break;
     1483                }
    14731484            }
    14741485            if (couldBeNetwork) {
     
    39363947            secondaryStatus_ = 2;
    39373948            status_ = 0 ;
     3949        } else if (eventHappened_) {
     3950            handler_->message(CBC_EVENT, messages_) << CoinMessageEol ;
     3951            secondaryStatus_ = 5;
     3952            status_ = 5 ;
    39383953        } else if (isNodeLimitReached()) {
    39393954            handler_->message(CBC_MAXNODES, messages_) << CoinMessageEol ;
     
    39443959            secondaryStatus_ = 4;
    39453960            status_ = 1 ;
    3946         } else if (eventHappened_) {
    3947             handler_->message(CBC_EVENT, messages_) << CoinMessageEol ;
    3948             secondaryStatus_ = 5;
    3949             status_ = 5 ;
    39503961        } else {
    39513962            handler_->message(CBC_MAXSOLS, messages_) << CoinMessageEol ;
  • stable/2.7/Cbc/src/CbcModel.hpp

    r1732 r1779  
    17311731        return specialOptions_;
    17321732    }
     1733    /// Tell model to stop on event
     1734    inline void sayEventHappened()
     1735    { eventHappened_=true;}
    17331736    /// Says if normal solver i.e. has well defined CoinPackedMatrix
    17341737    inline bool normalSolver() const {
  • stable/2.7/Cbc/src/CbcSolver.cpp

    r1752 r1779  
    802802            currentBranchModel->setMaximumNodes(0); // stop at next node
    803803            currentBranchModel->setMaximumSeconds(0.0); // stop
     804            currentBranchModel->sayEventHappened(); // say why stopped
    804805        }
    805806        return;
Note: See TracChangeset for help on using the changeset viewer.