Timetabler
time_tabler.h
Go to the documentation of this file.
1 
3 #ifndef TIME_TABLER_H
4 #define TIME_TABLER_H
5 
6 #include <vector>
7 #include "MaxSATFormula.h"
8 #include "cclause.h"
9 #include "core/SolverTypes.h"
10 #include "data.h"
11 #include "mtl/Vec.h"
12 #include "tsolver.h"
13 
14 using namespace NSPACE;
15 
32 };
33 
44 class Timetabler {
45  private:
49  TSolver *solver;
53  MaxSATFormula *formula;
57  std::vector<lbool> model;
58 
59  public:
64  Timetabler();
65  ~Timetabler();
66  void addClauses(const std::vector<CClause> &, int);
67  void addClauses(const Clauses &, int);
68  bool checkAllTrue(const std::vector<Var> &);
69  bool isVarTrue(const Var &);
70  SolverStatus solve();
71  Var newVar();
72  Lit newLiteral(bool sign = false);
73  void printResult(SolverStatus);
74  void displayTimeTable();
75  void displayUnsatisfiedOutputReasons();
76  void addHighLevelClauses();
77  void addHighLevelConstraintClauses(PredefinedClauses);
78  void addHighLevelCustomConstraintClauses(int, int);
79  void writeOutput(std::string);
80  void addExistingAssignments();
81  void addToFormula(vec<Lit> &, int);
82  void addToFormula(Lit, int);
83  void displayChangesInGivenAssignment();
84 };
85 
86 #endif
Definition: time_tabler.h:23
Definition: time_tabler.h:27
Class for time tabler.
Definition: time_tabler.h:44
PredefinedClauses
Enum that represents all the predefined constraints.
Definition: global.h:14
Class for solver.
Definition: tsolver.h:25
Class for representing a set of clauses.
Definition: clauses.h:23
SolverStatus
Enum to store the solver status.
Definition: time_tabler.h:19
Class for data.
Definition: data.h:30
Definition: time_tabler.h:31
Data data
Definition: time_tabler.h:63