3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-14 19:24:44 +00:00

adding pb sls

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2014-03-18 14:17:21 -07:00
parent 4effa7f0c0
commit 9811054e72
4 changed files with 274 additions and 3 deletions

50
src/opt/pb_sls.h Normal file
View file

@ -0,0 +1,50 @@
/*++
Copyright (c) 2014 Microsoft Corporation
Module Name:
pb_sls.h
Abstract:
SLS for PB optimization.
Author:
Nikolaj Bjorner (nbjorner) 2014-03-18
Notes:
--*/
#ifndef _PB_SLS_H_
#define _PB_SLS_H_
#include "pb_decl_plugin.h"
#include "model.h"
#include "lbool.h"
#include "params.h"
#include "statistics.h"
namespace smt {
class pb_sls {
struct imp;
imp* m_imp;
public:
pb_sls(ast_manager& m);
~pb_sls();
void add(expr* f);
void add(expr* f, rational const& w);
void init_value(expr* f, bool b);
lbool operator()();
bool get_value(expr* f);
void set_cancel(bool f);
void collect_statistics(statistics& st) const;
void get_model(model_ref& mdl);
void updt_params(params_ref& p);
};
};
#endif