mirror of
https://github.com/Z3Prover/z3
synced 2025-04-28 11:25:51 +00:00
integrate bounds from original model
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
ce18421a7a
commit
630a3d6ea8
3 changed files with 12 additions and 17 deletions
|
@ -843,7 +843,6 @@ namespace opt {
|
|||
void context::update_bound(bool is_lower) {
|
||||
expr_ref val(m);
|
||||
if (!m_model.get()) return;
|
||||
bool override = true;
|
||||
for (unsigned i = 0; i < m_objectives.size(); ++i) {
|
||||
objective const& obj = m_objectives[i];
|
||||
rational r;
|
||||
|
@ -852,10 +851,10 @@ namespace opt {
|
|||
if (m_model->eval(obj.m_term, val) && is_numeral(val, r)) {
|
||||
inf_eps val = inf_eps(obj.m_adjust_value(r));
|
||||
if (is_lower) {
|
||||
m_optsmt.update_lower(obj.m_index, val, override);
|
||||
m_optsmt.update_lower(obj.m_index, val);
|
||||
}
|
||||
else {
|
||||
m_optsmt.update_upper(obj.m_index, val, override);
|
||||
m_optsmt.update_upper(obj.m_index, val);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@ -863,10 +862,10 @@ namespace opt {
|
|||
if (m_model->eval(obj.m_term, val) && is_numeral(val, r)) {
|
||||
inf_eps val = inf_eps(obj.m_adjust_value(r));
|
||||
if (is_lower) {
|
||||
m_optsmt.update_lower(obj.m_index, val, override);
|
||||
m_optsmt.update_lower(obj.m_index, val);
|
||||
}
|
||||
else {
|
||||
m_optsmt.update_upper(obj.m_index, val, override);
|
||||
m_optsmt.update_upper(obj.m_index, val);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue