Ignore:
Timestamp:
Aug 1, 2002 11:58:30 AM (18 years ago)
Author:
forrest
Message:

For infeasible problems

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/devel-1/ClpSimplexDual.cpp

    r2 r7  
    587587            printf("** no column pivot\n");
    588588#endif
    589           if (!factorization_->pivots()) {
     589          if (factorization_->pivots()<5) {
    590590            problemStatus_=-4; //say looks infeasible
    591591            // create ray anyway
     
    616616          }
    617617          if (iRow<numberRows_) {
    618             std::cerr<<"Flagged variables at end"<<std::endl;
    619             // what do I do now
    620             abort();
     618#ifdef CLP_DEBUG
     619            std::cerr<<"Flagged variables at end - infeasible?"<<std::endl;
     620#endif
     621            problemStatus_=-4; //say looks infeasible
     622            // create ray anyway
     623            delete [] ray_;
     624            ray_ = new double [ numberRows_];
     625            CoinDisjointCopyN(rowArray_[0]->denseVector(),numberRows_,ray_);
    621626          }
    622627        }
     
    18121817          <<OsiMessageEol;
    18131818        numberChangedBounds=changeBounds(false,NULL,changeCost);
    1814         if (numberChangedBounds<=0) {
     1819        if (numberChangedBounds<=0||dualBound_>1.0e20||
     1820            (largestPrimalError_>1.0&&dualBound_>1.0e17)) {
    18151821          problemStatus_=1; // infeasible
    18161822        } else {
    18171823          problemStatus_=-1; //iterate
    18181824          cleanDuals=true;
    1819           doOriginalTolerance=1;
     1825          doOriginalTolerance=2;
    18201826          // and delete ray which has been created
    18211827          delete [] ray_;
Note: See TracChangeset for help on using the changeset viewer.