Changeset 1282


Ignore:
Timestamp:
Sep 20, 2008 11:26:56 AM (11 years ago)
Author:
forrest
Message:

for fastdual

Location:
trunk/Clp/src
Files:
2 edited

Legend:

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

    r1278 r1282  
    1134711347    }
    1134811348    handler_->setLogLevel(saveLog);
     11349  } else if (problemStatus_==1) {
     11350    // bounds may be bad
     11351    int numberTotal = numberRows_+numberColumns_;
     11352    if (columnScale_) {
     11353      for (int i=0;i<numberTotal;i++) {
     11354        if (lower_[i]>-1.0e30) {
     11355          if (fabs(lower_[i]*columnScale_[i]-columnLower_[i])>1.0e-8)
     11356            lower_[i]=columnLower_[i]/columnScale_[i];
     11357        }
     11358        if (upper_[i]<1.0e30) {
     11359          if (fabs(upper_[i]*columnScale_[i]-columnUpper_[i])>1.0e-8)
     11360            upper_[i]=columnUpper_[i]/columnScale_[i];
     11361        }
     11362      }
     11363    } else {
     11364      for (int i=0;i<numberTotal;i++) {
     11365        if (lower_[i]>-1.0e30) {
     11366          if (lower_[i]!=columnLower_[i])
     11367            lower_[i]=columnLower_[i];
     11368        }
     11369        if (upper_[i]<1.0e30) {
     11370          if (upper_[i]!=columnUpper_[i])
     11371            upper_[i]=columnUpper_[i];
     11372        }
     11373      }
     11374    }
    1134911375  }
    1135011376  status=problemStatus_;
     
    1138611412    }
    1138711413  }
     11414#ifndef NDEBUG
     11415  if (columnScale_) {
     11416    for (int i=0;i<numberColumns_;i++) {
     11417      if (lower_[i]>-1.0e30)
     11418        assert (fabs(lower_[i]-columnLower_[i]/columnScale_[i])<1.0e-8);
     11419      if (upper_[i]<1.0e30)
     11420        assert (fabs(upper_[i]-columnUpper_[i]/columnScale_[i])<1.0e-8);
     11421    }
     11422  } else {
     11423    for (int i=0;i<numberColumns_;i++) {
     11424      if (lower_[i]>-1.0e30)
     11425        assert (fabs(lower_[i]-columnLower_[i])<1.0e-8);
     11426      if (upper_[i]<1.0e30)
     11427        assert (fabs(upper_[i]-columnUpper_[i])<1.0e-8);
     11428    }
     11429  }
     11430#endif
    1138811431  return status;
    1138911432}
  • trunk/Clp/src/ClpSimplex.hpp

    r1266 r1282  
    718718          { alphaAccuracy_ = value;}
    719719public:
    720   /// Disaster handler
     720  /// Set disaster handler
    721721  inline void setDisasterHandler(ClpDisasterHandler * handler)
    722722  { disasterArea_= handler;}
     723  /// Get disaster handler
     724  inline ClpDisasterHandler * disasterHandler() const
     725  { return disasterArea_;}
    723726  /// Large bound value (for complementarity etc)
    724727  inline double largeValue() const
Note: See TracChangeset for help on using the changeset viewer.