Ignore:
Timestamp:
Sep 25, 2006 2:22:16 PM (13 years ago)
Author:
forrest
Message:

extend fpump heuristic and allow more probing

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/devel/Cbc/src/CoinSolve.cpp

    r427 r435  
    15251525              basisHasValues=1;
    15261526              if (dualize) {
    1527                 ((ClpSimplexOther *) lpSolver)->restoreFromDual(model2);
     1527                int returnCode=((ClpSimplexOther *) lpSolver)->restoreFromDual(model2);
    15281528                delete model2;
     1529                if (returnCode)
     1530                  lpSolver->primal(1);
    15291531                model2=lpSolver;
    15301532              }
     
    20552057              if (useFpump) {
    20562058                heuristic4.setMaximumPasses(parameters[whichParam(FPUMPITS,numberParameters,parameters)].intValue());
     2059                if (doIdiot>10&&doIdiot<14) {
     2060                  heuristic4.setWhen(doIdiot);
     2061                  doIdiot=-1;
     2062                }
    20572063                babModel->addHeuristic(&heuristic4);
    20582064              }
     
    20832089                if (probingAction==5)
    20842090                  probingGen.setRowCuts(-3); // strengthening etc just at root
     2091                if (probingAction==4) {
     2092                  // Number of unsatisfied variables to look at
     2093                  probingGen.setMaxProbe(1000);
     2094                  probingGen.setMaxProbeRoot(1000);
     2095                  // How far to follow the consequences
     2096                  probingGen.setMaxLook(50);
     2097                  probingGen.setMaxLookRoot(50);
     2098                }
    20852099                babModel->addCutGenerator(&probingGen,translate[probingAction],"Probing");
    20862100                switches[numberGenerators++]=0;
     
    44954509    strcpy(line[numberLines++],"5    std::cout<<\"processed model has \"<<solver2->getNumRows()");
    44964510    strcpy(line[numberLines++],"5            <<\" rows, \"<<solver2->getNumCols()");
    4497     strcpy(line[numberLines++],"5            <<\" and \"<<solver2->getNumElements()<<std::endl;");
     4511    strcpy(line[numberLines++],"5            <<\" columns and \"<<solver2->getNumElements()");
     4512    strcpy(line[numberLines++],"5            <<\" elements\"<<solver2->getNumElements()<<std::endl;");
    44984513    strcpy(line[numberLines++],"5  }");
    44994514    strcpy(line[numberLines++],"5  // we have to keep solver2 so pass clone");
Note: See TracChangeset for help on using the changeset viewer.