CBMC
pbs_dimacs_cnf.h
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module:
4 
5 Author: Alex Groce
6 
7 \*******************************************************************/
8 
9 
10 #ifndef CPROVER_SOLVERS_SAT_PBS_DIMACS_CNF_H
11 #define CPROVER_SOLVERS_SAT_PBS_DIMACS_CNF_H
12 
13 #include <set>
14 #include <map>
15 #include <iosfwd>
16 
17 #include "dimacs_cnf.h"
18 
20 {
21 public:
22  explicit pbs_dimacs_cnft(message_handlert &message_handler)
23  : dimacs_cnft(message_handler),
24  optimize(false),
25  maximize(false),
26  binary_search(false),
27  goal(0),
28  opt_sum(0)
29  {
30  }
31 
32  virtual ~pbs_dimacs_cnft()
33  {
34  }
35 
36  virtual void write_dimacs_pb(std::ostream &out);
37 
38  bool optimize;
39  bool maximize;
41 
42  std::string pbs_path;
43 
44  int goal;
45  int opt_sum;
46 
47  std::map<literalt, unsigned> pb_constraintmap;
48 
49  bool pbs_solve();
50 
51  tvt l_get(literalt a) const override;
52 
53  // dummy functions
54 
55  const std::string solver_text() override
56  {
57  return "PBS - Pseudo Boolean/CNF Solver and Optimizer";
58  }
59 
60 protected:
61  resultt do_prop_solve() override;
62 
63  std::set<int> assigned;
64 };
65 
66 #endif // CPROVER_SOLVERS_SAT_PBS_DIMACS_CNF_H
resultt
resultt
The result of goto verifying.
Definition: properties.h:44
pbs_dimacs_cnft::pbs_path
std::string pbs_path
Definition: pbs_dimacs_cnf.h:42
pbs_dimacs_cnft::goal
int goal
Definition: pbs_dimacs_cnf.h:44
pbs_dimacs_cnft::write_dimacs_pb
virtual void write_dimacs_pb(std::ostream &out)
Definition: pbs_dimacs_cnf.cpp:19
pbs_dimacs_cnft::do_prop_solve
resultt do_prop_solve() override
Definition: pbs_dimacs_cnf.cpp:208
pbs_dimacs_cnft::binary_search
bool binary_search
Definition: pbs_dimacs_cnf.h:40
pbs_dimacs_cnft::l_get
tvt l_get(literalt a) const override
Definition: pbs_dimacs_cnf.cpp:245
pbs_dimacs_cnft::pbs_solve
bool pbs_solve()
Definition: pbs_dimacs_cnf.cpp:61
pbs_dimacs_cnft::pbs_dimacs_cnft
pbs_dimacs_cnft(message_handlert &message_handler)
Definition: pbs_dimacs_cnf.h:22
pbs_dimacs_cnft::solver_text
const std::string solver_text() override
Definition: pbs_dimacs_cnf.h:55
pbs_dimacs_cnft::~pbs_dimacs_cnft
virtual ~pbs_dimacs_cnft()
Definition: pbs_dimacs_cnf.h:32
pbs_dimacs_cnft
Definition: pbs_dimacs_cnf.h:19
message_handlert
Definition: message.h:27
tvt
Definition: threeval.h:19
dimacs_cnf.h
pbs_dimacs_cnft::maximize
bool maximize
Definition: pbs_dimacs_cnf.h:39
literalt
Definition: literal.h:25
pbs_dimacs_cnft::opt_sum
int opt_sum
Definition: pbs_dimacs_cnf.h:45
pbs_dimacs_cnft::optimize
bool optimize
Definition: pbs_dimacs_cnf.h:38
dimacs_cnft
Definition: dimacs_cnf.h:17
pbs_dimacs_cnft::pb_constraintmap
std::map< literalt, unsigned > pb_constraintmap
Definition: pbs_dimacs_cnf.h:47
pbs_dimacs_cnft::assigned
std::set< int > assigned
Definition: pbs_dimacs_cnf.h:63