Abstract
This paper deals with curriculumbased course timetabling. In particular, we describe the results of a real application at the University of Rome “Tor Vergata.” In this regard, we developed a multiobjective mixedinteger model which attempts to optimize (i) the flow produced by the students enrolled in the lectures, (ii) soft conflicts produced by the possible overlap among compulsory and noncompulsory courses, and (iii) the number of lecture hours per curriculum within the weekdays. The model has been implemented and solved by means of a commercial solver and experiments show that the model is able to provide satisfactory solutions as compared with the real scenario under consideration.
Introduction
The course timetabling problem (CTP) refers to the allocation of courses to a given set of resources being placed in space and in time, so as to satisfy a set of objectives as much as possible [34]. Course timetabling specifically involves assigning courses to classrooms, as well as teachers and time slots. In general, classrooms are always scarce and courses are affected by incompatibility relations based on the curricula they refer to, which complicate the assignment.
Course timetabling has many variants. We can start citing, among the most important ones, the school timetabling problem (STP), also known as class/teacher model. Given a set of classes, a set of teachers, a number of periods, and a nonnegative integer matrix (called requirements matrix) whose generic entry is the number of lectures (lessons) given by a teacher in a class, the problem consists in assigning lectures to periods in such a way that no teacher or class is involved in more than one lecture at a time. A pioneer in this field was de Werra [13] who proposed a basic reduced formulation for this problem which was not real but its minimal set of constraints made it a hard problem. The problem was solved by reduction to edge coloring. Successively, Junginger [21] introduced additional constraints defined by the unavailabilities of teachers and classes. These formulations were given as feasibility problems, even though Junginger [21] proposed also to add an objective based on the desirability of an assignment teacher/course. Colorni et al. [12] proposed objectives based on, e.g., spreading the lessons over the whole week or imposing a dayoff for each teacher. Beyond several heuristic algorithms, there have been also proposals based on constraints programming (see, e.g., [9]).
Similar to STP but with some specific differences is the University Course Timetabling (UCT) problem which is the problem considered in this paper. It consists in scheduling a set of lectures for each course within a given number of rooms and time periods. The main difference from STP is that university courses can have common students, whereas school classes are disjoint sets of students. If two courses have common students then they conflict, and they cannot be scheduled at the same period. In addition, in UCT, availability of rooms (and their size) plays an important role, whereas in the school problem they are often neglected because, in most cases, we can assume that each class has its own room [29]. The basic problem firstly studied by, e.g., [33] was the following: given are a set of courses each one consisting of a set of lectures. There is a set of curricula which are groups of courses that have common students and such that all the courses in a curriculum must be scheduled at different times. There is a number of periods and a maximum number of lectures that can be scheduled in a given period due to room availability. The basic problem is to find a feasible solution for this problem. Objective functions associated with this set of constraints in the literature typically comprise desirability of the assignments, and the minimization of soft and hard constraints associated with the conflicts among courses (see, e.g., [28]).
In all institutions, UCT has to be solved at least once each academic year, and the administrative personnel spend much time and effort in solving this problem. This is why, in the literature, this problem has been largely studied and has attracted the attention of many researchers. Consequently, there have been several methods and algorithmic approaches to this problem. In this paper, we will concentrate our attention on that part of the literature in which exact methods are proposed based on formulating and solving mathematical programming models. Even if for large problems, it could be difficult to find an optimal solution within reduced computing times since the problem is NPHard [11], exact approaches in the literature have been proved to be effective to some extent and have provided optimal solutions to some specific cases. One of the applications of exact methods includes [18] in which it is shown that timetabling problems with data sizes comparable with that of some scenarios have been solved by means of a basic model. Tripathy [32] presented an integer linear program to determine room and time slot allocations for graduate courses by means of a Lagrangian relaxation procedure gathered with subgradient optimization. A twostage binary multiobjective course scheduling model is proposed in [2]. Birbas et al. [6] formulated a binary integer program to determine the weekly timetable for Greek high schools. Dimopoulou and Miliotis [15] and Papoutsis et al. [27] employ a columngeneration approach to solve a timetabling problem for Greek schools. Mushi [26] shows the existence of various models for timetabling problem by using integer programming and experimented their proposal on a case study related to the University of Dar es Salaam. AlYakoob and Sherali [1] adopted a mixedinteger programming approach experimented on the Kuwait University. Hinkin and Thompson [20] proposed Schedule Expert that is a system that uses a 0–1 mathematical model to schedule courses at the Cornell University School of Hotel Administration. Since the UCT structures are not standard as they vary from institution to institution, most of the presented research address specific case studies (see, also, [10, 30]).
In 2007, the Second International Timetabling Competition (ITC2007) firstly posed the attention on the curriculumbased course timetabling (CBCTT) problem. CBCTT consists of finding the best weekly assignment of university course lectures to rooms and time periods. A feasible schedule must satisfy a set of hard constraints and must also take into account a set of soft constraints. From ITC2007, many researchers have developed advanced models and methods to solve CBCTT (see, e.g., [3, 4, 8, 16, 17, 19, 22,23,24, 31]). The survey by [5] is devoted to review the main works on the topic, with focus on mathematical models, lower bounds, and exact and heuristic algorithms. As pointed out by the comments of Lübbecke (2015) referring to the competition induced by the ITC challenges, “the latter certainly stimulated a broad and deep development in timetabling but the theoretical problem definition may be quite far from timetabling reality in the age of complex interdependencies of many interdisciplinary curricula at large universities.” With this paper, we do not aim at competing with ITC2007 and successive papers on the topic but want to give our experience with CBCTT in our university. Therefore, the presented research is focused on a particular case study, and deliberately lacks generality. This, in our opinion, tends to go in the direction of the suggestions contained in [25] where the author says that there should be more emphasis on the “dirty” aspects of CBCTT than only exploring general models which are not completely able to capture real problems. Hence, in this paper, we describe a realworld CBCTT application referred to the Faculty of Engineering at the University of Rome “Tor Vergata,” for which we proposed a mathematical program with many specific constraints and besides them we concentrated our attention on three objectives: (i) minimizing (weighted) flows produced by the students enrolled in the lectures, weighting flows according to traffic congestion conditions, (ii) minimizing soft conflicts generated by the possible overlap among compulsory and noncompulsory courses of the same curriculum, and (iii) smoothing the number of lesson hours per curriculum within the weekdays. This proposal was shared with people working on this problem in the administrative side of our university and a specific graphical interface was built to let all the components dialog correctly and the results be used easily. The proposed mixedinteger program has been implemented and solved by means of a commercial solver. Experimental findings showed that our modeling proposal is effective in producing satisfactory timetables for the considered applications.
The reminder of the paper is organized as follows: in Section 2, we describe the timetabling problem we are dealing with; in Section 3, the mathematical program is presented and discussed. Section 4 presents the description of the case study and Section 5 reports experimental results. Finally, in Section 6, we draw some conclusions and future research directions.
The Timetable Problem Definition
We consider a set of curricula (or degree programs), each one lasting a given number of years, divided in two semesters, and whose courses are taught in a number of lectures (lessons) delivered during given semesters of given years. A course is taught by one or more teachers and belongs to a given year of one or more curricula. The courses of a curriculum are grouped into compulsory and noncompulsory courses: the lectures of two compulsory courses for the same curriculum and of the same year cannot be delivered simultaneously, i.e., during the same time slot (hour) of the same weekday of the same semester (hard timeconstraints), while overlapping between the lessons of a compulsory course and of a noncompulsory course is allowed albeit it is preferable to avoid this situation (soft timeconstraints). Moreover, also the lessons of pairs of courses sharing a teacher cannot be delivered simultaneously.
A set of rooms of distinct capacities is used for delivering courses. Rooms are assumed to be available during each time slot of a day and cannot be assigned to more than one course at a time. Course lessons are delivered on a week basis, that is, during a semester, they are delivered in the same hours and weekdays as well as in the same room. Therefore, it is assumed that the timetable is organized in week days (from Monday to Saturday), where each day is divided into a set of lesson hours (time slots), including a break of one hour (lunch time) between the morning and the afternoon lessons. Saturday can be used for delivering lessons only for a subset of courses.
Each course requires a given number of weekly lesson hours that have to be delivered according to some requirements: the duration (number of consecutive hours) of a course lesson belongs to a given range, and during each day the total number of lesson hours of the same course cannot be greater than a maximum number. Course lessons cannot be delivered during the break hour, unless this is explicitly requested and motivated by a teacher: in this case, if a course lesson is delivered during the break hour then the lesson must last at least two hours and cannot be delivered during both the hours before and after the break. Courses with a very large number of students (as compared with room capacities) are split into what we call “channels”; for instance, if a course has 400 students and room capacities are not larger that 100 seats, then this course may be split into 4 identical courses (the channels of the course) of 100 students each. The lessons of all the channels of a course require to be delivered simultaneously in distinct rooms and each lesson hour of each course channel requires exactly one room whose capacity is not less than the number of the students enrolled in the course channel; moreover, if the lesson lasts more than one hour then the same room should be assigned to the (channel) course lesson for its entire duration.
Three criteria are considered to define the timetable: Student flows, Soft conflicts, and Smoothing. The first criterion is achieved by minimizing the total (weighted) incoming and leaving student flow produced by the students attending lectures. In particular, student flows are weighted according to the estimated timedependent traffic congestion level of the road network nearby the campus. The second criterion is obtained by minimizing the number of soft incompatibilities produced by the possible overlap among the lessons of compulsory and noncompulsory courses. Finally, the third criterion is achieved by balancing the number of lecture hours per curriculum within the weekdays. Next, we provide the mathematical formulation of the problem.
The Mathematical Model
In this section, we provide a mixedinteger programming formulation of our CBCTT problem. Tables 1, 2, 3, and 4 list the notations and definitions of sets, parameters, binary variables, and continuous variables, respectively. In particular, parameters \(b_{cc^{\prime }}\) represent the type of conflict between any couple \((c, c^{\prime })\) of distinct courses. We assume \(b_{cc^{\prime }} = 1\) (hard timeconflict) if there exists a channel h ∈{1,…, ch_{c}} of course c ∈ C and a channel \(h^{\prime } \in \{1, \ldots , {ch}_{c^{\prime }}\}\) of course \(c^{\prime } \in C\) sharing a teacher, i.e., \(Q_{ch} \cap Q_{c^{\prime }{\prime }} \neq \emptyset \). In addition, we also assume \(b_{cc^{\prime }} = 1\) if both c and \(c^{\prime }\) are courses of the same year for a curriculum p and are both compulsory for the latter: that is, there exist a curriculum p ∈ P such that \( {year}_{cp} = {year}_{c^{\prime }p} \neq 0\) and \( {obl}_{cp} = {obl}_{c^{\prime }p} = 1\). We assume \(b_{cc^{\prime }} = 2\) (soft timeconflict) when there is no hard timeconflict between courses c and \(c^{\prime }\) and there exists a curriculum p for which \( {year}_{cp} = {year}_{c^{\prime }p} \neq 0\) and exactly one of the two courses is compulsory for p. In all the other cases, courses c and \(c^{\prime }\) are considered nonconflicting (in time) and it is assumed \(b_{cc^{\prime }} = 0\). Each couple \((c, c^{\prime })\) of courses that are hard timeconflicting (\(b_{cc^{\prime }} = 1\)) cannot be delivered simultaneously; this can occur for two softconflicting courses (i.e., when \(b_{cc^{\prime }} = 2\)) but, as previously said, it could be preferable to avoid it.
The three criteria Student flows, Smoothing, and Soft conflicts are modeled by considering the following three objective functions.
where \(\widehat {C}^{s}_{p\tau } = \{c \in \widetilde {C}^{s} : {year}_{cp} = \tau \}\), with p ∈ P, τ ∈{1,…, ny_{p}}, and s ∈{1,2}, are the sets of courses of curriculum p taught in semester s of year τ.
(1) Objective function of_{1} is the sum of the total weighted students incoming flow and the total weighted students leaving flow, calculated over the sets of curricula, years, semesters, weekdays, and day time slots, where flow weight fw_{dt} represents the level of road traffic congestion nearby the university during time slot t of day d. In particular, incoming and leaving student flows are evaluated on the basis of the number of students enrolled in the first and the last daily lesson hours, respectively, of compulsory courses; it is assumed that students leave the campus during the next time slot (hour) after the end of the last lecture: this is why variable \(z_{p\tau dt}^{Es}\) is weighted by fw_{d,t+ 1}. By minimizing of_{1} we minimize Student flows. Objective function of_{2} (2) is the sum of the maximum number of day lesson hours during the week, calculated over the sets of curricula, years, and semesters: minimizing of_{2} leads to a balanced timetable with respect to the number of daily lesson hours, that is to Smoothing. Finally, by minimizing objective function of_{3} (3), being the total number of soft conflicts, we minimize Soft conflicts.
The mathematical model contains many constraints and for the sake of clearness they are grouped and then presented according to the following groups:
Room assignment constraints: allow to assign rooms to course channels for each time slot (hour) when course lessons are delivered, by linking variables v_{chrdt} with variables \(x_{cdt}^{s}\). Room assignment is done while respecting room capacities and assuring the assignment of the same room to a course channel for the whole course lesson duration.
Slot preset and lunch time hour constraints: allow to avoid delivering courses in forbidden time slots (hours). Moreover, they allow to deliver course lesson during the lunch time (break hour), for the courses for which this is allowed, only if the course lesson lasts at least two hours and avoiding to deliver it both before and after the lunch time hour. In addition, these constraints also allow to avoid delivering lessons on Saturday for the courses for which this is forbidden.
Course weekly and daily hours assignment constraints: allow to assign lesson hours (time slots) to courses both on a daily and weekly basis, taking into account the number of weekly course lesson hours to be delivered and the course lesson requirements on a daily basis: for each course, the total number of daily lesson hours cannot exceed a given maximum value and the duration (number of consecutive hours) of each single lesson must be between given minimum and maximum durations.
Hard and soft timeconflict constraints: avoid to deliver simultaneously the lessons of couples of hard timeconflicting courses, and allow the identification of soft timeconflicts among course lessons, necessary for the calculation of Soft conflicts objective function of_{3} (3).
Starting and ending hours of compulsory course constraints: allow to find for each day when the first compulsory course starts and when the last compulsory course ends (if any), for each semester of each year of each curriculum. This information is necessary for the calculation of Student flows objective function of_{1} (1).
First and last lesson time slots constraints: are useful to calculate the values of variables \(\alpha _{cd}^{Fs}\), \(\alpha _{cd}^{Ls}\), and the values of variables \({\upbeta }_{p\tau d}^{Fs}\), \({\upbeta }_{p\tau d}^{Ls}\). In addition, these constraints allow to calculate the values of variables \(\gamma _{p\tau }^{s}\), representing the maximum number of daily lesson hours of year τ of curriculum p during semester s. The latter variables are used for the calculation of Smoothing objective function of_{2} (2).
Daily lecture delivering constraints: allow to link variables \(y_{cd}^{s}\) with variables \(x_{cdt}^{s}\), and to combine the former also with variables \(w_{p\tau d}^{s}\).
The Room assignment constraints are:
Constraint (4) imposes the assignment of exactly one (distinct) room to each channel of a course only during each weekdaily hour of a semester when the course is taught. Constraint (5) assures that each room can be assigned to at most one course channel during each weekdaily hour of each semester. Constraint (6) assures assigning the same room to a course channel during each hour of a course lesson if its duration is greater than one hour. Constraint (7) avoids assigning (small) rooms to (crowded) course channels if the room capacity is less than the number of students enrolled in that course channel.
The Slot preset and lunch time hour constraints are:
Constraint (8) avoids delivering courses during courses forbidden time slots (hours). For the courses that may be delivered also during the lunch time (pause) hour, constraints (9) and (10) allow one to deliver course lesson during the lunch time hour only if the course lesson is also delivered during the previous or successive hour, but not in both. Constraint (11) does not allow one to deliver course lessons on Saturday for the courses for which this is forbidden.
The course weekly and daily hours assignment constraints are:
Constraint (12) assures that the total lesson hours assigned to each course must be equal to the number of weekly lesson hours required for the course. For each day, constraint (13) imposes that the number of total lesson hours assigned to a course cannot be greater than the maximum daily lesson hours for the course, while constraints (14), (15), and (16) impose upper and lower bounds on the number of hours to each course lesson.
The Hard and soft time–conflict constraints are:
Constraint (17) does not allow one to deliver simultaneously the lessons of couples of courses for which this is forbidden (hard timeconflict): that is, for two compulsory courses of the same curriculum that are delivered during the same year and semester. Constraints (18)–(21) allow one to detect soft timeconflict occurrences between a compulsory course and a noncompulsory course, of the same year for a certain curriculum, that are taught during the same semester.
The Starting and ending hours of compulsory course constraints are:
Constraints (22)–(24) and constraints (25)–(27) allow one to detect, for each semester and for each weekday, the first and last time slots when the lesson of a compulsory course of year τ for curriculum p is delivered, respectively.
The first and last lesson time slots constraints are:
Constraints (28)–(32) allow one to calculate, for each weekday of a semester and for each course taught during the semester, when the first lesson of the course starts and when the last lesson of the same course ends, according to the assignment of time slots to the course; in particular, constraint (32), together with (31), forces the last and first time slots to be null (the relative variables are set to 0) if the course is not taught on that day during the semester. Similarly, constraints (33)–(37) allow one to calculate, for each weekday of a semester and for each year of each curriculum, when the first lesson starts and when the last lesson ends if there is at least one lesson for the given year and semester of the given curriculum. The calculations are respectively done by taking the minimum among the starting hours and the maximum among the ending hours of the course lessons of the specific year of the curriculum delivered on the specific day of the semester; also in this case, constraint (37), together with (36), forces the last and first time slots to be null (the relative variables are set to 0) if no lesson is delivered on that day for the semester of the specific year of the curriculum. Finally, constraint (38) allows the calculation of the maximum number of daily lesson hours over the weekdays, for each given year of each curriculum and during each semester.
The daily lecture delivering constraints are:
Constraints (39)–(42) combine together decision variables \(x_{cdt}^{s}\), \(y_{cd}^{s}\), and \(w_{p\tau d}^{s}\), in order to derive from the former, representing the assignment of lesson hours (time slot) to courses (\(x_{cdt}^{s}\)), the decisions of delivering respectively lessons of distinct courses (\(y_{cd}^{s}\)) and lessons of specific years of distinct curricula (\(w_{p\tau d}^{s}\)), during a certain weekday of a semester.
Therefore, the whole mathematical model of our CBCTT problem is the following multiobjective mixedinteger problem:
Before concluding this section, we note that in the CBCTT literature (see, e.g., [7, 14], and [23]), there are similar constraints; in order to give an immediate idea of which constraints are new and which are the same as in the literature, in Fig. 1, we report a comparison between the (hard and soft) constraints reported in this paper and those from the literature (in particular in the curriculumbased course timetabling problem as treated in the international competition).
The Case Study
We applied our timetable model to timetabling a subset of the courses of a two semesters academic year of our faculty (the Faculty of Engineering at the University of Rome “Tor Vergata,” Rome, Italy). The case study is related to a project of our University in which the goal was to consider both traffic congestion due to student flow and quality of the timetable. The case study considers 5 bachelor degree curricula in Management Engineering, each one organized in three years and two semesters per year, a set of 55 courses, and the availability of a set of 34 rooms of different size (capacity). Table 5 lists rooms availability with related capacities.
Both curricula and courses have different amount of student enrolled. In particular, we consider a curriculum with many students enrolled (large size), two medium size curricula and other two of small size. Table 6 lists the number of students enrolled in each curriculum, for each semester and for each year.
In general, a course is taught for more than one curriculum, and the courses with a large number of students (greater than 200) are subdivided into a set of channels, each one followed by at most 200 students (typically such courses serve also other curricula besides those considered in our case study): two courses are subdivided into six channels, one course into three channels and one into two channels, while all the other courses have only one channel. Recall that all the channels of a course require their lessons to be delivered simultaneously on distinct rooms. Table 7 lists the number of courses with respect to the students enrolled.
Courses also differ in compulsory and noncompulsory, delivering period, and according to lesson hours per week. Table 8 lists the number of courses with respect to the curricula and Table 9 shows the number of courses based on the other characteristics. Typically, the lessons of courses with 8 or 6 lesson hours per week have durations of two or three (consecutive) hours, while lessons of the courses with 4 hours per week last exactly two hours; only two (laboratory) courses of 4 hours per week are in exception with lessons’ duration of four hours (i.e., for these two courses, there is only one lesson of 4 consecutive hours per week). For each course, the maximum number of lesson hours per day is equal to the largest possible duration of its lessons, and this (along with the minimum durations of course lessons) implies that there will be at most one lesson per day for each course.
Finally, congestion flow weights are evaluated for each time slot of a weekday, according to the estimations of different travel times of a typical trip traversing portion of the road network nearby the location of the campus, in relation to different traffic congestion conditions during each hour of a weekday. Congestion flow weights are scaled in a range between 0 and 10 (the higher is the congestion level and the larger is the flow weight). Lessons can be delivered during the first ten time slots of a weekday. The last (number 11) time slot are considered to weight the outflow of students enrolled in the very last lectures of a day, assuming that each day the students leave the campus after the end of last followed lecture. Table 10 reports the considered congestion flow weights for each time slot (hour) of a weekday. In particular, the larger values (greater than 7 over 10) are concentrated in the first two time slot of each day (with the exception of Saturday), where typically we register the traffic congestion peak hour, while we have the smallest values during the two time slots (hours) before lunch time (time slot 6). Another traffic congestion peak period is located after 5:00pm.
We note that the considered case study can be decomposed for the two semesters, but the model can handle the more general case of annual courses.
Experimental Results
In this section, we show the findings of our experimental campaign. Tests were conducted on a PC with processor Inter Core i5 AMD Atlon with 2.4GHz and 2GB VRAM. The mathematical model described in the previous section has been implemented in the AMPL language and solved by means of the CPLEX solver version 12.3.0.1.
We solved the mathematical model both in a singleobjective version using proper weights for the objectives, i.e., 1 for the target objective (e.g., Student Flow) and 0 otherwise, and in a multiobjective version to evaluate the capability of the model to reconstruct the Pareto front.
We set a time limit for the computation equal to 3 h.
 Singleobjective analysis :

In the left part of Fig. 2, we report the values of the three objectives when Student Flow is minimized (for ease of presentation, here and through the values of the objective functions are normalized to 1). The best value obtained for the latter objective within the time limit is 0.15 and is the lowest than the other two objective values which are 0.45 and 0.48 for the Soft Conflicts and Smoothing objectives, respectively. In the right part of Fig. 2, we show the trend of the Student Flow objective over time. We note that the solver is able to improve the solution value from 0.71 to 0.15 in about 2 h while in the remaining hour it was not able to provide further best solutions. The optimality gap at the time limit was 2.4%.
In Fig. 3, we report a chart related to the best values of the three objectives when, in turn, they are minimized.
 Biobjective analysis :

In the following, we report our analysis on biobjective scenarios. Among the three pairs of objectives, in this analysis, we took into account Student Flow in association with one of the remaining two objectives. Under this hypothesis, in Fig. 4, we report the Pareto curves obtained by considering Soft Conflicts vs Student Flow (left chart) and Smoothing vs Student Flow objectives (right chart), respectively. The values of the objectives reported in the charts have been obtained as follows. Each biobjective problem has been solved 100 times by specific instantiations of the convex combination between the two target (normalized) objectives. In particular, we firstly set to 0 and to 1, respectively, the weights of the two objectives and then iteratively increased the former and decreased the latter by an amount of 0.01, respectively. For each test, we stored the values of the two objectives and drawn a chart in which the \(\mathbb {R}^{2}\) vectors so obtained have been represented in the Cartesian plane.
By the charts, one can note that there is a conflicting behavior of the two pairs of objectives. In the left chart, we see that the Student Flow values range from 0.15 to 0.23 while the Soft Conflicts values range from 0.16 to 0.45. The ideal point with coordinates [0.15,0.16] has an Euclidean distance from the curve equal to 0.13. The rationale behind the obtained results is that trying to diminish the effect of the soft timeconflicts—which means trying to obtain a schedule where the set of noncompulsory courses is not in conflict with the set of compulsory courses as much as possible—tends to spread the flow of students in quite a large number of different daily time slots (hours) and with a consequent increase of the (congested weighted) Student Flow values. In fact, spreading the student flows on a larger set of time periods implies the arrival of part of the students at the university during more congested time periods, i.e., with larger flow weights, and similarly for their return home from the university. Conversely, as soon as one reduces the weight of the former objective function, the model tends to produce a timetable that allows the students to arrive and leave the campus during less congested time slots, therefore decreasing the value of Student Flow.
As for the right chart, the Smoothing values range from 0.17 to 0.48. The ideal point with coordinates [0.15,0.17] has an Euclidean distance from the curve equal to 0.18. We can borrow from the previous chart the same analysis: indeed, for increasing weights of Smoothing, the model tends to generate a timetable with more or less the same number of lesson hours during all the weekdays with a consequent increase of the student flow on more congested time slots in place of a schedule which tries to minimize the (congested weighted) Student Flow. The latter situation happens when one reduces the weight associated with Smoothing and, consequently, increases that of Student Flow objective function.
Comparison with the Real Practical Timetable
The proposed model is able to provide satisfactorily solutions as compared with the real scenario under consideration. In fact, its affectiveness can be appreciated calculating the objective values of the solution currently adopted at our University; this can be done by running the model after having properly fixed decision variables v_{chrdt} and \(x^{s}_{cdt}\). The results say that the current timetable, i.e., before the introduction of such a tool, produces a Student Flow value equal to 0.40, a Soft Constraints value equal to 0.48, and a Smoothing value equal to 0.50. These values, compared with the results obtained in the previous section, show the benefits of the introduction of our model.
Conclusions and Further Research
In this paper, we tackled a curriculumbased university course timetabling problem. A realworld application associated with the scenario of the Faculty of Engineering at the University of Rome “Tor Vergata” has stimulated the definition of a mathematical program with many specific constraints and a threeobjective function aiming at (i) minimizing the (weighted) flow produced by the students enrolled in the lectures, (ii) minimizing soft conflicts generated by the possible overlap among compulsory and noncompulsory courses of the same curriculum, and (iii) smoothing the number of lecture hours per curriculum within the weekdays. The proposed mixedinteger program has been implemented and solved by means of a commercial solver and the experimental findings showed that our modeling proposal is effective in producing satisfactorily timetables for the considered application. Future research will be devoted to enlarge the pool of objectives taking into account the desiderata of students and teachers by distributing questionnaires to the latter and producing an AHP analysis from which one can derive proper weights for the objectives and experiment with the associated scalarized objective function. Also, we plan to formalize the analysis on the transportation aspects related to the local flow of students generated by the course timetable considering the impact on the traffic jam in a more comprehensive area comprising also trajectories of vehicles directed to the university and coming from further places.
References
 1.
AlYakoob SM, Sherali HD (2007) A mixedinteger programming approach to a class timetabling problem: a case study with gender policies and traffic considerations. Eur J Oper Res 180(3):1028–1044
 2.
Badri MA (1996) A twostage multiobjective scheduling model for facultycourse time assignments. Eur J Oper Res 94:16–28
 3.
Bellio R, Ceschia S, Di Gaspero L, Schaerf A, Urli T (2013) A simulated annealing approach to the curriculumbased course timetabling problem. In: Proceedings of the 6th multidisciplinary international conference on scheduling: theory and applications, MISTA 2013, Belgium, pp 314–317
 4.
Bellio R, Ceschia S, Di Gaspero L, Schaerf A, Urli T (2014) Featurebased tuning of simulated annealing applied to the curriculumbased course timetabling problem. arXiv:1409.7186
 5.
Bettinelli A, Cacchiani V, Roberti R, Toth P (2015) An overview of curriculumbased course timetabling. TOP 23:313–349
 6.
Birbas T, Daskalaki S, Housos E (1997) Timetabling for Greek high schools. J Oper Res Soc 48:1191–1200
 7.
Bonutti A, De Cesco F, Di Gaspero L, Schaerf A (2012) Benchmarking curriculumbased course timetabling: formulations, data formats, instances, validation, visualization, and results. Ann Oper Res 194(1):59–70
 8.
Cacchiani V, Caprara A, Roberti R, Toth P (2013) A new lower bound for curriculumbased course timetabling. Comput Oper Res 40(10):2466–2477
 9.
Cambazard H, Demazeau F, Jussien N, David P (2005) Interactively solving school timetabling problems using extensions of constraint programming. In: Burke E, Trick M (eds) LNCS, vol 3616, pp 190–207
 10.
Carter MW (2001) A comprehensive course timetabling and student scheduling system at the University of Waterloo. In: Burke E, Erben W (eds) LNCS, vol 2079. Springer, Berlin, pp 64–82
 11.
Costa D (1994) A tabu search algorithm for computing an operational timetable. Eur J Oper Res 76:98–110
 12.
Colorni A, Dorigo M, Maniezzo V (1992) A genetic algorithm to solve the timetable problem, Technical Report 90060 revised, Politecnico di Milano Italy
 13.
de Werra D (1985) An introduction to timetabling. Eur J Oper Res 19:151–162
 14.
Di Gaspero L, McCollum B, Schaerf A (2007) The second international timetabling competition (ITC2007): curriculumbased course timetabling (track 3). Technical report, School of Electronics, Electrical Engineering and Computer Science, Queens University, Belfast (UK), (site: http://www.cs.qub.ac.uk/itc2007/)
 15.
Dimopoulou M, Miliotis P (2001) Implementation of a university course and examination timetabling system. Eur J Oper Res 130:202–213
 16.
Geiger MJ (2009) Multicriteria curriculumbased course timetabling—a comparison of a weighted sum and a reference point based approach. In: Ehrgott M, Fonseca CM, Gandibleux X, Hao JK, Sevaux M (eds) Proceedings of the 5th International Conference on Evolutionary Multicriterion Optimization, EMO 2009, LNCS, vol 5467. Springer, pp 290–304
 17.
Geiger MJ (2012) Applying the threshold accepting metaheuristic to curriculum based course timetabling. Ann Oper Res 194(1):189–202
 18.
Gunawan A, Ng KM, Poh KL (2006) A mathematical programming model for a timetabling problem. In: Proceedings of the International Conference on Scientific Computing, Navade, USA
 19.
Hao JK, Benlic U (2011) Lower bounds for the ITC2007 curriculumbased course timetabling problem. Eur J Oper Res 212(3):464–472
 20.
Hinkin R, Thompson MG (2002) Schedulexpert: scheduling courses in the Cornell University School of Hotel Administration. Interfaces 32(6):45–57
 21.
Junginger W (1986) Timetabling in Germany: a survey. Interfaces 16:66–74
 22.
Kiefer A, Hartl R, Schnell A (2014) Adaptive large neighborhood search for the curriculumbased course timetabling problem. Technical report UNIVIEPLIS2014001 University of Vienna
 23.
Lach G, Lübbecke M (2012) Curriculum based course timetabling: new solutions to Udine benchmark instances. Ann Oper Res 194(1):255–272
 24.
Lü Z, Hao JK, Glover F (2011) Neighborhood analysis: a case study on curriculumbased course timetabling. J Heuristics 17(2):97–118
 25.
Lübbecke M (2015) Comments on: an overview of curriculumbased course timetabling. TOP 23(2):359–361
 26.
Mushi AR (2004) Mathematical programming formulations for the examinations timetable problem, the case of the university of Dar es salaam. African Journal Science and Technology, Science and Engineering Series 5:34–40
 27.
Papoutsis K, Valouxis C, Housos E (2003) A column generation approach for the timetabling problem of Greek high schools. J Oper Res Soc 54:230–238
 28.
Rudová H, Murray K (2003) University course timetabling with soft constraints. In: Burke E, De Causmaecker P (eds) LNCS, vol 2740. Springer, Berlin, pp 310–328
 29.
Schaerf A (1999) A survey of automated timetabling. Artif Intell Rev 13 (2):87–127
 30.
Schimmelpfeng K, Helber S (2007) Application of a realworld universitycourse timetabling model solved by integer programming. OR Spectr 29(4):783–803
 31.
Tarawneh HY, Ayob M, Ahmad Z (2013) A hybrid simulated annealing with solutions memory for curriculumbased course timetabling problem. J Appl Sci 13:262–269
 32.
Tripathy A (1984) School timetabling, a case in large binary integer linear programming. Manag Sci 30:1473–1489
 33.
Tripathy A (1992) Computerised decision aid for timetabling  a case analysis. Discret Appl Math 35(3):313–323
 34.
Wren A (1996) Scheduling, timetabling and rostering, a special relationship?. LNCS 1153:46–75. Springer, Berlin
Funding
This study has been supported by the University of Rome “Tor Vergata” under grant TRAN.S.S.UM.: Transportation Sustainability and Students’ Urban Mobility: A Multicriteria Approach Through Class Timetabling Optimization.
Author information
Affiliations
Corresponding author
Ethics declarations
Conflict of Interest
The authors declare that they have no conflict of interest.
Additional information
Publisher’s Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Caramia, M., Giordani, S. CurriculumBased Course Timetabling with Student Flow, Soft Constraints, and Smoothing Objectives: an Application to a Real Case Study. SN Oper. Res. Forum 1, 11 (2020). https://doi.org/10.1007/s430690200013x
Received:
Accepted:
Published:
Keywords
 Timetabling
 MIP model
 Multiobjective optimization
 Case study