Ignore:
Timestamp:
Apr 1, 2013 1:09:22 PM (6 years ago)
Author:
forrest
Message:

make it easier to use slow exotic cuts
more on cutoff as constraint and multiple root solver fixes
general fixing of bugs found on MIQP etc

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Cbc/src/CbcHeuristicFPump.cpp

    r1871 r1880  
    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.