Changeset 131 for trunk


Ignore:
Timestamp:
Feb 19, 2003 4:12:55 PM (17 years ago)
Author:
forrest
Message:

Network and faster updates

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/ClpFactorization.cpp

    r130 r131  
    210210      }
    211211    }
     212    if (!status_&&!networkBasis_) {
     213      // See if worth going sparse and when
     214      if (numberFtranCounts_>100) {
     215        ftranAverageAfterL_ = max(ftranCountAfterL_/ftranCountInput_,1.0);
     216        ftranAverageAfterR_ = max(ftranCountAfterR_/ftranCountAfterL_,1.0);
     217        ftranAverageAfterU_ = max(ftranCountAfterU_/ftranCountAfterR_,1.0);
     218
     219        btranAverageAfterU_ = max(btranCountAfterU_/btranCountInput_,1.0);
     220        btranAverageAfterR_ = max(btranCountAfterR_/btranCountAfterU_,1.0);
     221        btranAverageAfterL_ = max(btranCountAfterL_/btranCountAfterR_,1.0);
     222      }
     223      // scale back
     224
     225      ftranCountInput_ *= 0.8;
     226      ftranCountAfterL_ *= 0.8;
     227      ftranCountAfterR_ *= 0.8;
     228      ftranCountAfterU_ *= 0.8;
     229      btranCountInput_ *= 0.8;
     230      btranCountAfterU_ *= 0.8;
     231      btranCountAfterR_ *= 0.8;
     232      btranCountAfterL_ *= 0.8;
     233    }
    212234  } else {
    213235    // network - fake factorization - do nothing
     
    261283                                 bool FTUpdate)
    262284{
     285#ifdef CLP_DEBUG
    263286  regionSparse->checkClear();
     287#endif
    264288  if (!networkBasis_) {
     289    collectStatistics_ = true;
    265290    return CoinFactorization::updateColumn(regionSparse,
    266291                                           regionSparse2,
    267292                                           FTUpdate);
     293    collectStatistics_ = false;
    268294  } else {
    269295#ifdef CHECK_NETWORK
     
    355381{
    356382  if (!networkBasis_) {
     383    collectStatistics_ = true;
    357384    return CoinFactorization::updateColumnTranspose(regionSparse,
    358385                                                    regionSparse2);
     386    collectStatistics_ = false;
    359387  } else {
    360388#ifdef CHECK_NETWORK
     
    391419  delete networkBasis_;
    392420  networkBasis_=NULL;
     421  resetStatistics();
    393422}
    394423/// Says whether to redo pivot order
  • trunk/ClpNetworkBasis.cpp

    r130 r131  
    9292      int iRow = indexRow[startColumn[i]];
    9393      other = permuteBack[iRow];
    94       assert (parent_[other]!=-1);
     94      //assert (parent_[other]!=-1);
    9595    } else {
    9696      other = numberRows_;
     
    342342    int iNext = stack_[--nStack];
    343343    if (iNext>=0) {
    344       assert (depth_[iNext]==nStack);
     344      //assert (depth_[iNext]==nStack);
    345345      depth_[iNext] = nStack;
    346346      iPivot = iNext;
     
    410410    }
    411411  } else {
    412     assert (parent_[jRow1]==jRow0);
     412    //assert (parent_[jRow1]==jRow0);
    413413    int newPivot = jRow1;
    414414    if (newPivot!=pivotRow) {
     
    449449    }
    450450  }
    451   assert (kRow>=0);
     451  //assert (kRow>=0);
    452452  if (iRow0==kRow) {
    453453    iRow0 = iRow1;
  • trunk/ClpSimplex.cpp

    r130 r131  
    536536            break;
    537537          case isFree:
    538             assert(rowLowerWork_[iRow]<-largeValue_);
    539             assert(rowUpperWork_[iRow]>largeValue_);
     538            //assert(rowLowerWork_[iRow]<-largeValue_);
     539            //assert(rowUpperWork_[iRow]>largeValue_);
    540540            rowActivityWork_[iRow]=0.0;
    541541            break;
     
    629629            columnActivityWork_[iColumn]=columnUpperWork_[iColumn];
    630630            if (columnActivityWork_[iColumn]>largeValue_) {
    631               assert(columnLowerWork_[iColumn]>-largeValue_);
     631              //assert(columnLowerWork_[iColumn]>-largeValue_);
    632632              columnActivityWork_[iColumn]=columnLowerWork_[iColumn];
    633633              setColumnStatus(iColumn,atLowerBound);
     
    637637            columnActivityWork_[iColumn]=columnLowerWork_[iColumn];
    638638            if (columnActivityWork_[iColumn]<-largeValue_) {
    639               assert(columnUpperWork_[iColumn]<largeValue_);
     639              //assert(columnUpperWork_[iColumn]<largeValue_);
    640640              columnActivityWork_[iColumn]=columnUpperWork_[iColumn];
    641641              setColumnStatus(iColumn,atUpperBound);
     
    909909            if (iSequence>=numberColumns_) {
    910910              // slack in - leave
    911               assert (iSequence-numberColumns_==iRow);
     911              //assert (iSequence-numberColumns_==iRow);
    912912            } else {
    913913              // put back structural
  • trunk/Makefile.Clp

    r129 r131  
    66# between then specify the exact level you want, e.g., -O1 or -O2
    77#OptLevel := -g
    8 OptLevel := -O
     8OptLevel := -O3
    99
    1010
Note: See TracChangeset for help on using the changeset viewer.