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:
parent
4effa7f0c0
commit
9811054e72
4 changed files with 274 additions and 3 deletions
50
src/opt/pb_sls.h
Normal file
50
src/opt/pb_sls.h
Normal 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
|
Loading…
Add table
Add a link
Reference in a new issue