Changeset 1973


Ignore:
Timestamp:
Jul 28, 2013 9:50:00 AM (6 years ago)
Author:
forrest
Message:

try and trap bad primal bases

Location:
trunk/Clp/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Clp/src/CbcOrClpParam.cpp

    r1972 r1973  
    19531953correct tolerance (remembering to switch off presolve for this final short clean up phase)."
    19541954     );
     1955#ifdef COIN_HAS_CBC
     1956     parameters[numberParameters++] =
     1957          CbcOrClpParam("dw!Heuristic", "Whether to try DW heuristic",
     1958                        "off", CBC_PARAM_STR_DW);
     1959     parameters[numberParameters-1].append("on");
     1960     parameters[numberParameters-1].append("both");
     1961     parameters[numberParameters-1].append("before");
     1962     parameters[numberParameters-1].setLonghelp
     1963     (
     1964      "See Rounding for meaning of on,both,before"
     1965     );
     1966#endif
    19551967#ifdef COIN_HAS_CLP
    19561968     parameters[numberParameters++] =
  • trunk/Clp/src/CbcOrClpParam.hpp

    r1972 r1973  
    217217     CBC_PARAM_STR_GMICUTS,
    218218     CBC_PARAM_STR_CUTOFF_CONSTRAINT,
     219     CBC_PARAM_STR_DW,
    219220
    220221     CLP_PARAM_ACTION_DIRECTORY = 301,
  • trunk/Clp/src/ClpSimplexPrimal.cpp

    r1972 r1973  
    253253     specialOptions_ |= 131072;
    254254     if (!startup(ifValuesPass, startFinishOptions)) {
     255         // See if better to use all slack basis
     256         if (nonLinearCost_->sumInfeasibilities()>1.0e15) {
     257           // If not all slack then make it
     258           int numberRowBasic = 0;
     259           for (int i=0;i<numberRows_;i++) {
     260             if (getRowStatus(i)==basic)
     261               numberRowBasic++;
     262           }
     263           if (numberRowBasic<numberRows_) {
     264             allSlackBasis(true);
     265             int lastCleaned=-10000;
     266             statusOfProblemInPrimal(lastCleaned, 1, &progress_, true, ifValuesPass, NULL);
     267           }
     268         }
    255269
    256270          // Set average theta
Note: See TracChangeset for help on using the changeset viewer.