University Course Timetabling Problem with Professor Assignment

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. )e 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. )e 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. )e 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.


Introduction
e 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). e 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.
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.
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. e 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. e 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. e 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.

Problem Description
In this problem, each academic department determines the timetable for courses and can be in charge of one or more undergraduate programs. e student curricula consist of eight semesters and fifty courses that are divided into general education courses, basic/initial disciplinary education courses, and disciplinary courses.
ere 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. e 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. en, 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. e proposed mathematical model will help in the current process of the department previously described, in which a timetable is designed to assign course-professortime slot, helping in this complex task and taking the information about the professor's availability a priori. e mandatory rules established by the administration are as follows: (i) We need to schedule a determined number of sections of each course. (ii) e 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 Dimopoulou and Miliotis [9] Philips et al. [11] Oladejo et al. [12] Aladag and Hocaoglu [13] Abuhamdah and Ayob [14] Lu and Hao [15] Abdullah et al. [19] Chen and Shih [20] Bolaji et al. [21] Di Gaspero and Shaerf [25] Qu and Burke [26] Veenstra and Vis [27] Lemos et al. [28] Our work Course timetabling Mathematical Problems in Engineering 3 assigned in the afternoon, but there may be some exceptions. e 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) e 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) ere are courses that must be assigned to a specific time slot, and there are some that cannot be assigned to determined time slots. (x) e number of hours per course in a week is 3 hours. ere 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 ursday. (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) e first class of the day starts at 7 : 00 a.m. and the last one starts at 7 : 00 p.m.

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) e number of courses to be scheduled is known a priori (ii) e number of time slots as well as their duration is known (iii) e 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) e number of full-time and part-time professors is known (vi) e 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 C be the set of offered courses by the academic department, where CS ⊂ C the subset of disciplinary service courses. Let P be the set of professors, and then, Q and M are the sets of full-time professors and part-time professors, respectively, where Q ⊂ P and M ⊂ P. e set of time slots (B) includes 22 different options to program a course. ese 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 ursday courses). e set of time slots for courses from the first to fourth semesters (based on Figure 1) is denoted as B am and the set of time slots for 5th, 6th, 7th, and 8th semesters is denoted as B pm . In addition, we denote T as the set of semesters and S i as the set of sections to be programmed for the course i. e parameters D j denote the set of courses that the professor j can teach according to his area of knowledge. e parameter σ j indicates the maximum quantity of courses to assign to professor j, and when j ∈ Q is the exact number of courses to be assigned. τ i specifies the semester of the course i. 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. e decision variables include Max and Min variables as the maximum and minimum number of courses scheduled in all time slots, respectively. In addition, we define some binary variables as follows: x ijkl � 1, if the course i is assigned to professor j in time slot k in section l, 0, otherwise.
A j � 1, if the professor j has at least one course assigned in the afternoon in day scheme A, 0, otherwise.
e 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 S i : 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: j∈P k∈B 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 σ j courses. i∈C k∈B l∈S i x ijkl ≤ σ j ; ∀j ∈ P, i∈C k∈B l∈S i x ijkl ≥ σ j ; ∀j ∈ Q. (7) e 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 x ijkl ≤ 0 if the courses i that do not belong to the expertise are of the professor j: e 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. j∈P k∈B pm (9) e 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 (W ⊂ C) that can only be scheduled in specific time slots (V ⊂ B); this is what constraint (11) represents.
For example, the disciplinary courses of the first semester should not be scheduled after 7 p.m.
is is a specific mandatory rule from the university of the case studied and can be stated with constraint (11).
More than μ courses of DSC (i ∈ CS) could not be scheduled in the same time slot (12).
Sometimes it is required to have the same free time slot (k * ∈ B) 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   14) and (15)). e set of time slots in conflict is B ′ for day scheme A and B ″ 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.

Solution
e 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. is case of study has 24 disciplinary courses (69 sections), 16 fulltime 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. e 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. e later information allowed to keep available at least one time slot for the schedule of the graduate course. e 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. e integer programming model was implemented with ILOG CPLEX Optimization Studio version 12.8. We obtained the optimal solution in 3.16 seconds. e 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 ursday (day scheme A) and sessions of one hour and at thirty minutes on Tuesday and ursday (day scheme B). e courses programmed in day scheme A are presented in Table 3 and the courses programmed in day  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. e 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. e course-professor assignment for both full-time and part-time faculty is presented in Table 5. e 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. is 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. e 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. ey do it in this way not to affect the whole timetabling. e 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,  Time  1  2  3  4  5  6  7  8  07 : 00-08 : 00  FA15  -----PP1-1  AP2  08 : 00-09 : 00  FA17  CE2  CM3  ----- and after that assign them to a classroom with the required capacity.

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. e 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. e 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. e 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.