Ignore:
Timestamp:
Oct 2, 2009 2:41:44 PM (11 years ago)
Author:
forrest
Message:

adding stuff for heuristics

File:
1 edited

Legend:

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

    r1236 r1240  
    34143414        }
    34153415      }
     3416      if (accumulate) {
     3417        heuristic4.setAccumulate(accumulate);
     3418        if (printStuff) {
     3419          if (accumulate) {
     3420            sprintf(generalPrint,"Accumulate of %d",accumulate);
     3421            generalMessageHandler->message(CBC_GENERAL,generalMessages)
     3422              << generalPrint
     3423              <<CoinMessageEol;
     3424          }
     3425        }
     3426      }
    34163427      if (r) {
    34173428        // also set increment
     
    34223433          increment = fakeIncrement;
    34233434        heuristic4.setAbsoluteIncrement(increment);
    3424         heuristic4.setAccumulate(accumulate);
    34253435        heuristic4.setMaximumRetries(r+1);
    34263436        if (printStuff) {
    34273437          if (increment) {
    34283438            sprintf(generalPrint,"Increment of %g",increment);
    3429             generalMessageHandler->message(CBC_GENERAL,generalMessages)
    3430               << generalPrint
    3431               <<CoinMessageEol;
    3432           }
    3433           if (accumulate) {
    3434             sprintf(generalPrint,"Accumulate of %d",accumulate);
    34353439            generalMessageHandler->message(CBC_GENERAL,generalMessages)
    34363440              << generalPrint
     
    34963500  }
    34973501  if (useRENS>=kType&&useRENS<=kType+1) {
     3502#if 1
    34983503    CbcHeuristicRENS heuristic6(*model);
    34993504    heuristic6.setHeuristicName("RENS");
     
    35023507    int nodes []={-2,50,50,50,200,1000,10000};
    35033508    heuristic6.setNumberNodes(nodes[useRENS]);
     3509#else
     3510    CbcHeuristicVND heuristic6(*model);
     3511    heuristic6.setHeuristicName("VND");
     3512    heuristic5.setFractionSmall(0.5);
     3513    heuristic5.setDecayFactor(5.0);
     3514#endif
    35043515    model->addHeuristic(&heuristic6) ;
    35053516    anyToDo=true;
     
    54675478                  iStat = 3;
    54685479                  pos += sprintf(buf+pos,"stopped on ctrl-c,");
     5480                } else if (iStat==6) {
     5481                  // bab infeasible
     5482                  pos += sprintf(buf+pos,"integer infeasible,");
     5483                  iStat=1;
    54695484                } else {
    54705485                  pos += sprintf(buf+pos,"status unknown,");
     
    88408855                    iStat = 3;
    88418856                    pos += sprintf(buf+pos,"stopped on ctrl-c,");
     8857                  } else if (iStat==6) {
     8858                    // bab infeasible
     8859                    pos += sprintf(buf+pos,"integer infeasible,");
     8860                    iStat=1;
    88428861                  } else {
    88438862                    pos += sprintf(buf+pos,"status unknown,");
     
    1019210211                  iStat = 3;
    1019310212                  pos += sprintf(buf+pos,"stopped on ctrl-c,");
     10213                } else if (iStat==6) {
     10214                  // bab infeasible
     10215                  pos += sprintf(buf+pos,"integer infeasible,");
     10216                  iStat=1;
    1019410217                } else {
    1019510218                  pos += sprintf(buf+pos,"status unknown,");
Note: See TracChangeset for help on using the changeset viewer.