Está en la página 1de 8

Descomposición en tres etapas de un horario universitario

utilizando programación entera binaria


José Israel Hernández Vázquez 1 Salvador Hernández González 2
Tecnológico Nacional de México en Celaya Tecnológico Nacional de México en Celaya
d1703004@itcelaya.edu.mx salvador.hernandez@itcelaya.edu.mx

María del Rosario Baltazar Flores 3


Tecnológico Nacional de México en León
rosario.baltazar@itleon.edu.mx

Resumen

En este artículo se formulan tres modelos de Programación Entera Binaria para la definición de horarios en
el Tecnológico Nacional de México, usando como caso de estudio el Instituto Tecnológico de Celaya. El
problema consiste en programar las materias a ser dictadas considerando estudiantes, profesores, horarios,
aulas y las necesidades de la universidad. La definición del horario se realiza en tres etapas empleando la
técnica exacta de ramificación y acotamiento, se inicia con la asignación de una materia a un horario, luego
se asigna un aula a cada materia, y por último a cada materia se le asigna un maestro. La descomposición
del problema original, genera una reducción importante en el uso de variables binarias considerando sólo
dos subíndices en cada variable, esto permite resolver problemas de gran tamaño en tiempos
computacionales cortos. Los resultados demuestran que una técnica exacta puede competir en tiempos de
solución con una técnica metaherurística en un problema NP-Duro.

Palabras clave: Programación de horarios en universidades; Descomposición; Programación entera


binaria; Optimización combinatoria.

1 Introducción

En la literatura existente sobre la asignación de horarios en las universidades (University Timetabling) se


han reportado diferentes enfoques de solución a través del uso de modelado matemático, destacando
principalmente los modelos de asignación y los modelos de optimización. En los modelos de optimización
se utilizan técnicas exactas y técnicas metaheurísticas para encontrar una solución, estas últimas muy
populares en los últimos años por la reducción del tiempo en la solución de problemas como se menciona
en [5], sin embargo éstas no garantizan encontrar una solución óptima.

Desde la perspectiva de programación matemática, las programaciones de horarios en universidades son


consideradas como problemas combinatorios ya que utilizan variables binarias o enteras, que hacen que el
número de combinaciones y tiempo de solución se incremente de manera exponencial al aumentar el
número de variables especialmente cuando se utilizan técnicas exactas, por lo cual se les considera como
problemas NP-Duro como se muestra en [3].

Algunos de los artículos reportados en la literatura que destacan en la programación de horarios escolares
a través del empleo de modelos matemáticos se muestran en la tabla 1.

30
Tabla 1 Artículos que destacan en la programación de horarios escolares utilizando modelos matemáticos
Autor Año Descripción
Plantea un modelo de programación entera cuya función objetivo busca maximizar la
Lawrie [11] 1969
afinidad de cada clase con un periodo de tiempo en un problema de horarios escolar.
Desarrolla un modelo matemático para la asignación de horarios en una universidad,
Akkoyunlu[1] 1973 dicho modelo es auxiliado por un algoritmo que realiza la búsqueda de combinaciones
factibles.
Tripathy Utiliza programación entera binaria para resolver un problema de asignación de horarios
1984
[15] universitario en la India aplicando relajación lagrangiana.
Ferland y Roy Presentan un enfoque de programación matemática binaria para resolver el problema del
1985
[8] horario en una universidad, incluye dos subproblemas que se resuelven secuencialmente.
Desarrollan un modelo matemático usando variables binarias para la asignación de
Daskalaki et al.
2004 horarios en una universidad en Grecia, para reducir el área de búsqueda de materias
[6]
utilizan subconjuntos.
Schimmelpfeng Desarrollan un modelo de programación lineal entera para asignar las materias del
2007
y Helber [13] verano 2006 en la universidad de Hannover en Alemania.
Plantean un modelo matemático para la asignación de materias de verano en una
Bakir y Aksop
2008 universidad de Turquía, desafortunadamente no fue posible encontrar una solución
[2]
óptima al modelo.
Resuelven un problema de horarios de una escuela preparatoria a través de dos etapas
empleando modelos de programación entera binaria, la primera etapa consiste en la
Birbas et al. [4] 2009
asignación de turnos de trabajo a maestros y en la segunda etapa se resuelve el problema
real del horario.
Sørensen y Muestran una descomposición en dos etapas de un modelo de programación entera
2014
Dahms [14] implementado en diferentes preparatorias en Dinamarca.
Kristiansen et Resuelven la asignación de horarios en escuelas preparatorias a través de programación
2015
al. [10] entera mixta y el formato XHSTT.
Desarrollan un algoritmo genético hibrido que permite resolver problemas de asignación
de horarios en universidades de Corea del sur, dicho algoritmo permite obtener
Feng et al. [7] 2016
soluciones de gran calidad en tiempos cortos evaluando en un modelo de programación
lineal entero mixto.
Desarrollan un algoritmo basado en perturbación mínima en la definición de un horario
Phillips et al. universitario, dicho algoritmo evalúa en un modelo de programación entera y encuentra
2016
[12] soluciones en tiempos cortos a datos reales de la universidad de Auckland en Nueva
Zelanda.
2 Descripción del problema
Para la generación del horario universitario en el Tecnológico Nacional de México en Celaya se tienen
consideradas las siguientes restricciones cada semestre, las cuales se calificaron en restricciones
relacionadas con el horario (1-6), el aula (7-9) y el maestro (10-13):
1. Materias del mismo semestre y grupo deben ser asignadas en horarios distintos.
2. Se tienen 14 horarios disponibles por semana para cada aula Nota: El horario del día lunes depende
de las horas de la materia (4, 5 o 6 horas).
3. Se tiene un número limitado de aulas para cada carrera, lo que restringe el número de horarios
disponibles para la asignación de materias.
4. Las materias de un mismo semestre y grupo deberán asignarse preferentemente en horarios
consecutivos.
5. En algunos departamentos piden de preferencia asignar materias en los horarios de la mañana.
6. Existe una junta de academia los miércoles que dificulta que se asignen materias a maestros de
plaza en el horario de las 13:00 -15:00 hrs.

31
7. En un aula no se pueden asignar dos materias en un mismo horario.
8. El número de estudiantes por materia no debe exceder la capacidad de las aulas donde estas sean
asignadas.
9. Tratar de optimizar la capacidad de las aulas en cuanto al número de estudiantes asignados por
materia.
10. Las materias deberán asignarse a los maestros afines con las mismas. Existen tres categorías de
maestros; 1- Titular de la materia, 2-Secundario o segunda opción y 3- Tercera opción.
11. Las materias deben ser asignadas a los maestros de acuerdo al número de horas de su plaza.
12. Las materias sólo serán asignadas en los horarios en los que disponga cada maestro.
13. Las materias deben ser asignadas a los maestros en horarios distintos.
El objetivo al definir el horario cada semestre es tratar de generar una solución que cumpla en su totalidad
con las restricciones del problema, y se obtenga en un tiempo razonable. Una vez definido el horario, los
estudiantes de las diferentes carreras eligen las materias a cursar.
3 Método
El número de combinaciones de solución de un modelo matemático con variables binarias es de 2𝑛 , donde
n es el número de variables binarias como se explica en [9], por lo tanto entre menos variables binarias
tenga un modelo matemático el número de combinaciones se reducirá, de ahí la propuesta de acotar el
número de combinaciones aminorando el número de variables binaras a través de una descomposición del
modelo original en tres modelos matemáticos, lo que permitirá trabajar con variables binaras de dos
subíndices en cada etapa, considerando la idea Sørensen y Dahms en su estudio presentado en [14] en
horarios de preparatoria al descomponer el modelo original en dos etapas.
Todo inicia con el ordenamiento de las materias por semestre y grupo, posteriormente se realiza la
definición del horario en tres etapas (3 modelos matemáticos); La primera etapa consiste en asignar a cada
materia un horario, posteriormente en la segunda etapa se asigna un aula a cada materia, y por último en la
tercera etapa a cada materia se le asigna un maestro (ver figura 1).
Modelo original ( )
Materia-Horario-Aula-Maestro

Etapa 1 ( ) Etapa 2 ( ) Etapa 3 ( )


Modelo 1: Materia-Horario Modelo 2: Materia-Aula Modelo 3: Materia-Maestro

Figura 1 Descomposición del problema original en tres etapas


También se propone utilizar subconjuntos en cada uno de los modelos matemáticos con la intención de
reducir el tiempo en la búsqueda de materias como lo hecho por Daskalaki et al. Descrito en [6], además de
coeficientes en la función objetivo para agilizar la búsqueda en ciertas variables binarias.
3.1 Notación empleada en el desarrollo de los modelos matemáticos
Subíndices
𝑖 Subíndice para materia 𝑖 ∈ 𝐼 𝑗 Subíndice para horario 𝑗 ∈ 𝐽
𝑘 Subíndice para aula 𝑘∈𝐾 𝑙 Subíndice para maestro 𝑙 ∈ 𝐿
Conjuntos
𝐼 Materias a asignar 𝐼 = {𝑀𝑎𝑡𝑒𝑟𝑖𝑎1 , 𝑀𝑎𝑡𝑒𝑟𝑖𝑎2 , … , 𝑀𝑎𝑡𝑒𝑟𝑖𝑎|𝐼| }.
𝐽 Horarios disponibles en la universidad por semana 𝐽 = {𝐻1 , 𝐻2 , … , 𝐻|𝐽| }.
𝐾 Aulas disponibles para la asignación de materias 𝐾 = {𝐴1 , 𝐴2 , … , 𝐴|𝐾| }.
𝐿 Maestros disponibles para la impartición de materias 𝐿 = {𝑀1 , 𝑀2 , … , 𝑀|𝐿| }.

32
Subconjuntos
𝐼𝑚 ∈ 𝐼 {Materias de mismo semestre y grupo 𝑚}.
𝐼𝑛 ∈ 𝐼 {Materias asignadas a los horarios 𝑛 de los días martes – jueves 𝑛 = {1,2,3, … ,7}}.
𝐼𝑜 ∈ 𝐼 {Materias asignadas a los horarios 𝑜 de los días miércoles – viernes 𝑜 = {8,9,10, … ,14}}.
𝐼 = 𝐼𝑛 ∪ 𝐼𝑜 .
Matrices de datos
𝑎𝑖𝑗 = Afinidad de la materia con el horario.
𝐴𝑈𝐿𝐴𝑆 𝐷𝐼𝑆𝑃𝑂𝑁𝐼𝐵𝐿𝐸𝑆𝑗 = Número de aulas disponibles para la asignación.
𝑎𝑖𝑘 = Número de horas a asignar de la materia en cada aula.
𝑏𝑖𝑘 = Número de estudiantes a asignar de la materia en cada aula.
𝐶𝐴𝑃𝐴𝑈𝐿𝐴𝑘 = Capacidad máxima de estudiantes del aula k.
𝑎𝑖𝑙 = Afinidad de la materia con cada maestro Nota: Se utilizan coeficientes de 5 para maestro titular de
la materia, 4 para maestro de segunda opción, 3 para maestro de tercera opción y -1 cundo el maestro
no es capaz de impartir la materia (esto para no ser considerado en la asignación).
𝑏𝑖𝑙 = Número de horas a asignar de la materia a cada maestro.
𝐻𝑀𝐼𝑁𝑙 = Horas mínimas a asignar para cada maestro l.
𝐻𝑀𝐴𝑋𝑙 = Horas máximas a asignar para cada maestro l.
𝐻𝑂𝑅𝐴𝑅𝐼𝑂𝑀𝑙 = Horarios en los que se puede asignar materias a maestro l.
Variable binaria que se utilizará en la etapa 1: asignación de Materia-Horario
𝑥𝑖𝑗 1 La materia 𝑖 es asignada en el horario 𝑗.
0 La materia 𝑖 es considerada en otro horario 𝑗.
Variable binaria que se utilizará en la etapa 2: asignación de Materia-Aula
𝑦𝑖𝑘 1 La materia 𝑖 es asignada en el aula 𝑘.
0 La materia 𝑖 es considerada en otra aula 𝑘.
Variable binaria que se utilizará en la etapa 3: asignación de Materia-Maestro
𝑧𝑖𝑙 1 La materia 𝑖 es asignada al maestro 𝑙.
0 La materia 𝑖 es considerada para otro maestro 𝑙.
3.2 Modelo matemático para etapa 1: asignación de Materia-Horario
Función objetivo
1. Busca maximizar la asignación de materias por la mañana, además de asignar materias del mismo
semestre y grupo en periodos consecutivos y en el mismo turno (mañana o tarde).
𝐼 𝐽

ZMax = 𝑎𝑖𝑗 𝑥𝑖𝑗 (1)


𝑖=1 𝑗=1
Restricciones
2. Obliga a que cada materia sea asignada en no más de un horario.
𝐽

𝑥𝑖𝑗 ≤ 1 ∀𝑖 ∈ 𝐼 (2)
𝑗=1
3. Obliga a que materias de un mismo semestre y grupo (subconjunto) queden en horarios distintos.
𝑥𝑖𝑗 ≤ 1 ∀𝑗 ∈ 𝐽 (3)
𝑖∈𝐼𝑚
4. Obliga a que en cualquier horario no se exceda el número de materias asignadas para las aulas
disponibles. 𝐼

𝑥𝑖𝑗 ≤ 𝐴𝑈𝐿𝐴𝑆 𝐷𝐼𝑆𝑃𝑂𝑁𝐼𝐵𝐿𝐸𝑆𝑗 ∀𝑗 ∈ 𝐽 (4)


𝑖=1

33
El resultado de esta primera etapa define la asignación de materias a cada subconjunto 𝐼𝑛 𝐼𝑜 que serán
utilizados en las etapas 2 y 3.
3.3 Modelo matemático para etapa 2: asignación de Materia-Aula
Función objetivo
5. Busca maximizar el número de horas-clase a asignar de las materias en cada aula, además penaliza
la diferencia entre la capacidad del aula y el número de estudiantes de la materia asignada, es decir
tratará de asignar materias muy cercanas a la capacidad del aula.
𝐼 𝐾 𝐼 𝐾

ZMax = 𝑎𝑖𝑘 𝑦𝑖𝑘 − (𝐶𝐴𝑃𝐴𝑈𝐿𝐴𝑘 − 𝑏𝑖𝑘 )(0.01) 𝑦𝑖𝑘 (5)


𝑖=1 𝑘=1 𝑖=1 𝑘=1
Restricciones
6. Obliga a que cada materia sea asignada en no más de un aula.
𝐾

𝑦𝑖𝑘 ≤ 1 ∀𝑖 ∈ 𝐼 (6)
𝑘=1
7. Obliga a que materias de misma hora pero distinto día no sumen más de 10 horas por aula (con la
finalidad de no empalmar materias los días lunes).
𝑎𝑖𝑘 𝑦𝑖𝑘 + 𝑎𝑖𝑘 𝑦𝑖𝑘 ≤ 10 ∀𝑘 ∈ 𝐾 (7)
𝑖∈𝐼𝑛 𝑖∈𝐼𝑜
8. Obliga a que por aula no se asignen grupos mayores a su capacidad.
𝑏𝑖𝑘 𝑦𝑖𝑘 ≤ 𝐶𝐴𝑃𝐴𝑈𝐿𝐴𝑘 ∀𝑘 ∈ 𝐾
𝑖∈𝐼𝑛
(8)
𝑏𝑖𝑘 𝑦𝑖𝑘 ≤ 𝐶𝐴𝑃𝐴𝑈𝐿𝐴𝑘 ∀𝑘 ∈ 𝐾
𝑖∈𝐼𝑜
9. Obliga a que por aula no se imparta más de una materia en un mismo horario.
𝑦𝑖𝑘 ≤ 1 ∀𝑘 ∈ 𝐾
𝑖∈𝐼𝑛 (9)
𝑦𝑖𝑘 ≤ 1 ∀𝑘 ∈ 𝐾
𝑖∈𝐼𝑜
3.4 Modelo matemático para etapa 3: asignación de Materia-Maestro
Función objetivo
10. Busca maximizar la afinidad de cada una de las materias con los maestros disponibles.
𝐼 𝐿

ZMax = 𝑎𝑖𝑙 𝑧𝑖𝑙 (10)


𝑖=1 𝑙=1
Restricciones
11. Obliga a que cada materia sea asignada a no más de un maestro.
𝐿

𝑧𝑖𝑙 ≤ 1 ∀𝑖 ∈ 𝐼 (11)
𝑙=1
12. Obliga a asignar la mínima cantidad de horas por maestro.
𝑏𝑖𝑙 𝑧𝑖𝑙 + 𝑏𝑖𝑙 𝑧𝑖𝑙 ≥ 𝐻𝑀𝐼𝑁𝑙 ∀𝑙 ∈ 𝐿 (12)
𝑖∈𝐼𝑛 𝑖∈𝐼𝑜

34
13. Obliga a no exceder la máxima cantidad de horas por maestro.
𝑏𝑖𝑙 𝑧𝑖𝑙 + 𝑏𝑖𝑙 𝑧𝑖𝑙 ≤ 𝐻𝑀𝐴𝑋𝑙 ∀𝑙 ∈ 𝐿 (13)
𝑖∈𝐼𝑛 𝑖∈𝐼𝑜
14. Obliga a que materias de misma hora pero distinto día no sumen más de 10 horas por maestro (con
la finalidad de no empalmar materias los días lunes).
𝑏𝑖𝑙 𝑧𝑖𝑙 + 𝑏𝑖𝑙 𝑧𝑖𝑙 ≤ 10 ∀𝑙 ∈ 𝐿 (14)
𝑖∈𝐼𝑛 𝑖∈𝐼𝑜
15. Obliga a asignar materias en los horarios disponibles de los maestros.
𝑧𝑖𝑙 ≤ 𝐻𝑂𝑅𝐴𝑅𝐼𝑂𝑀𝑙 ∀𝑙 ∈ 𝐿
𝑖∈𝐼𝑛 (15)
𝑧𝑖𝑙 ≤ 𝐻𝑂𝑅𝐴𝑅𝐼𝑂𝑀𝑙 ∀𝑙 ∈ 𝐿
𝑖∈𝐼𝑜
16. Obliga a que por maestro no se imparta más de una materia en un mismo horario.
𝑧𝑖𝑙 ≤ 1 ∀𝑙 ∈ 𝐿
𝑖∈𝐼𝑛 (16)
𝑧𝑖𝑙 ≤ 1 ∀𝑙 ∈ 𝐿
𝑖∈𝐼𝑜
4 Experimentos
Para la experimentación se utilizó una computadora con un procesador Intel(R) Celeron(R) CPU N2840
2.16 GHz con 4 GB de RAM, con Windows 10 Home. Las matrices de datos de los modelos matemáticos
fueron hechas en Excel 2013 las cuales se ligaron al programa LINGO 12 donde se capturaron los modelos
matemáticos y se les dio solución a través de la técnica exacta de ramificación y acotamiento (Branch and
Bound). Para probar los modelos matemáticos se realizaron dos experimentos, el experimento principal
considero 56 materias y un segundo experimento contemplo 84 materias, de los primeros 4 semestres de la
carrera de ingeniería industrial del semestre Agosto-Diciembre del 2017, se consideraron grupos a, b y c de
cada materia, así como 8 aulas, 9 maestros y 14 periodos de tiempo.
5 Resultados
Las características y tiempos en la búsqueda de solución de los dos experimentos realizados se muestran en
la tabla 2, en ambos se obtuvieron soluciones óptimas para cada una de las tres etapas de asignación. La
figura 2 muestra el porcentaje de materias asignadas preferentemente en horarios por la mañana, la figura
3 muestra la gráfica del porcentaje de materias asignadas a maestros de acuerdo a su afinidad, en ella se
puede apreciar que se trató de asignar el mayor número de materias a maestros titulares y maestros de
segunda opción. Además, cuando no fue posible encontrar una afinidad, o bien, se superó la capacidad de
horas del maestro, no se aginaron las materias (como sucedió en el segundo experimento).
La tabla 3 muestra una comparativa del número de materias, variables binarias o enteras, restricciones y
tiempos empleados en la búsqueda de una solución utilizados por diferentes autores, que han resuelto
horarios universitarios a través de programación entera y técnicas exactas con características similares al
estudio que se desarrolló. Al final de la tabla se obtuvieron tres factores que resultaron de dividir el número
de variables, restricciones y tiempos entre el número de materias utilizadas en los diferentes experimentos,
lo que permite identificar los recursos que se emplearon en cada materia. Es importante resaltar que la
estrategia que se propone en este trabajo de descomponer la programación de un horario universitario en
tres etapas, reduce en gran medida los recursos empleados en la búsqueda de la solución por materia.

35
Tabla 2 Características y tiempos en la búsqueda de una
solución en los experimentos realizados % de materias asignadas por horario
100.00% 87.50%
Hernández et al. (2018)
80.00%

% de Materias
58.33%
Experimentos 1 2
60.00%
Nº Materias 56 84 41.67%
Condiciones 40.00%
Nº Aulas 8 aulas 8 aulas
iniciales 20.00% 12.50%
Nº Maestros 9 9 0.00%
1er Modelo Etapa 1 784 1,176 Horarios por la mañana Horarios por la tarde

Número de 2do Modelo Etapa 2 448 672 Horarios


variables binarias 3er. Modelo Etapa 3 504 756 Experimento 1(56materias) Experimento 2 (84 materias)

Total 1,736 2,604 Figura 2 Gráfica de asignación de materias por


1er Modelo Etapa 1 379 569 horario
Número de 2do Modelo Etapa 2 2,297 2,325 % de materias asignadas a maestros
restricciones 3er. Modelo Etapa 3 3,054 3,082 60.00% 57.14%
Total 5,730 5,976

% de Materias
37.50%
1er Modelo Etapa 1 1 2 40.00%
Tiempo en 42.86%
33.33% 19.05%
segundos para 2do Modelo Etapa 2 4 5 20.00%
5.36%
encontrar solución 3er. Modelo Etapa 3 2 3 0.00%
optima Total seg 7 10
0.00% 4.76%
Titular 2da opción 3ra opción No asignado
1er Modelo Etapa 1 13,748 20,622 Maestros
Número de 2do Modelo Etapa 2 11,648 17,472 Experimento 1 (56 materias)
non-zeros 3er. Modelo Etapa 3 23,466 35,198 Experimento 2 (84 materias)
Total 48,862 73,292 Figura 3 Gráfica de asignación de materias a
Programa LINGO 12 LINGO 12 maestros por afinidad
Tabla 3 Comparación de resultados con otras investigaciones de programación entera
Autores
Schimmelpfeng y Bakir y Aksop Hernández et
Daskalaki et al. [6]
Helber [13] [2] al. (2018)
Experimentos 1 2 3 1 1 1 2
Número de modelos matemáticos 1 1 1 1 1 3 3
Número de materias 33 66 119 156 48 56 84
Número de variables binarias o
4,100 13,527 19,295 91,768 7,610 1,736 2,604
enteras
Número de restricciones 7,543 12,734 17,159 35,611 34,978 5,730 5,976
Tiempo en segundos para No se encontró
150 1,110 5,700 248 solución 7 10
encontrar solución optima
Número de non-zeros 35,685 78,523 92,358 662,824 ----------- 48,862 66,432
Número de variables por materia 124.24 204.95 162.14 588.26 158.54 31.00 31.00
Número de restricciones por
228.58 192.94 144.19 228.28 728.71 102.32 71.14
materia
Tiempo en segundos para No se encontró
4.545 16.818 47.899 1.592 solución 0.125 0.119
encontrar solución por materia

La tabla 4 muestra una comparativa con autores que han utilizado metaheurísticas o algoritmos para la
asignación de horarios en universidades recientemente, cabe mencionar que estos trabajos no consideran la
asignación de maestros a diferencia del estudio que se presenta en este artículo. Para la comparación se
utilizó un factor que resultó de dividir el tiempo en segundos para encontrar la mejor solución entre el
número de materias en cada experimento, con la intención de determinar el tiempo que se lleva en encontrar
la mejor solución por materia. Es importante resaltar que los tiempos obtenidos en este estudio con la técnica

36
exacta de ramificación y acotamiento, son semejantes o están por debajo de los reportados por
metaheurísticas o algoritmos.

Tabla 4 Comparación de resultados con otras investigaciones que utilizan metaheurísticas y algoritmos
Autores
Hernández et
Feng et al. [7] Phillips et al. [12]
al. (2018)
Técnica metaheurística: Técnica exacta:
Técnica implementada Algoritmo genético Algoritmo basado en perturbación mínima Ramificación y
hibrido acotamiento
Experimentos 1 2 3 1 2 3 4 5 1 2
Número de materias 100 200 300 23 26 33 52 110 56 84
Tiempo en segundos para
encontrar la mejor solución
16.35 35.03 59.94 5.00 7.00 5.20 5.92 33.20 7.00 10.00
Tiempo en segundos para
encontrar la mejor solución por 0.1634 0.1751 0.1997 0.2173 0.2692 0.1575 0.1138 0.3018 0.1250 0.1190
materia

6 Conclusiones
La descomposición del problema original en tres etapas (3 modelos matemáticos) reduce en un 97% el
número de variables binarias empleadas en la definición del horario, así como una disminución en el uso
de restricciones y tiempo alcanzado en la búsqueda de la solución de un problema NP-Duro (programación
de horarios en universidades). Además, sólo es necesario utilizar dos subíndices en cada variable por etapa.
Referencias
[1] Akkoyunlu, E. A. (1973). A linear algorithm for computing the optimum university timetable. The Computer
Journal, 16(4), 347–350.
[2] Bakir, M. A., & Aksop, C. (2008). A 0-1 integer programming approach to a university timetabling problem.
Hacettepe Journal of Mathematics and Statistics, 37(1), 41-55.
[3] Bardadym, V. A. (1996). Computer-Aided School and University Timetabling: The New Wave. Practice and
theory of automated timetabling, 1153, 22-45.
[4] Birbas, T., Daskalaki, S., & Housos, E. (2009). School timetabling for quality student and teacher schedules.
Journal of Scheduling, 12(2), 177-197.
[5] Burke, E., Jackson, K., Kingston, J., & Weare, R. (1997). Automated university timetabling: the state of the art.
The computer journal, 40(9), 565-571.
[6] Daskalaki, S., Birbas, T., & Housos, E. (2004). An integer Programming Formulation for a Case Study in
University Timetabling. European Journal of Operational Research, 153, 117-135.
[7] Feng, X., Lee, Y., & Moon, I. (2016). An integer program and a hybrid genetic algorithm for the university
timetabling problem. Optimization Methods & Software, 32, 1-25.
[8] Ferland, J. A., & Roy, S. (1985). Timetabling problem for university as assignment of activities to resources.
Computers & Operations Research, 12(2), 207–218.
[9] Hiller, F., & Lieberman, G. (2010). Introducción a la investigación de operaciones (Octava ed.). México: Mc
Graw Hill.
[10] Kristiansen, S., Sørensen, M., & Stidsen, T. R. (2015). Integer programming for the generalized high school
timetabling problem. Journal of Scheduling, 18, 377–392.
[11] Lawrie, N. L. (1969). An integer linear programming model of a school timetabling problem. The Computer
Journal, 12, 307–316.
[12] Phillips, A. E., Walker, C. G., Ehrgott, M., & Ryan, D. M. (2016). Integer programming for minimal perturbation
problems in university course timetabling. Annals of Operations Research, 252, 283-604.
[13] Schimmelpfeng, K., & Helber, S. (2007). Application of a real-world university-course timetabling model solved
by integer programming. OR Spectrum, 29(4), 783-803.
[14] Sørensen, M., & Dahms, F. H. (2014). A Two-Stage Decomposition of High School Timetabling applied to cases
in Denmark. Computers & Operations Research, 43, 36–49.
[15] Tripathy, A. (1984). School Timetabling A Case In Large Binary Integer Linear Programming. Management
Science, 30(12), 1473-1489.

37

También podría gustarte