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:| Priority | Related to | Requirements | Elements | Elements before constraints |
|---|---|---|---|---|
| 1 | Subjects | Number of lessons per week | All subjects | No |
| 2 | Classes | No gaps | All classes | No |
| 3 | Subjects | Classrooms arrangement | All subjects | No |
| 4 | Classes | Availability; Starting time of lessons | All classes | No |
| 5 | Teachers | Availability | All teachers | No |
| 6 | Subjects | All | All subjects | No |
| 7 | Classes | All | All classes | No |
| 8 | Teachers | All | All teachers | No |
| 9 | Groups of subjects | All | All Groups | No |
| 10 | Students | All | All students | No |
| 11 | Resources | All | All resources | No |
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:
| Priority | Related to | Requirements | Elements | Elements before constraints |
|---|---|---|---|---|
| 1 | Subjects | All | All subjects | No |
| 2 | Classes | No gaps | All classes | No |
| 3 | Subjects | Classrooms arrangement | All subjects | No |
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:
| Priority | Related to | Requirements | Elements | Elements before constraints |
|---|---|---|---|---|
| 1 | Subjects | Number of lessons per week | All subjects | No |
| 2 | Classes | No gaps | All classes | Yes |
| 3 | Subjects | Classrooms arrangement | English; Chemistry | No |
| 4 | Classes | Availability; Starting time of lessons | All classes | No |
| 5 | Teachers | Gaps constraints; Availability | John Smith; Ann Brown | Yes |
| 6 | Teachers | Availability | All teachers | No |
| 7 | Subjects | All | All subjects | No |
| 8 | Classes | All | All classes | No |
| 9 | Teachers | All | All teachers | No |
| 10 | Groups of subjects | All | All Groups | No |
| 11 | Students | All | All students | No |
| 12 | Resources | All | All resources | No |
You are invited to check the service for FREE. To make your own timetable - login |

