Changeset 2143


Ignore:
Timestamp:
Feb 24, 2015 10:15:08 AM (4 years ago)
Author:
forrest
Message:

fix blank typo (and keep some extra debug in CbcHeuristic?)

Location:
stable/2.9/Cbc/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • stable/2.9/Cbc/src/CbcHeuristic.cpp

    r2123 r2143  
    3131#include "CglProbing.hpp"
    3232#include "OsiAuxInfo.hpp"
     33#include "OsiRowCutDebugger.hpp"
    3334#include "OsiPresolve.hpp"
    3435#include "CbcBranchActual.hpp"
     
    939940            solver->messageHandler()->logLevel(0)!=-1000)
    940941          process.passInMessageHandler(solver->messageHandler());
     942#ifdef CGL_DEBUG
     943        /*
     944          We're debugging. (specialOptions 1)
     945        */
     946        if ((model_->specialOptions()&1) != 0) {
     947          const OsiRowCutDebugger *debugger = solver->getRowCutDebugger() ;
     948          if (debugger) {
     949            process.setApplicationData(const_cast<double *>(debugger->optimalSolution()));
     950          }
     951        }
     952#endif
    941953        solver2 = process.preProcessNonDefault(*solver, false,
    942954                                               numberPasses);
     
    972984                << CoinMessageEol;
    973985            }
     986#ifdef CGL_DEBUG
     987            if ((model_->specialOptions()&1) != 0) {
     988              const OsiRowCutDebugger *debugger = solver2->getRowCutDebugger() ;
     989              if (debugger) {
     990                printf("On optimal path after preprocessing\n");
     991              }
     992            }
     993#endif
    974994            if (returnCode == 1) {
    975995                solver2->resolve();
     
    10461066                    // going for full search and copy across more stuff
    10471067                    model.gutsOfCopy(*model_, 2);
     1068#ifdef CGL_DEBUG
     1069                    if ((model_->specialOptions()&1) != 0) {
     1070                      const OsiRowCutDebugger *debugger = model.solver()->getRowCutDebugger() ;
     1071                      if (debugger) {
     1072                        printf("On optimal path BB\n");
     1073                      }
     1074                    }
     1075#endif
    10481076                    assert (!model_->heuristicModel());
    10491077                    model_->setHeuristicModel(&model);
     
    12091237                }
    12101238                //printf("sol %x\n",inputSolution_);
     1239#ifdef CGL_DEBUG
     1240                if ((model_->specialOptions()&1) != 0) {
     1241                  const OsiRowCutDebugger *debugger = model.solver()->getRowCutDebugger() ;
     1242                  if (debugger) {
     1243                    printf("On optimal path CC\n");
     1244                  }
     1245                }
     1246#endif
    12111247                if (inputSolution_) {
    12121248                    // translate and add a serendipity heuristic
     
    13291365                    if ((model_->moreSpecialOptions()&4194304)!=0)
    13301366                      model.zapGlobalCuts();
     1367#endif
     1368#ifdef CGL_DEBUG
     1369                    if ((model_->specialOptions()&1) != 0) {
     1370                      const OsiRowCutDebugger *debugger = model.solver()->getRowCutDebugger() ;
     1371                      if (debugger) {
     1372                        printf("On optimal path DD\n");
     1373                      }
     1374                    }
    13311375#endif
    13321376                    model.branchAndBound();
  • stable/2.9/Cbc/src/CbcSolver.cpp

    r2108 r2143  
    10841084             CbcSolverUsefulData & parameterData)
    10851085{
    1086     char * input = CoinStrdup(input2);
     1086    char * input = CoinStrdup(input2 ? input2 : "") ;
    10871087    size_t length = strlen(input);
    1088     bool blank = input[0] == '0';
     1088    bool blank = input[0] == ' ';
    10891089    int n = blank ? 0 : 1;
    10901090    for (size_t i = 0; i < length; i++) {
Note: See TracChangeset for help on using the changeset viewer.