B ´usqueda tab ´u aplicada a un problema NP-Completo: Generaci´on de horarios en la DAIS

Texto completo

(1)

B ´usqueda tab ´u aplicada a un problema

NP-Completo: Generaci´on de horarios en la

DAIS

Oscar A. Ch´avez Bosquez, Guillermo de los Santos Torres, Jos´e Luis G´omez Ramos

Divisi´on Acad´emica de Inform´atica y Sistemas - Universidad Ju´arez Aut´onoma de Tabasco, Carretera Cunduac´an-Jalpa Km. 1, Cunduac´an, Tabasco, M´exico

{oscar.chavez, guillermo.delossantos, jose.gomez}@dais.ujat.mx

Resumen. Las metaheur´ısticas son m´etodos probabil´ısticos que han sido apli-cadas con ´exito en problemas para los cuales no existe un algoritmo que encuen-tre su soluci´on ´optima en tiempo razonable: los problemas NP-Completos. Un problema de esta categor´ıa es la generaci´on de horarios escolares, el cual gen-eralmente es un proceso tedioso y consumidor de recursos de diversa ´ındole, es-pecialmente de horas-hombre. Una instancia espec´ıfica de este problema ocurre cada semestre en la DAIS, en la cual existen diversas restricciones que compli-can su elaboraci´on manual. La b´usqueda tab´u es un algoritmo determin´ıstico que explora el espacio de soluciones m´as all´a del ´optimo local. Esta t´ecnica ha sido utilizada con ´exito en diversas universidades, obteni´endose resultados de buena calidad, seg´un pruebas de benchmarking internacionales.

Palabras clave. B´usqueda tab´u, generaci´on de horarios, metaheur´ısticas, NP-Completo.

1.

Introducci´on

(2)

id´onea para su implementaci´on en el problema de la generaci´on de ho-rarios escolares.

El proceso de generaci´on de horarios, al ser un problema com´un y recurrente, ha sido investigado exhaustivamente, desde los primeros in-tentos por parte de Gotlieb [8] hasta los propuestos en PATAT [15] se le ha dado soluci´on usando estrategias de investigaci´on de operaciones, heur´ısticas directas, programaci´on l´ogica, metaheur´ısticas, entre otras. De cualquier manera, cada estrategia de soluci´on es planteada desde una perspectiva diferente, particular a la instituci´on a la cual se est´a estu-diando ´o d´andole un enfoque propio al algoritmo utilizado. Un factor es importante, el modelar la soluci´on al problema es la parte m´as cr´ıtica en la creaci´on de una aplicaci´on de scheduling ´util, ya que el ingenio y el enfoque que se tengan del problema determinar´an el nivel de calidad de la soluci´on.

Debido a lo definido anteriormente, una situaci´on ideal para cualquier instituci´on que padezca esta problem´atica es contar con una soluci´on au-tomatizada que le ayude a resolver el problema con el menor consumo de recursos. Las ventajas de esto son perceptibles desde el punto de vista de recursos humanos (i.e. menos tiempo invertido en el proceso) y de la calidad de la soluci´on (i.e. se pueden obtener m´as soluciones y decidir la m´as conveniente).

2.

Complejidad computacional

Garey [5] menciona que la teor´ıa de la complejidad computacional, como parte de la teor´ıa de la computaci´on, estudia los recursos requeridos por un algoritmo para resolver un problema. Los recursos m´as estudiados son el tiempo, que se traduce en el n´umero de pasos de ejecuci´on de un algoritmo para resolver el problema y el espacio, que es la cantidad de memoria utilizada para resolver el problema. En este sentido, se pueden clasificar los problemas en tres clases: P, NP y NP-C.

2.1. Problemas P

(3)

2.2. Problemas NP

La clase de problemas para la que existe un algoritmo no determinista y cuyo tiempo de ejecuci´on es polinomial respecto al tama˜no de los datos de entrada se llama NP. Galve se˜nala que la importancia de esta clase de problemas de decisi´on es que contiene muchos problemas de b´usqueda y de optimizaci´on para los que se desea saber si existe una cierta soluci´on o si existe una mejor soluci´on que las conocidas.

Dada su importancia, se han hecho muchos esfuerzos para encontrar algoritmos que decidan alg´un problema de NP en tiempo polinomial. Sin embargo, pareciera que para algunos problemas de NP, los del conjunto NP-completo no es posible encontrar un algoritmo mejor que simple-mente realizar una b´usqueda exhaustiva.

2.3. Problemas NP-Completos

La clase de complejidad NP-Completo es el subconjunto de los prob-lemas de decisi´on en NP tal que todo problema en NP se puede reducir en cada uno de los problemas NP-Completos. Se puede decir que esta clase de problemas los m´as dif´ıciles en NP y muy probablemente no for-men parte de la clase de complejidad P [5]. La raz´on es que de tenerse una soluci´on polinomial para un problema de NP-Completo, todos los problemas de NP tendr´ıan tambi´en una soluci´on en tiempo polinomial.

[5] menciona que un algoritmo de fuerza bruta para problemas NP-Completos utiliza tiempo exponencial con respecto al tama˜no de la en-trada. Se desconoce si hay mejores algoritmos, por lo cual Cormen [2] se˜nala que para resolver un problema NP-Completo de tama˜no arbitrario se utiliza uno de los siguientes enfoques:

Aproximaci´on: Un algoritmo que r´apidamente encuentra una solu-ci´on no necesariamente ´optima, pero dentro de un cierto rango de error. En algunos casos, encontrar una buena aproximaci´on es sufi-ciente para resolver el problema, pero no todos los problemas NP-Completos tienen buenos algoritmos de aproximaci´on.

Probabilidad: Una algoritmo probabil´ıstico obtiene en promedio una buena soluci´on al problema planteado, para una distribuci´on de los datos de entrada dada.

(4)

3.

El problema de generaci´on de horarios

El problema de generaci´on de horarios consiste en relacionar un con-junto de profesores a un concon-junto de materias dentro de un periodo de tiempo fijo, regularmente una semana, satisfaciendo un conjunto de re-stricciones de diferente tipo. Encontrar una soluci´on de forma manual al problema requiere usualmente la intervenci´on de una o varias personas durante un cierto periodo de tiempo, y la soluci´on encontrada puede no ser la mejor, ya que puede no cumplir con una o m´as restricciones.

3.1. Tipos de restricciones

Larrosa [12] define el t´ermino restricciones como condiciones que debe satisfacer el horario generado, y las clasifica en dos tipos:

Restricciones duras: son propiedades espaciales o temporales. Toda restricci´on dura debe cumplirse, la violaci´on de alguna origina un horario no v´alido. Podemos clasificarlas como reglas que deben sat-isfacerse.

Restricciones suaves: Son restricciones que en realidad denotan pref-erencias del usuario (pol´ıticas flexibles) y se desea que se cumplan en la medida de lo posible. La violaci´on de algunas de ellas seguir´a pro-duciendo un horario v´alido, pero de menor calidad que si se cumpli-eran todas.

Cada instituci´on genera los horarios de clase de manera diferente, debido a diversas pol´ıticas institucionales: tipo de contrataci´on, proyec-tos de investigaci´on, asesor´ıas, labores administrativas, entre otras, que hacen variar el n´umero de restricciones que se deben satisfacer en la gen-eraci´on del horario.

(5)

de un problema de generaci´on de horarios puede ser muy diferente en su naturaleza. Algunas de ellas pueden ser f´acilmente formuladas en forma m´atematica, mientras que otras se expresan mejor en forma de proposi-ciones l´ogicas.

3.2. Definici´on formal del problema

Si tenemosmmateriasc1, ..., cm,nprofesorest1, ..., tn ypperiodos

de tiempo 1, ..., p, debemos obtener la matriz Rm∗n, llamada matriz de requerimientos, donderij es el n´umero de sesiones dadas por un profesor

tj de una materiaci.

El problema consiste en asignar sesiones a periodos de tal manera que ning´un profesor o materia se involucre en m´as de una sesi´on a la vez. Tambi´en se debe contemplar la no-disponibilidad de profesores y grupos. [17] propone la siguiente definici´on general del problema de generaci´on de horarios:

Encontrarxijk(i= 1, ..., m;j = 1, ..., n;k= 1, ..., p)sujeto a:

p

X

k=1

xijk =rij (i= 1, ..., m;j = 1, ..., n) (1)

n

X

j=1

xijk≤1 (i= 1, ..., m;k = 1, ..., p) (2)

m

X

i=1

xijk ≤1 (j = 1, ..., n;k = 1, ..., p) (3)

n

X

j=1

xijk ≤tik (i= 1, ..., m;k = 1, ..., p) (4)

m

X

i=1

xijk ≤cjk (j = 1, ..., n;k = 1, ..., p) (5)

xijk∈ {0,1} (i= 1, ..., m;j = 1, ..., n;k = 1, ..., p) (6)

(6)

3.3. Tipos de horarios

No hay una definici´on est´andar para el problema, ya que en cada in-stituci´on las reglas y los objetivos son diferentes. Un sinnumero de vari-antes del problema ha sido publicado en la literatura, los cuales difieren unos de otros basados en el tipo de instituci´on involucrada (universidad ´o preparatoria) y el tipo de restricciones. A continuaci´on se comentan las tres clasificaciones propuestas por Shaerf [17]:

Generaci´on de horarios escolar: Es la calendarizaci´on semanal de to-das las clases de una preparatoria ´o secundaria, evitando que los profe-sores se comprometan en dos clases al mismo tiempo y viceversa. Tam-bi´en se le conoce como modelo clase / maestro, en el cual existe una versi´on simplificada del problema, la cual indica que si existe ningu-na restricci´on el problema puede resolverse en tiempo polinomial. En la generaci´on de horarios escolares se debe tomar en cuenta la posibilidad de que un profesor o un grupo no se encuentren disponibles en un periodo de tiempo determinado, y con esta caracter´ıstica el problema se convierte en NP-Completo.

Generaci´on de horarios por curso: Se trata de la calendarizaci´on se-manal de todas las clases de un conjunto de asignaturas de una univer-sidad, minimizando el traslape de asignaturas que contienen estudiantes en com´un. La principal diferencia con el problema del apartado anteri-or consiste en que esta categanteri-or´ıa pueden existir estudiantes en com´un. Si dos cursos tienen estudiantes en com´un entonces se dice que est´an en conflicto, y no pueden ser calendarizados en el mismo periodo de tiempo.

Generaci´on de horarios por examen: Consiste en la calendarizaci´on de los ex´amenes de un conjunto de asignaturas de una universidad, y esparciendo los ex´amenes para los estudiantes lo m´as posible.

3.4. Formas de construir una soluci´on al problema

A grandes rasgos, existen tres maneras con las cuales se puede man-ufacturar una soluci´on al problema, a saber:

(7)

asignar estas materias a un espacio de tiempo. El proceso var´ıa de una instituci´on a otra, y generalmente requiere de varios d´ıas de trabajo. Como a˜nadidura, la soluci´on obtenida puede ser no satisfactoria con respecto a alguna restricci´on.

En el caso de la generaci´on de horarios interactiva, M¨uller [13] la de-fine como la existencia de una aplicaci´on con la cual una computado-ra realice el proceso, en combinaci´on con la intecomputado-racci´on del usuario. En este sentido el usuario puede guiar la b´usqueda hacia direcciones promisorias que el sistema por s´ı mismo no pueda ser capaz de de-ducir.

El proceso de la generaci´on de horarios por lotes lo realiza exclusi-vamente una computadora, funcionando como una caja negra en la cual un sistema automatizado explora el espacio de b´usqueda para encontrar una soluci´on satisfactoria.

4.

El problema en la Divisi´on Acad´emica de

Inform´atica y Sistemas

En el presente documento se estudia una instancia del problema de generaci´on de horarios en particular, el caso de la Divisi´on Acad´emica de Inform´atica y Sistemas (DAIS), una de las 11 divisones acad´emicas de la Universida Ju´arez Aut´onoma de Tabasco (UJAT). Se seleccion´o esta instituci´on debido a que no se cuenta con un sistema automatizado que realice el proceso de generaci´on de horarios, por lo que existe la oportu-nidad de realizar un estudio acerca de la situaci´on actual y proponer una soluci´on al problema. Actualmente en la DAIS el proceso de generaci´on de horarios consta de las siguientes fases:

1. Apertura / oferta de grupos.

2. Asignaci´on de materia(s) / profesor. 3. Generaci´on de la carga acad´emica.

(8)

y tratar de satisfacer un conjunto de restricciones espec´ıficas de tal man-era que se obtenga un horario de calidad en el cual se optimice el tiempo de los profesores, a la vez que se asegure que un profesor especializado en cierta ´area imparta una materia acorde a su experiencia.

Este proceso se elabora de manera manual, siendo dif´ıcil contemplar todas las restricciones inherentes al problema para tratar de satisfacerlas. Esto conlleva a que se aplique cierta cantidad de horas-hombre en su soluci´on, al no contarse con un sistema automatizado para dicha tarea.

4.1. Restricciones duras

En cuanto a las restricciones que se manejan en la divisi´on, podemos mencionar las restricciones duras que se han identificado hasta el mo-mento:

Un profesor no puede impartir diferentes materias en el mismo espa-cio de tiempo.

Un grupo no puede tomar dos o m´as materias en un mismo espacio de tiempo.

Debe existir la disponibilidad de grupos. Debe existir disponibilidad de profesores.

Algunos profesores no est´an disponibles en ciertas horas o d´ıas. Los l´ımites del horario van desde las 8:00 hasta las 14:00 horas en el turno matutino, y de 14:00 a 20:00 horas en el vespertino.

El horario a generar se denomina horario compacto, ya que no con-templa tiempos de receso ni espacios de tiempo entre la finalizaci´on de una clase y el comienzo de la siguiente.

Un profesor de tiempo completo debe impartir al menos 19 horas de clase.

Un profesor eventual debe impartir a lo m´as 19 horas de clase.

4.2. Restricciones suaves

En cuanto a las restricciones suaves encontradas, se contemplan las siguientes:

Preferencias de espacios de tiempo por parte de profesores. Preferencias de materias por parte de profesores.

(9)

El horario de clase de los profesores debe ser lo m´as compacto posi-ble, con un m´ınimo de espacios vac´ıos.

Existen asignaturas llamadas seriadas, las cuales son materias ligadas entre s´ı. Si una materia est´a seriada con otra, significa que no se puede cursar la primera si haber aprobado la segunda. Ser´ıa deseable calen-darizar dichas materias en el mismo espacio de tiempo, para reducir el riesgo de conflicto.

Dos materias de la misma ´area de conocimiento para un grupo es-pec´ıfico de preferencia calendarizarlas en d´ıas diferentes.

Contemplar el perfil de cada profesor: tiempo completo, medio tiem-po o asignatura, y las materias que desean.

Aunque no se especifica expl´ıcitamente, el proceso actual trata de satisfacer las preferencias de los profesores en lo posible, y los alumnos se deben ajustar a estas restricciones.

5.

B ´usqueda tab ´u

La b´usqueda tab´u es un procedimiento metaheur´ıstico dise˜nado para encontrar soluciones sub´optimas en problemas de optimizaci´on combi-natoria. Se trata de un algoritmo de b´usqueda local dise˜nado inicialmente por Glover [6], el cual es un procedimiento que explora el espacio de soluciones m´as all´a del ´optimo local. Para cualquier soluci´on se genera un conjunto de desplazamientos que definen su vecindario, y se selec-ciona el mejor de ellos para la siguiente iteraci´on. Para evitar que el pro-cedimiento iterativo entre en un bucle y se quede estancado en ´optimos locales, se mantiene en memoria el historial de la b´usqueda. Se suele dis-tinguir dos tipos de memoria: a corto plazo para los movimientos m´as recientes (la lista tab´u) y a largo plazo para la parte de la b´usqueda m´as distante.

5.1. La b ´usqueda tab ´u como metaheur´ıstica

(10)

5.2. Aplicaciones de la b ´usqueda tab ´u al problema de la generaci´on de horarios

Su versatilidad le hace una t´ecnica muy utilizada para resolver el problema. Como ejemplo se tiene el caso de estudio planteado por Kendall [10] donde se compara el resultado de un sistema automatizado contra el modelo manual habitual, Cardemil [1] lo utiliza para optimizar calen-darios deportivos, una variante del problema de la generaci´on de horar-ios. Di Gaspero [3] en su tesis doctoral propone el framework llama-do EasyLocal++, el cual implementa los procedimientos b´asicos de b´usqueda tab´u para ser utilizados en el problema de la generaci´on de ho-rarios. OpenTS [9] es una biblioteca que implementa el algoritmo de b´usqueda tab´u b´asico para poder ser utilizado en la soluci´on de cualquier problema de optimizaci´on.

Es notable su aplicaci´on en el problema de generaci´on de horarios, y una de las razones es debido a que se trata de una t´ecnica reciente en comparaci´on a las dem´as, y no se ha explorado por completo.

6.

Conclusi´on

Como menciona [17], cada escuela o universidad tiene su conjun-to espec´ıfico de reglas para el horario, especialmente las universidades, por lo tanto un programa escrito para crear el horario de una universi-dad dif´ıcilmente puede ser usado en otra instituci´on diferente. De igual forma, [10] menciona que las universidades deben desarrollar sus pro-pios sistemas automatizados ´o personalizar un sistema comercial para satisfacer sus necesidades y requerimientos espec´ıficos de generaci´on de horarios.

(11)

Especial atenci´on merece el dise˜no de la estrategia, ya que como se˜nala Kostuch [11], el uso de heur´ısticas para solucionar problemas de optimizaci´on debe ser cuidadosamente sintonizado de acuerdo al proble-ma a resolver, y esta sintonizaci´on se realiza a menudo bas´andose en la conjetura de que instancias del problema similares en tama˜no y estruc-tura poseen una dificultad similar. Desafortunadamente, especialmente en problemas basados en restricciones, se ha probado que problemas de tama˜no y estructura similares no son similares en dificultad.

En general, el problema de generaci´on de horarios en la UJAT se puede considerar como rico en restricciones, ya que el proceso involucra una serie de condiciones espec´ıficas que podr´ıan no manejarse en otras instituciones, como el tipo de contrataci´on, desarrollo de proyectos de in-vestigaci´on, labores administrativas, entre otras, que convierten en ´unico al problema en la instituci´on.

Referencias

1. A. Cardemil. Estado del arte y un algoritmo tabu search para el traveling tournament prob-lem. Master’s thesis, Universidad de Buenos Aires, 2002.

2. Leiserson C. Rivest R. y Stein C. Cormen, T. Introduction to algorithms. The MIT Press, McGrawHill, 2001.

3. L. Di Gaspero. Local search techniques for scheduling problems. PhD thesis, Univer-sit´a Degli Studi Di Udine, 2002.

4. Gonz´alez J. S´anchez A. y Vel´asquez J. Galve, J. Algoritmica. Dise˜no y an´alisis de algoritmos

funcionales e imperativos. Addison Wesley Iberoamericana, 1993.

5. M. Garey. Computers and intractability. A guide to the Theory of NP-Completeness. Bell Telephone Laboratories, 1979.

6. F. Glover. Tabu search - part i. ORSA Journal on Computing, 1989.

7. F. Glover. Tabu search. modern heuristics techniques for combinatorial porblems. Blackwell

scientific Publishing, 1993.

8. C. Gotlieb. The construction of class-teacher timetables. IFIP Congress, 1963.

9. R. Harder. Opents - java tabu search. 2001. http://opents.iharder.net (Visitado en junio de 2005).

10. N. Kendall, G. y Mohd. Tabu search hyper-heuristic aproach to the examination timetabling problem at university technology mara. Practice and Theory in Automated Timetabling, 2004.

11. P. Kostuch. Hardness prediction for the university course timetabling problem. Proceedings

of the Evolutionary Computation in Combinatorial Optimization (EvoCOP 2004), 2004.

12. P. Larrosa, J. y Meseguer. Restricciones blandas: modelos y algoritmos. Revista

Iberoamer-icana de Inteligencia Artificial no. 20, 2003.

13. R. M¨uller, T. y Bart´ak. Interactive timetabling. Grant Agency of the Czech Republic, 2001. 14. MNP. Metaheuristics network project. 2004. http://www.metaheuristics.org (Visitado en

abril de 2005).

(12)

16. Ochi L. Souza M. Santos, H. A tabu search heuristic with efficient diversification strategies for the class/teacher timetabling problem. Practice and Theory in Automated Timetabling, 2004.

17. A. Schaerf. A survey of automated timetabling. Technical report, 1995.

Figure

Actualización...

Referencias

Actualización...

Related subjects :