Changeset 2183 for stable


Ignore:
Timestamp:
Oct 28, 2015 6:18:34 AM (4 years ago)
Author:
forrest
Message:

out flaky perturbation

File:
1 edited

Legend:

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

    r2086 r2183  
    25952595          double * saveLower = NULL;
    25962596          double * saveUpper = NULL;
    2597           if (largest < 2.01 * smallest) {
     2597          if (largest < -2.01 * smallest) { // switch off for now
    25982598               // perturb - so switch off standard
    25992599               model2->setPerturbation(100);
     
    26092609                    if (upperValue > lowerValue + primalTolerance_) {
    26102610                         if (lowerValue > -1.0e20 && lowerValue)
    2611                               lowerValue -= value * 1.0e-4 * fabs(lowerValue);
     2611                              lowerValue -= value * 1.0e-6 * fabs(lowerValue);
    26122612                         if (upperValue < 1.0e20 && upperValue)
    2613                               upperValue += value * 1.0e-4 * fabs(upperValue);
     2613                              upperValue += value * 1.0e-6 * fabs(upperValue);
    26142614                    } else if (upperValue > 0.0) {
    2615                          upperValue -= value * 1.0e-4 * fabs(lowerValue);
    2616                          lowerValue -= value * 1.0e-4 * fabs(lowerValue);
     2615                         upperValue -= value * 1.0e-6 * fabs(lowerValue);
     2616                         lowerValue -= value * 1.0e-6 * fabs(lowerValue);
    26172617                    } else if (upperValue < 0.0) {
    2618                          upperValue += value * 1.0e-4 * fabs(lowerValue);
    2619                          lowerValue += value * 1.0e-4 * fabs(lowerValue);
     2618                         upperValue += value * 1.0e-6 * fabs(lowerValue);
     2619                         lowerValue += value * 1.0e-6 * fabs(lowerValue);
    26202620                    } else {
    26212621                    }
     
    29202920               // unperturb and clean
    29212921               for (iRow = 0; iRow < numberRows; iRow++) {
    2922                     double diffLower = saveLower[iRow] - model2->rowLower_[iRow];
    2923                     double diffUpper = saveUpper[iRow] - model2->rowUpper_[iRow];
    29242922                    model2->rowLower_[iRow] = saveLower[iRow];
    29252923                    model2->rowUpper_[iRow] = saveUpper[iRow];
    2926                     if (diffLower)
    2927                          assert (!diffUpper || fabs(diffLower - diffUpper) < 1.0e-5);
    2928                     else
    2929                          diffLower = diffUpper;
    2930                     model2->rowActivity_[iRow] += diffLower;
    29312924               }
    29322925               delete [] saveLower;
Note: See TracChangeset for help on using the changeset viewer.