From bd0fbd5fa6099311bf9e8070b79fb1560487aa8c Mon Sep 17 00:00:00 2001 From: Corentin Le Molgat Date: Thu, 26 Apr 2018 17:47:45 +0200 Subject: [PATCH] Revert "Merge pull request #638 from yingzong/cbc_solver_params_2" (Fix #672) This reverts commit 8ae61b6feb64c6193b4706535f8d06ee6e4e7270, reversing changes made to 86cdb3584ac7f95a906582e9113ae64f97979323. --- ortools/linear_solver/cbc_interface.cc | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/ortools/linear_solver/cbc_interface.cc b/ortools/linear_solver/cbc_interface.cc index bbaccc74b2..d851a6b6e3 100644 --- a/ortools/linear_solver/cbc_interface.cc +++ b/ortools/linear_solver/cbc_interface.cc @@ -27,9 +27,6 @@ #include "ortools/base/timer.h" #include "ortools/base/port.h" #include "ortools/base/hash.h" - -#include "ortools/port/file.h" - #include "ortools/linear_solver/linear_solver.h" #if defined(USE_CBC) @@ -144,8 +141,6 @@ class CBCInterface : public MPSolverInterface { void SetScalingMode(int value) override; void SetLpAlgorithm(int value) override; - bool ReadParameterFile(const std::string& filename) override; - OsiClpSolverInterface osi_; // TODO(user): remove and query number of iterations directly from CbcModel int64 iterations_; @@ -153,7 +148,6 @@ class CBCInterface : public MPSolverInterface { double best_objective_bound_; // Special way to handle the relative MIP gap parameter. double relative_mip_gap_; - std::string solver_specific_parameters_; }; // ----- Solver ----- @@ -164,8 +158,7 @@ CBCInterface::CBCInterface(MPSolver* const solver) iterations_(0), nodes_(0), best_objective_bound_(-std::numeric_limits::infinity()), - relative_mip_gap_(MPSolverParameters::kDefaultRelativeMipGap), - solver_specific_parameters_("") { + relative_mip_gap_(MPSolverParameters::kDefaultRelativeMipGap) { osi_.setStrParam(OsiProbName, solver_->name_); osi_.setObjSense(1); } @@ -380,10 +373,7 @@ MPSolver::ResultStatus CBCInterface::Solve(const MPSolverParameters& param) { // through callCbc. model.setAllowableFractionGap(relative_mip_gap_); // NOTE: Trailing space is required to avoid buffer overflow in cbc. - std::string call_string = " -solve "; - call_string = solver_specific_parameters_ + call_string; - int return_status = callCbc(call_string, model); - + int return_status = callCbc("-solve ", model); const int kBadReturnStatus = 777; CHECK_NE(kBadReturnStatus, return_status); // Should never happen according // to the CBC source @@ -533,10 +523,6 @@ void CBCInterface::SetLpAlgorithm(int value) { SetUnsupportedIntegerParam(MPSolverParameters::LP_ALGORITHM); } -bool CBCInterface::ReadParameterFile(const std::string& filename) { - return FileGetContents(filename, &solver_specific_parameters_).ok(); -} - MPSolverInterface* BuildCBCInterface(MPSolver* const solver) { return new CBCInterface(solver); }