Changeset 2404


Ignore:
Timestamp:
Feb 25, 2019 8:39:34 AM (7 months ago)
Author:
forrest
Message:

fix dantzig in steepest

File:
1 edited

Legend:

Unmodified
Added
Removed
  • stable/1.16/Clp/src/ClpPrimalColumnSteepest.cpp

    r2282 r2404  
    37983798     // This probably should be fixed
    37993799     int startR[4];
    3800      const int * which = infeasible_->getIndices();
    3801      int nSlacks = infeasible_->getNumElements();
    3802      startR[1] = nSlacks;
    3803      startR[2] = 0;
     3800     int numberRows = model_->numberRows();
     3801     startR[1] = numberColumns+numberRows;
     3802     startR[2] = numberColumns;
    38043803     double randomR = model_->randomNumberGenerator()->randomDouble();
    3805      double dstart = static_cast<double> (nSlacks) * randomR;
    3806      startR[0] = static_cast<int> (dstart);
     3804     double dstart = static_cast<double> (numberRows) * randomR;
     3805     startR[0] = numberColumns + static_cast<int> (dstart);
    38073806     startR[3] = startR[0];
    38083807     double startC[4];
     
    38153814     int sequenceOut = model_->sequenceOut();
    38163815     double * duals2 = duals - numberColumns;
    3817      int chunk = CoinMin(1024, (numberColumns + nSlacks) / 32);
     3816     int chunk = CoinMin(1024, (numberColumns + numberRows) / 32);
    38183817#ifdef COIN_DETAIL
    38193818     if (model_->numberIterations() % 1000 == 0 && model_->logLevel() > 1) {
     
    38373836               int start = startR[iPassR];
    38383837               int end = CoinMin(startR[iPassR+1], start + chunk / 2);
    3839                int jSequence;
    3840                for (jSequence = start; jSequence < end; jSequence++) {
    3841                     int iSequence = which[jSequence];
     3838               int iSequence;
     3839               for (iSequence = start; iSequence < end; iSequence++) {
    38423840                    if (iSequence != sequenceOut) {
    38433841                         double value;
     
    39203918               doingR = false;
    39213919               // update start
    3922                startR[iPassR] = jSequence;
    3923                if (jSequence >= startR[iPassR+1]) {
     3920               startR[iPassR] = iSequence;
     3921               if (iSequence >= startR[iPassR+1]) {
    39243922                    if (iPassR)
    39253923                         finishedR = true;
Note: See TracChangeset for help on using the changeset viewer.