From 9a4fb4ff7641b9585605567e11a6f7e683aa63bf Mon Sep 17 00:00:00 2001 From: Nikolaj Bjorner Date: Sun, 5 Nov 2017 14:08:55 -0800 Subject: [PATCH] remove ad-hoc parameters, deprecating dimacs cube mode Signed-off-by: Nikolaj Bjorner --- src/sat/sat_config.cpp | 1 - src/sat/sat_config.h | 1 - src/sat/sat_params.pyg | 1 - src/sat/sat_solver.cpp | 4 +++ src/tactic/portfolio/parallel_tactic.cpp | 31 +++++++++++++++--------- 5 files changed, 24 insertions(+), 14 deletions(-) diff --git a/src/sat/sat_config.cpp b/src/sat/sat_config.cpp index d0618d265..31304bab5 100644 --- a/src/sat/sat_config.cpp +++ b/src/sat/sat_config.cpp @@ -89,7 +89,6 @@ namespace sat { m_local_search = p.local_search(); m_local_search_threads = p.local_search_threads(); m_lookahead_simplify = p.lookahead_simplify(); - m_lookahead_cube = p.lookahead_cube(); m_lookahead_search = p.lookahead_search(); if (p.lookahead_reward() == symbol("heule_schur")) { m_lookahead_reward = heule_schur_reward; diff --git a/src/sat/sat_config.h b/src/sat/sat_config.h index 17ce7a569..2e1d8a145 100644 --- a/src/sat/sat_config.h +++ b/src/sat/sat_config.h @@ -84,7 +84,6 @@ namespace sat { bool m_local_search; bool m_lookahead_search; bool m_lookahead_simplify; - bool m_lookahead_cube; unsigned m_lookahead_cube_cutoff; double m_lookahead_cube_fraction; reward_t m_lookahead_reward; diff --git a/src/sat/sat_params.pyg b/src/sat/sat_params.pyg index 5880f8bfc..229bd8a4b 100644 --- a/src/sat/sat_params.pyg +++ b/src/sat/sat_params.pyg @@ -36,7 +36,6 @@ def_module_params('sat', ('atmost1_encoding', SYMBOL, 'grouped', 'encoding used for at-most-1 constraints grouped, bimander, ordered'), ('local_search_threads', UINT, 0, 'number of local search threads to find satisfiable solution'), ('local_search', BOOL, False, 'use local search instead of CDCL'), - ('lookahead_cube', BOOL, False, 'use lookahead solver to create cubes'), ('lookahead.cube.fraction', DOUBLE, 0.4, 'adaptive fraction to create lookahead cubes. Used when lookahead_cube is true'), ('lookahead.cube.cutoff', UINT, 10, 'cut-off depth to create cubes. Only enabled when non-zero. Used when lookahead_cube is true.'), ('lookahead_search', BOOL, False, 'use lookahead solver'), diff --git a/src/sat/sat_solver.cpp b/src/sat/sat_solver.cpp index d6ec47f36..f5b04e646 100644 --- a/src/sat/sat_solver.cpp +++ b/src/sat/sat_solver.cpp @@ -871,9 +871,13 @@ namespace sat { if (m_config.m_lookahead_search && num_lits == 0) { return lookahead_search(); } +#if 0 + // deprecated if (m_config.m_lookahead_cube && num_lits == 0) { return lookahead_cube(); } +#endif + if (m_config.m_local_search) { return do_local_search(num_lits, lits); } diff --git a/src/tactic/portfolio/parallel_tactic.cpp b/src/tactic/portfolio/parallel_tactic.cpp index e3d2ee8b3..82fc0fb39 100644 --- a/src/tactic/portfolio/parallel_tactic.cpp +++ b/src/tactic/portfolio/parallel_tactic.cpp @@ -111,7 +111,6 @@ class parallel_tactic : public tactic { solver_state* st = try_get_task(); if (st) return st; inc_wait(); - std::unique_lock lock(m_mutex); m_cond.wait(lock, [this] { --m_num_waiters; return true; }); } @@ -289,14 +288,11 @@ class parallel_tactic : public tactic { } void set_simplify_params(bool pb_simp, bool retain_blocked) { - m_params.set_bool("bca", true); m_params.set_bool("cardinality.solver", pb_simp); - m_params.set_bool("cce", true); -// m_params.set_bool("elim_blocked_clauses", true); + m_params.set_sym ("pb.solver", pb_simp ? symbol("solver") : symbol("circuit")); if (m_params.get_uint("inprocess.max", UINT_MAX) == UINT_MAX) m_params.set_uint("inprocess.max", 2); m_params.set_bool("lookahead_simplify", true); - m_params.set_sym ("pb.solver", pb_simp ? symbol("solver") : symbol("circuit")); m_params.set_uint("restart.max", UINT_MAX); m_params.set_bool("retain_blocked_clauses", retain_blocked); get_solver().updt_params(m_params); @@ -344,7 +340,7 @@ private: IF_VERBOSE(1, verbose_stream() << "(tactic.parallel :progress " << m_progress << "% "; if (status == l_true) verbose_stream() << ":status sat "; if (status == l_undef) verbose_stream() << ":status unknown "; - verbose_stream() <