Ignore:
Timestamp:
Aug 6, 2013 3:19:32 PM (6 years ago)
Author:
forrest
Message:

new event plus flexible output format

File:
1 edited

Legend:

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

    r1945 r1954  
    16521652                << pumpPrint
    16531653                << CoinMessageEol;
     1654                CbcEventHandler *eventHandler = model_->getEventHandler() ;
     1655                if (eventHandler) {
     1656                  typedef struct {
     1657                    double newSumInfeas;
     1658                    double trueSolutionValue;
     1659                    double spareDouble[2];
     1660                    OsiSolverInterface * solver;
     1661                    void * sparePointer[2];
     1662                    int numberPasses;
     1663                    int totalNumberPasses;
     1664                    int numberInfeas;
     1665                    int numberIterations;
     1666                    int spareInt[3];
     1667                  } HeurPass;
     1668                  HeurPass temp;
     1669                  temp.solver=solver;
     1670                  temp.newSumInfeas = newSumInfeas;
     1671                  temp.trueSolutionValue = newTrueSolutionValue;
     1672                  temp.numberPasses=numberPasses;
     1673                  temp.totalNumberPasses=totalNumberPasses;
     1674                  temp.numberInfeas=newNumberInfeas;
     1675                  temp.numberIterations=numberIterations;
     1676                  CbcEventHandler::CbcAction status =
     1677                    eventHandler->event(CbcEventHandler::heuristicPass,
     1678                                        &temp);
     1679                  if (status==CbcEventHandler::killSolution) {
     1680                    exitAll = true;
     1681                    break;
     1682                  }
     1683                }
    16541684                if (closestSolution && solver->getObjValue() < closestObjectiveValue) {
    16551685                    int i;
Note: See TracChangeset for help on using the changeset viewer.