3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-22 16:45:31 +00:00

working on wmaxsmt

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2013-10-30 01:28:50 -07:00
parent 6302d1b7db
commit 42cbbe830e
3 changed files with 9 additions and 12 deletions

View file

@ -82,6 +82,13 @@ namespace opt {
~toggle_objective();
};
class scoped_push {
opt_solver& s;
public:
scoped_push(opt_solver& s):s(s) { s.push(); }
~scoped_push() { s.pop(1); }
};
smt::context& get_context() { return m_context.get_context(); } // used by weighted maxsat.
private:

View file

@ -46,17 +46,6 @@ Notes:
namespace opt {
class scoped_push {
opt_solver& s;
public:
scoped_push(opt_solver& s):s(s) {
s.push();
}
~scoped_push() {
s.pop(1);
}
};
void optimize_objectives::set_cancel(bool f) {
m_cancel = true;
}
@ -86,7 +75,7 @@ namespace opt {
return is_sat;
}
scoped_push _push(s);
opt_solver::scoped_push _push(s);
opt_solver::toggle_objective _t(s, true);

View file

@ -216,6 +216,7 @@ namespace opt {
ctx.register_plugin(wth);
}
opt_solver::scoped_push _s(s);
for (unsigned i = 0; i < soft_constraints.size(); ++i) {
wth->assert_weighted(soft_constraints[i].get(), weights[i]);
}