Timetabler
constraint_adder.h
Go to the documentation of this file.
1 
3 #ifndef CONSTRAINT_ADDER_H
4 #define CONSTRAINT_ADDER_H
5 
6 #include "constraint_encoder.h"
7 #include "clauses.h"
8 #include "global.h"
9 #include "core/SolverTypes.h"
10 class TimeTabler;
11 
12 using namespace Minisat;
13 
27 private:
31  ConstraintEncoder *encoder;
35  TimeTabler *timeTabler;
36  Clauses fieldSingleValueAtATime(FieldType);
37  Clauses exactlyOneFieldValuePerCourse(FieldType);
38  Clauses instructorSingleCourseAtATime();
39  Clauses classroomSingleCourseAtATime();
40  Clauses programSingleCoreCourseAtATime();
41  Clauses minorInMinorTime();
42  Clauses coreInMorningTime();
43  Clauses electiveInNonMorningTime();
44  Clauses existingAssignmentClauses();
45  Clauses programAtMostOneOfCoreOrElective();
46 public:
48  void addConstraints();
49 };
50 
51 #endif
Class for constraint adder.
Definition: constraint_adder.h:26
Class for constraint encoder.
Definition: constraint_encoder.h:26
FieldType
Enum that represents all the field types.
Definition: global.h:10
Class for representing a set of clauses.
Definition: clauses.h:23
Class for time tabler.
Definition: time_tabler.h:45