- Timestamp:
- Aug 11, 2010 8:28:46 AM (11 years ago)
- Location:
- trunk/Clp/src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Clp/src/ClpSimplex.cpp
r1525 r1585 5313 5313 perturbation_ = savePerturbation; 5314 5314 baseIteration_ = numberIterations_; 5315 // Say second call 5316 moreSpecialOptions_ |= 256; 5315 5317 returnCode = static_cast<ClpSimplexPrimal *> (this)->primal(0); 5318 // Say not second call 5319 moreSpecialOptions_ &= ~256; 5316 5320 baseIteration_ = 0; 5317 5321 computeObjectiveValue(); -
trunk/Clp/src/ClpSimplexDual.cpp
r1525 r1585 5814 5814 int status = fastDual(alwaysFinish); 5815 5815 CoinAssert (problemStatus_ || objectiveValue_ < 1.0e50); 5816 #ifdef CLP_DEBUG 5817 printf("first status %d obj %g\n",problemStatus_,objectiveValue_); 5818 #endif 5819 if(problemStatus_==10) 5820 problemStatus_=3; 5816 5821 // make sure plausible 5817 5822 double obj = CoinMax(objectiveValue_, saveObjectiveValue); … … 5826 5831 status = problemStatus_; 5827 5832 } 5833 if (problemStatus_ == 3) 5834 status = 2; 5828 5835 if (status || (problemStatus_ == 0 && !isDualObjectiveLimitReached())) { 5829 5836 objectiveChange = obj - saveObjectiveValue; … … 5832 5839 status = 1; 5833 5840 } 5834 if (problemStatus_ == 3)5835 status = 2;5836 5841 5837 5842 if (scalingFlag_ <= 0) { … … 5879 5884 // Start of fast iterations 5880 5885 status = fastDual(alwaysFinish); 5886 CoinAssert (problemStatus_||objectiveValue_<1.0e50); 5887 #ifdef CLP_DEBUG 5888 printf("second status %d obj %g\n",problemStatus_,objectiveValue_); 5889 #endif 5890 if(problemStatus_==10) 5891 problemStatus_=3; 5881 5892 // make sure plausible 5882 5893 obj = CoinMax(objectiveValue_, saveObjectiveValue); … … 5891 5902 status = problemStatus_; 5892 5903 } 5904 if (problemStatus_ == 3) 5905 status = 2; 5893 5906 if (status || (problemStatus_ == 0 && !isDualObjectiveLimitReached())) { 5894 5907 objectiveChange = obj - saveObjectiveValue; … … 5897 5910 status = 1; 5898 5911 } 5899 if (problemStatus_ == 3)5900 status = 2;5901 5912 if (scalingFlag_ <= 0) { 5902 5913 CoinMemcpyN(solution_, numberColumns_, outputSolution[iSolution]); … … 7142 7153 jSequence -= numberColumns_; 7143 7154 } 7155 #ifdef CLP_INVESTIGATE 7144 7156 double lowerValue = tempLower[iSequence]; 7145 7157 double upperValue = tempUpper[iSequence]; 7146 #ifdef CLP_INVESTIGATE7147 7158 printf("*** movement>1.0e30 for %c%d %g <= %g <= %g true %g, %g - status %d\n", 7148 7159 RC, jSequence, lower_[iSequence], solution_[iSequence], -
trunk/Clp/src/ClpSimplexPrimal.cpp
r1551 r1585 1456 1456 problemStatus_ = 10; // try dual 1457 1457 // See if second call 1458 if ((moreSpecialOptions_ & 256) != 0 ) {1458 if ((moreSpecialOptions_ & 256) != 0||nonLinearCost_->numberInfeasibilities()>1.0e2) { 1459 1459 numberPrimalInfeasibilities_ = nonLinearCost_->numberInfeasibilities(); 1460 1460 sumPrimalInfeasibilities_ = nonLinearCost_->sumInfeasibilities();
Note: See TracChangeset
for help on using the changeset viewer.