Ignore:
Timestamp:
May 10, 2011 8:29:37 AM (9 years ago)
Author:
forrest
Message:

messages for Cbc fathoming and allow perturbation and some safety?

File:
1 edited

Legend:

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

    r1665 r1729  
    267267     double smallChange = stuff->smallChange_;
    268268#endif
     269#ifndef INFEAS_MULTIPLIER
     270#define INFEAS_MULTIPLIER 1.0
     271#endif
    269272     for (iColumn = 0; iColumn < numberColumns; iColumn++) {
    270273          if (integerType[iColumn]) {
     
    310313                    // Extra for infeasible branches
    311314                    if (nUp) {
    312                          double ratio = 1.0 + static_cast<double>(numberUpInfeasible[iInteger]) /
     315                         double ratio = 1.0 + INFEAS_MULTIPLIER*static_cast<double>(numberUpInfeasible[iInteger]) /
    313316                                        static_cast<double>(nUp);
    314317                         upValue2 *= ratio;
     
    317320                    double downValue2 = (downPseudo[iInteger] / (1.0 + nDown));
    318321                    if (nDown) {
    319                          double ratio = 1.0 + static_cast<double>(numberDownInfeasible[iInteger]) /
     322                         double ratio = 1.0 + INFEAS_MULTIPLIER*static_cast<double>(numberDownInfeasible[iInteger]) /
    320323                                        static_cast<double>(nDown);
    321324                         downValue2 *= ratio;
     
    354357                                     (1.0 + nUp));
    355358                    if (nUp) {
    356                          double ratio = 1.0 + static_cast<double>(numberUpInfeasible[iInteger]) /
     359                         double ratio = 1.0 + INFEAS_MULTIPLIER*static_cast<double>(numberUpInfeasible[iInteger]) /
    357360                                        static_cast<double>(nUp);
    358361                         upValue *= ratio;
     
    361364                                       (1.0 + nDown));
    362365                    if (nDown) {
    363                          double ratio = 1.0 + static_cast<double>(numberDownInfeasible[iInteger]) /
     366                         double ratio = 1.0 + INFEAS_MULTIPLIER*static_cast<double>(numberDownInfeasible[iInteger]) /
    364367                                        static_cast<double>(nDown);
    365368                         downValue *= ratio;
     
    711714     whichRow_(NULL),
    712715     whichColumn_(NULL),
     716#ifndef NO_FATHOM_PRINT
     717     handler_(NULL),
     718#endif
    713719     nBound_(0),
    714720     saveOptions_(0),
     
    722728     numberIterations_(0),
    723729     presolveType_(0)
     730#ifndef NO_FATHOM_PRINT
     731     ,startingDepth_(-1),
     732     nodeCalled_(-1)
     733#endif
    724734{
    725735
     
    745755       whichRow_(NULL),
    746756       whichColumn_(NULL),
     757#ifndef NO_FATHOM_PRINT
     758       handler_(rhs.handler_),
     759#endif
    747760       nBound_(0),
    748761       saveOptions_(rhs.saveOptions_),
     
    756769       numberIterations_(rhs.numberIterations_),
    757770       presolveType_(rhs.presolveType_)
     771#ifndef NO_FATHOM_PRINT
     772     ,startingDepth_(rhs.startingDepth_),
     773       nodeCalled_(rhs.nodeCalled_)
     774#endif
    758775{
    759776}
     
    798815          numberIterations_ = rhs.numberIterations_;
    799816          presolveType_ = rhs.presolveType_;
     817#ifndef NO_FATHOM_PRINT
     818          handler_ = rhs.handler_;
     819          startingDepth_ = rhs.startingDepth_;
     820          nodeCalled_ = rhs.nodeCalled_;
     821#endif
    800822     }
    801823     return *this;
Note: See TracChangeset for help on using the changeset viewer.