Modeling and Solving a Latin American University Course Timetabling Problem Instance
Abstract
:1. Introduction
2. Preliminaries
2.1. University Course Timetabling Problem
- m classes .
- n teachers .
- p periods of time .
- a non-negative integer matrix , called Requirements matrix, where is the number of lectures given by teacher to class .
- Hard constraints: mandatory conditions, the violation of any of them implies a non-feasible timetable.
- Soft constraints: desirable conditions denoting user preferences; the violation of any of them affects the quality of a timetable.
- q courses .
- Each K course consists of lectures.
- There are r curricula , wich are groups of courses that have common students. Thus, courses in must be scheduled all at diferent times.
- A maximum number of lectures that can be scheduled at period k (that is, the number of rooms available at period k).
- A p number of periods of time .
2.2. Object Constraint Language (OCL)
- Requirements: use case diagrams.
- System structure: class diagrams, component diagrams.
- System behavior: activity diagrams, sequence diagrams, state diagrams.
2.3. Tabu Search with Probabilistic Aspiration Criterion (TS-PAC)
Algorithm 1: Tabu Search with Probabilistic Aspiration Criterion. |
3. Modeling the Timetabling Problem
- The number of students who potentially want to take any course is determined through an online survey. This is known as the potential demand for each course.
- Subsequently, the required courses are offered.
- Next, each professor is asked for the list of courses they choose to teach in the following semester.
- Using these data, the ACademic Assignments [ACA] (allocation of professors to courses) are made considering each professor’s particular constraints, such as research projects, popularization of science, and extension activities.
- Finally, the TimeTabling Process [TTP] is performed.
- Professor: gives courses to groups of students. This entity has a predefined minimum and a maximum number of hours to teach during the semester, depending on her/his classification (visitor, emeritus, eventual, half-time, or full-time) and category (associate or titular).
- Course: includes a number of hours in a week and a level (Undergraduate or Postgraduate).
- Lecture: class given in a specific classroom during a certain period of time.
- Group: number of students who receive classes in common.
- Classroom: physical space with a specific capacity.
- A single teacher teaches a specific course.
- A teacher must only teach one lecture at a time.
- A lecture belongs to a particular course.
- Lectures are taught in only one classroom at a time.
- A lecture is given to a particular group.
3.1. ACA Model
3.2. TTP Model
4. Solution Proposal
4.1. ACA Solution
- number of professors.
- number of courses.
- corresponds to the set of instances of entity Course.
- corresponds to the set of instances of entity Professor.
- is the preference matrix where true represents professor p wants to teach the course c and false otherwise (Figure 2).
- is a vector that corresponds to the solution (the academic assignments) where each cell c contains the assigned professor (Figure 3).
4.1.1. Creating an Initial Solution
4.1.2. Satisfying Hard Constraints
4.1.3. Soft Constraints: Maximizing Professors’ Course Preferences
4.2. TTP Solution
- number of classrooms.
- number of groups.
- number of lectures.
- corresponds to the set of instances of entity Classroom.
- corresponds to the set of instances of entity Group.
- corresponds to the set of instances of entity Lecture.
- is a matrix where true represents that professor p desires to teach during that period of time, and false otherwise (Figure 4).
- is a matrix corresponding to the solution (the timetable), where each cell corresponds to a lecture or null otherwise. This data structure has the advantage of automatically satisfying constraints of type TTP-HC2 and TTP-HC3, while facilitating the evaluation of the remaining constraints (Figure 5).
4.2.1. Creating an Initial Solution
4.2.2. Satisfying Hard Constraints
Lecture A: | Lecture B: | Lecture C: | Lecture D: |
professor | professor | professor | professor |
course | course | course | course |
start | start | start | start |
end | end | end | end |
4.2.3. Soft Constraints: Maximizing Professors’ Shift Preferences and Contiguous Lectures
Lecture X: | Lecture Y: | Lecture Z: | Professor 77: |
professor | professor | professor | category ⇒ Associate |
course | course | course | classification ⇒ Full-Time |
start | start | start ⇒ TOTAL_PERIODS-1 | preferredHours ⇒ |
end | end | end ⇒ TOTAL_PERIODS |
5. Tests and Results
5.1. Software Prototype
5.2. Experiments
- Start solution: through of a greedy algorithm. Different approaches to build an initial solution were used for the ACA phase hard constraints, ACA phase soft constraints, TTP hard constraints, and TTP soft constraints.
- Random seed: a set of random numbers were generated using the random.org platform. The best seed value was 10,769,230.
- Tabu list size: .
- Neighborhood: different neighborhood structures were designed for each phase.
- Aspiration criterion: the probabilistic aspiration criterion described in Section 2.3.
- Stop criterion: variable, since different objective functions were defined for each phase. Additionally, we had to relax hard constraints in order to obtain a feasible solution.
5.3. Results for the ACA Phase
- Course: hard constraint ACA-HC1.
- Professor: hard constraints ACA-HC2 to ACA-HC16 and soft constraint ACA-SC1.
5.4. Results for the TTP Phase
- Course: hard constraint TTP-HC1 and TTP-HC5.
- Lecture: hard constraints TTP-HC2, TTP-HC3, and TTP-HC4. Soft constraint TTP-SC2.
- Professor: hard constraint TTP-HC6 and soft constraint TTP-SC1.
6. Conclusions
Author Contributions
Funding
Acknowledgments
Conflicts of Interest
Abbreviations
ACA | Academic assignments |
DACyTI | División Académica de Ciencias y Tecnologías de la Información |
OCL | Object Constraint Language |
TS-PAC | Tabu Search with Probabilistic Aspiration Criterion |
TTP | Timetabling problem |
UJAT | Universidad Juárez Autónoma de Tabasco |
UCTP | University Course Timetabling Problem |
UML | Unified Modeling Language |
References
- Cooper, T.B.; Kingston, J.H. The complexity of timetable construction problems. In Practice and Theory of Automated Timetabling; Burke, E., Ross, P., Eds.; Springer: Berlin/Heidelberg, Germany, 1996; pp. 281–295. [Google Scholar]
- Cruz-Chávez, M.; Flores-Pichardo, M.; Martínez-Oropeza, A.; Moreno-Bernal, P.; Cruz-Rosales, M. Solving a Real Constraint Satisfaction Model for the University Course Timetabling Problem: A Case Study. Math. Probl. Eng. 2016, 2016, 14. [Google Scholar] [CrossRef]
- Mejía Caballero, J.; Paternina Arboleda, C. Asignación de Horarios de Clases universitarias mediante Algoritmos Evolutivos (Allocation of class schedules using evolutionary algorithms). Rev. Educ. Ing. 2010, 5, 140–149. [Google Scholar] [CrossRef]
- Pereira, V.; Gomes Costa, H. Linear Integer Model for the Course Timetabling Problem of a Faculty in Rio de Janeiro. Adv. Oper. Res. 2016, 2016. [Google Scholar] [CrossRef]
- Gotlieb, H. The construction of class-teacher timetables. In Proceedings of IFIP Congress 62; Popplewell, C., Ed.; Information Processing 62: Munich, Germany, 1963; pp. 73–77. [Google Scholar]
- Saviniec, L.; Santos, M.O.; Costa, A.M. Parallel local search algorithms for high school timetabling problems. Eur. J. Oper. Res. 2018, 265, 81–98. [Google Scholar] [CrossRef]
- De Werra, D. An introduction to timetabling. Eur. J. Oper. Res. 1985, 19, 151–162. [Google Scholar] [CrossRef]
- Rudová, H.; Müller, T.; Murray, K. Complex university course timetabling. J. Sched. 2011, 14, 187–207. [Google Scholar] [CrossRef]
- Schaerf, A. A Survey of Automated Timetabling. Artif. Intell. Rev. 1999, 13, 87–127. [Google Scholar] [CrossRef]
- Burke, E.K.; Mareček, J.; Parkes, A.J.; Rudová, H. Decomposition, reformulation, and diving in university course timetabling. Comput. Oper. Res. 2010, 37, 582–597. [Google Scholar] [CrossRef] [Green Version]
- Chen, M.; Tang, X.; Song, T.; Wu, C.; Liu, S.; Peng, X. A Tabu search algorithm with controlled randomization for constructing feasible university course timetables. Comput. Oper. Res. 2020, 123, 105007. [Google Scholar] [CrossRef]
- Chiorean, D.; Petraşcu, V.; Ober, I. Using Constraints in Teaching Software Modeling. In Models in Software Engineering; Kienzle, J., Ed.; Springer: Berlin, Germany, 2012; pp. 25–39. [Google Scholar]
- Booch, G.; Rumbaugh, J.; Jacobson, I. The Unified Modeling Language User Guide; Addison-Wesley: Boston, MA, USA, 2005. [Google Scholar]
- Hofrichter, O.; Hamann, L.; Gogolla, M.; Steimke, F. The secret life of OCL constraints. In Proceedings of the 12th Workshop on OCL and Textual Modelling-OCL ‘12; ACM Press: New York, NY, USA, 2012. [Google Scholar] [CrossRef] [Green Version]
- Cabot, J.; Gogolla, M. Object Constraint Language (OCL): A Definitive Guide. In Formal Methods for Model-Driven Engineering: 12th International School on Formal Methods for the Design of Computer, Communication, and Software Systems, SFM 2012, Bertinoro, Italy, 18–23 June 2012; Advanced Lectures; Springer: Berlin, Germany, 2012; pp. 58–90. [Google Scholar] [CrossRef] [Green Version]
- Ziemann, P.; Gogolla, M. Validating OCL Specifications with the USE Tool: An Example Based on the BART Case Study. Electron. Notes Theor. Comput. Sci. 2003, 80, 157–169. [Google Scholar] [CrossRef] [Green Version]
- Larsson, D.; Mostowski, W. Specifying Java Card API in OCL. Electron. Notes Theor. Comput. Sci. 2004, 102, 3–19. [Google Scholar] [CrossRef] [Green Version]
- Garry, D.; Balfe, T. Experiences using OCL for business rules on financial messaging. In Proceedings of the 12th Workshop on OCL and Textual Modelling (OCL’12); ACM Press: New York, NY, USA, 2004; pp. 65–66. [Google Scholar] [CrossRef]
- Chávez-Bosquez, O.; Pozos-Parra, P. The Latin American laws of correct nutrition: Review, unified interpretation, model and tools. Comput. Biol. Med. 2016, 70, 67–79. [Google Scholar] [CrossRef] [Green Version]
- Gogolla, M.; Büttner, F.; Richters, M. USE: A UML-based specification environment for validating UML and OCL. Sci. Comput. Program. 2007, 69, 27–34. [Google Scholar] [CrossRef] [Green Version]
- Glover, F.; Laguna, M. Tabu Search, 1st ed.; Kluwer Academic Publishers: Norwell, MA, USA, 1997. [Google Scholar]
- Pirim, H.; Bayraktar, E.; Eksioglu, B. Tabu Search: A Comparative Study. In Tabu Search; InTechOpen: London, UK, 2008. [Google Scholar] [CrossRef] [Green Version]
- Kergosien, Y.; Lenté, C.; Piton, D.; Billaut, J.C. A tabu search heuristic for the dynamic transportation of patients between care units. Eur. J. Oper. Res. 2011, 214, 442–452. [Google Scholar] [CrossRef]
- Cunha, V.; Mantovani, J. Planning And Project Of Medium Voltage Electric Power Distribution Systems. IEEE Latin Am. Trans. 2016, 15, 2298–2308. [Google Scholar] [CrossRef]
- Balliauw, M.; Herremans, D.; Palhazi Cuervo, D.; Sörensen, K. Mathematics and Computation in Music: 5th International Conference, MCM 2015, London, UK, 22–25 June 2015; Chapter Generating Fingerings for Polyphonic Piano Music with a Tabu Search Algorithm; Springer International Publishing: Berlin, Germany, 2015; pp. 149–160. [Google Scholar] [CrossRef]
- Glover, F. Tabu Search: A Tutorial. Interfaces 1990, 20, 74–94. [Google Scholar] [CrossRef] [Green Version]
- Gendreau, M. An Introduction to Tabu Search. In Handbook of Metaheuristics; Glover, F., Kochenberger, G.A., Eds.; Springer: Boston, MA, USA, 2003; pp. 37–54. [Google Scholar] [CrossRef]
- Xing, L.; Liu, Y.; Li, H.; Wu, C.C.; Lin, W.C.; Chen, X. A Novel Tabu Search Algorithm for Multi-AGV Routing Problem. Mathematics 2020, 8, 279. [Google Scholar] [CrossRef] [Green Version]
- Al-Tarawneh, H.; Ayob, M. Using Tabu search with multi-neighborhood structures to solve University Course Timetable UKM case study (faculty of engineering). In Proceedings of the 3rd Conference on Data Mining and Optimization, Putrajaya, Malaysia, 28–29 June 2011; pp. 208–212. [Google Scholar] [CrossRef]
- Hertz, A. Tabu search for large scale timetabling problems. Eur. J. Oper. Res. 1991, 54, 39–47. [Google Scholar] [CrossRef]
- Minh, K.N.T.T.; Thanh, N.D.T.; Trang, K.T.; Hue, N.T.T. Using Tabu Search for Solving a High School Timetabling Problem. In Advances in Intelligent Information and Database Systems; Springer: Berlin, Germany, 2010; pp. 305–313. [Google Scholar] [CrossRef]
- Oliva, C.; Ramírez, G. Algoritmo de tipo búsqueda tabú para un problema de programación de horarios universitarios vespertinos. INGE CUC 2013, 9, 58–65. [Google Scholar]
- Schaerf, A. Tabu Search Techniques for Large High-School Timetabling Problems. In Proceedings of the 13th National Conference on Artificial Intelligence (AAAI-96); AAAI Press/MIT Press: Portland, OR, USA, 1996; pp. 363–368. [Google Scholar]
- Chávez-Bosquez, O.; Pozos-Parra, P.; Gómez-Ramos, J. Búsqueda Tabú con Criterio de Aspiración Probabilístico aplicada a la Generación de Horarios Escolares (Tabu Search with Probabilistic Aspiration Criterion solving the timetabling problem). Rev. Mat. Teor. Apl. 2015, 22, 153–177. [Google Scholar] [CrossRef] [Green Version]
- Network, M. International Timetabling Competition. 2003. Available online: http://sferics.idsia.ch/Files/ttcomp2002/ (accessed on 16 September 2018).
- Müller, T.; Rudová, H.; Müllerová, Z. University course timetabling and International Timetabling Competition 2019. In Proceedings of the PATAT 2018: 12th International Conference of the Practice and Theory of Automated Timetabling; Burke, E., Di Gaspero, L., McCollum, B., Musliu, N., Özcan, E., Eds.; Online: Vienna, Austria, 2018; pp. 5–31. [Google Scholar]
- Kingston, J.H. Educational Timetabling. In Automated Scheduling and Planning: From Theory to Practice; Uyar, A.S., Ozcan, E., Urquhart, N., Eds.; Springer: Berlin, Germany, 2013; pp. 91–108. [Google Scholar] [CrossRef]
- Chen, R.M.; Shih, H.F. Solving University Course Timetabling Problems Using Constriction Particle Swarm Optimization with Local Search. Algorithms 2013, 6, 227–244. [Google Scholar] [CrossRef]
- Mockus, J.; Pupeikienė, L. On Multi-Start Algorithms for Optimization of High School Timetables. Informatica 2012, 23, 405–425. [Google Scholar] [CrossRef]
- Piechowiak, S.; Kolski, C. Towards a generic object oriented decision support system for university timetabling: An interactive approach. Int. J. Inf. Technol. Decis. Mak. 2004, 3, 179–208. [Google Scholar] [CrossRef]
- H. Consejo Universitario (University Council). Estatuto del Personal Académico (Academic Staff Regulations); Universidad Juárez Autónoma de Tabasco: Tabasco, Mexico, 1985. [Google Scholar]
- Secretaría de Gobernación (Ministry of the Interior). Constitución Política de los Estados Unidos Mexicanos (Mexican Constitution), 23rd ed.; Dirección General Adjunta del Diario Oficial de la Federación: Ciudad de México, Mexico, 2017. [Google Scholar]
- H. Congreso del Estado de Tabasco (Tabasco State Congress). Ley Orgánica de la Universidad Juárez Autónoma de Tabasco (UJAT Organic Law); Universidad Juárez Autónoma de Tabasco: Tabasco, Mexico, 1987. [Google Scholar]
- Müller, T.; Rudová, H. Real-life curriculum-based timetabling with elective courses and course sections. Ann. Oper. Res. 2016, 239, 153–170. [Google Scholar] [CrossRef]
- H. Consejo Universitario (University Council). Reglamento Escolar del Modelo Educativo Flexible (School Regulations of the Flexible Educational Model); Universidad Juárez Autónoma de Tabasco: Tabasco, Mexico, 2011. [Google Scholar]
- AdoptOpenJDK.net. AdoptOpenJDK - Prebuilt OpenJDK Binaries. 2019. Available online: https://adoptopenjdk.net (accessed on 16 April 2019).
- MariaDB Foundation. MariaDB Server. 2019. Available online: https://mariadb.org (accessed on 12 December 2019).
- Harder, R. OpenTS - Java Tabu Search. 2001. Available online: https://www.coin-or.org/Ots/ (accessed on 20 November 2018).
Data | Semester 1 | Semester 2 |
---|---|---|
Teaching staff () | 107 | 106 |
Number of courses () | 369 | 362 |
Number of professors with course preferences | 107 | 91 |
Average of selected courses per professor | 5 | 5 |
Result | Semester 1 | Semester 2 |
---|---|---|
Unassigned courses | 0 | 0 |
Professors with more hours than allowed | 0 | 0 |
Professors with less hours than allowed | 2 * | 31 |
Professors with no satisfied preferences | 2 * | 9 |
Percentage of course preferences satisfied | 98.13% | 91.50% |
Data | Semester 1 | Semester 2 |
---|---|---|
tuples | 369 | 362 |
Total lectures | 1777 | 1716 |
Periods of time | 60 | 50 |
Classrooms | 43 | 43 |
Result | Semester 1 | Semester 2 |
---|---|---|
Professor clashes | 0 | 0 |
Group clashes | 0 | 0 |
Non-contiguous lectures | 0 | 0 |
Percentage of shift preferences satisfied | 88.87% | 87.50% |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Chávez-Bosquez, O.; Hernández-Torruco, J.; Hernández-Ocaña, B.; Canul-Reich, J. Modeling and Solving a Latin American University Course Timetabling Problem Instance. Mathematics 2020, 8, 1833. https://doi.org/10.3390/math8101833
Chávez-Bosquez O, Hernández-Torruco J, Hernández-Ocaña B, Canul-Reich J. Modeling and Solving a Latin American University Course Timetabling Problem Instance. Mathematics. 2020; 8(10):1833. https://doi.org/10.3390/math8101833
Chicago/Turabian StyleChávez-Bosquez, Oscar, José Hernández-Torruco, Betania Hernández-Ocaña, and Juana Canul-Reich. 2020. "Modeling and Solving a Latin American University Course Timetabling Problem Instance" Mathematics 8, no. 10: 1833. https://doi.org/10.3390/math8101833
APA StyleChávez-Bosquez, O., Hernández-Torruco, J., Hernández-Ocaña, B., & Canul-Reich, J. (2020). Modeling and Solving a Latin American University Course Timetabling Problem Instance. Mathematics, 8(10), 1833. https://doi.org/10.3390/math8101833