Docencia de Matemáticas en la Economía y la Empresa EXPERIENCIAS DE UTILIZACIÓN DEL MÉTODO DE BÚSQUEDA TABU EN LA RESOLUCIÓN DE PROBLEMAS DE ORGANIZACIÓN UNIVERSITARIA R. Álvarez-Valdés1 E. Crespo2 J.M. Tamarit1 (1) Dep. d’Estadística i Investigació Operativa (2) Dep. d’Economia Financera i Matemàtica Universitat de València Resumen: A lo largo de los 10 últimos años hemos trabajado en problemas de organización académica de grandes dimensiones. En problemas universitarios hemos tratado la confección de calendarios de exámenes, la asignación de estudiantes a grupos vinculada al problema de la automatrícula y también la confección de horarios. Todos estos problemas son difíciles (NP-hard) por lo que en todos los casos los algoritmos de resolución implementados han sido complejos y basados en procedimientos adaptados a cada problema. Sin embargo, en todos ellos el método de Búsqueda Tabú (Tabu Search) ha constituído el elemento esencial en la obtención de buenas soluciones. En el presente trabajo exponemos algunas enseñanzas de estas experiencias. Tanto aquellos elementos que se han mostrado útiles en el conjunto de los problemas como los que han mostrado una validez diferente en los diversos casos planteados. Asimismo se examinan diferentes posibilidades de uso de los elementos del Tabú y se exponen conclusiones. Palabras clave: timetable, timetabling, scheduling. 31 Álvarez-Valdés R., Crespo E., Tamarit J.M. 1.- INTRODUCCIÓN Hay diversas maneras de clasificar los problemas de organización académica pero la de Carter y Laporte [4] es muy clara. Señalan 5 subproblemas diferentes: 1. La asignación de lecciones a horas (Course Timetabling). 2. Los horarios de enseñanza secundaria (Class-Teacher Timetabling). 3. La asignación de alumnos a grupos1 (Student Scheduling). 4. La asignación de profesores a grupos (Teacher Assignment). 5. La asignación de aulas a lecciones (Classroom Assigment). A los cinco problemas referidos a los horarios hay que añadir un sexto también presente en casi todas las instituciones académicas. Se trata del problema de 6. Los calendarios de exámenes (Examination Timetabling) Frecuentemente aparecen mezclados en las situaciones reales planteadas, pero en todos los centros de enseñanza está presente siempre alguno de los dos primeros. El Course Timetabling es el que más frecuente en las universidades españolas mientras que el Class-Teacher Timetabling, en el que los grupos de alumnos son estables, responde bastante bien a nuestro modelo de enseñanza secundaria. Hemos abordado todos estos problemas excepto el de asignación de profesores a grupos (Teacher Assigment) debido a que en nuestra universidad ésto compete a los departamentos. Son todos difíciles (NP-hard) y en la resolución de los mismos hemos utilizado métodos ajustados a cada uno de ellos. Sin embargo, en todos nuestros trabajos el procedimiento central ha estado basado en el método de Busqueda con Listas Tabú (Tabu Search). Aquí exponemos una síntesis de nuestras experiencias en la implementación del Tabu Search solamente en los problemas universitarios. No incluímos, pues, el ClassTeacher Timetabling debido a que tiene elementos diferentes. El problema del Classroom Assigment no se ha abordado por separado sino incluído en el problema más general del Course Timetabling. 32 Docencia de Matemáticas en la Economía y la Empresa 2.- LOS ELEMENTOS DE ESTOS PROBLEMAS En este apartado describiremos los elementos comunes al conjunto de los problemas de organización académica en la universidad con la finalidad de evitar confusiones en la nomenclatura. Debido al espacio disponible no podemos exponer los objetivos y restricciones de cada uno de ellos, por lo que los suponemos conocidos debido a la pertenencia a la comunidad universitaria de la mayoría de los aquí participantes, a que el Student Assigment y el Course Timetabling fueron expuestos en las V y VII Jornadas de Asepuma respectivamente, a la existencia de literatura suficiente sobre los mismos y, sobretodo, al hecho de que el trabajo esté orientado a la técnica del Tabu Search y no a los aspectos concretos de cada uno de los problemas. Los elementos principales que suelen aparecer, aunque no estén presentes en todos, son los siguientes: - Un conjunto de asignaturas. Cada asignatura tiene una cantidad de horas semanales que pueden impartirse en una o varias sesiones durante la semana. - Cada asignatura puede contener varios grupos de estudiantes que reciben las lecciones de esta asignatura por separado. - Un conjunto de lecciones, que son cada una de las diferentes sesiones que un profesor imparte a un grupo de alumnos. - Un conjunto de estudiantes matriculados en las diversas asignaturas. - Un conjunto de agrupaciones. Están formadas por conjuntos de grupos que los planificadores creen que han de corresponder a un conjunto bastante estable de estudiantes y, por tanto, no han de tener incompatibilidades horarias. - Un conjunto de profesores. - Un conjunto de aulas que pueden ser de diferentes tipos según el uso al que se dediquen (normales, de informática, laboratorios...). La aulas tienen una capacidad máxima que no podrá ser rebasada. - Una periodo de programación, normalmente una semana excepto en el caso del Examination Timetabling, formado por un conjunto de días divididos en la misma cantidad de períodos, todos ellos de la misma duración. 1 Es equivalente a la confección del horario personal de los estudiantes. 33 Álvarez-Valdés R., Crespo E., Tamarit J.M. Es necesario decir que los diferentes problemas, aunque compartan elementos comunes y algunos objetivos secundarios, tienen objetivos principales diferentes. 3.- EXPERIENCIAS DE LA APLICACIÓN DEL TABU SEARCH El Tabu Search es un metaheurístico sobre el que han aparecido gran número de artículos y trabajos aplicados a los más diversos aspectos de la Investigación Operativa. El mejor compendio del método se puede encontrar en el libro sobre el mismo de Glover y Laguna [6]. Exponemos en esta sección las características de los procedimientos Tabú utilizados, cuales han tenido éxito, comparaciones entre diversas posibilidades, así como algunas de las diferentes estrategias implementadas. Para mayor claridad la clasificación se ha hecho en función de los diversos elementos del Tabú a los que hacen referencia o de las estrategias de búsqueda. Inicio del proceso: Debido a las características de los métodos Tabú todos los algoritmos requieren una primera fase donde se construya una solución inicial desde donde empezar la búsqueda. Los procedimientos usados pueden ser tanto métodos constructivos, más o menos elementales, como otros más complejos para generar un subespacio de soluciones posibles al cual limitar la búsqueda. A) Respecto a los elementos del procedimiento tabú El espacio de soluciones: Siempre que sea posible el espacio de soluciones debe estar formado por soluciones factibles. Si no es así hay que disponer de medios sencillos para recuperar la factibilidad. Es muy importante analizar cuidadosamente las condiciones de factibilidad. Hay restricciones claramente duras como “todas las lecciones tienen que estar asignadas a un periodo”. Pero otras son duras o blandas según el problema concreto. Así “tener dos lecciones simultáneas” es dura para los profesores, pero puede ser blanda cuando 34 Docencia de Matemáticas en la Economía y la Empresa confeccionamos horarios personales de los estudiantes si no es posible evitar las simultaneidades. En estos casos, las consideramos solamente objetivos deseables y las incluímos en la función objetivo con un peso que evite su violación. Si planteamos demasiadas restricciones duras haremos muy difícil, si no imposible, el movimiento y reduciremos la eficiencia del proceso de búsqueda. La función objetivo: Estos problemas tiene muchos objetivos que se incluyen en la función y que requieren una cierta ponderación entre ellos. Estos pesos suelen provenir de consultas realizadas a las personas implicadas y, a veces, las aplicaciones informáticas permiten que se modifiquen con un cierto grado de interactividad. - Unas veces la ponderación pueden ser estática de manera que permanece durante todo el proceso. - Otras veces la función puede ser dinámica de manera que los pesos varian durante el proceso. Nuestras experiencias sobre estas variaciones se explican brevemente en el apartado sobre oscilación estratégica. El entorno: El entorno de las soluciones, y sus movimientos derivados, es uno de los elementos más importantes a definir porque de él depende, en buena medida, la capacidad del algoritmo para buscar eficientemente la solución. El tipo de movimiento que hemos de definir en cada caso depende de la estructura del espacio de soluciones delimitado por las restricciones duras. - Un movimiento sencillo puede consistir en cambiar la ubicación de un item como es el traslado de un examen o una lección de un período a otro. Estos sirven para problemas sencillos o para combinar con otros más complejos. - Un movimiento más complicado es el intercambio donde dos items intercambian sus posiciones. Es útil cuando se dispone de recursos escasos (por ejemplo, aulas) porque el recurso liberado por uno puede ser utilizado por el otro. Un buen ejemplo puede ser dos lecciones que intercambian periodos y las aulas que compartían en ellos. 35 Álvarez-Valdés R., Crespo E., Tamarit J.M. - Si estos movimientos no son suficientes hay que definir otros de mayor complejidad. Un ejemplo podria ser un multiintercambio. Es útil cuando hay actividades de diversa duración y el traslado de la más larga a otros periodos exige desalojar varias actividades de duración menor. Figura 1: Esquema de los movimientos Desde nuestra experiencia podemos afirmar que movimientos más sofisticados y ajustados a la naturaleza del problema nos han proporcionado mejores soluciones. El criterio de aspiración: Siempre nos ha funcionado bien un criterio elemental como es “si un movimiento produce una solución mejor que cualquier otra obtenida hasta el momento lo efectuamos aunque sea tabú”. 36 Docencia de Matemáticas en la Economía y la Empresa La selección del movimiento a realizar: Para determinar que elemento mover y en que dirección hemos utilizado diversos procedimientos según el problema a resolver. 1. En algunos casos de entornos pequeños ha sido posible explorar todo el entorno. Es el caso de la permutación de listas de exámenes (los exámenes a realizar en un día determinado) entre dos períodos. 2. Otras veces hemos seguido un criterio jerárquico de rápida aplicación. Para elegir el examen a cambiar de periodo buscamos el periodo con más conflictos entre sus exámenes y movemos el más conflictivo de todos ellos. 3. En otros casos hemos confeccionado listas de candidatos a ser movidos. Los resultados no han sido homogéneos. Unas veces, han mejorado la búsqueda. En otras han producido peores resultados que una elección aleatoria. Un caso donde han funcionado bien las listas de candidatos es en la asignación de alumnos a grupos[2]. Aquí cada punto del espacio es un conjunto que contiene un horario personal para cada estudiante (una asignación completa de un estudiante a sus grupos). En primer lugar, generamos una lista de candidatos. Si la solución vigente no tiene conflictos de capacidad en los grupos, dentro de las tolerancias permitidas, todos los estudiantes están en la lista. En caso contrario, formamos la lista con los estudiantes implicados en violaciones de capacidad. A continuación elegimos aleatoriamente un estudiante de la lista y efectuamos su mejor movimiento posible. En el Course Scheduling el procedimiento es diferente. Si la solución tiene conflictos de simultaneidad entre dos lecciones de una misma agrupación, estas lecciones forman parte de la lista. Si no hay conflictos, están en la lista todas aquellas lecciones que al salir del periodo donde estan ubicadas mejoran la función objetivo. Elegimos al azar una lección de la lista y estudiamos su mejor movimiento. En este problema comprobamos que la media de las soluciones obtenidas con una elección aleatoria pura era un 7% mejor que con la lista de candidatos. En la figura 2 tenemos un ejemplo concreto de la evolución de las soluciones con las dos estrategias. Aunque el procedimiento con lista de candidatos proporciona mejores soluciones inicialmente, a largo plazo es superado por el procedimiento totalmente aleatorio. Sin em- 37 Álvarez-Valdés R., Crespo E., Tamarit J.M. bargo, a esta última estrategia le cuesta muchas iteraciones (12000 en el ejemplo) conseguir una solución sin lecciones simultáneas dentro de las agrupaciones y esto es inadmisible para una solución aceptable. Por tanto, en problemas de gran complejidad o donde no podemos permitirnos muchas iteraciones no podemos usar este procedimiento. Figura 2: Evolución de la función con y sin lista de candidatos El método definitivamente utilizado para la aplicación real ha sido una estrategia mixta donde se usa la lista de candidatos hasta conseguir una solución sin conflictos y a partir de ese momento actúa un procedimiento totalmente aleatorio. B) Respecto a las estrategias de búsqueda Describimos a continuación las estrategias que hemos aplicado en nuestro trabajo. La intensificación: El método de descenso es un procedimiento de intensificación intrínseco al Tabu Search. Otro es el ya explicado del uso de listas de candidatos que restringe la búsqueda a las soluciones más prometedoras para acelerar la mejora de la función objetivo. 38 Docencia de Matemáticas en la Economía y la Empresa Un último método que hemos utilizado es la recuperación de la mejor solución vigente, cuando han pasado un cierto número de iteraciones sin mejorar, para reiniciar la búsqueda desde ella. La utilización de este procedimiento en el Course Scheduling nos permitió mejorar ligeramente las soluciones. La diversificación: Una de las estrategias de diversificación que hemos usado consiste en alternar dos tipos diferentes de movimientos en el mismo proceso. Por ejemplo, en el Exams Timetabling combinamos movimentos que afectan a exámenes individuales (movimientos simples o también intercambios) con movimientos que afectan a todos los exámenes de un período permutandolos globalmente por los de otro periodo. Cada uno de estos movimientos, considerado individualmente, practica una búsqueda intensiva, pero en conjunto permiten explorar regiones muy diferentes del espacio de soluciones. Otra estrategia de diversificación utilitzada ha sido la oscilación estratégica que describimos a continuación. La oscilación estratégica: Hemos hecho dos tipos de oscilación estratégica. En el Course Scheduling dirigimos el proceso hacia nuevas regiones mediante la variación cíclica de los pesos. En concreto, anulamos durante un cierto número de iteraciones el peso correspondiente a cada uno de los objetivos (sobre agrupaciones, profesores, alumnos y aulas). Los resultados computacionales nos muestran una ligera mejoría de las soluciones cuando aplicamos esta estrategia. Un procedimiento diferente fue el utilizado en el Student Scheduling donde la función objetivo ∑∑c i∈ I k ∈ K i ik xik + P * ∑ e j j∈ J tiene un primer término que refleja la calidad individual de los horarios personales de cada estudiante y un segundo que valora el equilibrio entre los diversos grupos de una misma asignatura. La importancia relativa del segundo término está controlado por el parámetro P. No es sencillo estimarlo a priori para un caso concreto. Si es demasiado alto, la búsqueda se enfocará hacia soluciones que respeten el equilibrio entre los grupos 39 Álvarez-Valdés R., Crespo E., Tamarit J.M. en detrimento de la calidad de los horarios individuales. Por contra, si es demasiado bajo las soluciones visitadas no lograrán equilibrar los grupos dentro de las tolerancias prefijadas. La forma de ajustar su valor será iterativa de acuerdo con el proceso de oscilación que apuntamos a continuación y que se puede comprender mejor observando la figura 3. Figura 3: Relación entre las iteraciones y el valor de la penalización El valor de P es muy pequeño inicialmente. Los movimientos realizados con bajos valores de P deterioran muy poco los horarios individuales pero no nos aproximan al equilibrio. Cuando durante un número de iteraciones no avanzamos hacia una solución equilibrada aumentamos ligeramente el valor de P. Cuando conseguimos mejorar el equilibrio con un valor del parámetro determinado suponemos que es improbable, pero no imposible, que existan soluciones de la misma calidad para valores inferiores. Por eso hacemos oscilar el valor de P alrededor del vigente para hacer una exploración más exhaustiva y conseguir soluciones mejores. Como no podemos hacer crecer indefinidamente P usamos un estimador indirecto. Si después de tres incrementos de su valor no nos hemos mejorado el equilibrio consideraremos que no vale la pena seguir aumentandolo y nos centraremos en buscar mejores valores de la función objetivo global. 40 Docencia de Matemáticas en la Economía y la Empresa 4.- CONCLUSIONES Para conseguir buenas soluciones en los problemas complejos se han de explorar los diferentes elementos y estrategias de que dispone el Tabu Search. Quiere decir esto que una implementación eficiente no se puede reducir a un movimiento simple y un proceso de intensificación. Para cada problema es necesario estudiar sus características especiales y combinar estrategias variadas. No existen fórmulas generales sino procedimientos ajustados a cada tipo de problema. Nuestra experiencia en estos años aplicando Tabu Search a problemas de organización académica nos permite afirmar que es una técnica potente para resolver esta clase de problemas y que produce resultados de alta calidad para instancias de grandes dimensiones. Además el Tabu Search, como armazón heurístico, es muy flexible y puede adaptarse a con éxito a una amplia gama de problemas. 5.- REFERENCIAS [1] Alvarez-Valdés., Crespo y Tamarit. (1997). “A Tabu Search Algorithm for Scheduling University Examinations”. Questiio Nº 21, pp. 201-215. [2] Alvarez-Valdés., Crespo y Tamarit. (1997). “Automatrícula por ordenador y calidad de horarios para los estudiantes”. Proceedings de las V Jornadas de Asepuma – Málaga. [3] Alvarez-Valdés., Crespo y Tamarit. (1999). “HORARIS: un paquete informático para confeccionar horarios de universidad”. Proceedings de las VII Jornadas de Asepuma – Valencia. [4 ] Carter y Laporte. (1997). “Recent developments in practical course timetabling”. Practice and Theory of Automated Timetabling II. Eds., Burke,E. and Carter,M. , Springer-Verlag. Lectures Notes in Computer Sciencie Nº 1408, Berlin, pp. 3-19 [5] Crespo, E. (1999). “Un sistema informàtic per a la construcció d’horaris i l’assignació d’aules a la Universitat de València”. Tesis Doctoral. Universitat de València. [6] Glover y Laguna. (1997). Tabu Search. Kluwer Academic Publishers. [7] Kelly, Golden y .Assad. (1993). “Large-scale controled rounding using tabu search with strategic oscillation”. Annals of Ops. Res. Nº 41. pp. 69-84. 41