Changeset 2296 for trunk


Ignore:
Timestamp:
Dec 29, 2017 5:29:28 AM (22 months ago)
Author:
forrest
Message:

fix for badly scaled b&b

File:
1 edited

Legend:

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

    r2292 r2296  
    1105511055                    bool fixBounds = (info->nNodes_ >= 0) ? true : false;
    1105611056                    //check this does everything
     11057                    double * save = NULL;
     11058                    if (fixBounds) {
     11059                      save = new double [2*numberColumns_];
     11060                      memcpy(save,columnLower_,
     11061                             numberColumns_*sizeof(double));
     11062                      memcpy(save+numberColumns_,columnUpper_,
     11063                             numberColumns_*sizeof(double));
     11064                    }
    1105711065                    static_cast<ClpSimplexOther *> (this)->afterCrunch(*small,
    1105811066                              whichRow, whichColumn, nBound);
     
    1107311081                         }
    1107411082                    }
     11083                    if (fixBounds) {
     11084                      if (badSolution) {
     11085                        // put back bounds
     11086                        memcpy(columnLower_,save,
     11087                               numberColumns_*sizeof(double));
     11088                        memcpy(columnUpper_,save+numberColumns_,
     11089                               numberColumns_*sizeof(double));
     11090                      }
     11091                      delete [] save;
     11092                    }
    1107511093                    if (badSolution) {
    1107611094                         info->nNodes_ = -1;
     
    1128111299          // Get fake bounds correctly
    1128211300          (static_cast<ClpSimplexDual *>(this))->changeBounds(3, NULL, dummyChange);
    11283           int statusWeights = fastDual2(info);
     11301          //int statusWeights =
     11302          fastDual2(info);
    1128411303#if 0
    1128511304          if (statusWeights==100)
Note: See TracChangeset for help on using the changeset viewer.