3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-24 01:25:31 +00:00

strengthen filter for specialized tactic conditions, add flag to disable hnf to lp_params

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2018-07-15 22:35:47 -07:00
parent ca12a8482f
commit d00ffdda82
9 changed files with 114 additions and 43 deletions

View file

@ -600,6 +600,9 @@ lia_move int_solver::make_hnf_cut() {
}
lia_move int_solver::hnf_cut() {
if (!settings().m_enable_hnf) {
return lia_move::undef;
}
if ((m_number_of_calls) % settings().hnf_cut_period() == 0) {
return make_hnf_cut();
}

View file

@ -5,6 +5,7 @@ def_module_params('lp',
('min', BOOL, False, 'minimize cost'),
('print_stats', BOOL, False, 'print statistic'),
('simplex_strategy', UINT, 0, 'simplex strategy for the solver'),
('enable_hnf', BOOL, True, 'enable hnf cuts'),
('bprop_on_pivoted_rows', BOOL, True, 'propagate bounds on rows changed by the pivot operation')
))

View file

@ -197,6 +197,7 @@ public:
bool m_int_patch_only_integer_values;
unsigned limit_on_rows_for_hnf_cutter;
unsigned limit_on_columns_for_hnf_cutter;
bool m_enable_hnf;
unsigned hnf_cut_period() const { return m_hnf_cut_period; }
@ -263,7 +264,8 @@ public:
m_int_pivot_fixed_vars_from_basis(false),
m_int_patch_only_integer_values(true),
limit_on_rows_for_hnf_cutter(75),
limit_on_columns_for_hnf_cutter(150)
limit_on_columns_for_hnf_cutter(150),
m_enable_hnf(true)
{}
void set_resource_limit(lp_resource_limit& lim) { m_resource_limit = &lim; }