31 EXPERIENCIAS DE UTILIZACIÓN DEL MÉTODO DE

Anuncio
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
Descargar