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 "clauses.h"
7 #include "constraint_encoder.h"
8 #include "core/SolverTypes.h"
9 #include "global.h"
10 class TimeTabler;
11 
12 using namespace Minisat;
13 
27  private:
32  ConstraintEncoder *encoder;
37  TimeTabler *timeTabler;
38  Clauses fieldSingleValueAtATime(FieldType);
39  Clauses exactlyOneFieldValuePerCourse(FieldType);
40  Clauses instructorSingleCourseAtATime();
41  Clauses classroomSingleCourseAtATime();
42  Clauses programSingleCoreCourseAtATime();
43  Clauses minorInMinorTime();
44  Clauses coreInMorningTime();
45  Clauses electiveInNonMorningTime();
46  Clauses existingAssignmentClauses();
47  Clauses programAtMostOneOfCoreOrElective();
48 
49  public:
51  void addConstraints();
52 };
53 
54 #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:9
Class for representing a set of clauses.
Definition: clauses.h:23
Class for time tabler.
Definition: time_tabler.h:44