mirror of
https://github.com/Z3Prover/z3
synced 2025-04-24 01:25:31 +00:00
add option branch_flip to lp_settings
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
parent
b9bfa950f6
commit
ab92c20106
5 changed files with 11 additions and 10 deletions
|
@ -34,6 +34,7 @@ namespace lp {
|
|||
return j != -1 ? j : find_inf_int_nbasis_column();
|
||||
}
|
||||
|
||||
|
||||
lia_move int_branch::create_branch_on_column(int j) {
|
||||
TRACE("check_main_int", tout << "branching" << std::endl;);
|
||||
lp_assert(lia.m_t.is_empty());
|
||||
|
@ -44,7 +45,7 @@ namespace lp {
|
|||
lia.m_k = mpq(0);
|
||||
}
|
||||
else {
|
||||
lia.m_upper = left_branch_is_more_narrow_than_right(j);
|
||||
lia.m_upper = lra.settings().branch_flip()? lia.random() % 2 : left_branch_is_more_narrow_than_right(j);
|
||||
lia.m_k = lia.m_upper? floor(lia.get_value(j)) : ceil(lia.get_value(j));
|
||||
}
|
||||
|
||||
|
|
|
@ -200,6 +200,7 @@ public:
|
|||
unsigned limit_on_columns_for_hnf_cutter;
|
||||
bool m_enable_hnf;
|
||||
bool m_print_external_var_name;
|
||||
bool m_branch_flip;
|
||||
#ifdef Z3DEBUG
|
||||
unsigned m_counter_for_debug;
|
||||
#endif
|
||||
|
@ -270,12 +271,15 @@ public:
|
|||
limit_on_rows_for_hnf_cutter(75),
|
||||
limit_on_columns_for_hnf_cutter(150),
|
||||
m_enable_hnf(true),
|
||||
m_print_external_var_name(false)
|
||||
m_print_external_var_name(false),
|
||||
m_branch_flip(false)
|
||||
#ifdef Z3DEBUG
|
||||
, m_counter_for_debug(0)
|
||||
#endif
|
||||
{}
|
||||
|
||||
bool branch_flip() const { return m_branch_flip; }
|
||||
void set_branch_flip(bool f) { m_branch_flip = f; }
|
||||
void set_resource_limit(lp_resource_limit& lim) { m_resource_limit = &lim; }
|
||||
bool get_cancel_flag() const { return m_resource_limit->get_cancel_flag(); }
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue