mirror of
https://github.com/Z3Prover/z3
synced 2025-06-06 14:13:23 +00:00
expose model update
This commit is contained in:
parent
a9d7026724
commit
6d836e7e2f
2 changed files with 7 additions and 6 deletions
|
@ -223,7 +223,7 @@ class lar_solver : public column_namer {
|
||||||
void insert_row_with_changed_bounds(unsigned rid);
|
void insert_row_with_changed_bounds(unsigned rid);
|
||||||
void detect_rows_with_changed_bounds_for_column(unsigned j);
|
void detect_rows_with_changed_bounds_for_column(unsigned j);
|
||||||
void detect_rows_with_changed_bounds();
|
void detect_rows_with_changed_bounds();
|
||||||
void set_value_for_nbasic_column(unsigned j, const impq & new_val);
|
|
||||||
void update_x_and_inf_costs_for_columns_with_changed_bounds();
|
void update_x_and_inf_costs_for_columns_with_changed_bounds();
|
||||||
void update_x_and_inf_costs_for_columns_with_changed_bounds_tableau();
|
void update_x_and_inf_costs_for_columns_with_changed_bounds_tableau();
|
||||||
void solve_with_core_solver();
|
void solve_with_core_solver();
|
||||||
|
@ -355,6 +355,9 @@ public:
|
||||||
bp.consume(a, witness);
|
bp.consume(a, witness);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void set_value_for_nbasic_column(unsigned j, const impq& new_val);
|
||||||
|
|
||||||
// lp_assert(implied_bound_is_correctly_explained(ib, explanation)); }
|
// lp_assert(implied_bound_is_correctly_explained(ib, explanation)); }
|
||||||
constraint_index mk_var_bound(var_index j, lconstraint_kind kind, const mpq & right_side);
|
constraint_index mk_var_bound(var_index j, lconstraint_kind kind, const mpq & right_side);
|
||||||
void activate_check_on_equal(constraint_index, var_index&);
|
void activate_check_on_equal(constraint_index, var_index&);
|
||||||
|
|
|
@ -2967,11 +2967,9 @@ namespace sat {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case PS_SAT_CACHING:
|
case PS_SAT_CACHING:
|
||||||
if (m_search_state == s_sat) {
|
if (m_search_state == s_sat)
|
||||||
for (unsigned i = 0; i < m_phase.size(); ++i) {
|
for (unsigned i = 0; i < m_phase.size(); ++i)
|
||||||
m_phase[i] = m_best_phase[i];
|
m_phase[i] = m_best_phase[i];
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case PS_RANDOM:
|
case PS_RANDOM:
|
||||||
for (auto& p : m_phase) p = (m_rand() % 2) == 0;
|
for (auto& p : m_phase) p = (m_rand() % 2) == 0;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue