Changeset 2453


Ignore:
Timestamp:
Apr 21, 2019 11:41:45 PM (4 weeks ago)
Author:
stefan
Message:

sync with trunk r2451

Location:
stable/1.17
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • stable/1.17

    • Property svn:mergeinfo changed
      /trunkmerged: 2451
  • stable/1.17/Clp

  • stable/1.17/Clp/src

  • stable/1.17/Clp/src/ClpMain.cpp

    r2431 r2453  
    402402#endif
    403403
    404 /* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
    405 */
  • stable/1.17/Clp/src/ClpSimplex.cpp

    r2449 r2453  
    623623        allSlackBasis(true);
    624624        CoinIotaN(pivotVariable_, numberRows_, numberColumns_);
     625        delete [] save;
    625626        return 1;
    626627      }
     
    685686    }
    686687    delete[] save;
     688    save = NULL;
    687689    if (numberOut)
    688690      return numberOut;
    689691  }
     692  delete [] save;
    690693  if ((moreSpecialOptions_ & 128) != 0 && !numberIterations_) {
    691694    //printf("trying feas pump\n");
     
    92839286    delete[] perturbationArray_;
    92849287  perturbationArray_ = NULL;
     9288  assert (otherModel.eventHandler()->simplex()==&otherModel);
    92859289}
    92869290/* Constructs a non linear cost from list of non-linearities (columns only)
  • stable/1.17/Clp/src/ClpSimplexDual.cpp

    r2449 r2453  
    23842384    number = rowArray->getNumElements();
    23852385    which = rowArray->getIndices();
    2386     double multiplier[] = { -1.0, 1.0 };
     2386    double multiplier[] = {0.0, 0.0, -1.0, 1.0 };
    23872387    for (i = 0; i < number; i++) {
    23882388      int iSequence = which[i];
     
    23942394        // NO - can have free assert (iStatus>0);
    23952395        reducedCost[iSequence] = value;
    2396         double mult = multiplier[iStatus - 1];
     2396        double mult = multiplier[iStatus + 1];
    23972397        value *= mult;
    23982398        // skip if free
    2399         if (value < -tolerance && iStatus > 0) {
     2399        if (value < -tolerance) {
    24002400          // flipping bounds
    24012401          double movement = mult * (lower[iSequence] - upper[iSequence]);
     
    24162416    }
    24172417    // Do columns
     2418    multiplier[0] = -1.0;
     2419    multiplier[1] = 1.0;
    24182420    reducedCost = djRegion(1);
    24192421    lower = lowerRegion(1);
Note: See TracChangeset for help on using the changeset viewer.