Ignore:
Timestamp:
Mar 19, 2014 8:49:55 AM (6 years ago)
Author:
forrest
Message:

mainly dantzig-wolfe - also Clp strong branching (rather than OsiClp?)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Clp/src/ClpModel.cpp

    r2024 r2025  
    14271427          if (status_) {
    14281428               if (numberColumns_ + newSize) {
     1429#define CLP_TIDY_DELETE_ROWS
     1430#ifdef CLP_TIDY_DELETE_ROWS
     1431                    // try and get right number of basic
     1432                    int nChange=0;
     1433                    unsigned char * rowStatus = status_+numberColumns_;
     1434                    for (int i=0;i<number;i++) {
     1435                      int iRow = which[i];
     1436                      if ((rowStatus[iRow]&7) !=1)
     1437                        nChange++;
     1438                    }
     1439                    // take out slacks at bound
     1440                    for (int iRow=0;iRow<numberRows_;iRow++) {
     1441                        if (!nChange)
     1442                          break;
     1443                        if ((rowStatus[iRow]&7) ==1) {
     1444                          if (fabs(rowActivity_[iRow]-rowLower_[iRow])<1.0e-8) {
     1445                            rowStatus[iRow]=3;
     1446                            nChange--;
     1447                          } else if (fabs(rowActivity_[iRow]-rowUpper_[iRow])<1.0e-8) {
     1448                            rowStatus[iRow]=2;
     1449                            nChange--;
     1450                          }
     1451                        }
     1452                      }
     1453#endif
    14291454                    unsigned char * tempR  = reinterpret_cast<unsigned char *>
    14301455                                             (deleteChar(reinterpret_cast<char *>(status_) + numberColumns_,
Note: See TracChangeset for help on using the changeset viewer.