Tesis profesional presentada por Diana Angélica Vázquez Limón [diana.vazquezln@udlap.mx]

Miembro del programa de honores. Licenciatura en Ingeniería Industrial. Departamento de Ingeniería Industrial y Mecánica. Escuela de Ingeniería, Universidad de las Américas Puebla.

Jurado Calificador

Director: Dra. Dolores Edwiges Luna Reyes
Presidente: Dr. Juan Antonio Díaz García
Secretario: Dra. Nelly Monserrat Hernández González

Cholula, Puebla, México a 7 de diciembre de 2020.


The timetabling problem is a well-known problem, when it is related to the academic environment it seeks to assign courses into schedules considering teaching staff, students, classrooms and requirements of the courses. This problem is addressed at least twice a year in our university. Each case of study has its? own requirements and constraints, and manual solution of this problem may be exhausting and time consuming. Therefore, looking for a way to obtain better assignations and to ease the workload of the task, many researchers have studied it. For this work, we faced the case of assigning the courses to a schedule having as data the teachers assigned to the courses and the number of groups needed. The assignation of courses to classrooms was not a query for the problem. The interest was in having no overlaps among the courses taught by the same teacher nor the courses that students were meant to study in the same semester. Two approaches are presented, the first involves an integer programming model with binary variables and a set of constraints to ensured the requirements are met. The second one is a constraint programming model that uses constraints to delimit the domains of variables and to state the requirements needed for the assignation. Each of these solutions was modeled and evaluated in two instances to be compared to what the real-life assignation realized by a person was. Key words: timetabling, course scheduling, integer programming, constraint programming.

Palabras clave: timetabling, course scheduling, integer programming, constraint programming..

Índice de contenido




Capítulo 1. Introduction

Capítulo 2. Literature Review

Capítulo 3. Problem Definition

Capítulo 4. Methodology

  • 4.1 Integer Programming
  • 4.2 Constraint Programming

Capítulo 5. Results

  • 5.1 One-section courses Integer Programming examples
  • 5.2 Multiple-section courses Integer Programming example
  • 5.3 Constraint Programming example
  • 5.4 Instances solutions with Integer programming
  • 5.5 Instances solutions with Constraint programming

Capítulo 6. Conclusions


Vázquez Limón, D. A. 2020. Constraint and integer programming approaches for the solution of a course timetabling problem. Tesis Licenciatura. Ingeniería Industrial. Departamento de Ingeniería Industrial y Mecánica, Escuela de Ingeniería, Universidad de las Américas Puebla. Diciembre. Derechos Reservados © 2020.