mirror of
https://github.com/Z3Prover/z3
synced 2025-06-22 13:53:39 +00:00
fix #2817 - rows may apparently not be correct (root cause of this tbd), but avoid Gomory on incorrect rows
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
05da2508bf
commit
ad965ac896
2 changed files with 5 additions and 1 deletions
|
@ -268,7 +268,8 @@ public:
|
||||||
for (auto & p : m_row) {
|
for (auto & p : m_row) {
|
||||||
m_int_solver.m_lar_solver->m_mpq_lar_core_solver.m_r_solver.print_column_info(p.var(), tout);
|
m_int_solver.m_lar_solver->m_mpq_lar_core_solver.m_r_solver.print_column_info(p.var(), tout);
|
||||||
}
|
}
|
||||||
tout << "inf_col = " << m_inf_col << std::endl;);
|
tout << "inf_col = " << m_inf_col << std::endl;
|
||||||
|
);
|
||||||
|
|
||||||
// gomory will be t <= k and the current solution has a property t > k
|
// gomory will be t <= k and the current solution has a property t > k
|
||||||
m_k = 1;
|
m_k = 1;
|
||||||
|
|
|
@ -147,6 +147,9 @@ lia_move int_solver::proceed_with_gomory_cut(unsigned j) {
|
||||||
if (!is_gomory_cut_target(row))
|
if (!is_gomory_cut_target(row))
|
||||||
return create_branch_on_column(j);
|
return create_branch_on_column(j);
|
||||||
|
|
||||||
|
if (!m_lar_solver->row_is_correct(row_of_basic_column(j)))
|
||||||
|
return lia_move::undef;
|
||||||
|
|
||||||
m_upper = true;
|
m_upper = true;
|
||||||
return mk_gomory_cut(j, row);
|
return mk_gomory_cut(j, row);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue