 Timestamp:
 Aug 27, 2003 6:30:57 AM (16 years ago)
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

branches/pre/ClpSimplexPrimalQuadratic.cpp
r201 r202 507 507 // Now do quadratic 508 508 //ClpPrimalQuadraticDantzig dantzigP(model2,&info); 509 //ClpPrimalColumnDantzig dantzigP;510 //model2>setPrimalColumnPivotAlgorithm(dantzigP);509 ClpPrimalColumnDantzig dantzigP; 510 model2>setPrimalColumnPivotAlgorithm(dantzigP); 511 511 model2>messageHandler()>setLogLevel(63); 512 512 model2>primalQuadratic2(&info,phase); … … 1073 1073 // if stable replace in basis 1074 1074 int updateStatus = 0; 1075 if (result<20) 1075 if (result<20) { 1076 double saveCheck = factorization_>getAccuracyCheck(); 1077 if (cleanupIteration) 1078 factorization_>relaxAccuracyCheck(1.0e3*saveCheck); 1076 1079 updateStatus=factorization_>replaceColumn(rowArray_[2], 1077 1080 pivotRow_, 1078 1081 alpha_); 1082 factorization_>relaxAccuracyCheck(saveCheck); 1083 } 1079 1084 if (result>=10) { 1080 1085 updateStatus = max(updateStatus,result/10); … … 1100 1105 nextSequenceIn=saveSequenceInInfo; 1101 1106 info>setCrucialSj(saveCrucialSjInfo); 1107 if (saveCrucialSjInfo<0&&!phase) 1108 nextSequenceIn=1; 1102 1109 pivotRow_=1; 1103 1110 // better to have small tolerance even if slower … … 1115 1122 returnCode=4; 1116 1123 // retry on return 1117 nextSequenceIn = sequenceIn_; 1124 if (info>crucialSj()>=0) 1125 nextSequenceIn = sequenceIn_; 1118 1126 break; 1119 1127 } else { … … 1791 1799 double alpha=work[iSjRow2]; 1792 1800 printf("Sj alpha %g sol %g ratio %g\n",alpha,solution_[crucialSj2],solution_[crucialSj2]/alpha); 1793 if (fabs(fabs(d1)fabs(solution_[crucialSj2]/alpha))>1.0e3 ) {1801 if (fabs(fabs(d1)fabs(solution_[crucialSj2]/alpha))>1.0e3*(1.0+fabs(d1))) { 1794 1802 printf("bad test\n"); 1795 1803 if (factorization_>pivots()) … … 1830 1838 double upperTheta = maximumMovement; 1831 1839 bool throwAway=false; 1832 if (numberIterations_== 931) {1840 if (numberIterations_==1750) { 1833 1841 printf("Bad iteration coming up after iteration %d\n",numberIterations_); 1834 1842 } … … 2271 2279 valueOut_ = solution(sequenceOut_); 2272 2280 theta_ = fabs(valueOut_/alpha_); 2273 assert (fabs(maximumMovementtheta_)<1.0e3* 1.0+maximumMovement);2281 assert (fabs(maximumMovementtheta_)<1.0e3*(1.0+maximumMovement)); 2274 2282 if (way<0.0) 2275 2283 theta_ =  theta_; … … 3024 3032 // should adjust value? 3025 3033 solution_[jSequence]=0.0; 3026 //value=value2;3034 value=value2; 3027 3035 } else { 3028 3036 //if (fabs(valuevalue2dj_[jSequencestart])>1.0e3)
Note: See TracChangeset
for help on using the changeset viewer.