Proyecto Final de Carrera - Francisco Vázquez Delgado 2012
40 Escuela Técnica Superior de Ingenieros
Universidad de Sevilla
5. ALGORITMO BÚSQUEDA TABÚ
La búsqueda Tabú se origina tras intentar dar “inteligencia” a los algoritmos
basados en la búsqueda local. Fred Glover fue el primero que la definió, “La
búsqueda tabú conduce un procedimiento de búsqueda local para explorar el
espacio de soluciones alternativas al óptimo local”.
La Inteligencia Artificial proporciona a la búsqueda tabú el uso de “memoria”,
la cual es implementada a partir de estructuras simples para lograr direccionar
la búsqueda contando con la historia de la memoria. El procedimiento extrae
información de lo que sucedió anteriormente y actúa en consecuencia. Debido a
esto, se dice que existe aprendizaje y que es una búsqueda inteligente.
La búsqueda tabú permite trasladarse a soluciones que no sean tan buenas
como la actual, de este modo puede escapar de óptimos locales para continuar
estratégicamente buscando soluciones aún mejores [6].
5.1. Desarrollo histórico
El origen de la Búsqueda Tabú (Tabú Search) data de finales de los 70. Fred
Glover introdujo oficialmente el nombre y su metodología en dos artículos en
1989 [12].
En palabras de Glover:
“La búsqueda tabú tiene sus orígenes en procedimientos
combinatorios aplicados a problemas de cubrimiento no
lineales en los finales de los años 70 y aplicada
subsecuentemente a una diversa colección de problemas
que van desde secuenciación y balance de canales de
computación hasta análisis de clusters y planeamiento de
espacio”
El término tabú (taboo) procede de la Polinesia [10], donde los aborígenes de la
isla Tonga usan el término cuando se refieren a elementos que no se pueden
tocar porque son sagrados. Una definición más moderna es: “Una prohibición
impuesta por costumbres sociales como una medida de protección”, y también
como “marcada como que constituye un riesgo”, esta acepción es la que está
más cerca de la esencia del método donde el riesgo a ser evitado es el de seguir
Proyecto Final de Carrera - Francisco Vázquez Delgado 2012
41 Escuela Técnica Superior de Ingenieros
Universidad de Sevilla
un camino no productivo, incluyendo el de ser conducido a una trampa de la
que no se puede salir (óptimo local).
5.2. Definiciones
Se presentan primero algunos conceptos propios de los métodos de búsqueda y
luego los conceptos específicos de la búsqueda tabú.
Conceptos de los métodos de búsqueda:
Dado un problema P de optimización combinatoria utilizaremos x para
denotar el conjunto de soluciones posibles del problema y c para la
función objetivo.
Cada solución tiene un conjunto de posibles soluciones asociadas, que se
denomina entorno o vecindario de x y se denota como N(x).
Cada solución del entorno puede obtenerse directamente a partir de x
mediante una operación llamada movimiento.
La solución Inicial xo dependerá del algoritmo específico que la genera, se
puede usar una heurística para proporcionar una buena solución inicial o se
puede partir de una solución obtenida aleatoriamente, lo usual es utilizar el
conocimiento que se tiene de dónde podría haber una buena solución, pero, si
no se tiene ninguna información puede partirse de cualquier valor y mejorarlo
en el proceso de solución.
Un procedimiento de búsqueda local parte de una solución inicial xo, calcula su
vecindario N(xo) y escoge una nueva solución x1 en ese vecindario, de acuerdo a
un criterio de selección pre establecido. Es decir, realiza un movimiento que
aplicado a xo da como resultado x1, este proceso se realiza reiteradamente.
Se pueden definir diferentes criterios para seleccionar una nueva solución del
entorno. Uno de los criterios más simples consiste en tomar la solución con
mejor evaluación de la función objetivo, siempre que la nueva solución sea
mejor que la actual. Este criterio, conocido como greedy (voraz, goloso), permite
ir mejorando la solución actual mientras se pueda.
Como especifica Martí [19] “El óptimo local alcanzado no puede mejorarse
mediante el movimiento definido. Sin embargo, el método empleado no
Proyecto Final de Carrera - Francisco Vázquez Delgado 2012
42 Escuela Técnica Superior de Ingenieros
Universidad de Sevilla
permite garantizar, de ningún modo, que sea el óptimo global del problema.
Más aún, dada la “miopía” de la búsqueda local, es de esperar que en
problemas de cierta dificultad, en general no lo sea.”
El algoritmo se detiene cuando la solución no puede ser mejorada o cuando se
cumple el criterio de parada. El riesgo que se corre es el de haber encontrado
una solución óptima local, no la solución global del problema dada la “miopía”
del método utilizado.
Al aplicar un método de búsqueda cualquiera pueden presentarse dos
problemas:
1. El algoritmo puede ciclar, revisitando soluciones ya vistas, por lo que
habría que introducir un mecanismo que lo impida.
2. El algoritmo podría iterar indefinidamente, por lo que se establece un
criterio de parada.
Esta limitación de los métodos de búsqueda es el punto de inicio de muchas de
las técnicas metaheurísticas, entre ellas la Búsqueda Tabú.
5.3. Conceptos de la búsqueda tabú
La búsqueda tabú puede ser aplicada directamente a expresiones verbales o
simbólicas, sin necesidad de transformarlas a expresiones matemáticas, el
requerimiento x∈S (x es una solución factible) puede, por ejemplo, especificar
condiciones lógicas o interconexiones que pueden ser difíciles de expresar
matemáticamente por lo tanto será mejor dejarlas como expresiones verbales y
codificarlas como reglas. Una solución pertenece al conjunto de élite
dependiendo de su puntaje, (threshold) el cual está relacionado con la función
objetivo de la mejor solución encontrada durante la búsqueda, un óptimo local
pertenece al conjunto de élite.
La característica que distingue a la Búsqueda Tabú de las otras metaheurísticas
de búsqueda es el uso de la memoria la cual tiene una estructura basada en una
lista tabú y unos mecanismos de selección del siguiente movimiento.
La lista tabú es una lista (linked list) en el contexto computacional [5], donde se
registran aquellas soluciones o atributos de soluciones que no deben ser
elegidas.
Una forma sencilla de construir una lista tabú consiste en que cada vez que se
realiza un movimiento, se introduce su inverso (si se pasó de xo a x1 , el inverso
Proyecto Final de Carrera - Francisco Vázquez Delgado 2012
43 Escuela Técnica Superior de Ingenieros
Universidad de Sevilla
es x1 a xo) en una lista circular, de forma que los elementos de dicha lista están
penalizados durante un cierto tiempo.
Por tanto, si un movimiento está en la lista tabú no será aceptado, aunque
aparentemente sea mejor solución que la solución actual.
La lista tabú puede contener:
Soluciones visitadas recientemente
Movimientos realizados recientemente o
Atributos o características que tenían las soluciones visitadas.
El tamaño de la lista tabú (tabu tenure) es el tiempo o número de iteraciones
que un elemento (movimiento o atributo) permanece en la lista tabú. Si todos
los elementos tienen la misma “tenure”, ésta estará identificada por la longitud
de la lista tabú, sin embargo si es variable, todos los elementos de la lista tabú
no tendrán la misma “tenure”, un elemento que entró a la lista tabú antes que
otro podría salir mucho después. Esto es, por ejemplo si existiesen dos tipos de
movimientos, denominados tipo 1 y tipo 2, si un movimiento tipo 1 tiene
asociada una “tenure” de 5 y entra a la lista tabú en la iteración 30, (saldrá en la
iteración 35) y si un movimiento tipo 2 tiene asociada una “tenure” de 2 y entra
a la lista tabú en la iteración 31, saldrá de la misma en la iteración 33, entró
después, pero sale antes.
Por ejemplo si se está construyendo un árbol en un grafo, se parte de un nodo y
se van agregando nodos (con su consiguiente arista), después de algunas
iteraciones puede necesitarse retirar una arista (con su correspondiente nodo),
se tienen pues dos tipos de movimientos: agregar una arista (tipo 1) y retirar
una arista (tipo 2). Cuando una arista se agrega al árbol se hace una entrada a la
lista tabú que penaliza su salida durante k1 iteraciones, análogamente cuando
sale se hace una entrada en la lista tabú que penaliza su entrada durante k2
iteraciones, como hay más aristas fuera del árbol que en él, se ve razonable
implementar una estructura tabú que mantenga a una arista recientemente
retirada con la condición tabú más tiempo (para dar oportunidad a otras
aristas) que a una arista recientemente agregada [10].
Al igual que las costumbres sociales pueden cambiar con el tiempo, las
soluciones tabú pueden dejar de serlo sobre la base de una memoria cambiante.
Debe haber una forma de “olvido estratégico”, es decir, que una solución o
atributo pueda salir de la lista tabú antes de que se cumpla su plazo.
Proyecto Final de Carrera - Francisco Vázquez Delgado 2012
44 Escuela Técnica Superior de Ingenieros
Universidad de Sevilla
Esto se implementa a través del Criterio de Aspiración, el cual permite que un
movimiento sea admisible aunque esté clasificado como tabú.
Las aspiraciones son de dos clases:
aspiraciones de movimiento.
aspiraciones de atributo.
Una aspiración de movimiento, cuando se satisface, revoca la condición tabú
del movimiento. Una aspiración de atributo, cuando se satisface revoca el status
tabú del atributo. En éste último caso el movimiento puede o no cambiar su
condición de tabú, dependiendo de sí la restricción tabú puede activarse por
más de un atributo.
Se pueden tener los siguientes criterios de aspiración:
Aspiración por Default: Si todos los movimientos posibles son
clasificados como tabú, entonces se selecciona el movimiento “menos
tabú”, es decir, si el movimiento m1 está penalizado en la lista tabú
durante 2 iteraciones más y m2 está penalizado durante 1, m2 es menos
tabú que m1.
Aspiración por Objetivo: Una aspiración de movimiento se satisface,
permitiendo que un movimiento x sea un candidato para seleccionarse
si, por ejemplo, F(x) < mejor costo (en un problema de minimización).
Aspiración por Dirección de Búsqueda: Un atributo de aspiración para la
solución “s” se satisface si la dirección en “s” proporciona una mejora y
el actual movimiento es un movimiento de mejora. Entonces “s” se
considera un candidato.
Se define el concepto de movimiento por ser esencial para comprender el
método de Búsqueda Tabú [12].
Sea la función objetivo de un problema P de optimización combinatoria
Minimizar c(x) : x ∈ X en Rn
Donde X es el conjunto de soluciones factibles (discreto)
Proyecto Final de Carrera - Francisco Vázquez Delgado 2012
45 Escuela Técnica Superior de Ingenieros
Universidad de Sevilla
Para resolver P se puede establecer convenientemente una secuencia de
movimientos que llevan de una solución tentativa a otra.
Se define un movimiento “s” como el mapeo definido en un subconjunto X(s)
de X, s: X(s) → X
Por ejemplo si el algoritmo está en el nodo i, (la solución factible i) los
movimientos posibles son aquellos arcos que unen el nodo i con alguno de sus
nodos adyacentes (otras posibles soluciones que se derivan de la solución i).
A x ∈ X está asociado el conjunto N(x) (vecindario o entorno) el cual contiene
los movimientos s ∈ S que pueden ser aplicados a x, es decir:
N(x) = {s ∈ S: x ∈ X(s)}
En la i-ésima iteración, para evolucionar hacia otras soluciones, se selecciona
éstas en un entorno N(xi), pero que no estén en la lista Tabú: (N(xi) – {Lista
Tabú}), evaluando cada una de las soluciones y quedándose con la mejor (que
obviamente no es tabú).
Para realizar una búsqueda completa, es deseable que el tamaño del entorno no
sea elevado. Si se considera un entorno de tamaño grande, con objeto de reducir
el tiempo de computación, se puede realizar la búsqueda en un subconjunto
tomado aleatoriamente.
Supongamos que el vecindario que se debe evaluar para determinar el siguiente
movimiento es “grande” y es muy costoso en términos de tiempo de
computación evaluar todos y cada uno de los vecinos, se pueden usar algunos
procedimientos aleatorios tales como los métodos de Monte Carlo que
muestrean el espacio de búsqueda hasta terminar finalmente mediante alguna
forma de limitación de iteración. En todo caso se debe determinar el número de
muestras y el tamaño de las mismas de tal modo que no ocasione más tiempo
de procesamiento que una revisión exhaustiva del vecindario.
5.4. Características de la búsqueda tabú (uso de la
memoria)
La búsqueda tabú se caracteriza porque utiliza una estrategia basada en el uso
de estructuras de memoria para escapar de los óptimos locales, en los que se
puede caer al “moverse” de una solución a otra por el espacio de soluciones.
Proyecto Final de Carrera - Francisco Vázquez Delgado 2012
46 Escuela Técnica Superior de Ingenieros
Universidad de Sevilla
Las estructuras de memoria usadas son de dos tipos:
Explicita: Cuando la solución se almacena de manera completa, se
registran soluciones de élite visitadas durante la búsqueda. por ejemplo
{x1,x5,x7} donde las xi son soluciones ocurridas en iteraciones anteriores.
Una extensión de esta memoria explícita registra vecindarios altamente
atractivos pero inexplorados de las soluciones de élite.
De atributos: Se guarda información acerca de ciertos atributos de las
soluciones pasadas, para propósitos de orientación de la búsqueda. Este
tipo de memoria registra información acerca de los atributos o
características que cambian al moverse de una solución a otra. Por
ejemplo en un grafo los atributos pueden consistir en nodos o arcos que
son aumentados, eliminados o reposicionados por el mecanismo de
movimientos.
La memoria, por lo tanto puede ser explícita o de atributos o ambas.
En síntesis, la estructura de memoria explicita almacena soluciones de élite (que
dan un óptimo local) y la memoria de atributos tiene como propósito guiar la
búsqueda.
Es importante considerar que los métodos basados en búsqueda local requieren
de la exploración de un gran número de soluciones en poco tiempo, por ello es
crítico el reducir al mínimo el esfuerzo computacional de las operaciones que se
realizan a menudo, lo que se puede conseguir registrando los atributos de las
soluciones en vez de éstas para orientar la búsqueda más rápidamente.
La estructura de la memoria en la metaheurística de búsqueda tabú opera en
relación a cuatro dimensiones principales [10]:
Calidad
Influencia
Corto plazo (lo reciente)
Largo plazo (lo frecuente)
La calidad se refiere a la habilidad para diferenciar el mérito de las soluciones,
identifica qué las hace tan buenas e incentiva la búsqueda para reforzar las
acciones que conducen a una buena solución y desalienta aquellas que
conducen a soluciones pobres.
Proyecto Final de Carrera - Francisco Vázquez Delgado 2012
47 Escuela Técnica Superior de Ingenieros
Universidad de Sevilla
La flexibilidad de la estructura de memoria permite que la búsqueda sea guiada
en un contexto multiobjetivo, donde la bondad de una dirección de búsqueda
particular puede estar determinada por más de una función, el concepto de
calidad en la búsqueda tabú es más amplio que el usado implícitamente en los
métodos de optimización, en los cuales se considera que un movimiento es de
mejor calidad que otro porque produce una mejor “mejora” (tal es el caso del
descenso más rápido), bajo el enfoque de búsqueda tabú un movimiento puede
ser de mejor calidad si, por ejemplo, su frecuencia de ocurrencia en el pasado es
baja o no ha ocurrido antes y nos permite explorar nuevas regiones. La
definición de calidad de una solución es flexible y puede ser adaptado a la
naturaleza del problema.
La dimensión influencia, considera el impacto de las elecciones hechas durante
la búsqueda, mide el grado de cambio inducido en la estructura de la solución o
factibilidad, no sólo en calidad sino también en estructura, en un sentido la
calidad puede entenderse como una forma de influencia. Registrar información
acerca de las elecciones de un elemento de una solución particular incorpora un
nivel adicional de aprendizaje, registra qué elementos o atributos generan ese
impacto. Esta noción puede ser ilustrada para el problema de distribuir objetos
desigualmente pesados entre cajas, donde el objetivo es dar a cada caja, tan
aproximadamente como sea posible, el mismo peso. Un movimiento que
transfiere un objeto muy pesado de una es un movimiento de alta influencia,
cambia significativamente la estructura de la solución actual, otro que
intercambia objetos de pesos similares entre dos cajas no introduce mayor
influencia. Tal movimiento puede no mejorar la solución actual, la solución
actual es relativamente buena.
Se privilegian los movimientos etiquetados como influyentes, pero esto no
quiere decir que no se opte en alguna iteración por uno poco influyente, pues
éstos pueden ser tolerados si proporcionan mejores valores hasta que las
mejoras a partir de ellos parezcan ser insignificantes. En tal punto, y en
ausencia de movimientos de mejora, los criterios de aspiración cambian para
dar a los movimientos influyentes un rango mayor y éstos puedan salir de la
lista tabú antes del plazo establecido en su tabú tenure.
En el problema de distribuir objetos desigualmente pesados entre cajas, donde
el objetivo es dar a cada caja, tan aproximadamente como sea posible, el mismo
peso, una solución de calidad puede ser aquella que hace que la diferencia de
pesos de las cajas sea pequeña, es decir las cajas están aproximadamente
balanceadas.
Proyecto Final de Carrera - Francisco Vázquez Delgado 2012
48 Escuela Técnica Superior de Ingenieros
Universidad de Sevilla
Estas dos dimensiones de la memoria: calidad e influencia, pueden estar
consideradas de manera explícita en el algoritmo tabú, es decir, incluir una
estructura de datos que registre la etiqueta de un movimiento o solución como
de calidad y/o influyente paralela al registro de su condición tabú o no tabú; o
puede estar dada de manera implícita, como considerar que es de calidad si es
un óptimo local y/o considerar que es influyente si permite diversificar la
búsqueda. Sin embargo las otras dos dimensiones: memoria de corto plazo y la
de largo plazo, siempre van expresadas de manera explícita por medio de la
lista tabú y de la tabla de frecuencias.
Una distinción importante en la búsqueda tabú es la de diferenciar la memoria
de corto plazo y la de largo plazo, cada tipo de memoria tiene sus propias
estrategias, sin embargo, el efecto de la utilización de ambos tipos de memoria
es el mismo: modificar el vecindario N(x) de la solución actual x (convertirlo en
un nuevo vecindario N’(x)) En la memoria de corto plazo, el vecindario es
generalmente:
N’(x) = {N(x) – Lista Tabú} , N’(x) ⊂ N(x)
En las estrategias que usan la memoria de largo plazo N’(x) puede ser
expandido para incluir otras soluciones que no están en N(x).
En ambos casos el vecindario de x, N(x) no es un conjunto estático sino un
conjunto que varía dinámicamente de acuerdo a la historia de la solución x.
En esencia la memoria de corto plazo utiliza la estructura tabú para penalizar la
búsqueda y la memoria de largo plazo utiliza las frecuencias para determinar si
un movimiento no tabú puede ser elegido o no.
Memoria basada en lo reciente (corto plazo)
Es una “memoria” donde se almacenan los últimos movimientos realizados, y
que puede ser utilizada para “recordar” aquellos movimientos que hacen caer
de nuevo en soluciones ya exploradas. Su objetivo es penalizar la búsqueda
para evitar el ciclado.
Es una manera de definir el entorno o vecindario reducido de una solución,
consiste en etiquetar como tabú las soluciones previamente visitadas en un
pasado cercano (recency), ciertos movimientos se consideran prohibidos (tabú),
de forma que no serán aceptados durante un cierto tiempo o un cierto número
de iteraciones, se considera que tras un cierto número de iteraciones la
búsqueda está en una región distinta y puede liberarse del status tabú.
Proyecto Final de Carrera - Francisco Vázquez Delgado 2012
49 Escuela Técnica Superior de Ingenieros
Universidad de Sevilla
Memoria basada en frecuencia (largo plazo)
La memoria basada en frecuencia proporciona un tipo de información que
complementa la información proporcionada por la memoria basada en lo
reciente, ampliando la base para seleccionar movimientos preferidos. Como lo
reciente, la frecuencia a menudo toma en cuenta las dimensiones de calidad de
la solución e influencia del movimiento. En esta estructura de memoria se
registra la frecuencia de ocurrencias de los movimientos, las soluciones o sus
atributos y puede ser:
Frecuencia de transiciones.- Cantidad de veces que una solución es la
mejor o cantidad de veces que un atributo pertenece a una solución
generada.
Frecuencia de residencia.- Cantidad de iteraciones durante la cual un
atributo pertenece a la solución generada.
Una alta frecuencia de residencia, por ejemplo, puede indicar que un atributo es
altamente atractivo si S es una secuencia de soluciones de alta calidad, o puede
indicar lo contrario si S es una secuencia de soluciones de baja calidad. Por otro
lado, una frecuencia de residencia que es alta (baja) cuando S contiene tanto
soluciones de alta como de baja calidad puede apuntar a atributo fortalecido (o
excluido) que restringe al espacio de búsqueda, y que necesita ser desechado (o
incorporado) para permitir diversidad.
La memoria a largo plazo tiene dos estrategias asociadas:
Intensificación de la búsqueda.
Diversificación de la búsqueda.
La intensificación consiste en regresar a regiones ya exploradas para
estudiarlas más a fondo. Para ello se favorece la aparición de aquellos atributos
asociados a buenas soluciones encontradas.
Para evitar regresar a óptimos locales cada cierto número de iteraciones, la
búsqueda tabú utiliza además otra estrategia, como es la diversificación.
La diversificación consiste en visitar nuevas áreas no exploradas del espacio de
soluciones. Para ello se modifican las reglas de elección para incorporar a las
soluciones atributos que no han sido usados frecuentemente.
Proyecto Final de Carrera - Francisco Vázquez Delgado 2012
50 Escuela Técnica Superior de Ingenieros
Universidad de Sevilla
Una forma clásica de diversificación consiste en reiniciar periódicamente la
búsqueda desde puntos elegidos aleatoriamente, si se tiene alguna información
acerca de la región factible se puede hacer un “muestreo” para cubrir la región
en lo posible, si no, cada vez se escoge aleatoriamente un punto de partida
(método multi arranque).
Otro método para diversificar propone registrar los atributos de los
movimientos más utilizados en los anteriores movimientos, penalizándolos a
través de una lista tabú a largo plazo y así explorar otros entornos.
El uso racional de estas dos estrategias da lugar a dos características de la
búsqueda tabú, el reencadenamiento de trayectorias y la oscilación estratégica.
Una integración de las estrategias de intensificación y diversificación consiste
en el re-encadenamiento de trayectorias (path relinking) [13].
Este acercamiento genera soluciones nuevas explorando trayectorias que
“conectan” soluciones de élite, (óptimos locales) comenzando desde una de esas
soluciones, llamada solución inicial, y generando un camino en el vecindario
que conduce a otras soluciones, llamadas soluciones que sirven de guía. En una
colección dada de soluciones de élite, el papel de la solución inicial y una
solución guía se pueden alternar. Esto es, se puede generar simultáneamente un
conjunto de soluciones actuales, extendiendo caminos diferentes, y permitiendo
que una solución inicial sea reemplazada (como una solución orientadora para
las otras) por otra, si ésta satisface un criterio de aspiración suficientemente
fuerte. Debido a que sus papeles son intercambiables, la solución inicial y la
guía son llamadas soluciones de referencia.
El proceso de generar caminos entre soluciones de referencia está acompañado
por movimientos de selección que introducen atributos contenidos en las
soluciones que operan como soluciones guías.
El proceso también puede continuar más allá de una solución de referencia
cambiando el criterio de selección de movimiento que estratégicamente
introducen atributos que no están en las soluciones guías.
En ambos casos, estos atributos están ponderados para determinar a cuáles
movimientos se les da una prioridad superior. La generación de tales caminos
dentro de un vecindario “reasocia” puntos previos en formas diferentes a las
registradas en la historia previa de búsqueda.
La oscilación estratégica guía los movimientos hasta que se llega a un límite
que por lo general representaría un punto donde el método debe parar. En
Proyecto Final de Carrera - Francisco Vázquez Delgado 2012
51 Escuela Técnica Superior de Ingenieros
Universidad de Sevilla
lugar de parar, se le permite al procedimiento cruzar ese límite modificando la
definición de entorno y el criterio de evaluación, La repetición de este proceso
oscilatorio de cruce de límite proporciona un marco adecuado para combinar
estrategias de intensificación y diversificación.
Una ventaja de esta estrategia es que al moverse fuera de la frontera y retornar
desde una diferente dirección se descubren oportunidades para mejoramiento
que no son alcanzables cuando la búsqueda está confinada de una manera
estrecha [12].
En la tabla 1 se presentan una lista de componentes del algoritmo Búsqueda
Tabú que es preciso que estén definidos de forma inequívoca.
Tabla 1: Componentes de la Búsqueda Tabú
Top Related