Ignore:
Timestamp:
Dec 10, 2014 4:43:54 AM (5 years ago)
Author:
forrest
Message:

changes to try and make more stable

File:
1 edited

Legend:

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

    r2070 r2074  
    5959     nrows_(0),
    6060     nelems_(0),
    61 #ifdef ABC_INHERIT
     61#ifdef CLP_INHERIT_MODE
    6262     numberPasses_(20),
    6363#else
     
    893893     CoinMessages messages = CoinMessage(prob->messages().language());
    894894     paction_ = 0;
    895      prob->maxSubstLevel_ = 3 ;
     895     prob->maxSubstLevel_ = CoinMax(3,prob->maxSubstLevel_) ;
    896896#ifndef PRESOLVE_DETAIL
    897897     if (prob->tuning_) {
     
    956956          if (doIntersection())
    957957            prob->presolveOptions_ |= 0x10;
    958 
     958          // zero small elements in aggregation
     959          prob->presolveOptions_ |= zeroSmall()*0x20000;
    959960          // some things are expensive so just do once (normally)
    960961
     
    995996               printProgress('C',0);
    996997          }
    997 #ifdef ABC_INHERIT
    998998          if (doTwoxTwo()) {
    999999            possibleSkip;
    10001000            paction_ = twoxtwo_action::presolve(prob, paction_);
    10011001          }
    1002 #endif
    10031002          if (duprow) {
    10041003            possibleSkip;
     
    10261025          int lastDropped = 0;
    10271026          prob->pass_ = 0;
    1028 #ifdef ABC_INHERIT
     1027#if CLP_INHERIT_MODE>1
    10291028          int numberRowsStart=nrows_-prob->countEmptyRows();
    10301029          int numberColumnsStart=ncols_-prob->countEmptyCols();
     
    13381337               if (paction_ == paction0 || stopLoop)
    13391338                    break;
    1340 #ifdef ABC_INHERIT
     1339#if CLP_INHERIT_MODE>1
    13411340               // see whether to stop anyway
    13421341               int numberRowsNow=nrows_-prob->countEmptyRows();
     
    14371436                         double coeff = colels[k];
    14381437                         k = link[k];
     1438                         assert (k!=NO_LINK||i==nx-1);
    14391439                         rsol[row] += solutionValue * coeff;
    14401440                    }
     
    16351635
    16361636{
    1637      bulk0_ = static_cast<CoinBigIndex> (bulkRatio_ * nelems_in);
     1637     bulk0_ = static_cast<CoinBigIndex> (bulkRatio_ *
     1638                                         CoinMax(nelems_in,nelems_));
    16381639     hrow_  = new int   [bulk0_];
    16391640     colels_ = new double[bulk0_];
     
    21972198          double ratio = 2.0;
    21982199          if (substitution_ > 3)
    2199                ratio = substitution_;
     2200               ratio = sqrt((substitution_-3)+5.0);
    22002201          else if (substitution_ == 2)
    22012202               ratio = 1.5;
Note: See TracChangeset for help on using the changeset viewer.