3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-06-27 00:18:45 +00:00

add solution_prefix per #1463, have parto with single objective behave similar to multipe-objectives #1439

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2018-01-28 11:45:39 -08:00
parent 57406d6cc4
commit e4198c38e2
6 changed files with 31 additions and 3 deletions

View file

@ -57,6 +57,7 @@ namespace opt {
virtual unsigned num_objectives() = 0;
virtual bool verify_model(unsigned id, model* mdl, rational const& v) = 0;
virtual void set_model(model_ref& _m) = 0;
virtual void model_updated(model* mdl) = 0;
};
/**
@ -154,9 +155,10 @@ namespace opt {
map_t m_maxsmts;
scoped_state m_scoped_state;
vector<objective> m_objectives;
model_ref m_model;
model_ref m_model;
model_converter_ref m_model_converter;
filter_model_converter m_fm;
unsigned m_model_counter;
obj_map<func_decl, unsigned> m_objective_fns;
obj_map<func_decl, expr*> m_objective_orig;
func_decl_ref_vector m_objective_refs;
@ -231,6 +233,8 @@ namespace opt {
virtual bool verify_model(unsigned id, model* mdl, rational const& v);
virtual void model_updated(model* mdl);
private:
lbool execute(objective const& obj, bool committed, bool scoped);