Constraints priorities

You can define constraints priorities for removing constraints in case of inconsistency or during the optimisation process. By default, the system assumes the following priorities starting from more important ones:

PriorityRelated toRequirementsElementsElements before constraints
1SubjectsNumber of lessons per weekAll subjectsNo
2ClassesNo gapsAll classesNo
3SubjectsClassrooms arrangementAll subjectsNo
4ClassesAvailability; Starting time of lessonsAll classesNo
5TeachersAvailabilityAll teachersNo
6SubjectsAllAll subjectsNo
7ClassesAllAll classesNo
8TeachersAllAll teachersNo
9Groups of subjectsAllAll GroupsNo
10StudentsAllAll studentsNo
11ResourcesAllAll resourcesNo


As we can see, by default the "Number of lessons per week" is the most important constraint (priority 1) and any constraints connected with resources are the least important (priority 11). If we removed some constraints without defining a new one, the system would still use the defaults.

The priorities help to get as a close solution to your demands as you need. For example, you can demand no gaps for a few teachers as a priority and so on. Finally, the timetable generator informs you about all necessary modifications.

Legend:
  • Priority (i.e. priorities group because it can contain many elements & constraints, entered in an importance order) - no. defining priority (at decreasing importance) Each group of priorities can contain many constraints & elements entered in a decreasing importance order. If you enter "All" elements or groups, it will mean the importance of elements is taken from the system i.e. taken from the order of entering the teachers, classes etc. or for constraints defined in the system in the following order i.e.:
    "Number of lessons per week"
    "No gaps"
    "Classrooms arrangement"
    "Availability"
    "Starting time of lessons"
    "Outer position"
    "Not blocked"
    "Always blocked"
    "Blocked if several a day"
    "Subject position"
    "Maximum quantity"
    "Minimum quantity"
    "Gaps constraints"
    "Minimum quantity allowing zero"
    "Students courses overlapping"
    "Inter-sites moving time"
    "Preceding"
    "Blocking mode"
    "Resources quantity"
  • Type - type of elements for the constraints. One priority on the list concerns only one element type (however, it can concern many elements and constraints for the selected type). For instance, the type of elements can be "Teachers", "Classes", "Subjects", "Groups" (i.e. groups of subjects), "Students", "Resources".
  • Groups of subjects - constraints on this priority, entered in decreasing importance order (e.g. "Max quantity" etc.).
  • Elements - elements on this priority, entered in decreasing importance order (e.g. a teacher John Smith if an element type is set to "Teachers" etc.)
  • Elements before constraints - if we choose "Yes", the system will try to add all constraints (e.g. "Min quantity", "Max quantity") for a subsequent element (e.g. "John Smith") before adding constraints (e.g. "Min quantity", "Max quantity") for next one (e.g. "Ann Brown"). If we choose "No" (default one), the system will try to add one constraint (e.g. "Min quantity") for all elements (e.g. "John Smith", "Ann Brown") before adding the next constraint (e.g. "Max quantity") for them (e.g. "John Smith", "Ann Brown").


If a priority for any constraint is not defined, the system assumes it is less important and appends it at the end of the priority list before starting the generation process. If the system finds the same constraint on two different priority levels, it will assume the constraint is more important (it assumes bigger priority from the two defined). For instance, the definition below is somewhat illogical, but it would be properly interpreted by the system:

PriorityRelated toRequirementsElementsElements before constraints
1SubjectsAllAll subjectsNo
2ClassesNo gapsAll classesNo
3SubjectsClassrooms arrangementAll subjectsNo


because the "Classroom arrangement" constraint for subjects will have priority 1 and not 3 (it goes into "All" of the type "Subjects" as well).

Below is yet another example:

PriorityRelated toRequirementsElementsElements before constraints
1SubjectsNumber of lessons per weekAll subjectsNo
2ClassesNo gapsAll classesYes
3SubjectsClassrooms arrangementEnglish; ChemistryNo
4ClassesAvailability; Starting time of lessonsAll classesNo
5TeachersGaps constraints; AvailabilityJohn Smith; Ann BrownYes
6TeachersAvailabilityAll teachersNo
7SubjectsAllAll subjectsNo
8ClassesAllAll classesNo
9TeachersAllAll teachersNo
10Groups of subjectsAllAll GroupsNo
11StudentsAllAll studentsNo
12ResourcesAllAll resourcesNo

Already 4035 users registered in the portal.