UTP model

Core data model ▼
Core data model.
$$ \week $$ number of weeks dividing the scheduling horizon
$$\weekday $$ number of weekdays making a week
$$\dailyslot $$ number of daily slots making a 24-hour day
$$\WEEK =\myset{1,\ldots\week} $$ range of weeks
$$\WEEKDAY =\myset{1,\ldots\weekday} $$ range of weekdays
$$\DAILYSLOT =\myset{1,\ldots\dailyslot} $$ range of daily slots
$$\SLOT=\myset{1,\ldots\week\times\weekday\times\dailyslot} $$ range of \timepoints{} (schedule horizon)
$$\ \COURSE%\subseteq\ENTITY$$ courses
$$\PART%\subseteq\ENTITY$$ course parts
$$\CLASS%\subseteq\ENTITY$ $$ part classes
$$\ROOM%\subseteq\ENTITY$$ rooms
$$\TEACHER%\subseteq\ENTITY$$ teachers
$$\STUDENT%\subseteq\ENTITY$ $$ students
$$\GROUP%\subseteq{\ENTITY}$$ groups of students
$$ \COURSES =\myset{\COURSE}\subseteq\ENTITY $$ course domain
$$\TYPE=\myset{\COURSES,\COURSE,\PART,\CLASS,\ROOM,\TEACHER,\STUDENT,\GROUP} $$ types of entities
$${\ENTITY}=\setunion{X}{\TYPE}{X} $$ set of entities
$$\map{X}{Y}{i}\subseteq{Y}, X \in \myset{\COURSES,\COURSE,\PART,\CLASS}$$ set of entities of type Y tied to entity i of type X
$$\map{X}{Y}{i}\subseteq{Y}, X \in \myset{\ROOM,\TEACHER,\STUDENT,\GROUP}$$ set of entities of type Y associated with entity i of type X
$${\LABEL}\subseteq2^{{\ENTITY}} $$ labels
$$\ \SESSIONEX% \subseteq \SESSION $$ exclusive class sessions
$$ \SESSIONINC% \subseteq \SESSION $$ inclusive class sessions
$$\SESSION=\SESSIONEX\disjunion\SESSIONINC $$ class sessions
$$\partallowedslots{s}\subseteq{\SLOT} $$ start times allowed for session s
$$\map{\SESSION}{X}{s}\subseteq{X} $$ set of entities of type X tied to session s
$$\map{X}{\SESSION}{i}\subseteq{\SESSION} $$ set of sessions tied to entity i of type X
$$\dmap{X}{\SESSION}{i}\subseteq{\SESSION} $$ set of sessions required by entity i of type X
$$\ \multiroompartmin{p}\in{\NATURAL} $$ min number of rooms usable by each session of part p
$$\multiroompartmax{p}\in{\NATURAL} $$ max number of rooms usable by each session of part p
$$\partteachermultiplicitymin{p}\in{\NATURAL} $$ min number of lecturers usable by each session of part p
$$\partteachermultiplicitymax{p}\in{\NATURAL} $$ max number of lecturers usable by each session of part p
$$\headcount{g}\in{\NATURAL} $$ headcount of group g
$$\classcapacity{k}\in{\NATURAL} $$ headcount of class k
$$\roomcapacity{r}\in{\NATURAL} $$ capacity of room r
$$\sessionduration{s}\in{\SLOT} $$ duration of session s
$$\sessionrank{s}\in{\NATURAL^*} $$ rank of session s in its class
$$\partteacherservice{t,p}\in{\NATURAL} $$ number of sessions required by teacher t in part p

Content for Section 1 goes here.

Core constraints ▼
$$\forall s \in \SESSION$$ $$\var{\SESSION}{\SLOT}{s} = \var{\SESSION}{\DAILYSLOT}{s} + \dailyslot*(\var{\SESSION}{\WEEKDAY}{s} - 1) + \dailyslot*\weekday*(\var{\SESSION}{\WEEK}{s} - 1) $$
$$\forall s \in \SESSION $$ $$\var{\SESSION}{\SLOT}{s} \in \partallowedslots{s} $$
$$\forall s \in \SESSION$$ $$\var{\SESSION}{\WEEKDAY}{s} + (\var{\SESSION}{\WEEK}{s}-1)* \weekday = (\var{\SESSION}{\SLOT}{s}+\sessionduration{s})\div{\dailyslot} $$
$$\forall c \in \CLASS,\;\forall s_1,s_2\in\map{\CLASS}{\SESSION}{c} $$ $$ \sessionrank{s_1} < \sessionrank{s_2} \land (\var{\SESSION}{\SLOT}{s_1} + \sessionduration{s_1}) \leq \var{\SESSION}{\SLOT}{s_2} $$
$$\forall s \in \SESSION $$ $$\dmap{\SESSION}{\ROOM}{s}\subseteq\var{\SESSION}{\ROOM}{s} \subseteq \umap{\SESSION}{\ROOM}{s} $$
$$\forall s \in \SESSION $$ $$ \dmap{\SESSION}{\TEACHER}{s}\subseteq\var{\SESSION}{\TEACHER}{s} \subseteq \umap{\SESSION}{\TEACHER}{s}$$
$$\forall p \in \PART, \forall s\in\map{\PART}{\SESSION}{p}$$ $$\multiroompartmin{p} \leq \mycard{\var{\SESSION}{\ROOM}{s}} \leq \multiroompartmax{p} $$
$$ \forall p \in \PART,\forall s\in\map{\PART}{\SESSION}{p} $$ $$ \partteachermultiplicitymin{p} \leq \mycard{\var{\SESSION}{\TEACHER}{s}} \leq \partteachermultiplicitymax{p}$$
$$\forall t\in\TEACHER,\;\forall p\in\PART$$ $$\partteacherservice{l,p}=\sum_{s\in\map{\PART}{\SESSION}{p}}{(l\in\var{\SESSION}{\TEACHER}{s})} $$
$$\forall r\in\ROOM, \forall h\in\SLOT $$ $$ \roomcapacity{\ROOM} \geq \sum\limits_{s\in\SESSIONINC}(r\in\var{\SESSION}{\ROOM}{s})*(h = \var{\SESSION}{\SLOT}{s})*(\classcapacity{\map{\SESSION}{\CLASS}{s}})+ \sum\limits_{s\in\SESSIONEX}(r\in\var{\SESSION}{\ROOM}{s})*(h = \var{\SESSION}{\SLOT}{s})*(\roomcapacity{r})$$
$$\forall s\in\SESSION, \forall k \in \map{\SESSION}{\CLASS}{s} %\cap \PARTREQUIREDROOM $$ $$\classcapacity{k} \leq \sum_{r \in \var{\SESSION}{\ROOM}{s}} \roomcapacity{r}$$

Content for Section 2 goes here.

Decision choice ▼

Decision choice

$$\var{\SESSION}{\SLOT}{s}\in{\SLOT} $$ the start time assigned to session s
$$\var{\SESSION}{\ROOM}{s}\subseteq{\ROOM} $$ the set of rooms assigned to session s
$$\var{\SESSION}{\TEACHER}{s}\subseteq{\TEACHER} $$ the set of lecturers assigned to session s
$$\var{\SESSION}{\WEEK}{s}\in{\WEEK} $$ (auxiliary variable) the week of the start time assigned to session s
$$\var{\SESSION}{\WEEKDAY}{s}\in{\WEEKDAY} $$ (auxiliary variable) the weekday of the start time assigned to session s
$$\var{\SESSION}{\DAILYSLOT}{s}\in{\DAILYSLOT} $$ (auxiliary variable) the daily slot of the start time assigned to session s
UTP constraint predicates ▼
Section 3 ▼

Content for Section 3 goes here.