3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-10-03 14:33:56 +00:00

Add initial value setting for variables in Z3 API, solver, and optimize modules

This commit is contained in:
Nikolaj Bjorner 2024-09-18 16:13:15 +03:00
parent 0ba306e7b3
commit 48712b4f60
31 changed files with 297 additions and 9 deletions

View file

@ -140,12 +140,14 @@ namespace opt {
unsigned_vector m_objectives_lim;
unsigned_vector m_objectives_term_trail;
unsigned_vector m_objectives_term_trail_lim;
unsigned_vector m_values_lim;
map_id m_indices;
public:
expr_ref_vector m_hard;
expr_ref_vector m_asms;
vector<objective> m_objectives;
vector<std::pair<expr_ref, expr_ref>> m_values;
scoped_state(ast_manager& m):
m(m),
@ -275,6 +277,8 @@ namespace opt {
void add_offset(unsigned id, rational const& o) override;
void initialize_value(expr* var, expr* value);
void register_on_model(on_model_t& ctx, std::function<void(on_model_t&, model_ref&)>& on_model) {
m_on_model_ctx = ctx;
m_on_model_eh = on_model;