Ignore:
Timestamp:
Apr 6, 2013 9:33:15 AM (7 years ago)
Author:
stefan
Message:

sync with trunk rev 1882

Location:
stable/2.8/Cbc
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • stable/2.8/Cbc

  • stable/2.8/Cbc/src/CbcHeuristicFPump.cpp

    r1870 r1883  
    496496            maximumPasses = 100; // feasibility problem?
    497497        }
     498        randomNumberGenerator_.randomize();
    498499        if (model_->getRandomSeed()!=-1)
    499500          clpSolver->getModelPtr()->setRandomSeed(randomNumberGenerator_.getSeed());
     501        clpSolver->getModelPtr()->randomNumberGenerator()->randomize();
    500502      }
    501503    }
     
    10231025                    offset += costValue * newSolution[iColumn];
    10241026                }
     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                }
    10251041                solver->setDblParam(OsiObjOffset, -offset);
    10261042                if (!general && false) {
Note: See TracChangeset for help on using the changeset viewer.