3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-07-19 02:42:02 +00:00

working on upper bound optimziation

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2013-11-03 14:54:42 -08:00
parent e5698119d7
commit c0de1e34ac
17 changed files with 343 additions and 125 deletions

View file

@ -34,6 +34,7 @@ namespace opt {
vector<inf_eps> m_lower;
vector<inf_eps> m_upper;
svector<smt::theory_var> m_vars;
symbol m_engine;
public:
optimize_objectives(ast_manager& m): m(m), s(0), m_cancel(false) {}
@ -41,13 +42,17 @@ namespace opt {
void set_cancel(bool f);
void set_engine(symbol const& e) { m_engine = e; }
private:
lbool basic_opt(app_ref_vector& objectives);
lbool basic_opt();
lbool farkas_opt();
void set_max(vector<inf_eps>& dst, vector<inf_eps> const& src);
lbool update_lower();
void update_lower();
lbool update_upper();