PROTOTIPO PARA LA GENERACIÓN AUTOMÁTICA …dep.fie.umich.mx/produccion_dep/media/pdfs/00245...de...

8
PROTOTIPO PARA LA GENERACIÓN AUTOMÁTICA DE HORARIOS ACADÉMICOS EN EL INSTITUTO TECNOLÓGICO DEL VALLE DE MORELIA Noel Enrique Rodríguez Maya 1 , Juan José Flores Romero 2 , Juan Carlos Olivares Rojas 3 Eje 1. La investigación en las ciencias básicas. Mesa 2. Ciencias de la Ingeniería y Tecnología. Palabras clave: (generación de horarios, optimización, evolución diferencial) Resumen La generación de horarios académicos en las universidades es una actividad que requiere una gran cantidad de recursos humanos y materiales. Lo anterior obedece al número de horarios diferentes que se pueden generar, dados los recursos y restricciones que se disponen: para un conjunto de tareas, se requiere asignar un conjunto de recursos considerando las restricciones. Este problema ha sido ampliamente estudiado en el área de investigación de operaciones, siendo catalogado como un problema NP completo (No Polinomial completo). Dada su complejidad se requieren técnicas que solucionen el problema de manera rápida y efectiva, tal es el caso de Algoritmos Evolutivos (AE). Uno de los AE más efectivos y veloces es Evolución Diferencial (ED); ED está basado en poblaciones las cuales se cruzan y mutan para producir nuevos individuos de acuerdo a una función de costo. Este trabajo presenta una solución basada en ED para la generación automática de horarios académicos, teniendo como caso de estudio el Instituto Tecnológico del Valle de Morelia (ITVM). La experimentación consistió en la asignación de recursos (profesor- aula-horario) a un conjunto de tareas (materias-grupos) de un periodo particular en el ITVM. Los resultados muestran horarios académicos generados en muy corto tiempo con alto índice de efectividad. Introducción La generación de horarios académicos en las universidades, es una tarea que requiere muchos recursos materiales y humanos; por un lado se tiene un conjunto de necesidades académicas que se desean cubrir y por otro se tiene un conjunto de recursos con los cuales se pueden cubrir las necesidades. De manera general, las necesidades a cubrir son cursos o materias las cuales tienen características especiales de acuerdo al grado y carrera a la que pertenece, los recursos para cubrir las materias 1 Universidad Michoacana de San Nicolás de Hidalgo, Facultad de Ingeniería Eléctrica; [email protected] 2 Universidad Michoacana de San Nicolás de Hidalgo, Facultad de Ingeniería Eléctrica; [email protected] 3 Instituto Tecnológico de Morelia, Departamento de Sistemas y Computación; [email protected]

Transcript of PROTOTIPO PARA LA GENERACIÓN AUTOMÁTICA …dep.fie.umich.mx/produccion_dep/media/pdfs/00245...de...

Page 1: PROTOTIPO PARA LA GENERACIÓN AUTOMÁTICA …dep.fie.umich.mx/produccion_dep/media/pdfs/00245...de horarios; por ejemplo, no puede asignarse un aula a dos materias en el mismo horario

   

 

PROTOTIPO PARA LA GENERACIÓN AUTOMÁTICA DE HORARIOS ACADÉMICOS EN EL INSTITUTO TECNOLÓGICO DEL VALLE DE

MORELIA

Noel Enrique Rodríguez Maya1, Juan José Flores Romero2, Juan Carlos Olivares Rojas3 Eje 1. La investigación en las ciencias básicas. Mesa 2. Ciencias de la Ingeniería y Tecnología. Palabras clave: (generación de horarios, optimización, evolución diferencial)

Resumen La generación de horarios académicos en las universidades es una actividad que requiere una gran cantidad de recursos humanos y materiales. Lo anterior obedece al número de horarios diferentes que se pueden generar, dados los recursos y restricciones que se disponen: para un conjunto de tareas, se requiere asignar un conjunto de recursos considerando las restricciones. Este problema ha sido ampliamente estudiado en el área de investigación de operaciones, siendo catalogado como un problema NP completo (No Polinomial completo). Dada su complejidad se requieren técnicas que solucionen el problema de manera rápida y efectiva, tal es el caso de Algoritmos Evolutivos (AE). Uno de los AE más efectivos y veloces es Evolución Diferencial (ED); ED está basado en poblaciones las cuales se cruzan y mutan para producir nuevos individuos de acuerdo a una función de costo. Este trabajo presenta una solución basada en ED para la generación automática de horarios académicos, teniendo como caso de estudio el Instituto Tecnológico del Valle de Morelia (ITVM). La experimentación consistió en la asignación de recursos (profesor-aula-horario) a un conjunto de tareas (materias-grupos) de un periodo particular en el ITVM. Los resultados muestran horarios académicos generados en muy corto tiempo con alto índice de efectividad.

Introducción La generación de horarios académicos en las universidades, es una tarea que requiere muchos recursos materiales y humanos; por un lado se tiene un conjunto de necesidades académicas que se desean cubrir y por otro se tiene un conjunto de recursos con los cuales se pueden cubrir las necesidades. De manera general, las necesidades a cubrir son cursos o materias las cuales tienen características especiales de acuerdo al grado y carrera a la que pertenece, los recursos para cubrir las materias                                                                                                                1 Universidad Michoacana de San Nicolás de Hidalgo, Facultad de Ingeniería Eléctrica; [email protected] 2

Universidad Michoacana de San Nicolás de Hidalgo, Facultad de Ingeniería Eléctrica; [email protected] 3 Instituto Tecnológico de Morelia, Departamento de Sistemas y Computación; [email protected]  

Page 2: PROTOTIPO PARA LA GENERACIÓN AUTOMÁTICA …dep.fie.umich.mx/produccion_dep/media/pdfs/00245...de horarios; por ejemplo, no puede asignarse un aula a dos materias en el mismo horario

   

 

consiste en la asignación de profesores, aulas y horarios cada uno con características especiales. Las materias generalmente son asignadas por bloques, correspondiendo cada bloque a un grupo los cuales a su vez, corresponden a diferentes carreras. Como es de esperarse, la generación de horarios se convierte en una tarea de optimización combinatoria donde el usuario desea conocer la mejor solución dadas sus necesidades, recursos disponibles y restricciones. Para resolver el problema, las universidades hacen uso de la experiencia que han adquirido. Las soluciones propuestas generalmente están apegadas a las exigencias académicas, sin embargo, el tiempo requerido para la generación y el sesgo en la asignación de recursos (horarios, profesores, etc.) son problemas que se deben considerar. Este tipo de problemas están catalogados como NP (No Polinomial), lo cual indica que es un problema complejo debido a que no se tiene una estimación matemática sobre el tiempo requerido para su solución. Existen diferentes herramientas que brindan la posibilidad encontrar soluciones a los problemas NP, una de las herramientas más populares que ha tenido buenos resultados, es el uso de Algoritmos Evolutivos (AE). AE son algoritmos que usan poblaciones de individuos que “evolucionan” a través de un conjunto de soluciones para tratar de encontrar la mejor solución al problema. El término “evolucionar” hace referencia a modelos que permiten buscar soluciones basados en diferentes teorías de evolución natural; Evolución Diferencial (ED) es un tipo de AE de optimización metaheurística propuesto por Storm y Price en 1998 [3]. ED está especializado en la solución de problemas de optimización en el espacio continúo; existen diferentes variantes del algoritmo siendo el más usado en denominado DE/rand/1/bin, donde rand significa que los individuos son seleccionados de manera aleatoria, 1 es el número de pares seleccionados y bin significa que es una recombinación binomial [1]. La idea detrás de ED es que la diferencia entre dos vectores produce un vector diferente el cual puede ser usado con un factor de escala para atravesar el espacio de búsqueda [2]. El problema de generación automática de horarios académicos, en el área de computación evolutiva, se plantea como un problema de optimización con restricciones: se trata de minimizar una función objetivo dada por la suma de violaciones de restricciones débiles y fuertes. Las restricciones débiles pueden violarse dentro del proceso de generación de horarios; por ejemplo, se pudiera usar un aula acondicionada con equipo de laboratorio para dar clases teóricas. Por el contrario, las restricciones fuertes no pueden violarse debido a que son necesidades prioritarias para la generación de horarios; por ejemplo, no puede asignarse un aula a dos materias en el mismo horario y en el mismo día. El caso de estudio que considera en este trabajo es la generación automática de horarios en el Instituto Tecnológico del Valle de Morelia (ITVM). El ITVM es una universidad pública ubicada en el estado de Michoacán; actualmente ofrece 5 licenciaturas: Lic. en Administración, Ing. en Agronomía, Ing. Ambiental, Ing. Forestal e Ing. en Innovación Agrícola Sustentable. Cada año la matrícula ha incrementado de

Page 3: PROTOTIPO PARA LA GENERACIÓN AUTOMÁTICA …dep.fie.umich.mx/produccion_dep/media/pdfs/00245...de horarios; por ejemplo, no puede asignarse un aula a dos materias en el mismo horario

   

 

manera constante, demandando una planeación académica de mayor complejidad. Dentro del proceso académico, uno de los procesos más importantes y más complejos, es la generación de horarios académicos, en el cual se consideran variables como: cantidad y perfil de los profesores, cantidad y tipo de aulas, número de horas por semana disponibles y materias ofrecidas por semestre, entre otras. La generación de horarios académicos contempla los siguientes procesos: para cada licenciatura: a) determinar los cursos a ofrecerse, los cursos se agrupan y se ofrecen por bloques, b) para cada curso se le debe asignar un profesor de acuerdo a su perfil, c) el curso es asignado a un salón con las características requeridas (práctica o teoría), d) el curso es asignado a un horario determinado por semana (los cursos pueden tener diferente número de horas por semana). Para el caso de estudio del ITVM, las variables académicas arriba mencionadas están presentes en cada una de las 5 licenciaturas, teniendo los siguientes totales por semestre: 112 cursos, 122 profesores, 38 salones de clases y 24 diferentes horarios por semana. Tomando en cuenta todas estas variables se tiene un total de 112x122x38x24 = 12,461,568 diferentes maneras de combinar las variables académicas. Actualmente este proceso se realiza de manera manual, requiriendo una gran cantidad de horas y trabajadores.

Objetivos Generar un prototipo para la generación de horarios académicos en el Instituto Tecnológico del Valle de Morelia, los horarios generados deben cumplir con restricciones internas del Instituto.

Materiales y Métodos El problema de asignación de horarios académicos consiste de un conjunto de tareas a las cuales se les asigna un conjunto de recursos. Las tareas son el conjunto de cursos agrupados por bloques, donde cada ciclo (semestre par o impar) tiene diferentes cursos. El año escolar es dividido en dos semestres, cada uno representa un conjunto de cursos disponibles de cada carrera. Los recursos están representados por los profesores, salones de clase, y los horarios disponibles; todos los recursos tienen un cierta cantidad, disponibilidad y características especiales. El problema de asignación de horarios, se puede definir como sigue: un conjunto C de Nc cursos, donde cada curso ci ∈ C, i ∈ [1,NC], un conjunto L de NL profesores, donde cada profesor li ∈ L, i ∈ [1,NL], un conjunto R de NR de salones de clase, donde cada salón ri ∈ R, i ∈ [1,NR], un conjunto T1 de NT1 de horas disponibles en la semana del día lunes a jueves, donde cada hora t1i ∈ T1, i ∈ [1,NT1], un conjunto T2 de NT2 de horas disponibles para el día viernes, donde cada hora t2i ∈ T2, i ∈ [1,NT2], y una matriz M = [X!,!,!",!"]!!×!!×(!!"!!!"). Todos los índices comienzan en 1 excepto para T2

Page 4: PROTOTIPO PARA LA GENERACIÓN AUTOMÁTICA …dep.fie.umich.mx/produccion_dep/media/pdfs/00245...de horarios; por ejemplo, no puede asignarse un aula a dos materias en el mismo horario

   

 

el cual comienza en 0, para simplificar los casos cuando un curso no tenga hora asignada el día viernes. Para almacenar la asignación de tareas y recursos, se hace uso de una matriz de 3 dimensiones llamada matriz objetivo (M). Esta matriz se usa para buscar espacios disponibles para alojar horarios y evitar el traslape [4]. M es una matriz de tamaño N!×N!×(N!" + N!"), donde la descripción de cada dimensión es: el eje x aloja los horarios, el eje y aloja los salones de clase, y el eje z aloja a los profesores. La combinación de (l!, r!, t1!, t2!) estará representada por dos celdas de M: M!,!,!" y M!,!,!", donde 1≤t1≤12 y 13≤t2≤24 para cada combinación de profesor-salón-horario1-horario2. H(X) es una función que regresa la penalización por violación de las restricciones duras, las cuales están representadas por:

1. Un salón de clases no puede ser asignado a más de un curso en el mismo día/hora.

2. Un profesor no puede ser asignado a más de un curso en el mismo día/hora. 3. El número de horas asignadas a cada profesor no puede exceder la cantidad de

horas que disponga el profesor. S(X) es una función que regresa la penalización de las restricciones débiles, las cuales están representadas por:

1. Verificar la disponibilidad del salón de clase (teoría o práctica). 2. Verificar el perfil del profesor. 3. Verificar los horarios preferidos por los profesores. 4. Verificar la capacidad del salón de clases. 5. Los salones deberán ser asignados consecutivamente sin hoyos en el horario. 6. El número de horas por semana asignadas a cada curso debe satisfacer las

horas del curso. La función objetivo minimiza la penalización de las restricciones duras y las restricciones débiles; las restricciones duras son forzosas y las débiles deberían de ser minimizadas [5]. La formulación matemática se representa por [6]: Determinar la asignación de [X!,!,!",!"]!!×!!×(!!"!!!") que minimice [5,6]: f x = H X +!

!!! S(X)!!!! (1)

Sujeto a: ∀j∈[1,NL], ∀k∈[1,NR], ∀l∈[1,NT1], ∀m∈[1,NT2], x!,!,!,! ∉ M!×!×(!"!!") (2) ∀j∈[1,NL], ∀k∈[1,NR], ∀l∈[1,NT1], ∀m∈[1,NT2], H(x!,!,!,!)!∈! = 0 (3)

Page 5: PROTOTIPO PARA LA GENERACIÓN AUTOMÁTICA …dep.fie.umich.mx/produccion_dep/media/pdfs/00245...de horarios; por ejemplo, no puede asignarse un aula a dos materias en el mismo horario

   

 

∀j∈[1,NL], ∀k∈[1,NR], ∀l∈[1,NT1], ∀m∈[1,NT2], S(x!,!,!,!)!∈! ≥ 0 (4) donde la restricción 2 previene el traslape entre profesores asignados, salones y horarios, la restricción 3 previene la violación de restricciones duras, y la restricción 4 son las restricciones débiles que pueden ser violadas.

Procedimiento para la Generación Automática de Horarios Académicos El procedimiento para la generación de horarios académicos está basado en un AE en este caso ED para la minimización de la función (1). Abajo se muestra el algoritmo de Evolución Diferencial en su versión DE/rand/1/bin.

Algoritmo 1. Evolución Diferencial: DE/rand/1/bin [1] En el algoritmo de Evolución Diferencial, P es la población, CR y F son parámetros definidos por el usuario. numero_generaciones y NP, son el número de generaciones y tamaño de población respectivamente. randint(min,max) es una función que retorna un

EvoluciónDiferencial() 1. t = 1 2. inicializar P(t) 3. evaluar P(t) 4. while t≤numero_generaciones do 5. for i=1 to NP do 6. seleccionar 3 individuos (x1,x2,x3) diferentes de P(t) de manera aleatoria 7. jrand = randint(1,D) 8. for j=1 to D do 9. if rand[0,1]<CR or j=jrand then 10. ui,j,t+1 = x3,j,t + F(x1,j-x2,j,t) 11. else 12. ui,j,t+1 = xi,j,t 13. end if 14. end for 15. if f( ui,t+1 )<=f(xi,t) then 16. xi,t+1 = ui,t+1 17. else 18. xi,t+1 = xi,t 19. end if 20. end for 21. t = t+1 22. end while  

Page 6: PROTOTIPO PARA LA GENERACIÓN AUTOMÁTICA …dep.fie.umich.mx/produccion_dep/media/pdfs/00245...de horarios; por ejemplo, no puede asignarse un aula a dos materias en el mismo horario

   

 

número entero aleatorio uniforme entre min y max, rand[0,1] es una función que devuelve un número aleatorio uniforme entre 0 y 1. D es la dimensionalidad. El siguiente algoritmo muestra el procedimiento denominado ITVMP, el cual toma como parámetros de entrada el conjunto de datos del caso de estudio y regresa el horario académico [6].

Algoritmo 2. Procedimiento ITVMP. Los conjuntos C, L, R, T1 y T2 (cursos, profesores, salones, horarios 1, horarios 2, respectivamente) son pasados como parámetros al procedimiento ITVMP, el conjunto soluciones es inicializado (línea 1), el espacio de búsqueda Ω es creado a partir de la unión de los conjuntos L, R, T1 y T2 (línea 2), se inicia un proceso iterativo para cada curso c del conjunto de cursos C (línea 3), se almacena el mejor individuo para dar solución al curso c (línea 4), el mejor_individuol,r,t1,t2 del proceso de DE se agrega al conjunto de soluciones (línea 5), las celdas de Ml,r,t1 y Ml,r,t2 son marcadas dentro de la matriz M como no disponibles; las celdas corresponden a mejor_individuol,r,t1,t2 (línea 6). El proceso continúa hasta que todos los cursos son cubiertos. Finalmente el conjunto de soluciones se regresa como dato de salida (línea 8).

Resultados Para llevar a cabo la experimentación se usaron los siguientes parámetros en la configuración de algoritmo ED:

Tabla 1. Configuración de parámetros del algoritmo ED. Parámetro Valor

Tamaño de la población (P) 100 Número de generaciones 500 Precisión 1x10-1 CR 0.82 F 0.8

ITVMP(C, L, R, T1, T2) 1. soluciones = {} 2. Ω = L ∪ R ∪ T1 ∪ T2 3. for c ∈ C do 4. mejor_individuo!,!,!",!" = EvolucionDiferencial() 5.      soluciones ⋃ mejor_individuo!,!,!",!" 6.        M ← mejor_individuo!,!,!",!" 7. end for 8. return soluciones  

Page 7: PROTOTIPO PARA LA GENERACIÓN AUTOMÁTICA …dep.fie.umich.mx/produccion_dep/media/pdfs/00245...de horarios; por ejemplo, no puede asignarse un aula a dos materias en el mismo horario

   

 

Para obtener resultados estadísticamente significativos, se realizaron 30 experimentos independientes y se reporta la media de dichos experimentos. La siguiente tabla muestra la media de las violaciones duras y débiles:

Tabla 2. Media de violaciones de restricciones duras y débiles. Restricciones duras (RD) Violaciones

RD 1 0 RD 2 0 RD 3 0 Total 0

Restricciones débiles (RE) RE 1 3.0 RE 2 9.46 RE 3 90.0 RE 4 0 RE 5 64.6 RE 6 0 Total 167.06

Como se puede observar en la tabla anterior, ninguna restricción dura fue violada mientras que 4 de las 6 restricciones blandas fueron violadas, el desempeño o fitness global del algoritmo DE fue de 452.0. Los resultados muestran un buen desempeño del algoritmo ED, debido a que se respetan por completo las restricciones duras y cómo era de esperarse, algunas de las restricciones débiles fueron violadas.

Conclusiones En este trabajo se presentó una posible solución al problema de generación automática de horarios académicos en universidades usando un enfoque basado en el algoritmo evolución diferencial. Para llevar a cabo la experimentación se propuso un caso de estudio particular. Los resultados también mostraron que el procedimiento, respetó las restricciones establecidas y obtuvo un buen desempeño. Como trabajo futuro se pretende generar horarios a partir de horarios parciales (establecidos). Otro trabajo interesante es una posible solución usando diferentes enfoques de Algoritmos Evolutivos.

Agradecimientos Los autores agradecen de manera especial al Instituto Tecnológico del Valle de Morelia por el apoyo en la provisión de la información necesaria para realizar los experimentos.

Page 8: PROTOTIPO PARA LA GENERACIÓN AUTOMÁTICA …dep.fie.umich.mx/produccion_dep/media/pdfs/00245...de horarios; por ejemplo, no puede asignarse un aula a dos materias en el mismo horario

   

 

Referencias [1] E. Mezura, J. Vazquez, and C. Coello A Comparative Study of Differential Evolution Variants for Global Optimization. Proceedings of the 8th Annual Conference on Genetic and Evolutionary Computation GECCO’06., pages 485–492, ACM, 2006. [2] B. Hegerty, C.C.. Hung, and K. Kasprak ’A comparative study on differential evolution and genetic algorithms for some combinatorial problems. 1st Workshop on Intelligent Methods in Search and Opti- mization., MICAI, 2009. [3] Storn, R., Price, K.: Differential evolution a simple and efficient heuristic for global optimization over continuous spaces. J. of Global Optimization 11(4) (1997) 341–359. [4] S. Lukas, A. Aribowo, and M. Muchri. Solving timetable problem by genetic algorithm and heuristic search case study: Universitas pelita harapan timetable. In O. Roeva, editor, Real-World Applications of Genetic Algorithms, volume 378, pages 303–316. InTech, 2012. [5] S. Abdullah, E. Burke, and B. McCollum. A hybrid evolutionary approach to the university course timetabling problem. In Evolutionary Computation, 2007. CEC 2007. IEEE Congress on, pages 1764–1768, Sept 2007. [6] N. Rodriguez, J. Martinez, J.J. Flores, and M. Graff. Solving a Scholar Timetabling Problem Using a Genetic Algorithm - Study Case: Instituto Tecnologico De Zitacuaro. In Proc. Thirteenth Mexican International Conference on Artificial Intelligence. MICAI 2014., pages 197–202, Nov 2014.