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 identifiers
This parameter can be repeated. One roomChain defines adjacent rooms in order.
allowed_grids single dailySlots: list of starting slots
days: list of allowed days
weeks: list of allowed weeks
union parameters
allowed_slots single first: first allowed slot
last: last allowed slot
period (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 slot
last: last forbidden slot
period (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-max
unit: 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 sessions
unit: unit of the value (can be day or week)
required_rooms single rooms: comma separated list of room identifiers
required_teachers single teacherId: teacher identifier
nrSessions : 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 day
value : min-max
unit : should the value be a number of sessions or slots

Constraint explications

adjacent_rooms

allowed_grids