3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-24 17:45:32 +00:00

bugfix for bvsls_opt_engine

Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
This commit is contained in:
Christoph M. Wintersteiger 2014-04-14 15:24:47 +01:00
parent 1db7e0a149
commit 71af72eed4
2 changed files with 9 additions and 1 deletions

View file

@ -100,6 +100,8 @@ expr_ref bvsls_opt_engine::maximize(expr_ref const & objective)
m_mpz_manager.set(score, top_score());
m_mpz_manager.set(max_score, m_powers(obj_bv_sz)); m_mpz_manager.dec(max_score);
IF_IVERBOSE(10, verbose_stream() << "Initial score: " << m_mpz_manager.to_string(score) << std::endl;);
save_model(score);
while (check_restart((unsigned)m_stats.m_stopwatch.get_current_seconds()) &&
@ -126,7 +128,8 @@ expr_ref bvsls_opt_engine::maximize(expr_ref const & objective)
m_mpz_manager.set(score, top_score());
}
else {
TRACE("sls_opt", tout << "New best: " << m_mpz_manager.to_string(score) << std::endl;);
TRACE("sls_opt", tout << "New optimum: " << m_mpz_manager.to_string(score) << std::endl;);
IF_IVERBOSE(10, verbose_stream() << "New optimum: " << m_mpz_manager.to_string(score) << std::endl;);
func_decl * fd = consts[new_const];
incremental_score(fd, new_value);
m_obj_evaluator.update(fd, new_value);