Ignore:
Timestamp:
Apr 6, 2015 11:04:32 AM (5 years ago)
Author:
forrest
Message:

improve handling of free variables in dual

File:
1 edited

Legend:

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

    r2115 r2140  
    489489                                ifValuesPass);
    490490          if ((specialOptions_&2097152)!=0&&problemStatus_==1&&!ray_&&
    491               !numberRayTries) {
     491              !numberRayTries && numberIterations_) {
    492492            numberRayTries=1;
    493493            problemStatus_=-1;
     
    23332333                    double mult = multiplier[iStatus-1];
    23342334                    value *= mult;
    2335                     if (value < -tolerance) {
     2335                    // skip free
     2336                    if (value < -tolerance && iStatus > 0) {
    23362337                         // flipping bounds
    23372338                         double movement = mult * (lower[iSequence] - upper[iSequence]);
     
    23762377                         double mult = multiplier[iStatus-1];
    23772378                         value *= mult;
    2378                          if (value < -tolerance) {
     2379                         // skip free
     2380                         if (value < -tolerance && iStatus > 0) {
    23792381                              // flipping bounds
    23802382                              double movement = mult * (upper[iSequence] - lower[iSequence]);
Note: See TracChangeset for help on using the changeset viewer.