Changeset 1724


Ignore:
Timestamp:
Apr 25, 2011 4:35:58 AM (8 years ago)
Author:
forrest
Message:

allow for setting small element tolerance in readMps

Location:
trunk/Clp/src
Files:
4 edited

Legend:

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

    r1711 r1724  
    494494               model->setPrimalTolerance(value);
    495495               break;
     496          case CLP_PARAM_DBL_ZEROTOLERANCE:
     497               model->setSmallElementValue(value);
     498               break;
    496499          case CLP_PARAM_DBL_DUALBOUND:
    497500               model->setDualBound(value);
     
    533536          break;
    534537#endif
     538     case CLP_PARAM_DBL_ZEROTOLERANCE:
     539          model->setSmallElementValue(value);
     540          break;
    535541     case CLP_PARAM_DBL_DUALBOUND:
    536542          value = model->dualBound();
     
    33283334#endif
    33293335#endif
     3336     parameters[numberParameters++] =
     3337          CbcOrClpParam("zeroT!olerance", "Kill all coefficients \
     3338whose absolute value is less than this value",
     3339                        1.0e-100, 1.0e-5, CLP_PARAM_DBL_ZEROTOLERANCE);
     3340     parameters[numberParameters-1].setLonghelp
     3341     (
     3342          "This applies to reading mps files (and also lp files \
     3343if KILL_ZERO_READLP defined)"
     3344     );
     3345     parameters[numberParameters-1].setDoubleValue(1.0e-20);
    33303346     assert(numberParameters < CBCMAXPARAMETERS);
    33313347}
  • trunk/Clp/src/CbcOrClpParam.hpp

    r1711 r1724  
    5858     CLP_PARAM_DBL_OBJSCALE,
    5959     CLP_PARAM_DBL_RHSSCALE,
     60     CLP_PARAM_DBL_ZEROTOLERANCE,
    6061
    6162     CBC_PARAM_DBL_INFEASIBILITYWEIGHT = 51,
  • trunk/Clp/src/ClpMain.cpp

    r1696 r1724  
    10301030                                                                         keepImportNames != 0);
    10311031                                   else
    1032                                         status = models[iModel].readLp(fileName.c_str(), 1.0e-12);
     1032#ifdef KILL_ZERO_READLP
     1033                                     status = models[iModel].readLp(fileName.c_str(), models[iModel].getSmallElementValue());
     1034#else
     1035                                     status = models[iModel].readLp(fileName.c_str(), 1.0e-12);
     1036#endif
    10331037                                   if (!status || (status > 0 && allowImportErrors)) {
    10341038                                        goodModels[iModel] = true;
  • trunk/Clp/src/OsiClp/OsiClpSolverInterface.cpp

    r1721 r1724  
    47804780  m.passInMessageHandler(modelPtr_->messageHandler());
    47814781  *m.messagesPointer()=modelPtr_->coinMessages();
     4782  m.setSmallElementValue(CoinMax(modelPtr_->getSmallElementValue(),
     4783                                 m.getSmallElementValue()));
    47824784
    47834785  delete [] setInfo_;
Note: See TracChangeset for help on using the changeset viewer.