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:
parent
ca12a8482f
commit
d00ffdda82
9 changed files with 114 additions and 43 deletions
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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')
|
||||
))
|
||||
|
||||
|
|
|
@ -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; }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue