Changeset 1883 for stable/2.8/Cbc/src/CbcHeuristicFPump.cpp
- Timestamp:
- Apr 6, 2013 9:33:15 AM (7 years ago)
- Location:
- stable/2.8/Cbc
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
stable/2.8/Cbc
- Property svn:mergeinfo changed
/trunk/Cbc merged: 1876-1877,1880-1882
- Property svn:mergeinfo changed
-
stable/2.8/Cbc/src/CbcHeuristicFPump.cpp
r1870 r1883 496 496 maximumPasses = 100; // feasibility problem? 497 497 } 498 randomNumberGenerator_.randomize(); 498 499 if (model_->getRandomSeed()!=-1) 499 500 clpSolver->getModelPtr()->setRandomSeed(randomNumberGenerator_.getSeed()); 501 clpSolver->getModelPtr()->randomNumberGenerator()->randomize(); 500 502 } 501 503 } … … 1023 1025 offset += costValue * newSolution[iColumn]; 1024 1026 } 1027 if (numberPasses==1 && !totalNumberPasses && (model_->specialOptions()&8388608)!=0) { 1028 // doing multiple solvers - make a real difference - flip 5% 1029 for (i = 0; i < numberIntegers; i++) { 1030 int iColumn = integerVariable[i]; 1031 double value = floor(newSolution[iColumn]+0.5); 1032 if (fabs(value-solution[iColumn])>primalTolerance) { 1033 value = randomNumberGenerator_.randomDouble(); 1034 if(value<0.05) { 1035 //printf("Flipping %d - random %g\n",iColumn,value); 1036 solver->setObjCoeff(iColumn,-solver->getObjCoefficients()[iColumn]); 1037 } 1038 } 1039 } 1040 } 1025 1041 solver->setDblParam(OsiObjOffset, -offset); 1026 1042 if (!general && false) {
Note: See TracChangeset
for help on using the changeset viewer.