USP Constraint Catalog
Constraint Catalog
Constraints are applied to sets of sessions (referred as “the sessions” in the short descriptions) selected via selectors (see schema). Constraints may have parameters. In the case where the parameters are repeated several times, the union of the parameters is used.
Constraint list
| Name | Size | Parameters | Short description |
|---|---|---|---|
| adjacent_rooms | single | roomChain: comma separated list of room identifiersThis parameter can be repeated. One roomChain defines adjacent rooms in order. |
|
| allowed_grids | single | dailySlots: list of starting slotsdays: list of allowed daysweeks: list of allowed weeks |
union parameters |
| allowed_slots | single | first: first allowed slotlast: last allowed slotperiod (optional): the slots are dailyslots (day), weeklyslots (week) or absolute (global - default) |
|
| allowed_rooms | single | rooms: comma separated list of room identifiers |
|
| allowed_teachers | single | teachers: comma separated list of teacher identifiers |
|
| assign_rooms | single | rooms: comma separated list of room identifiers |
|
| assign_slot | single | slot: slot to be assigned |
|
| assign_teachers | single | teachers: comma separated list of teacher identifiers |
|
| compactness | single | separation: the min-max number of slots allowed between two sessions of the same day |
|
| different_daily_slot | single | None | |
| different_day | single | None | |
| different_rooms | single | None | |
| different_slot | single | None | |
| different_teachers | single | None | |
| different_week | single | None | |
| different_weekday | single | None | |
| different_weeklyslot | single | None | |
| forbidden_rooms | single | rooms: comma separated list of room identifiers |
|
| forbidden_slots | single | first: first forbidden slotlast: last forbidden slotperiod (optional): the slots are dailyslots (day), weeklyslots (week) or absolute (global - default) |
|
| forbidden_teachers | single | teachers: comma separated list of teacher identifiers |
|
| gap | multiple | scope: should the gap be computed for all (ALL) the sessions in the sets or only the one finishing first and the one starting last (FL)value: min-maxunit: unit of the value. Can be slot, day or week. |
|
| no_overlap | single | None | |
| pairwise_no_overlap | multiple | None | |
| periodic | single | value: number of units between two successive sessionsunit: unit of the value (can be day or week) |
|
| required_rooms | single | rooms: comma separated list of room identifiers |
|
| required_teachers | single | teacherId: teacher identifiernrSessions : number of min-max sessions that should be assigned to teacherId |
union parameters |
| same_daily_slot | single | None | |
| same_day | single | None | |
| same_rooms | single | None | |
| same_slot | single | None | |
| same_teachers | single | None | |
| same_week | single | None | |
| same_weekday | single | None | |
| same_weeklyslot | single | None | |
| sequenced | multiple | None | |
| workload | single | scope : the workload should be computed for every week or every dayvalue : min-maxunit : should the value be a number of sessions or slots |