Changeset 2217 for stable


Ignore:
Timestamp:
Apr 30, 2016 12:01:07 PM (4 years ago)
Author:
forrest
Message:

minor changes for infeasible difficult problems

Location:
stable/1.16/Clp/src
Files:
5 edited

Legend:

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

    r2074 r2217  
    31893189   int maximumRows=model_->maximumAbcNumberRows();
    31903190   int number=updateForTableauRow.getNumElements();
    3191 #ifdef GCC_4_9
     3191#if 1 //def GCC_4_9
    31923192   assert (number);
    31933193#else
  • stable/1.16/Clp/src/CbcOrClpParam.cpp

    r2175 r2217  
    15091509     return value;
    15101510}
     1511#undef COIN_DBL_MAX
     1512#define COIN_DBL_MAX 1.0e100
    15111513/*
    15121514  Subroutine to establish the cbc parameter array. See the description of
  • stable/1.16/Clp/src/ClpSimplexDual.cpp

    r2205 r2217  
    32113211                         else
    32123212                              solution_[iSequence] = lower_[iSequence];
    3213                     } else {
     3213                     } else {
    32143214                         // set non basic free variables to fake bounds
    32153215                         // I don't think we should ever get here
    3216                          CoinAssert(!("should not be here"));
     3216                      // yes we can if basis goes singular twice in succession!
     3217                         //CoinAssert(!("should not be here"));
    32173218                         lower_[iSequence] = -0.5 * dualBound_;
    32183219                         upper_[iSequence] = 0.5 * dualBound_;
     
    45524553
    45534554                         // Go to safe
    4554                          factorization_->pivotTolerance(0.99);
     4555                         // not here - as can make more singular
     4556                         //factorization_->pivotTolerance(0.99);
    45554557                         forceFactorization_ = 1; // a bit drastic but ..
    45564558                         type = 2;
  • stable/1.16/Clp/src/ClpSolve.cpp

    r2188 r2217  
    17621762                    delete [] saveUpper;
    17631763                    saveUpper = NULL;
     1764                    // return if wanted
     1765                    if (options.infeasibleReturn() ||
     1766                        (moreSpecialOptions_ & 1) != 0)
     1767                      return -1;
    17641768               }
    17651769          }
     
    22742278                    if (!doubleIdiot)
    22752279                      info.crash(nPasses, model2->messageHandler(), model2->messagesPointer(),
    2276                                 (objective_->type() <2));
     2280                                 (objective_->type() <2 && (model2->specialOptions()&8388608)==0));
    22772281#else
    22782282                    info.crash(nPasses, model2->messageHandler(), model2->messagesPointer(),(objective_->type() <2));
     
    23762380#endif
    23772381#ifndef LACI_TRY
    2378           if (options.getSpecialOption(1) != 2 ||
    2379                     options.getExtraInfo(1) < 1000000) {
     2382          if ((options.getSpecialOption(1) != 2 ||
     2383               options.getExtraInfo(1) < 1000000)&&(model2->specialOptions()&8388608)==0) {
    23802384               if (dynamic_cast< ClpPackedMatrix*>(matrix_)) {
    23812385                    // See if original wanted vector
     
    36023606          setSecondaryStatus(finalSecondaryStatus);
    36033607          int rcode=eventHandler()->event(ClpEventHandler::presolveAfterFirstSolve);
    3604           if (finalStatus != 3 && rcode < 0 && (finalStatus || oldStatus == -1)) {
     3608          if (finalStatus != 3 && rcode == -1 && (finalStatus || oldStatus == -1)) {
    36053609               double sumPrimal=sumPrimalInfeasibilities_;
    36063610               double sumDual=sumDualInfeasibilities_;
  • stable/1.16/Clp/src/CoinAbcBaseFactorization1.cpp

    r2078 r2217  
    24512451#else
    24522452        status=2;
    2453 #if 1 //0 //ABC_NORMAL_DEBUG>1
     2453#if ABC_NORMAL_DEBUG>1
    24542454        std::cout<<"      Went dense at "<<numberRowsLeft_<<" rows "<<
    24552455          totalElements_<<" "<<full<<" "<<leftElements<<std::endl;
Note: See TracChangeset for help on using the changeset viewer.