3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-16 13:58:45 +00:00
z3/src/opt/pb_sls.h
Nikolaj Bjorner d0e20e44ff booyah
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-04 15:56:30 -07:00

49 lines
844 B
C++

/*++
Copyright (c) 2014 Microsoft Corporation
Module Name:
pb_sls.h
Abstract:
SLS for PB optimization.
Author:
Nikolaj Bjorner (nbjorner) 2014-03-18
Notes:
--*/
#pragma once
#include "ast/pb_decl_plugin.h"
#include "model/model.h"
#include "util/lbool.h"
#include "util/params.h"
#include "util/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);
bool soft_holds(unsigned index);
void set_model(model_ref& mdl);
lbool operator()();
void collect_statistics(::statistics& st) const;
void get_model(model_ref& mdl);
void updt_params(params_ref& p);
void reset();
};
};