Ignore:
Timestamp:
Apr 28, 2008 11:38:45 AM (12 years ago)
Author:
forrest
Message:

many changes to try and improve performance

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Clp/src/ClpFactorization.hpp

    r1152 r1197  
    1111class ClpSimplex;
    1212class ClpNetworkBasis;
    13 //#define CLP_MULTIPLE_FACTORIZATIONS   
     13#define CLP_MULTIPLE_FACTORIZATIONS   
    1414#ifdef CLP_MULTIPLE_FACTORIZATIONS   
    1515#include "CoinDenseFactorization.hpp"
     
    9393  int updateColumnFT ( CoinIndexedVector * regionSparse,
    9494                       CoinIndexedVector * regionSparse2);
     95  /** Updates one column (FTRAN) from region2
     96      region1 starts as zero and is zero at end */
    9597  int updateColumn ( CoinIndexedVector * regionSparse,
    9698                     CoinIndexedVector * regionSparse2,
    9799                     bool noPermute=false) const;
     100  /** Updates one column (FTRAN) from region2
     101      Tries to do FT update
     102      number returned is negative if no room.
     103      Also updates region3
     104      region1 starts as zero and is zero at end */
     105  int updateTwoColumnsFT ( CoinIndexedVector * regionSparse1,
     106                           CoinIndexedVector * regionSparse2,
     107                           CoinIndexedVector * regionSparse3,
     108                           bool noPermuteRegion3=false) ;
    98109  /// For debug (no statistics update)
    99110  int updateColumnForDebug ( CoinIndexedVector * regionSparse,
     
    245256  inline void setDefaultValues() {
    246257    if (coinFactorizationA_) {
    247       coinFactorizationA_->increasingRows(2);
    248258      // row activities have negative sign
     259#ifndef COIN_FAST_CODE
    249260      coinFactorizationA_->slackValue(-1.0);
     261#endif
    250262      coinFactorizationA_->zeroTolerance(1.0e-13);
    251263    }
    252264  }
     265  /// Get switch to dense if number rows <= this
     266  inline int goDenseThreshold() const
     267  { return goDenseThreshold_;}
     268  /// Set switch to dense if number rows <= this
     269  inline void setGoDenseThreshold(int value)
     270  { goDenseThreshold_ = value;}
    253271  /// Go over to dense code
    254272  void goDense() ;
     273  /// Return 1 if dense code
     274  inline int isDense() const
     275  { return coinFactorizationB_ ? 1 : 0;}
    255276#else
    256277  inline bool timeToRefactorize() const
     
    262283  /// Sets default values
    263284  inline void setDefaultValues() {
    264     increasingRows(2);
    265285    // row activities have negative sign
     286#ifndef COIN_FAST_CODE
    266287    slackValue(-1.0);
     288#endif
    267289    zeroTolerance(1.0e-13);
    268290  }
     
    307329  /// Pointer to CoinDenseFactorization
    308330  CoinDenseFactorization * coinFactorizationB_;
     331  /// Switch to dense if number rows <= this
     332  int goDenseThreshold_;
    309333#endif
    310334  //@}
Note: See TracChangeset for help on using the changeset viewer.