Changeset 1785 for trunk/Clp/src/ClpSimplexDual.cpp
- Timestamp:
- Aug 25, 2011 6:17:49 AM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Clp/src/ClpSimplexDual.cpp
r1780 r1785 1223 1223 bestPossiblePivot = dualColumn(rowArray_[0], columnArray_[0], rowArray_[3], 1224 1224 columnArray_[1], acceptablePivot, dubiousWeights); 1225 #if CAN_HAVE_ZERO_OBJ>1 1226 if ((specialOptions_&2097152)!=0) 1227 theta_=0.0; 1228 #endif 1225 1229 } else { 1226 1230 // Make sure direction plausible … … 1399 1403 //columnArray_[0]->cleanAndPackSafe(1.0e-60); 1400 1404 if (candidate == -1) { 1405 #if CLP_CAN_HAVE_ZERO_OBJ>1 1406 if ((specialOptions_&2097152)==0) { 1407 #endif 1401 1408 // make sure incoming doesn't count 1402 1409 Status saveStatus = getStatus(sequenceIn_); … … 1406 1413 objectiveChange, false); 1407 1414 setStatus(sequenceIn_, saveStatus); 1415 #if CLP_CAN_HAVE_ZERO_OBJ>1 1416 } else { 1417 rowArray_[0]->clear(); 1418 rowArray_[2]->clear(); 1419 columnArray_[0]->clear(); 1420 } 1421 #endif 1408 1422 } else { 1409 1423 updateDualsInValuesPass(rowArray_[0], columnArray_[0], theta_); … … 3778 3792 if (value > dualTolerance_) { 3779 3793 thisIncrease = true; 3794 #if CLP_CAN_HAVE_ZERO_OBJ<2 3780 3795 #define MODIFYCOST 2 3796 #endif 3781 3797 #if MODIFYCOST 3782 3798 // modify cost to hit new tolerance … … 4666 4682 if (lastCleaned < numberIterations_ && numberTimesOptimal_ < 4 && 4667 4683 (numberChanged_ || (specialOptions_ & 4096) == 0)) { 4684 #if CLP_CAN_HAVE_ZERO_OBJ 4668 4685 if ((specialOptions_&2097152)==0) { 4686 #endif 4669 4687 doOriginalTolerance = 2; 4670 4688 numberTimesOptimal_++; … … 4681 4699 } 4682 4700 cleanDuals = 2; // If nothing changed optimal else primal 4701 #if CLP_CAN_HAVE_ZERO_OBJ 4683 4702 } else { 4684 4703 // no cost - skip checks 4685 4704 problemStatus_=0; 4686 4705 } 4706 #endif 4687 4707 } else { 4688 4708 problemStatus_ = 0; // optimal … … 4939 4959 if (givenDuals) 4940 4960 dualTolerance_ = 1.0e50; 4961 #if CLP_CAN_HAVE_ZERO_OBJ>1 4962 if ((specialOptions_&2097152)==0) { 4963 #endif 4941 4964 updateDualsInDual(rowArray_[0], columnArray_[0], rowArray_[1], 4942 4965 0.0, objectiveChange, true); 4966 #if CLP_CAN_HAVE_ZERO_OBJ>1 4967 } else { 4968 rowArray_[0]->clear(); 4969 rowArray_[1]->clear(); 4970 columnArray_[0]->clear(); 4971 } 4972 #endif 4943 4973 dualTolerance_ = saveTolerance; 4944 4974 #if 0 … … 4971 5001 if (givenDuals) 4972 5002 dualTolerance_ = 1.0e50; 5003 #if CLP_CAN_HAVE_ZERO_OBJ>1 5004 if ((specialOptions_&2097152)==0) { 5005 #endif 4973 5006 updateDualsInDual(rowArray_[0], columnArray_[0], rowArray_[1], 4974 5007 0.0, objectiveChange, true); 5008 #if CLP_CAN_HAVE_ZERO_OBJ>1 5009 } else { 5010 rowArray_[0]->clear(); 5011 rowArray_[1]->clear(); 5012 columnArray_[0]->clear(); 5013 } 5014 #endif 4975 5015 dualTolerance_ = saveTolerance; 4976 5016 if (!numberIterations_ && sumPrimalInfeasibilities_ >
Note: See TracChangeset
for help on using the changeset viewer.