Changeset 2287


Ignore:
Timestamp:
Nov 9, 2017 12:40:48 PM (11 months ago)
Author:
forrest
Message:

minor changes which I meant to put in earlier

Location:
trunk/Clp/src
Files:
2 edited

Legend:

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

    r2281 r2287  
    608608             double value = infeas[iSequence];
    609609             double weight = weights_[iSequence];
     610             assert (weight);
    610611             if (value > tolerance) {
    611612               //weight=1.0;
  • trunk/Clp/src/ClpSimplexDual.cpp

    r2270 r2287  
    499499              sumPrimalInfeasibilities_>1.0e5*smallestPrimalInfeasibility &&
    500500              (moreSpecialOptions_&256)==0 &&
    501               progress_.lastObjective(0)<-1.0e10 &&
    502               progress_.lastObjective(1)>-1.0e5) {
    503             // problems - try dual
     501              ((progress_.lastObjective(0)<-1.0e10 &&
     502                progress_.lastObjective(1)>-1.0e5)||sumPrimalInfeasibilities_>1.0e10*smallestPrimalInfeasibility)) {
     503            // problems - try primal
    504504            problemStatus_=10;
    505505            // mark as large infeasibility cost wanted
     
    650650          }
    651651     }
    652      // If infeasible but primal errors - try dual
     652     // If infeasible but primal errors - try primal
    653653     if (problemStatus_==1 && numberPrimalInfeasibilities_) {
    654654       bool inCbcOrOther = (specialOptions_ & 0x03000000) != 0;
     
    49944994          resetFakeBounds(1);
    49954995          // need to reject something
    4996           char x = isColumn(sequenceOut_) ? 'C' : 'R';
     4996          int rejectedVariable=sequenceOut_;
     4997          if (flagged(rejectedVariable)) {
     4998            rejectedVariable=-1;
     4999            for (int i=0;i<numberRows_;i++) {
     5000              int iSequence=pivotVariable_[i];
     5001              if (!flagged(iSequence)) {
     5002                rejectedVariable=iSequence;
     5003                break;
     5004              }
     5005            }
     5006            if (rejectedVariable<0) {
     5007              if (handler_->logLevel()>1)
     5008                printf("real trouble at line %d of ClpSimplexDual\n",
     5009                       __LINE__);
     5010              problemStatus_=10;
     5011              return;
     5012            }
     5013          }
     5014          char x = isColumn(rejectedVariable) ? 'C' : 'R';
    49975015          handler_->message(CLP_SIMPLEX_FLAG, messages_)
    4998                     << x << sequenceWithin(sequenceOut_)
     5016                    << x << sequenceWithin(rejectedVariable)
    49995017                    << CoinMessageEol;
    50005018#ifdef COIN_DEVELOP
    50015019          printf("flag e\n");
    50025020#endif
    5003           setFlagged(sequenceOut_);
     5021          setFlagged(rejectedVariable);
    50045022          progress_.clearBadTimes();
    50055023
Note: See TracChangeset for help on using the changeset viewer.