Changeset 2295


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

fix for badly scaled fast b&B

File:
1 edited

Legend:

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

    r2291 r2295  
    1085210852               if (returnCode) {
    1085310853                    bool fixBounds = (info->nNodes_ >= 0) ? true : false;
     10854                    double * save = NULL;
     10855                    if (fixBounds) {
     10856                      save = new double [2*numberColumns_];
     10857                      memcpy(save,columnLower_,
     10858                             numberColumns_*sizeof(double));
     10859                      memcpy(save+numberColumns_,columnUpper_,
     10860                             numberColumns_*sizeof(double));
     10861                    }
    1085410862                    //check this does everything
    1085510863                    static_cast<ClpSimplexOther *> (this)->afterCrunch(*small,
     
    1087110879                         }
    1087210880                    }
     10881                    if (fixBounds) {
     10882                      if (badSolution) {
     10883                        // put back bounds
     10884                        memcpy(columnLower_,save,
     10885                               numberColumns_*sizeof(double));
     10886                        memcpy(columnUpper_,save+numberColumns_,
     10887                               numberColumns_*sizeof(double));
     10888                      }
     10889                      delete [] save;
     10890                    }
    1087310891                    if (badSolution) {
    1087410892                         info->nNodes_ = -1;
     
    1107911097          // Get fake bounds correctly
    1108011098          (static_cast<ClpSimplexDual *>(this))->changeBounds(3, NULL, dummyChange);
    11081           int statusWeights = fastDual2(info);
     11099          //int statusWeights =
     11100          fastDual2(info);
    1108211101#if 0
    1108311102          if (statusWeights==100)
Note: See TracChangeset for help on using the changeset viewer.