Javascript is required
Abdipoor, S., Yaakob, R., Goh, S. L., & Abdullah, S. (2023). Meta-heuristic approaches for the university course timetabling problem. Intell. Syst. Appl., 19, 200253. [Google Scholar] [Crossref]
Abuhamdah, A. & Ayob, M. (2009). Experimental result of particle collision algorithm for solving course timetabling problems. Int. J. Comput. Sci. Network Secur., 9(9), 134–142. [Google Scholar]
Abuhamdah, A., Ayob, M., Kendall, G., & Sabar, N. R. (2014). Population based Local Search for university course timetabling problems. Appl. Intell., 40, 44–53. [Google Scholar] [Crossref]
Aladağ, Ç. H. & Hocaoğlu, G. (2007). A tabu search algorithm to solve a course timetabling problem. Hacettepe J. Math. Stat., 36(1), 53–64. [Google Scholar]
Al-Betar, M. A. & Khader, A. T. (2012). A harmony search algorithm for university course timetabling. Ann. Oper. Res., 194, 3–31. [Google Scholar] [Crossref]
Arratia-Martinez, N. M., Maya-Padron, C., & Avila-Torres, P. A. (2021). University course timetabling problem with professor assignment. Math. Prob. Eng., 2021(1), 6617177. [Google Scholar] [Crossref]
Bashab, A., Ibrahim, A. O., Tarigo Hashem, I. A., Aggarwal, K., Mukhlif, F., Ghaleb, F. A., & Abdelmaboud, A. (2023). Optimization techniques in university timetabling problem: Constraints, methodologies, benchmarks, and open issues. Comput. Mater. Continua, 74(3), 6461–6484. [Google Scholar] [Crossref]
Bilgin, B., Demeester, P., Misir, M., Vancroonenburg, W., & Vanden Berghe, G. (2012). One hyper-heuristic approach to two timetabling problems in health care. J. Heuristics, 18, 401–434. [Google Scholar] [Crossref]
Burke, E. K. & Petrovic, S. (2002). Recent research directions in automated timetabling. Eur. J. Operational Res., 140(2), 266–280. [Google Scholar] [Crossref]
Ceschia, S., Di Gaspero, L., & Schaerf, A. (2023). Educational timetabling: Problems, benchmarks, and state-of-the-art results. Eur. J. Operational Res., 308(1), 1–18. [Google Scholar] [Crossref]
Ceschia, S., Di Gaspero, L., & Schaerf, A. (2014). The generalized balanced academic curriculum problem with heterogeneous classes. Ann. Oper. Res., 218, 147–163. [Google Scholar] [Crossref]
Chen, R. M. & Shih, H. F. (2013). Solving university course timetabling problems using constriction particle swarm optimization with local search. Algorithms, 6(2), 227–244. [Google Scholar] [Crossref]
Colajanni, G. & Daniele, P. (2021). A new model for curriculum-based university course timetabling. Optim. Lett., 15(5), 1601–1616. [Google Scholar] [Crossref]
Daş, G. S., Gzara, F., & Stützle, T. (2020). A review on airport gate assignment problems: Single versus multi objective approaches. Omega, 92, 102146. [Google Scholar] [Crossref]
Daskalaki, S., Birbas, T., & Housos, E. (2004). An integer programming formulation for a case study in university timetabling. Eur. J. Operational Res., 153(1), 117–135. [Google Scholar] [Crossref]
Di Gaspero, L. & Schaerf, A. (2006). Neighborhood portfolio approach for local search applied to timetabling problems. J. Math. Modell. Algorithms, 5, 65–89. [Google Scholar] [Crossref]
Dimopoulou, M. & Miliotis, P. (2001). Implementation of a university course and examination timetabling system. Eur. J. Operational Res., 130(1), 202–213. [Google Scholar] [Crossref]
Domenech, B. & Lusa, A. (2016). A MILP model for the teacher assignment problem considering teachers’ preferences. Eur. J. Operational Res., 249(3), 1153–1160. [Google Scholar] [Crossref]
Faudzi, S., Abdul-Rahman, S., & Abd Rahman, R. (2018). An assignment problem and its application in education domain: A review and potential path. Adv. Oper. Res., 2018(1), 8958393. [Google Scholar] [Crossref]
Herres, B. & Schmitz, H. (2021). Decomposition of university course timetabling. Ann. Oper. Res., 302(2), 405–423. [Google Scholar] [Crossref]
Lee, S. M. & Schniederjans, M. J. (1983). A multicriteria assignment problem: A goal programming approach. Interfaces, 13(4), 75–81. [Google Scholar] [Crossref]
Lemos, A., Melo, F. S., Monteiro, P. T., & Lynce, I. (2019). Room usage optimization in timetabling: A case study at Universidade de Lisboa. Oper. Res. Perspect., 6, 100092. [Google Scholar] [Crossref]
Lü, Z. & Hao, J. K. (2010). Adaptive tabu search for course timetabling. Eur. J. Operational Res., 200(1), 235–244. [Google Scholar] [Crossref]
Mallari, C. B., San Juan, J. L., & Li, R. (2023). The university coursework timetabling problem: An optimization approach to synchronizing course calendars. Comput. Ind. Eng., 184, 109561. [Google Scholar] [Crossref]
MirHassani, S. A. (2006). A computational approach to enhancing course timetabling with integer programming. Appl. Math. Comput., 175(1), 814–822. [Google Scholar] [Crossref]
Mokhtari, M., Vaziri Sarashk, M., Asadpour, M., Saeidi, N., & Boyer, O. (2021). Developing a model for the university course timetabling problem: A case study. Complexity, 2021(1), 9940866. [Google Scholar] [Crossref]
Müller, T., Rudová, H., & Müllerová, Z. (2024). Real-world university course timetabling at the International Timetabling Competition 2019. J. Scheduling, 1–21. [Google Scholar] [Crossref]
Murray, K., Müller, T., & Rudová, H. (2007). Modeling and solution of a complex university course timetabling problem. In Practice and Theory of Automated Timetabling VI: 6th International Conference, PATAT 2006 (pp. 189–209). Berlin: Springer. [Google Scholar] [Crossref]
Nossack, J. (2022). Therapy scheduling and therapy planning at hospitals. Omega, 109, 102594. [Google Scholar] [Crossref]
Oladejo, N. K., Abolarinwa, A., Salawu, S. O., Bamiro, O. M., Lukman, A. F., & Bukari, H. I. (2019). Application of optimization principles in classroom allocation using linear programming. Int. J. Mech. Eng. Technol., 10(1), 874–885. [Google Scholar]
Phillips, A. E., Walker, C. G., Ehrgott, M., & Ryan, D. M. (2017). Integer programming for minimal perturbation problems in university course timetabling. Ann. Oper. Res., 252, 283–304. [Google Scholar] [Crossref]
Phillips, A. E., Waterer, H., Ehrgott, M., & Ryan, D. M. (2015). Integer programming methods for large-scale practical classroom assignment problems. Comput. Oper. Res., 53, 42–53. [Google Scholar] [Crossref]
Song, T., Liu, S., Tang, X., Peng, X., & Chen, M. (2018). An iterated local search algorithm for the university course timetabling problem. Appl. Soft Comput., 68, 597–608. [Google Scholar] [Crossref]
Soria-Alcaraz, J. A., Özcan, E., Swan, J., Kendall, G., & Carpio, M. (2016). Iterated local search using an add and delete hyper-heuristic for university course timetabling. Appl. Soft Comput., 40, 581–593. [Google Scholar] [Crossref]
Tan, J. S., Goh, S. L., Kendall, G., & Sabar, N. R. (2021). A survey of the state-of-the-art of optimisation methodologies in school timetabling problems. Expert Syst. Appl., 165, 113943. [Google Scholar] [Crossref]
Valouxis, C. & Housos, E. (2002). Combined bus and driver scheduling. Comput. Oper. Res., 29(3), 243–259. [Google Scholar] [Crossref]
Yinusa, A. & Faezipour, M. (2023). Optimizing healthcare delivery: A model for staffing, patient assignment, and resource allocation. Appl. Syst. Innov., 6(5), 78. [Google Scholar] [Crossref]
Search
Open Access
Research article

Optimizing Academic Timetables Using Integer Linear Programming: A Case Study

irit talmor*
Sir Harry Solomon School of Management, Western Galilee College, POB 2125 Akko, Israel
Education Science and Management
|
Volume 2, Issue 3, 2024
|
Pages 176-187
Received: 06-19-2024,
Revised: 09-18-2024,
Accepted: 09-23-2024,
Available online: 09-29-2024
View Full Article|Download PDF

Abstract:

An Integer Linear Programming (ILP) model was proposed to optimize academic timetables, with a focus on the School of Management at Western Galilee Academic College. The model was designed to address the dual challenges of course scheduling and faculty availability while incorporating a minor structural adjustment to enhance computational efficiency and accelerate convergence, particularly for large-scale problems. By employing this model, optimal scheduling solutions were generated within minutes, even in scenarios involving over 200 classes and 100 lecturers. The approach effectively minimizes planning time, identifies unavoidable scheduling conflicts, and highlights unschedulable classes due to constraint violations. Furthermore, the model provides actionable insights into staffing requirements, ensuring a comprehensive resource allocation strategy. Results from the application of the model during the 2023 winter semester demonstrated its capability to efficiently schedule 236 classes across multiple programs and instructional modalities. The method achieved adherence to predefined constraints, optimized the utilization of institutional resources, and enhanced overall scheduling efficiency. This case study underscores the potential of the proposed ILP framework to streamline academic timetabling processes, particularly in environments with diverse programmatic needs and complex resource interdependencies. The findings indicate that the model can be readily adapted to other academic institutions seeking to improve the effectiveness and precision of their scheduling systems.
Keywords: University timetable, Lecturers’ availability, Assignment problems, Course scheduling, Optimality

1. Introduction

The concept of assignment has broadened significantly from its initial definition of distributing tasks among workers or machines in various organizations. It now encompasses a wide range of strategic decisions, from determining the locations of branches and service centers to allocating specialized equipment across different sites and addressing recruitment needs. Making optimal assignment decisions involves maximizing the benefits and/or minimizing the costs associated with these activities.

One common application of the assignment problem is the timetabling challenge, which is vital in guaranteeing the regular functioning of sectors such as education (L​e​e​ ​&​ ​S​c​h​n​i​e​d​e​r​j​a​n​s​,​ ​1​9​8​3; T​a​n​ ​e​t​ ​a​l​.​,​ ​2​0​2​1), healthcare (B​i​l​g​i​n​ ​e​t​ ​a​l​.​,​ ​2​0​1​2; N​o​s​s​a​c​k​,​ ​2​0​2​2; Y​i​n​u​s​a​ ​&​ ​F​a​e​z​i​p​o​u​r​,​ ​2​0​2​3), transportation (D​a​ş​ ​e​t​ ​a​l​.​,​ ​2​0​2​0; V​a​l​o​u​x​i​s​ ​&​ ​H​o​u​s​o​s​,​ ​2​0​0​2), and many other fields. In this context, the problem of setting academic timetables received particular attention over the years. The three main factors applicable to this sub-group of problems are course timetabling, classroom usage and faculty.

Course timetabling is a classic problem and one of the most popular and closely studied in the research literature. It refers to setting the weekly timetable of courses, taking into account complex considerations such as avoiding overlap and fluctuations in student enrolment (A​b​u​h​a​m​d​a​h​ ​e​t​ ​a​l​.​,​ ​2​0​1​4; A​l​a​d​a​ğ​ ​&​ ​H​o​c​a​o​ğ​l​u​,​ ​2​0​0​7; A​l​-​B​e​t​a​r​ ​&​ ​K​h​a​d​e​r​,​ ​2​0​1​2; B​u​r​k​e​ ​&​ ​P​e​t​r​o​v​i​c​,​ ​2​0​0​2; C​h​e​n​ ​&​ ​S​h​i​h​,​ ​2​0​1​3; D​i​ ​G​a​s​p​e​r​o​ ​&​ ​S​c​h​a​e​r​f​,​ ​2​0​0​6; F​a​u​d​z​i​ ​e​t​ ​a​l​.​,​ ​2​0​1​8; L​ü​ ​&​ ​H​a​o​,​ ​2​0​1​0; S​o​n​g​ ​e​t​ ​a​l​.​,​ ​2​0​1​8; S​o​r​i​a​-​A​l​c​a​r​a​z​ ​e​t​ ​a​l​.​,​ ​2​0​1​6). Some studies also combined soft constraints in their methodology, such as minimizing transition time between classes (A​b​u​h​a​m​d​a​h​ ​&​ ​A​y​o​b​,​ ​2​0​0​9) or maximizing student preferences (A​b​u​h​a​m​d​a​h​ ​&​ ​A​y​o​b​,​ ​2​0​0​9; C​o​l​a​j​a​n​n​i​ ​&​ ​D​a​n​i​e​l​e​,​ ​2​0​2​1).

Classroom assignment refers to the problem of allocating classrooms to courses that have already been scheduled, while considering classroom capacity, the movement of students between classes, and so on (B​u​r​k​e​ ​&​ ​P​e​t​r​o​v​i​c​,​ ​2​0​0​2; D​i​m​o​p​o​u​l​o​u​ ​&​ ​M​i​l​i​o​t​i​s​,​ ​2​0​0​1; F​a​u​d​z​i​ ​e​t​ ​a​l​.​,​ ​2​0​1​8; L​e​m​o​s​ ​e​t​ ​a​l​.​,​ ​2​0​1​9; O​l​a​d​e​j​o​ ​e​t​ ​a​l​.​,​ ​2​0​1​9; P​h​i​l​l​i​p​s​ ​e​t​ ​a​l​.​,​ ​2​0​1​7). A branch of this sub-group is the challenge of assigning classrooms for final exams, which should fulfill unique requirements, such as intervals between exams and strict limitations on the number of students per class (D​i​m​o​p​o​u​l​o​u​ ​&​ ​M​i​l​i​o​t​i​s​,​ ​2​0​0​1).

The third component of the academic timetabling sub-group is faculty. That is, assigning lecturers and teaching assistants to courses based on their qualifications, preferences and availability, while taking into account the employment status of different faculty members (D​o​m​e​n​e​c​h​ ​&​ ​L​u​s​a​,​ ​2​0​1​6).

Some previous studies integrated scheduling both course timetables and classroom usage (D​a​s​k​a​l​a​k​i​ ​e​t​ ​a​l​.​,​ ​2​0​0​4; M​u​r​r​a​y​ ​e​t​ ​a​l​.​,​ ​2​0​0​7) or both course timetables and faculty assignments (A​r​r​a​t​i​a​-​M​a​r​t​i​n​e​z​ ​e​t​ ​a​l​.​,​ ​2​0​2​1; M​i​r​H​a​s​s​a​n​i​,​ ​2​0​0​6). However, these models are less common.

There are various approaches for solving university course timetabling problems (UCTP). The most common is the accurate solution approach, which involves mixed-integer and binary-linear programming (A​r​r​a​t​i​a​-​M​a​r​t​i​n​e​z​ ​e​t​ ​a​l​.​,​ ​2​0​2​1; C​o​l​a​j​a​n​n​i​ ​&​ ​D​a​n​i​e​l​e​,​ ​2​0​2​1; D​a​s​k​a​l​a​k​i​ ​e​t​ ​a​l​.​,​ ​2​0​0​4; D​i​m​o​p​o​u​l​o​u​ ​&​ ​M​i​l​i​o​t​i​s​,​ ​2​0​0​1; D​o​m​e​n​e​c​h​ ​&​ ​L​u​s​a​,​ ​2​0​1​6; M​i​r​H​a​s​s​a​n​i​,​ ​2​0​0​6; M​o​k​h​t​a​r​i​ ​e​t​ ​a​l​.​,​ ​2​0​2​1; O​l​a​d​e​j​o​ ​e​t​ ​a​l​.​,​ ​2​0​1​9; P​h​i​l​l​i​p​s​ ​e​t​ ​a​l​.​,​ ​2​0​1​5). For problems that are too large to converge to an optimal solution within a reasonable time, approximate methods and efficient heuristics are suggested, such as local search (A​b​u​h​a​m​d​a​h​ ​e​t​ ​a​l​.​,​ ​2​0​1​4; C​e​s​c​h​i​a​ ​e​t​ ​a​l​.​,​ ​2​0​1​4; C​h​e​n​ ​&​ ​S​h​i​h​,​ ​2​0​1​3; S​o​n​g​ ​e​t​ ​a​l​.​,​ ​2​0​1​8; S​o​r​i​a​-​A​l​c​a​r​a​z​ ​e​t​ ​a​l​.​,​ ​2​0​1​6), tabu search (A​l​a​d​a​ğ​ ​&​ ​H​o​c​a​o​ğ​l​u​,​ ​2​0​0​7; L​ü​ ​&​ ​H​a​o​,​ ​2​0​1​0), practical collision algorithm (A​b​u​h​a​m​d​a​h​ ​&​ ​A​y​o​b​,​ ​2​0​0​9), harmony search algorithm (A​l​-​B​e​t​a​r​ ​&​ ​K​h​a​d​e​r​,​ ​2​0​1​2), and greedy algorithm (L​e​m​o​s​ ​e​t​ ​a​l​.​,​ ​2​0​1​9). Comprehensive surveys of UCTP and their solution methods can be found in the studies by B​u​r​k​e​ ​&​ ​P​e​t​r​o​v​i​c​ ​(​2​0​0​2​), F​a​u​d​z​i​ ​e​t​ ​a​l​.​ ​(​2​0​1​8​), and H​e​r​r​e​s​ ​&​ ​S​c​h​m​i​t​z​ ​(​2​0​2​1​) and in recent studies by A​b​d​i​p​o​o​r​ ​e​t​ ​a​l​.​ ​(​2​0​2​3​), B​a​s​h​a​b​ ​e​t​ ​a​l​.​ ​(​2​0​2​3​), C​e​s​c​h​i​a​ ​e​t​ ​a​l​.​ ​(​2​0​2​3​), M​a​l​l​a​r​i​ ​e​t​ ​a​l​.​ ​(​2​0​2​3​), and M​ü​l​l​e​r​ ​e​t​ ​a​l​.​ ​(​2​0​2​4​).

Most studies addressing the course timetabling problem, regardless of employing precise or approximate methods, typically do not aim to develop a universal solution. Instead, each study presents a customized model crafted to address the specific needs of a particular department at one institution. Examples of such studies include the following: M​u​r​r​a​y​ ​e​t​ ​a​l​.​ ​(​2​0​0​7​) developed a timetabling solution for Purdue University; L​e​m​o​s​ ​e​t​ ​a​l​.​ ​(​2​0​1​9​) focused on the Instituto Superior Técnico (IST) at the University of Lisbon; M​o​k​h​t​a​r​i​ ​e​t​ ​a​l​.​ ​(​2​0​2​1​) created a schedule for postgraduate courses at the Industrial Engineering Department of Islamic Azad University, Najafabad Branch; and C​o​l​a​j​a​n​n​i​ ​&​ ​D​a​n​i​e​l​e​ ​(​2​0​2​1​) custom-tailored a timetable for first-year mathematics students at the University of Catania, Italy.

A highly relevant study by A​r​r​a​t​i​a​-​M​a​r​t​i​n​e​z​ ​e​t​ ​a​l​.​ ​(​2​0​2​1​) integrates several features discussed above. It utilizes a binary linear programming approach to construct a lecturer-course-time slot timetable for a specific department at a Mexican academic institution. Beyond the standard constraints, the model incorporates various characteristics such as the lecturers’ positions, the number of courses assigned to each one based on their academic profile, and the list of courses each lecturer is qualified to teach. The researchers applied their model to a case study involving 29 lecturers, 24 courses and 69 time slots.

Building on this approach, the current study introduces an enhanced ILP model for developing an academic timetable for the School of Management at Western Galilee Academic College. While addressing a similar problem of course scheduling and staff availability, the proposed model integrates a distinctive feature that significantly accelerates the convergence to a solution. As a result, even complex scenarios involving more than 200 classes and over 100 lecturers were resolved in less than two minutes, offering a substantial improvement in efficiency.

The next sections of this study are structured as follows: the subsequent two sections outline the specific characteristics of the problem. This is followed by a detailed mathematical formulation. The final sections are devoted to the implementation of the model and discussion of its results and directions for future research.

2. Problem Description

The School of Management at the Western Galilee Academic College offers four academic programs: Economics and Accounting, Economics and Management, Management, and Management and Logistics. Besides Economics and Accounting, which is designed for completion within four years, all other programs are designed for completion within three years. The programs are available in various modalities, including morning, evening, or both. In total, the school manages 25 distinct combinations of program, year of study and modality (hereafter – curriculum).

In order to accommodate working individuals, the school has a policy of dedicating two to three study days per week to each program combination. Although these designated days may vary annually, once established, they apply to all courses included in any specific combination. This means that every session of each course within the combination is scheduled exclusively during a time slot (specific weekday and timeframe) that aligns with the combination’s study days and modality. Table 1 presents the programs, their modalities, and their study days. Note that there are no classes on Thursday.

Courses at the school are offered per semester. Each course is typically assigned one weekly time slot. However, courses comprising both a lecture and a tutorial receive two time slots per week, one for each component. For high-enrolment courses, the school sets up multiple tutorials. The total number of courses offered each semester varies between 120 and 160. Some of them include tutorials, resulting in approximately 200 to 250 classes that need to be scheduled.

Table 1. Modality and study days of each program

Program

Modality

Year of Study

Studying Days

Symbol

Economics and Accounting

Morning

First

Sun, Tue, Fri

EA_M_1

Second

Sun, Tue, Fri

EA_M_2

Third

Sun, Mon, Tue

EA_M_3

Evening

First

Sun, Tue, Fri,

EA_E_1

Second

Mon, Wed, Fri

EA_E_2

Third

Sun, Tue, Fri

EA_E_3

Third

Mon, Wed, Fri

EA_E_4

Economics and Management

Morning

First

Sun, Mon, Tue

EM_M_1

Second

Sun, Mon, Tue

EM_M_2

Third

Sun, Mon, Wed

EM_M_3

Evening

First

Sun, Tue, Fri

EM_E_1

Second

Mon, Wed, Fri

EM_E_2

Third

Sun, Tue, Fri

EM_E_3

Management

Morning

First

Sun, Mon, Tue

M_M_1

Second

Sun, Mon, Wed

M_M_2

Third

Sun, Mon, Wed

M_M_3

Evening

First

Sun, Tue, Fri

M_E_1

Second

Mon, Wed, Fri

M_E_2

Third

Sun, Tue, Fri

M_E_3

Both morning &evening

First

Sun, Fri

M_1

Second

Sun, Fri

M_2

Third

Mon, Fri

M_3

Management and Logistics

Evening

First

Sun, Tue, Fri

ML_E_1

Second

Mon, Wed, Fri

ML_E_2

Third

Sun, Tue, Fri

ML_E_3

The teaching staff at the school comprises two groups: faculty and non-faculty. The latter group includes teaching assistants and non-faculty lecturers. Generally, members of both groups are eligible to teach courses based on their expertise, and the specific assignments they get are based on their availability. The key difference between them is that faculty members must be assigned to teach courses, whereas non-faculty members are only assigned teaching duties if needed. The total number of lecturers typically ranges from 70 to 100 (comprising members of both groups).

Several months before the start of the academic year, administrators at the School of Management undertake the complex task of constructing timetables for each curriculum. Their primary objective is to schedule all required courses while adhering to predefined conditions. Currently, this process is done manually using paper and pencil, which is time-consuming, often taking weeks to complete. Moreover, the predefined constraints are often inadvertently overlooked or disregarded. A significant challenge for administrators is distinguishing between unavoidable lapses and those caused by poor planning, as they lack the means to evaluate their solutions.

The model and its application, as presented in this study, assist administrators in three critical ways: first, it significantly reduces planning time to just a few minutes; second, it easily identifies inevitable scheduling conflicts and highlights any classes that cannot be scheduled due to predefined constraints; third, it provides clear insights into staffing requirements for lecturers. The detailed specified list of constraints is presented in Section 3 below.

3. Problem Specifications

The problem includes four main specifications, as follows:

a) Set of curriculums. Each curriculum represents a unique instance of “program + year of study + modality”.

b) Set of academic courses. Each course is exclusively associated with one curriculum, and the number of classes for each course is known. The following points should be emphasized:

• Courses with lectures only: Courses consisting solely of lectures are conducted according to the number of available classes, which is determined by the number of enrolled students.

• Courses with lectures and tutorials: Some courses include both lectures and tutorials. In these cases, multiple tutorial sessions may be offered, contingent upon the number of enrolled students.

• Parallel scheduling of courses: Courses within the same curriculum can be scheduled in parallel only if they are offered in multiple classes.

c) Time slots: This is a collection of pairs (day of the week, timeframe) in which courses can be scheduled. Classes take place from Sunday to Friday (inclusive, with Thursdays off). To simplify the problem, the timeframes are uniformly defined as follows:

• Sunday-Wednesday:

Morning modality sessions: 8:00-10:30, 10:30-13:00, 13:00-15:30

Evening modality sessions: 18:00-20:30, 20:30-23:00

Timeframe available for both morning and evening modality sessions: 15:30-18:00

• Friday sessions: 08:00-10:30, 10:30-13:00, 13:00-15:30

For example, consider a curriculum with a morning modality on Sundays and Fridays. This curriculum would include seven time slots: 8:00-10:30 on Sunday, 10:30-13:00 on Sunday, 13:00-15:30 on Sunday, 15:30-18:00 on Sunday, 08:00-10:30 on Friday, 10:30-13:00 on Friday, and 13:00-15:30 on Friday. All classes of courses included in this curriculum must be scheduled within these time slots, with each class assigned to a single time slot. It's important to note that while a course is associated with only one curriculum, a time slot may be shared by multiple curriculums.

d) Set of lecturers: This set comprises each lecturer and a list of courses that they are eligible to teach. It also details their availability on specific weekdays and their employment status expressed as a percentage, indicating whether they hold a part-time or full-time position.

4. Mathematical Formulation

4.1 Decision Variables

In the context of this study, decision variables were categorized into two distinct types:

a) Binary variables xijt: Each binary variable represents the allocation of a specific class in a course to a designated time slot, taught by a particular lecturer.

b) Continuous assisting variables yjt: Each variable represents the allocation of a specific course to a designated time slot. That is, the value of yjt is greater than 0 only if at least one class of course j is scheduled at time slot t. The connection between yjt and xijt is formulated in Eqs. (4) and (5), linking scheduling of course-lecturer-time slots with overall course scheduling.

$x_{i j t}=\left\{\begin{array}{lc}1 & \text { if lecturer i teaches a class of course } j \text { at time } e_{s l o t} t \\ 0 & \text { o.w. }\end{array}\right.$

4.2 Objective Function

The primary objective of schedule planners is to maximize the total number of allocated classes. This objective is formulated in Eq. (1), as follows:

$\operatorname{Max} \sum_{i \in \text { All_teachers }} \sum_{j \in \text { All_courses }} \sum_{\mathrm{t} \in \text { All_t_slots }} x_{i j t}$
(1)
4.3 Constraints

The constraints within the model are divided into two primary categories: course constraints and lecturer constraints.

4.3.1 Course constraints

a) A course included in curriculum $\Psi$ can only be assigned to a time slot allocated to its curriculum.

$y_{i t}=0 \quad \forall j \in \operatorname{courses}(\Psi), t \notin T(\Psi), \forall \Psi$
(2)

b) The total number of classes for course j must not surpass the required number of classes for that course.

$\sum_{t \in T(\Psi)} y_{j t} \leq N_j \forall j \in \operatorname{courses}(\Psi), \forall \Psi$
(3)

c) Two interconnected constraints regulate the assignment of course classes within specific time slots and the course's overall scheduling: Eq. (4) ensures that $y_{i t}>0$ if at least one class of course j is scheduled in time slot t, indicating that the course has been scheduled. Eq. (5) asserts that $y_{i t}=0$ if no classes of course j are scheduled in time slot t.

$y_{j t} \geq \sum_{\forall i \in \text { All_teachers }} x_{i j t} / N_j \quad \forall j \in \operatorname{courses}(\Psi), t \in T(\Psi), \forall \Psi$
(4)
$y_{j t} \leq \sum_{\forall i \in \text { All_teachers }} x_{i j t} \forall j \in \operatorname{courses}(\Psi), t \in T(\Psi), \forall \Psi$
(5)

d) The subsequent constraints, together with Eqs. (4) and (5), were designed to prevent scheduling conflicts for courses within the same curriculum, as follows: If all classes of a course are allocated to a single time slot, no other course within the same curriculum may be assigned to this time slot; on the other hand, for courses comprising multiple classes that are offered at several time slots, overlapping assignments are permitted. Those three sets of constraints guarantee that students enrolled in this curriculum have the ability to register for all their required courses without any conflict.

$\sum_{j \in { courses }(\Psi)} y_{j t} \leq 1\forall t \in T(\Psi), \forall \Psi$
(6)
4.3.2 Lecturer constraints

a) Lecturers can only be assigned to courses that they are qualified to teach:

$x_{i j t}=0 \forall i \in {All_{teachers}}, j \notin C(\mathrm{i}), \forall\Psi$
(7)

b) A lecturer can teach no more than one class in each time slot:

$\sum_{j \in { All_{courses}}} x_{i j t} \leq 1 \forall i \in{ All }_{ {teachers }},\forall t \in \text{All_t_slots}$
(8)

c) A lecturer must be assigned teaching hours that align with their defined employment status:

$\sum_{j \in { All }_{\text {courses }}} h_j \sum_{t{\in{ All_t}_{ {slots }}}\,\,x_{i j t} \geq {Min}_{{position }_i} \forall i \in { All }_{ {teachers }}}$
(9)
$\sum_{j \in { All }_{\text {courses }}} h_j \sum_{t{\in{ All_t}_{ {slots }}}\,\,x_{i j t} \leq {Max}_{{position }_i} \forall i \in { All }_{ {teachers }}}$
(10)
4.4 Model Coding

The model was coded with Python version 3.7.2 and run on a standard personal laptop (processor: Intel i7-7500U CPU @ 2.70GHz, x64, 16.0GB RAM), using the CBC engine solver. The performance described hereafter refers to this hardware.

5. Implementation

5.1 Input Data

The school of management had to assign 236 classes for 201 courses in the 2023 winter semester, as follows: 146 courses had one lecture per week; 24 courses had one lecture plus one tutorial per week; 35 courses included one lecture plus two tutorials per week (students can choose which of the two tutorials to attend). It should be noted, however, that similar courses taught in different programs are treated as separate courses. The results presented hereafter focus on this semester because scheduling demands in other semesters were simpler (Table 2).

The lecturer pool included 25 faculty members and 75 non-faculty lecturers and teaching assistants. Each faculty member is obligated to teach a certain number of hours in line with their contract. The positions of non-faculty teachers were set according to their teaching assignments, up to the maximal load permitted to them. Detailed anonymized data is presented in Table A1 and Table A2 of the appendix.

Table 2. Course map

Semesters

Lectures

Lectures with One Tutorial

Lectures with Two Tutorials

Total Number of Courses

Total Number of Classes

Winter

146

24

35

201

236

Spring

123

44

13

180

193

Summer

29

10

0

39

39

5.2 Results

Given the complexity of the problem, the model was applied iteratively to the input data, progressively imposing restrictive conditions. The process was conducted in the following stages:

Initial run: The first run aimed to verify the existence of a solution and ensure all classes could be scheduled. For this, two basic restrictions were loosened: the lower-limit positions were set to 0, and the availability of all lecturers was extended to all weekdays. Under these assumptions, the model included 306,939 variables and 407,886 constraints. A solution was obtained after a runtime of 1.84 minutes, successfully scheduling all 236 classes. This solution utilized 84 lecturers, 20 of whom were assigned to only one class.

Second run: Based on the initial run’s output, the input data was updated: 16 non-faculty lecturers who were not assigned any classes were removed from the list; the lower-limit positions for faculty members were set to a minimal positive value – 1 point. The model converged to an optimal solution: all 236 classes were scheduled utilizing 80 lecturers, with 15 of them assigned to only one class. The run duration was 1.48 minutes.

Third run: Based on the second run’s output, more restrictions were imposed on the input data: the total number of lecturers was reduced to 80 (25 faculty, 55 non-faculty); the availability of faculty members was updated to three days a week, and their minimal teaching commitment was updated to 3 points. This run converged to an optimal solution within 1.49 minutes. All 236 classes were scheduled, and 76 lecturers were assigned, with nine of them teaching only one class.

Final run: The model was run again, with the same input as the previous run, except for four unassigned lecturers who were removed from the list. Thus, 234,003 variables and 311,421 constraints were included in the problem. The run converged into a solution within 1.45 minutes with all 76 lecturers on the list assigned to classes. This outcome satisfied the goals and therefore the process was ended at this point.

Table 3 summarizes the solution process. It can be noted that the working day distribution was changed between the third and final run. This result indicates that several suitable timetables were available. In this case, the timetable of the final run was chosen to reduce the number of workdays a week for non-faculty lecturers.

Table 3. Solution convergence process

Run Stage

Initial

Second

Third

Final

Input data (1)

Available lecturers

100

84

80

76

F(2) + NF(3)

25+75

25+59

25+55

25+51

Lower limit teaching points for faculty

0

1

3

3

Number of variables

306,939

258,315

246,159

234,003

Number of constraints

407,886

343,266

327,513

311,421

Run duration (min.)

1.84

1.48

1.49

1.45

Solution found?

Yes. All 236 classes were scheduled.

General output

Lecturers assigned

84

80

76

76

Teaching days p/w

F

NF

F

NF

F

NF

F

NF

1

19

5

2

4

4

10

6

14

2

25

8

12

28

13

25

10

23

3

10

8

9

15

8

11

9

9

4

5

4

2

8

0

4

0

5

5

0

1

(1) Basic input data is common to all runs of the course map, as shown in Table 2. The upper limit of teaching points for faculty is based on employment status (up to 12). The lower and upper limits of teaching points for non-faculty are 0 and 12, respectively.

(2) F indicates faculty.

(3) NF indicates non-faculty.

Table 4 shows the distribution of courses during the week depending on the program for the chosen timetable, which is based on the output of the final run. Notably, the iterative process resulted in quick convergence to a solution that adhered to all constraints and saved resources. In addition, because almost all programs included Sunday as a school day, the number of classes on Sunday is the highest of 81. On the other hand, Wednesday was the least active day of the week.

Table 4. Class distribution during the week for each program in the final run

Program

Symbol

Sun

Mon

Tue

Wed

Fri

Economics and Accounting

EA_M_1

6

6

4

EA_M_2

4

4

3

EA_M_3

3

3

4

EA_M_4

3

1

1

EA_E_1

3

3

3

EA_E_2

2

3

3

EA_E_3

3

3

3

Economics and Management

EM_M_1

6

5

4

EM_M_2

7

4

4

EM_M_3

2

1

3

EM_E_1

5

4

4

EM_E_2

5

2

3

EM_E_3

1

2

3

Management

M_M_1

5

4

5

M_M_2

3

4

2

M_M_3

3

2

2

M_E_1

6

3

3

M_E_2

3

3

2

M_E_3

3

2

2

M_1

9

4

M_2

7

3

M_3

5

3

Management and Logistics

ML_E_1

2

3

1

ML_E_2

2

3

3

ML_E_3

3

3

1

Total

81

43

48

16

48

When examining the class distribution across time slots, Figure 1 shows that the load is almost evenly spread throughout the day. The exception is the 15:30-18:00 slot, where the number of scheduled courses is roughly double compared to other timeframes. This is the most popular time slot as it was offered in both morning and evening programs.

Figure 1. Class distribution along timeslots

An alternative approach to applying the model involves defining the availability of lecturers in advance and identifying gaps in course assignments. To illustrate this option, the input data from the previous (final) run was updated by specifying that each faculty member is available only on Sundays and Wednesdays (hereafter referred to as “limited availability”). Table 5 shows the comparison of the results. The number of courses assigned to faculty members decreased by 16, while the number of courses assigned to non-faculty lecturers decreased by only 9, leaving 7 unscheduled courses. The pattern of course distribution on weekdays and teaching load was unchanged. These results suggest that, given the basic input provided, it is feasible to create a complete timetable that accommodates both program requirements and lecturer preferences.

Table 5. A comparison of the number of classes assigned to each group of lecturers

Lecturer Group

Final

Limited Availability

Faculty

84

68

Non-faculty

152

161

Not assigned

0

7

6. Conclusions and Future Work

The ILP model developed for optimizing academic timetables at the School of Management, Western Galilee Academic College, demonstrates significant improvements in planning efficiency, constraint adherence, and resource allocation compared to the manual planning approach. By incorporating a minor adjustment, the model dramatically accelerated the convergence process, enabling the scheduling of over 200 classes and more than 100 lecturers within minutes. The model reduced planning time, identified inevitable violations of predefined constraints, and provided valuable insights into staffing requirements.

The iterative process used to apply the model ensured that all constraints were met and resources were optimally utilized. The results from the 2023 winter semester show that the model successfully scheduled 236 classes across various programs and modalities, significantly improving the timetable creation process and overall efficiency. In contrast, the proposed model streamlined this process, requiring around ten hours for input preparation, approximately eight minutes for algorithm execution, and a total of two hours for processing results between consecutive runs—an initial improvement of over 85% in planning duration. Future applications of the model are expected to be even more efficient, as the input file can be reused with only minor adjustments, requiring no more than one additional hour. Over time, the entire end-to-end process is projected to take no more than five hours—a dramatic reduction from the original 100 hours, representing a 95% decrease in time investment.

Furthermore, the model’s outcome enables a reduction in the number of non-faculty staff required for scheduling, promoting more efficient workforce utilization and substantial resource savings. These improvements underscore the model's potential for transforming the scheduling process into a highly efficient and sustainable practice.

Future work should focus on enhancing the model's flexibility and scalability. This includes handling larger datasets and, most importantly, applying it to all three semesters in parallel (winter, spring, summer) to facilitate the creation of a yearly timetable and teaching assignments in a single run. Additionally, limiting the number of hours a lecturer teaches per day is an important consideration for ensuring workload balance and maintaining teaching quality. Although this aspect falls outside the scope of the current problem formulation, it represents a valuable direction for extending the model to incorporate faculty scheduling constraints in future research.

By addressing these areas, the ILP model can evolve into a more robust and versatile tool, capable of meeting the dynamic needs of academic institutions and further enhancing the efficiency of the timetabling process.

Data Availability

The data used to support the research findings are available from the corresponding author upon request.

Conflicts of Interest

The authors declare no conflict of interest.

References
Abdipoor, S., Yaakob, R., Goh, S. L., & Abdullah, S. (2023). Meta-heuristic approaches for the university course timetabling problem. Intell. Syst. Appl., 19, 200253. [Google Scholar] [Crossref]
Abuhamdah, A. & Ayob, M. (2009). Experimental result of particle collision algorithm for solving course timetabling problems. Int. J. Comput. Sci. Network Secur., 9(9), 134–142. [Google Scholar]
Abuhamdah, A., Ayob, M., Kendall, G., & Sabar, N. R. (2014). Population based Local Search for university course timetabling problems. Appl. Intell., 40, 44–53. [Google Scholar] [Crossref]
Aladağ, Ç. H. & Hocaoğlu, G. (2007). A tabu search algorithm to solve a course timetabling problem. Hacettepe J. Math. Stat., 36(1), 53–64. [Google Scholar]
Al-Betar, M. A. & Khader, A. T. (2012). A harmony search algorithm for university course timetabling. Ann. Oper. Res., 194, 3–31. [Google Scholar] [Crossref]
Arratia-Martinez, N. M., Maya-Padron, C., & Avila-Torres, P. A. (2021). University course timetabling problem with professor assignment. Math. Prob. Eng., 2021(1), 6617177. [Google Scholar] [Crossref]
Bashab, A., Ibrahim, A. O., Tarigo Hashem, I. A., Aggarwal, K., Mukhlif, F., Ghaleb, F. A., & Abdelmaboud, A. (2023). Optimization techniques in university timetabling problem: Constraints, methodologies, benchmarks, and open issues. Comput. Mater. Continua, 74(3), 6461–6484. [Google Scholar] [Crossref]
Bilgin, B., Demeester, P., Misir, M., Vancroonenburg, W., & Vanden Berghe, G. (2012). One hyper-heuristic approach to two timetabling problems in health care. J. Heuristics, 18, 401–434. [Google Scholar] [Crossref]
Burke, E. K. & Petrovic, S. (2002). Recent research directions in automated timetabling. Eur. J. Operational Res., 140(2), 266–280. [Google Scholar] [Crossref]
Ceschia, S., Di Gaspero, L., & Schaerf, A. (2023). Educational timetabling: Problems, benchmarks, and state-of-the-art results. Eur. J. Operational Res., 308(1), 1–18. [Google Scholar] [Crossref]
Ceschia, S., Di Gaspero, L., & Schaerf, A. (2014). The generalized balanced academic curriculum problem with heterogeneous classes. Ann. Oper. Res., 218, 147–163. [Google Scholar] [Crossref]
Chen, R. M. & Shih, H. F. (2013). Solving university course timetabling problems using constriction particle swarm optimization with local search. Algorithms, 6(2), 227–244. [Google Scholar] [Crossref]
Colajanni, G. & Daniele, P. (2021). A new model for curriculum-based university course timetabling. Optim. Lett., 15(5), 1601–1616. [Google Scholar] [Crossref]
Daş, G. S., Gzara, F., & Stützle, T. (2020). A review on airport gate assignment problems: Single versus multi objective approaches. Omega, 92, 102146. [Google Scholar] [Crossref]
Daskalaki, S., Birbas, T., & Housos, E. (2004). An integer programming formulation for a case study in university timetabling. Eur. J. Operational Res., 153(1), 117–135. [Google Scholar] [Crossref]
Di Gaspero, L. & Schaerf, A. (2006). Neighborhood portfolio approach for local search applied to timetabling problems. J. Math. Modell. Algorithms, 5, 65–89. [Google Scholar] [Crossref]
Dimopoulou, M. & Miliotis, P. (2001). Implementation of a university course and examination timetabling system. Eur. J. Operational Res., 130(1), 202–213. [Google Scholar] [Crossref]
Domenech, B. & Lusa, A. (2016). A MILP model for the teacher assignment problem considering teachers’ preferences. Eur. J. Operational Res., 249(3), 1153–1160. [Google Scholar] [Crossref]
Faudzi, S., Abdul-Rahman, S., & Abd Rahman, R. (2018). An assignment problem and its application in education domain: A review and potential path. Adv. Oper. Res., 2018(1), 8958393. [Google Scholar] [Crossref]
Herres, B. & Schmitz, H. (2021). Decomposition of university course timetabling. Ann. Oper. Res., 302(2), 405–423. [Google Scholar] [Crossref]
Lee, S. M. & Schniederjans, M. J. (1983). A multicriteria assignment problem: A goal programming approach. Interfaces, 13(4), 75–81. [Google Scholar] [Crossref]
Lemos, A., Melo, F. S., Monteiro, P. T., & Lynce, I. (2019). Room usage optimization in timetabling: A case study at Universidade de Lisboa. Oper. Res. Perspect., 6, 100092. [Google Scholar] [Crossref]
Lü, Z. & Hao, J. K. (2010). Adaptive tabu search for course timetabling. Eur. J. Operational Res., 200(1), 235–244. [Google Scholar] [Crossref]
Mallari, C. B., San Juan, J. L., & Li, R. (2023). The university coursework timetabling problem: An optimization approach to synchronizing course calendars. Comput. Ind. Eng., 184, 109561. [Google Scholar] [Crossref]
MirHassani, S. A. (2006). A computational approach to enhancing course timetabling with integer programming. Appl. Math. Comput., 175(1), 814–822. [Google Scholar] [Crossref]
Mokhtari, M., Vaziri Sarashk, M., Asadpour, M., Saeidi, N., & Boyer, O. (2021). Developing a model for the university course timetabling problem: A case study. Complexity, 2021(1), 9940866. [Google Scholar] [Crossref]
Müller, T., Rudová, H., & Müllerová, Z. (2024). Real-world university course timetabling at the International Timetabling Competition 2019. J. Scheduling, 1–21. [Google Scholar] [Crossref]
Murray, K., Müller, T., & Rudová, H. (2007). Modeling and solution of a complex university course timetabling problem. In Practice and Theory of Automated Timetabling VI: 6th International Conference, PATAT 2006 (pp. 189–209). Berlin: Springer. [Google Scholar] [Crossref]
Nossack, J. (2022). Therapy scheduling and therapy planning at hospitals. Omega, 109, 102594. [Google Scholar] [Crossref]
Oladejo, N. K., Abolarinwa, A., Salawu, S. O., Bamiro, O. M., Lukman, A. F., & Bukari, H. I. (2019). Application of optimization principles in classroom allocation using linear programming. Int. J. Mech. Eng. Technol., 10(1), 874–885. [Google Scholar]
Phillips, A. E., Walker, C. G., Ehrgott, M., & Ryan, D. M. (2017). Integer programming for minimal perturbation problems in university course timetabling. Ann. Oper. Res., 252, 283–304. [Google Scholar] [Crossref]
Phillips, A. E., Waterer, H., Ehrgott, M., & Ryan, D. M. (2015). Integer programming methods for large-scale practical classroom assignment problems. Comput. Oper. Res., 53, 42–53. [Google Scholar] [Crossref]
Song, T., Liu, S., Tang, X., Peng, X., & Chen, M. (2018). An iterated local search algorithm for the university course timetabling problem. Appl. Soft Comput., 68, 597–608. [Google Scholar] [Crossref]
Soria-Alcaraz, J. A., Özcan, E., Swan, J., Kendall, G., & Carpio, M. (2016). Iterated local search using an add and delete hyper-heuristic for university course timetabling. Appl. Soft Comput., 40, 581–593. [Google Scholar] [Crossref]
Tan, J. S., Goh, S. L., Kendall, G., & Sabar, N. R. (2021). A survey of the state-of-the-art of optimisation methodologies in school timetabling problems. Expert Syst. Appl., 165, 113943. [Google Scholar] [Crossref]
Valouxis, C. & Housos, E. (2002). Combined bus and driver scheduling. Comput. Oper. Res., 29(3), 243–259. [Google Scholar] [Crossref]
Yinusa, A. & Faezipour, M. (2023). Optimizing healthcare delivery: A model for staffing, patient assignment, and resource allocation. Appl. Syst. Innov., 6(5), 78. [Google Scholar] [Crossref]
Nomenclature

$\Psi$

The set of all curriculums.

All_courses

The set of all courses.

All_t_slots

The set of all time slots, i.e., all pairs of weekdays and timeframes.

All_teachers

The set of all teaching staff in the school.

${courses}(\Psi)$

The set of all courses included in curriculum Ψ.

$T(\Psi)$

The set of all time slots in which courses included in curriculum Ψ can be taught.

$C(i)$

The set of courses that lecturer is authorized to teach.

$N_j$

The number of sessions to be offered for course j.

$h_j$

Teaching load of course j.

Min_position $_i$

Minimal teaching load (in hours) of lecturer i.

Max position $_i$

Maximal teaching load (in hours) of teacher i.

Appendix

Table A1. Courses – 2023 winter semester (“Tut” stands for “tutorial”)

Program

Course Symbol

EA_M_1

EA_M-A1, EA_M-A1-tut(1), EA_M-A2, EA_M-A2-tut(1), EA_M-A3, EA_M-A3-tut(1), EA_M-A4, EA_M-A5, EA_M-A5-tut(1), EA_M-A6, EA_M-A6-tut(1)

EA_M_2

EA_M-B1, EA_M-B1-tut, EA_M-B2, EA_M-B2-tut, EA_M-B3, EA_M-B4-tut, EA_M-B4, EA_M-B5, EA_M-B5-tut, EA_M-B6, EA_M-B6-tut

EA_M_3

EA_M-C1, EA_M-C2, EA_M-C2-tut, EA_M-C3, EA_M-C4, EA_M-C5, EA_M-C6, EA_M-C6-tut, EA_M-C7, EA_M-C7-tut

EA_E-1

EA_E-A1, EA_E-A1-tut, EA_E-A2, EA_E-A2-tut, EA_E-A3, EA_E-A3-tut, EA_E-A4, EA_E-A5, EA_E-A6-tut

EA_E-2

EA_E-B1, EA_E-B1-tut , EA_E-B2, EA_E-B2-tut, EA_E-B3, EA_E-B3-tut, EA_E-B4, EA_E-B4-tut

EA_E-3

EA_E-C1, EA_E-C2, EA_E-C2-tut, EA_E-C3, EA_E-C4, EA_E-C4-tut, EA_E-C5, EA_E-C6, EA_E-C7

EA_E-4

EA_E-D1, EA_E-D1-tut, EA_E-D2, EA_E-D3, EA_E-D3-tut

EM_M-1

EM_M-A1, EM_M-A1-tut(1), EM_M-A2, EM_M-A3, EM_M-A4, EM_M-A4-tut (1), EM_M-A5, EM_M-A6, EM_M-A6-tut (1), EM_M-A7, EM_M-A7-tut(1)

EM_M-2

EM_M-B1, EM_M-B2, EM_M-B2-tut(1), EM_M-B3, EM_M-B3-tut(1), EM_M-B4, EM_M-B4-tut(1), EM_M-B5, EM_M-B6, EM_M-B6-tut(1), EM_M-B7

EM_M-3

EM_M-C1, EM_M-C2, EM_M-C3

EM_E-1

EM_E-A1, EM_E-A1-tut(1), EM_E-A2, EM_E-A3, EM_E-A3-tut(1), EM_E-A4, EM_E-A4-tut(1), EM_E-A5, EM_E-A5-tut(1)

EM_E-2

EM_E-B1, EM_E-B1-tut(1), EM_E-B2, EM_E-B2-tut(1), EM_E-B3, EM_E-B3-tut(1), EM_E-B4

EM_E-3

EM_E-C1, EM_E-C2, EM_E-C3

ML_E-1

ML_E-A1, ML_E-A2, ML_E-A3, ML_E-A3-tut, ML_E-A4, ML_E-A4-tut

ML_E-2

ML_E-B1, ML_E-B2, ML_E-B3, ML_E-B3-tut, ML_E-B4, ML_E-B4-tut, ML_E-B5, ML_E-B6

ML_E-3

ML_E-C1, ML_E-C2, ML_E-C3, ML_E-C4, ML_E-C5, ML_E-C6, ML_E-C7,

M_M-1

M_M-A1, M_M-A2, M_M-A2-tut(1), M_M-A3, M_M-A3-tut(1), M_M-A4, M_M-A4-tut(1), M_M-A5, M_M-A5-tut(1), M_M-A6

M_M-2

M_M-B1, M_M-B1-tut(1), M_M-B2, M_M-B3, M_M-B4, M_M-B5, M_M-B6, M_M-B7

M_M-3

M_M-C1, M_M-C2, M_M-C3, M_M-C4, M_M-C5, M_M-C6, M_M-C7

M-1

M-A1, M-A1-tut(1), M-A2, M-A3, M-A3-tut(1), M-A4, M-A4-tut(1), M-A5, M-A5-tut(1)

M-2

M-B1, M-B1-tut(1), M-B2, M-B3, M-B4, M-B5, M-B6, M-B7, M-B8

M-3

M-C1, M-C2, M-C3, M-C4, M-C5, M-C6, M-C7, M-C8

M_E-1

M_E-A1, M_E-A1-tut(1), M_E-A2, M_E-A2-tut(1), M_E-A3, M_E-A3-tut(1), M_E-A4, M_E-A4-tut(1)

M_E-2

M_E-B1, M_E-B1-tut(1), M_E-B2, M_E-B3, M_E-B4, M_E-B5, M_E-B6

M_E-3

M_E-C1, M_E-C2, M_E-C3, M_E-C4, M_E-C5, M_E-C6, M_E-C7

(1) 2 classes required for this tutorial.

Table A2. Lecturers’ eligible courses (FT – Faculty, T – Non-faculty)

Lecturer

Eligible Courses

FT1

M_E-A3, M_M-A4, M-A4, M_M-A5, M-A5, M-A5, EM_E-A2, EM_M-A3, EM_E-A4, EA_E-A5, EM_M-A6

FT2

EA_E-D2, EM_E-C3, M_M-C6, M-C7, M_E-C5

FT3

EA_M-C2, EA_E-D1, EA_M-A3, EA_E-A3, EM_E-A3, EM_M-A4

FT4

EA_E-D2, EM_E-C3, EM_M-C3, EA_M-A3, EA_E-A3, EM_E-A3, EM_M-A4

FT5

ML_E-C3, M_M-B4, M-B5, EM_M-B5, M_E-B2, M-B2, M_M-B2

FT6

M_E-C6, M_M-B5, M-B6, M_E-B5

FT7

EM_M-A7, EM_E-A5, EA_E-B1, ML_E-B4, M_M-A5, M-A5, M_E-A4

FT8

M-A2, EM_M-B7, EM_E-B4, M_M-B7, M-B8, M_E-B6

FT9

EA_E-C7, EA_E-D2, EA_E-C5, EM_M-C2, EM_E-C2, M_M-B3, M-B3

FT10

EA_M-C4, EA_E-C6

FT11

ML_E-B3, EM_M--B4, ML_E-A2, ML_E-C2, ML_E-B5

FT12

EA_E-A4, M_M-B3, M-B3, EA_E-C5, EM_M-C2, EM_E-C2

FT13

M_M-B1, M-B1, M_E-B1, EA_M-B4, EA_E-B2

FT14

EA_M-A1-tut, EA_M-B1, EA_M-C6, EA_E-C4

FT15

ML_E-B1, ML_E-C6

FT16

M-A2, M_M-C4, M-C5

FT17

EA_M-B3, EA_E-C1, EA_E-D3-tut, EA_E-C4, EA_M-B2, EA_E-D3

FT18

M-B3, EA_E-C5, EM_M-C2, EM_E-C2, EA_E-D2, EA_E-C7

FT19

EM_E-A2, EM_M-A3, EM_E-A4, EA_M-A5, EA_E-A5, EM_M-A6, ML_E-A4, M_E-A3, M_M-A4, M-A4

FT20

EA_E-B4-tut, EM_M-B6-tut, EM_E-B3-tut,

FT21

ML_E-C4, ML_E-A3, M_M-A3, M-A3, M_E-A2

FT22

M-C3, M_E-C3, ML_E-C3, M_M-B4, M-B5, M-C5

FT23

M_M-A3, M-A3, M_E-A2, EM_M-B3, EM_E-B2, EA_M-B5

FT24

ML_E-C6

FT25

M-C2, M_E-C2, ML_E-C1, EM_M-C1, EM_E-C1

T1

EA_E-A1-tut, EM_E-A1-tut, M_M-A2-tut, M-A1-tut, EM_M-A1-tut

T2

M-B1, M_E-B1, M_M-B1-tut, M-B1-tut, M_E-B1-tut

T3

M-A2

T4

M_E-A2, M-A3, M_M-A3-tut, M-A3-tut, M_E-A2-tut, EM_E-B2-tut

T5

M_M-B7, M-B8, M_E-B6, EM_M-B7, EM_E-B4

T6

M-A3-tut, M_E-A2-tut, M_M-A3-tut, EA_M-A6-tut, M_M-A5-tut, M-A5-tut, M_E-A4-tut, ML_E-B4-tut, ML_E-B3-tut, EM_M-B4-tut

T7

M-C4, M_E-C7

T8

M_M-A4-tut, M-A4-tut, M_E-A3-tut, EM_E-A4-tut, EA_E-A6-tut, EA_M-A5-tut

T9

EM_M-A7-tut, EM_E-A5-tut, EA_E-B1-tut, ML_E-B3-tut,
EM_M-B4-tut

T10

M_M-B4, M-B5

T11

EM_M-A5

T12

M-C5, M_M-C6, M-C7, M_E-C5

T13

M-A4-tut, M_E-A3-tut, EM_E-A4-tut, EA_E-A6-tut, EA_M-A5-tut, ML_E-A4-tut, EM_M-A6-tut

T14

EA_M-C5

T15

M_M-C1, M-C1, M_E-C1

T16

M-B6, M_E-B5, M_M-C6, M-C7, M_E-C5

T17

M_M-B1, M-B1, M_E-B1, EA_M-B4, EA_E-B2

T18

M_M-C7, M-C8, M_E-C6, M_E-C7, M_M-B6, M-B7

T19

M-B2, M_E-B2, ML_E-A1

T20

EA_E-D1-tut, EA_M-B3, EA_E-C1

T21

EA_E-A1, EM_E-A1, M_M-A2, M-A1, EM_M-A1

T22

EA_E-A2, EM_E-B1, M_E-A1, EM_M-B2

T23

M-B3, EA_E-C5, EM_M-C2, EM_E-C2

T24

M-B4, M_E-B3, EM_M-A2

T25

EA_E-C3, EA_M-C7

T26

EA_E-C2, EA_E-C2-tut

T27

EA_E-B4, EM_M-B6, EM_E-B3

T28

EA_M-C6-tut, EA_E-C4-tut

T29

EA_M-A5-tut

T30

EA_E-B2-tut, M_M-B1-tut, M-B1-tut, M_E-B1-tut

T31

EA_E-B2-tut, M_M-B1-tut, M-B1-tut, M_E-B1-tut

T32

EA_E-A1-tut, EM_E-A1-tut, M_M-A2-tut, M-A1-tut, EM_M-A1-tut

T33

EA_E-A2-tut, EM_E-B1-tut, M_E-A1-tut, EM_M-B2-tut

T34

EA_E-A2-tut, EM_E-B1-tut, M_E-A1-tut, EM_M-B2-tut

T35

EA_M-A3-tut, EA_E-A3-tut, EM_E-A3-tut, EM_M-A4-tut

T36

EA_M-A3-tut, EA_E-A3-tut, EM_E-A3-tut, EM_M-A4-tut

T37

EA_E-B3-tut, EM_M-B3-tut, EM_E-B2-tut, EA_M-B5-tut

T38

EA_E-B3-tut, EM_M-B3-tut, EM_E-B2-tut, EA_M-B5-tut

T39

M-A5-tut, M_E-A4-tut

T40

M-A5-tut, M_E-A4-tut

T41

EM_M-A7-tut, EM_E-A5-tut, EA_E-B1-tut

T42

EA_M-A1-tut, EA_E-D3-tut, EA_M-C1, EA_E-D3

T43

EM_M-A7-tut, EM_E-A5-tut, EA_E-B1-tut

T44

EM_M-B5, EA_M-B3, EA_E-C1

T45

M_M-C7, M-C8, M_M-B5, M-B6, M_E-B5

T46

EA_E-C7, EA_E-D2

T47

EA_M-C3, EA_M-C4, EA_M-C5

T48

M_E-B4, M_M-C6, M-C7, M_E-C5

T49

M_M-A3-tut, M-A3-tut, M_E-A2-tut

T50

M_M-C5, M-C6, M_E-C4, M-B6

T51

M_M-C5, M-C6, M_E-C4

T52

M_M-B5, M-B6, M_E-B5, M_M-B6, M-B7

T53

EA_M-A5-tut

T54

EA_E-B4-tut, EM_M-B6-tut, EM_E-B3-tut

T55

M_M-A3, M-A3, M_E-A2, M_M-A5, M-A5, M_E-A4, EM_M-B1

T56

EA_E-A1, EM_E-A1, M_M-A2, M-A1

T57

ML_E-A2, M_M-A5, M-A5, M_E-A4

T58

EM_M-A5

T59

EA_E-D3

T60

EA_E-C6

T61

M_M-B5, M-B6, M_E-B5, M_M-C6, M-C7, M_E-C5

T62

EM_M-A7, EM_E-A5, EA_E-B1

T63

EM_M-A7, EM_E-A5, EA_E-B1

T64

EA_E-D1, EA_M-C2-tut, EA_E-D1-tut

T65

EA_M-A3-tut, M_M-A3-tut, M-A3-tut, M_E-A2-tut, EM_E-B2-tut

T66

EA_M-B5-tut

T67

ML_E-B3-tut, EM_M-B4-tut

T68

EA_E-B3-tut, EM_M-B3-tut, EM_E-B2-tut, EA_M-B5-tut

T69

M-A5-tut, M_E-A4-tut

T70

M-A5-tut, M_E-A4-tut

T71

M_E-C5

T72

M-A2

T73

EA_M-B2-tut

T74

EM_M-A6

T75

M_M-A5, M-A5, M_E-A4


Cite this:
APA Style
IEEE Style
BibTex Style
MLA Style
Chicago Style
GB-T-7714-2015
Talmor, I. (2024). Optimizing Academic Timetables Using Integer Linear Programming: A Case Study. Educ. Sci. Manag., 2(3), 176-187. https://doi.org/10.56578/esm020305
I. Talmor, "Optimizing Academic Timetables Using Integer Linear Programming: A Case Study," Educ. Sci. Manag., vol. 2, no. 3, pp. 176-187, 2024. https://doi.org/10.56578/esm020305
@research-article{Talmor2024OptimizingAT,
title={Optimizing Academic Timetables Using Integer Linear Programming: A Case Study},
author={Irit Talmor},
journal={Education Science and Management},
year={2024},
page={176-187},
doi={https://doi.org/10.56578/esm020305}
}
Irit Talmor, et al. "Optimizing Academic Timetables Using Integer Linear Programming: A Case Study." Education Science and Management, v 2, pp 176-187. doi: https://doi.org/10.56578/esm020305
Irit Talmor. "Optimizing Academic Timetables Using Integer Linear Programming: A Case Study." Education Science and Management, 2, (2024): 176-187. doi: https://doi.org/10.56578/esm020305
TALMOR I. Optimizing Academic Timetables Using Integer Linear Programming: A Case Study[J]. Education Science and Management, 2024, 2(3): 176-187. https://doi.org/10.56578/esm020305
cc
©2024 by the author(s). Published by Acadlore Publishing Services Limited, Hong Kong. This article is available for free download and can be reused and cited, provided that the original published version is credited, under the CC BY 4.0 license.