Abstract

One of the decision problems in many organizations and institutions is to decide how to schedule different tasks, in particular, in higher education institutions. One of the main problems is the university course timetabling problem (UCTP): this problem consists of the allocation of events (courses, professors, and students) to a number of fixed time slots and rooms, this at the beginning of each academic period of the universities. The existent formulations include particular requirements from different educational levels and institutions, as in our case. In this paper, we focus on the university course timetabling problem with the assignment of professor-course-time slot for an institution in Mexico. Timetabling is constructed for the disciplinary courses that are offered by one of the academic departments. The main characteristics are as follows: (1) there are full-time and part-time professors; (2) a mandatory fixed number of courses has to be assigned to each full-time professor according to their academic profile; (3) there is a maximum number of courses assigned to part-time professors; (4) a professor-course matrix that specifies the valid assignation is defined; and (5) mandatory time periods for courses in different semesters are established and other traditional constraints. We present the integer linear programming model proposed to solve the case studied. The optimal solution was obtained with low computational effort through the classical branch-and-bound algorithm. We describe the complete timetable to show the model effectiveness.

1. Introduction

The timetabling problem has many variations such as educational timetabling, nurse rostering, sports timetabling, employee timetabling, and transport timetabling [1]. Here, we focused on educational timetabling, in specific, the university timetabling problem that has been studied extensively through the years due to its wide range of applications [2]. University timetabling problems can be divided into examination timetabling and course timetabling problem (UCTP). The latter is divided into two subcategories: post-enrollment-based course timetabling [3], which implies the assignment of lecture events to time slots and rooms, and curriculum-based course timetabling [4], which deals with the weekly assignment of a set of lectures for various university courses to specific time slots and rooms.

Recently, the International Timetabling Competition of 2019 [5] focuses on the creation of rich real-world datasets of university course timetabling problem in which the aim is to find an optimal assignment of times, rooms, and students to events related to the set of courses. In the competition, the use of hard and/or soft constraints was allowed and the objective was to minimize the penalties of soft constraints as well as minimize the student conflicts.

Some authors have been working to describe the main characteristics, advances, and applications for UCTP- related problems; for example, Babaei et al. [6] present a review of the different approaches proposed to solve the problem. Vrielink et al. [7] provide up-to-date information about timetabling in higher education institutions (HEIs). The review presented by them shows the differences and similarities in the theory and practice of timetabling research for HEIs. MirHassani and Habibi [8] present a review of the literature and introduce hard constraints (capacity of classroom, precedence requirements, etc.) and soft constraints (special facilities, lunch break, lessons per day, etc.) as well as the most used objective functions (preference of students, non-assigned subjects, empty periods of teachers, etc.). However, as Dimopoulou and Miliotis [9] mention, the main objective is to find a feasible solution that satisfies all requirements.

The wide variety of restrictions and specific needs of the institutions have made authors propose different mathematical formulations to solve the problem at their institutions, for example, MirHassani [2], Sarin et al. [10], Phillips et al. [11], and Oladejo et al. [12]. However, in [10], the authors argue that UCTP involves information and rules about hundreds of courses, professors, and classrooms, making this problem difficult to solve to optimality. Thus, in the literature, we can find how many authors implement algorithms to solve more complex scenarios; some of them are Aladag and Hocaoglu [13], Abuhamdah and Ayob [14], Lu and Hao [15], Al-Betar and Khader [16], Abuhamdah et al. [17], Kiefer et al. [18], Song et al. [1]; some of them implement combined solution methodologies, for example, Dimopoulou and Miliotis [9], Abdullah et al. [19], Chen and Shih [20], Bolaji et al. [21], Awadhallah et al. [22], and Feng et al. [23].

Regarding the development of course timetabling, a common practice in some universities is to replicate the timetables of previous years with some changes to deal with the new necessities [24]. Additionally, in [24], the authors mention that the timetable is considered effective when it is feasible and the students and members that will use it get satisfied at least to a certain degree. For example, many students will prefer a compact schedule over a more dispersed one. However, doing this manually can be overwhelming for institutions.

The assignment of rooms is not addressed here since it is a decision that does not depend on the academic department of the university that we analyze. In Table 1, we present a comparison between different works and the characteristics they addressed, as you can see most of them implemented nonexact methods. We found that the professor assignment is not a common modelled characteristic. In the works that the professor assignment is mentioned, it is with regard to the assignment to time slots or periods of time. For example, some works pay special attention not only to the time availability of the professors [9, 13, 27] but also to preferences regarding certain sessions on a day or certain days per week, such as preferring to teach in the morning, afternoon, or evening, or having a few days off near the weekend [2]. In addition, other details such as change of residence can be contemplated, as in [29] where the house allocation with existing tenants, priorities, and preferences for teacher recruitment is studied and also three algorithms were proposed.

On the contrary, in our work, courses are assigned to professors considering their specialization, that is, what courses they can teach according to their profile, where the teaching load among professors is also leveled, in addition to indicating to the administrator the need to hire new teaching staff.

In this paper, we focus on curriculum-based UCTP. The main goal is to present a novel mathematical model that solves the UCTP for a specific academic department, assigning the course and section to a professor in a time slot. We look for minimizing the number of courses without professor and the number of courses assigned in all time slots to balance the use of resources.

The remainder of this paper includes the following sections: Section 2 contains the description of the problem, the mandatory rules, and the mathematical model. In Section 3, we describe the characteristics and data of the case of study and present the solution. Finally, in Section 4, we present the conclusions and future work.

2. Problem Description

In this problem, each academic department determines the timetable for courses and can be in charge of one or more undergraduate programs. The student curricula consist of eight semesters and fifty courses that are divided into general education courses, basic/initial disciplinary education courses, and disciplinary courses. There are students enrolled in each of the levels (from first to eighth semesters), so it is needed to program all the fifty courses by period; just the disciplinary courses (24 courses) are in charge of the academic department.

The current process implies the flow of information at different levels of the institution. First, the administration department informs the quantity of students demanded by each course. Subsequently, the academic department defines the number of sections for the same course to be offered according to the capacity of the classrooms. A tentative timetable is created by hand, which has to satisfy all mandatory requirements from the administration. Then, manual verification is carried out in which the academic department proceeds to confirm the assignment of each professor, and some changes are made especially for the part-time professors who in most cases have other work activities. Once the timetable is confirmed, it is sent to the administration department, which assigns the classroom. Finally, the academic department proceeds to publish the course timetable in the university system and website in order that students can consult it.

The proposed mathematical model will help in the current process of the department previously described, in which a timetable is designed to assign course-professor-time slot, helping in this complex task and taking the information about the professor’s availability a priori.

The mandatory rules established by the administration are as follows:(i)We need to schedule a determined number of sections of each course.(ii)The course sections in the same semester are assigned in different time slots.(iii)Semester courses from 1st to 4th are assigned in the morning, and semester courses from 5th to 8th are assigned in the afternoon, but there may be some exceptions. The time to program courses according to their semester is presented in Figure 1.(iv)Courses with high demand can be programmed in time slots even outside of what is established in Figure 1.(v)Each course is assigned considering the knowledge area of the professors.(vi)The number of courses to be assigned to full-time professors is well known, and for part-time professors, it is not desirable to assign more than two courses.(vii)Some courses are just offered to students belonging to the academic department (named here as disciplinary courses or DC), but others are also offered to students from other undergraduate programs; these are known as disciplinary service courses (DSC).(viii)Regularly, the administration defines a maximum quantity of DSC to be programmed by a time slot, but if needed, the flexibility to exceed this quantity is granted.(ix)There are courses that must be assigned to a specific time slot, and there are some that cannot be assigned to determined time slots.(x)The number of hours per course in a week is 3 hours. There are two schemes of days and duration for time slots to schedule the courses: scheme A—three sessions of one hour on Monday, Wednesday, and Friday, and scheme B—two sessions of one hour and thirty minutes for Tuesday and Thursday.(xi)Each course is taught during 16 weeks at the same time and day of the week that it was assigned, given as a result, 48-hour courses in the semester.(xii)The first class of the day starts at 7 : 00 a.m. and the last one starts at 7 : 00 p.m.

2.1. Mathematical Model

To give a solution to the problem presented in the above section, we have developed a mathematical model that will help the department to prepare the course timetabling.

Assumptions are as follows:(i)The number of courses to be scheduled is known a priori(ii)The number of time slots as well as their duration is known(iii)The number of maximum courses that a part-time professor can teach is known(iv)Full-time professors have a mandatory number of courses to be assigned(v)The number of full-time and part-time professors is known(vi)The courses that a professor can teach according to their expertise area are known a priori(vii)For disposition of the academic department, we assume that all professors have full-time availability

Let be the set of offered courses by the academic department, where the subset of disciplinary service courses. Let be the set of professors, and then, and are the sets of full-time professors and part-time professors, respectively, where and . The set of time slots (B) includes 22 different options to program a course. These are starting at 7 : 00, 8 : 00, 9 : 00, 10 : 00, 11 : 00, 12 : 00, 13 : 00, 14 : 00, 15 : 00, 16 : 00, 17 : 00, 18 : 00, and 19 : 00 (Monday, Wednesday, and Friday courses) and starting at 7 : 00, 8 : 30, 10 : 00, 11 : 30, 13 : 00, 14 : 30, 16 : 00, 17 : 30, and 19 : 00 (Tuesday and Thursday courses). The set of time slots for courses from the first to fourth semesters (based on Figure 1) is denoted as and the set of time slots for 5th, 6th, 7th, and 8th semesters is denoted as . In addition, we denote as the set of semesters and as the set of sections to be programmed for the course . The parameters denote the set of courses that the professor j can teach according to his area of knowledge. The parameter indicates the maximum quantity of courses to assign to professor , and when is the exact number of courses to be assigned. specifies the semester of the course . And is defined as the maximum number of disciplinary service courses (DSC) to schedule in each time slot.

We include a number of professors to be hired (artificial data) and assigned to a course in case there are not enough actual professors to cover all course sections.

The decision variables include and variables as the maximum and minimum number of courses scheduled in all time slots, respectively. In addition, we define some binary variables as follows:

The objective function (1) minimizes the number of courses without an assigned teacher, where is the set of professors to be hired (, based on artificial data) and balances the courses assigned in each time slot.

Objective function:

The model is subject to some traditional constraints and institution mandatory rules.

In this sense, equation (3) guarantees that all courses and their sections will be scheduled, and this is through the cardinality of the set :

In the following equation, it is stated that all courses that belong to the same semester must be assigned to different time slots:

In the following equation, we ensure that all professors will have assigned their courses in different time slots. It means that there will not be any overlap in the schedule of professors:

Each section of a course is assigned just once:

Constraint (6) guarantees that the quantity of courses assigned to a professor will not exceed the maximum load allowed according to his academic profile. Constraint (7) complements the latter constraint for full-time professors, in order to assign the exact courses.

The courses assigned to the professors will be according to their credentials. Previously, we created a list of courses that a professor can teach according to his expertise area. In equation (8), we constrain if the courses that do not belong to the expertise are of the professor :

The courses that belong to the first to the fourth semesters should be scheduled during the morning shift (9), except for course number one (see Table 2), which has a high demand and needs to be scheduled in both shifts.

The courses that belong to the fifth to eighth semesters should be scheduled during the afternoon shift or at the first hour in the morning (10).

According to the rules of the department, there are some courses that can only be scheduled in specific time slots ; this is what constraint (11) represents.

For example, the disciplinary courses of the first semester should not be scheduled after 7 p.m. This is a specific mandatory rule from the university of the case studied and can be stated with constraint (11).

More than courses of DSC could not be scheduled in the same time slot (12).

Sometimes it is required to have the same free time slot for all full-time professors in order to schedule administrative activities (13).

Full-time professors need to have a free day scheme in the afternoon allowing to teach at the graduate program as expressed in constraints ((14) and (15)). The set of time slots in conflict is for day scheme A and for day scheme B.

Finally, one important section of constraints in this case study is (16); these constraints are responsible to balance the number of courses scheduled in each time slot.

3. Solution

The mathematical model presented in Section 2.1 was applied to generate the optimal timetable for a set of courses of one academic department offered by the university of interest. This case of study has 24 disciplinary courses (69 sections), 16 full-time professors, and 13 part-time professors. In Table 2, we presented the complete information related to the courses; each course has an ID (for example, FA), followed by the needed number of sections to be scheduled. The column DC/DSC indicates if it is a disciplinary course, which means it is a course offered just to students of the study program (DC), or if it is a disciplinary service course, which means that it is a course offered to students of all school, in different study programs (DSC). Finally, in the last column of Table 2, we indicated if the course should be scheduled in the time intervals (N) corresponding to its semester (according to Figure 1) or if it can be programmed in any other time slot (Y). For this case of study, the courses FA, PP1, and PP2 can be scheduled in a different time slot of their corresponding semester.

For each professor (full-time or part-time), we had the information about how many courses they could teach and which courses were allowed to teach according to their credentials and information that indicated if the professor taught in graduate programs. The later information allowed to keep available at least one time slot for the schedule of the graduate course. The information about part-time professors was established according to the list of professors that have participated in the last two semesters, including just the courses they taught.

The integer programming model was implemented with ILOG CPLEX Optimization Studio version 12.8. We obtained the optimal solution in 3.16 seconds. The timetable is presented in Tables 3 and 4.

As we mentioned before, the courses are programmed based on two schemes: sessions of one hour on Monday, Wednesday, and Thursday (day scheme A) and sessions of one hour and at thirty minutes on Tuesday and Thursday (day scheme B). The courses programmed in day scheme A are presented in Table 3 and the courses programmed in day scheme B are presented in Table 4. In Tables 3 and 4, the first column shows the time slots and then the following columns show the courses programmed for each semester in the corresponding time slot. The number of sections follows the course ID. For example, the first time slot (07 : 00–08 : 00) in Table 3 indicates that section 15 of the course FA, section 1 of the course PP1, and section 2 of course AP are programmed in that time.

To sum up, all requirements were satisfied, 16 full-time professors had a complete course assignment according to their profile, and 11 part-time professors have at least one course assigned. The course-professor assignment for both full-time and part-time faculty is presented in Table 5. The schedule assigned to part-time teachers must be approved by the academic director, once it is confirmed by the faculty looking for the minimum number of changes. This schedule is oriented to meet the needs of the institution.

As part of the solution, the model indicates that the courses that do not have a professor assigned are marked with in Tables 3 and 4, and then, the department must hire professors to teach those courses. One way is to find a new part-time teacher and the second option is to ask a full-time teacher or a part-time teacher already hired to teach this course. In that case, it will be considered as a course overload. In the model, information about the professors to be hired was added, allowing that even with missing professors, the model schedules those courses assigning them a day and time.

In addition, the model includes the minimization in the objective function of the difference between the maximum and minimum number of courses in each time slot, and this allowed to maintain a more balanced use of the classrooms and other facilities. An important aspect to mention is that the balance can result in a less compact schedule for the students. However, in our case, this balance just includes the disciplinary courses and the disciplinary courses of service, and the student has to select other basic courses at different times to avoid any conflict. The quantity of basic courses offered by semester in the institution and their intervals of time allows to create a complete viable course schedule for the students.

Definitely, the automatic construction of the timetabling through our proposal has helped the director and assistants of the department in saving time. For example, before our implementation, the construction of the timetable took them one month approximately and some rules were not followed. Now, with this proposal, it took only one week and they know the timetable presented fulfills all the requirements of every professor and the university. Besides, this approach helps to control the amount of students at the university in every time slot, and in this way, we also help to control the flow of cars and spots in the parking lot. Although full-time teachers must have availability throughout the day, anyway the assistants and director of the academic department still have to confirm with each professor the schedule, and if there is a change, they will have to do it manually, swapping schedules of professors. They do it in this way not to affect the whole timetabling.

The implementation of this new way to create the timetabling for the academic department implies one big change; now the department needs a person with knowledge about mathematical modelling to modify the model and adapt it to new requirements, such as changes in the schedule of part-time professors and adding and removing professors and courses from the list. Another option is to give training to the assistants so they can be able to do the changes.

We implemented this proposal in one academic department, but due to the success, other departments are considering to use a similar method. Our goal is to create a timetable for every academic department in the university in an integrated way so we can guarantee that every resource will assign in an optimal way.

In this paper, we are not considering the room assignment because it is a task of the academic vice-rectory. Even each academic department has rooms assigned to it and they can share them with other academic departments according to the number of students enrolled in the courses. If we wanted to include in the model the room assignment, the entry data would have to be different, and we will need the amount of students for each course, then create the sections, and after that assign them to a classroom with the required capacity.

4. Conclusions and Future Work

In this paper, we presented a novel integer linear programming model to create the timetable of disciplinary courses for an academic department in a Mexican university. The construction of the timetable through this mathematical model allowed to save man hours and helped achieve the possibility of satisfying all requirements at least for the study program and the time slots established for it. The model also allowed to provide information about teachers to hire (considering that the current staff does not cover the available courses/sections). Although the classroom’s assignation is not carried out, because that is not the decision of the department of the case study, the model allowed balancing the use of classrooms. The distribution of sections in the timetable makes it easy for students to select other basic courses to avoid any conflict. In spite of being a model with specific requirements to the institution, many restrictions may be considered useful for other cases of study.

We know that, in the case of extending the timetable construction for more than one department or even the whole school, it will imply considering different time slots and many other requirements. As a future work, we are looking at the possibility of extending the timetable for different study programs in an independent way and then study all implications for an integration of all courses in the institution.

Data Availability

The data used to support the findings of this study are partially included within the article. The complete data are available from the corresponding author without giving access to sensitive information of the institution and the personnel involved.

Conflicts of Interest

The authors declare that there are no conflicts of interest regarding the publication of this paper.