Changeset 2077 for trunk


Ignore:
Timestamp:
Dec 31, 2014 8:57:46 AM (5 years ago)
Author:
forrest
Message:

stop assert and fine tune some robustness coding

Location:
trunk/Clp/src
Files:
2 edited

Legend:

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

    r2074 r2077  
    759759     }
    760760     int returnCode=0;
    761      if (numberIterations_ && (forceFactorization_ > 2 || forceFactorization_<0 || factorization_->pivotTolerance()<0.9899999999)) {
     761     if (numberIterations_ && (forceFactorization_ > 2 || forceFactorization_<0 || factorization_->pivotTolerance()<0.9899999999) &&
     762         (oldLargestDualError||oldLargestPrimalError)) {
     763       double useOldDualError=oldLargestDualError;
     764       double useDualError=largestDualError_;
     765       if (algorithm_>0&&nonLinearCost_&&
     766           nonLinearCost_->sumInfeasibilities()) {
     767         double factor=CoinMax(1.0,CoinMin(1.0e3,infeasibilityCost_*1.0e-6));
     768         useOldDualError /= factor;
     769         useDualError /= factor;
     770       }
    762771       if ((largestPrimalError_>1.0e3&&
    763772           oldLargestPrimalError*1.0e2<largestPrimalError_)||
    764            (largestDualError_>1.0e3&&
    765             oldLargestDualError*1.0e2<largestDualError_)) {
     773           (useDualError>1.0e3&&
     774            useOldDualError*1.0e2<useDualError)) {
    766775         double pivotTolerance = factorization_->pivotTolerance();
    767776         double factor=(largestPrimalError_>1.0e10||largestDualError_>1.0e10)
  • trunk/Clp/src/ClpSimplexPrimal.cpp

    r2075 r2077  
    10251025                    numberPivots = 0;
    10261026                    numberThrownOut = gutsOfSolution(NULL, NULL, (firstFree_ >= 0));
    1027                     assert (!numberThrownOut);
     1027                    //assert (!numberThrownOut);
     1028                    if (numberThrownOut)
     1029                      printf("OUCH! - %d thrownout at %s line %d\n",
     1030                             numberThrownOut,__FILE__,__LINE__);
     1031                      //abort();
    10281032                    sumInfeasibility =  nonLinearCost_->sumInfeasibilities();
    10291033               }
Note: See TracChangeset for help on using the changeset viewer.