Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Algoritmo Tabú
Algoritmo Tabú
TABÚ
A C O S TA H U AY L I N O S , S H E Y L A
CONDORI CABANA, LIZELL
NEIRA NIÑO DE GUZMÁN, SERGIO
S I LVA V I L L A R R E A L J E F F E R S O N
Introducción
● La búsqueda Tabú surge, en un intento de dotar de “inteligencia” a los
algoritmos de búsqueda local. Según Fred Glover, su primer definidor, “la
búsqueda tabú guía un procedimiento de búsqueda local para explorar el
espacio de soluciones más allá del óptimo local”.
● Oficialmente el nombre y la metodología fueron introducidos por Fred Glover
en dos artículos (1989):
2
Conceptos de Búsqueda Tabu
● 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 . 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.
● La característica que distingue a la Búsqueda Tabú 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.
3
LISTA TABÚ
La lista tabú es una lista (linked list) en el contexto computacional, 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 x0 a x1 , el
inverso es x1 a x0) 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 actua
4
LISTA TABÚ
La lista tabú puede contener :
6
Criterios de Aspiración
● Aspiración por Default: Si todos los movimientos posibles son clasificados
como tabú, entonces se selecciona el movimiento “menos tabú”.
● Aspiración por Objetivo: Permite que un movimiento x sea un candidato para
seleccionarse si, por ejemplo, F(x) < mejor costo.
● 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 un mejoramiento y
el actual movimiento es un movimiento de mejora. Entonces “s” se considera
un candidato.
7
Características básicas:
● Es un algoritmo de búsqueda local basado en el uso de memoria.
● Es posible utilizar soluciones que empeoren la solución actual.
● La memoria se utiliza para no repetir la trayectoria de búsqueda.
● Existen dos tipos de memoria: memoria reciente y memoria a largo plazo.
● En la memoria se guardan atributos de soluciones.
Características de la búsqueda tabú (Estructura
de 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.
Las estructuras de memoria usadas son de dos tipos:
● Explicita.- Almacena soluciones de elite (que dan un óptimo local) .
● De atributos.- Se guarda información acerca de ciertos atributos de las
soluciones pasadas, para propósitos de orientación de la búsqueda.
La estructura de la memoria en la metaheurística de búsqueda tabú opera en
relación a cuatro dimensiones principales:
calidad
influencia
corto plazo (lo reciente)
largo plazo (lo frecuente)
Calidad
● 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.
18
● El problema de las n-reinas consiste
en colocar n reinas en un tablero de
ajedrez de n x n de tal manera que
no sea posible que dos reinas se
capturen entre sí.
19
● Se dice que existe una colisión si
hay dos reinas que se pueden
capturar entre sí.
● La solución se orienta a elegir las
n celdas donde colocar a las
reinas, minimizando el número
total de colisiones.
20
Componentes:
● Una solución tiene la forma de un arreglo n-dimensional: (r1 ,r2 ,r3 ,..., rn ).
21
Componentes:
● La función objetivo es minimizar la cantidad de colisiones.
● El espacio de soluciones está dado por todos aquellos arreglos de 7
posiciones de los números {1,2,...7}.
● La estructura de la solución es la ubicación de las reinas:
23
Componentes:
24
Selección de la solución inicial:
R1
R2
R7
25
Iteraciones para seleccionar la siguiente solución:
26
Iteraciones para seleccionar la siguiente solución:
27
● Hay 4 movimientos que producen 2 colisiones. Cuando hay empates se
puede utilizar un mecanismo aleatorio para seleccionar el mejor movimiento.
31
● Se continúa iterando hasta llegar a la condición de parada. Si la mejor
permutación es una solución que está en la lista tabú, se desestima y se
toma la siguiente “mejor”, sin embargo, si el objetivo es encontrar una
solución con cero colisiones, se puede utilizar el criterio de aspiración a un
movimiento que produce cero colisiones, pero como se verá cuando se
procese en un programa computacional, esto ocasiona que no se diversifique
la búsqueda y no se encuentren más soluciones.
32
● Para diversificar la búsqueda se usó la memoria de largo plazo, en este caso,
la frecuencia de ocurrencia de los movimientos. Supongamos que no se está
considerando ningún criterio de aspiración y se han realizado ya 75
iteraciones.
33
● T significa que la permutación está penalizada en la lista tabú.
● Al evaluar los 5 mejores candidatos para pasar a x76 se observa que el
elegido debería ser el movimiento 4,7 pues da un valor para la función
objetivo igual a una colisión, pero, al revisar la tabla de frecuencias (memoria
a largo plazo) se observa que dicho movimiento ha ocurrido 7 veces en el
pasado, hay otros candidatos no tabú con menor frecuencia y además hay
otros movimientos que tienen frecuencia cero, lo que implica que se puede
explorar otras regiones que podrían contener otras soluciones con menos
colisiones.
34
● Por lo tanto el movimiento 4,7 a pesar de no ser tabú debe ser penalizado
para que no vuelva a ocurrir hasta que la frecuencia de los otros lo supere.
● El candidato (5, 7) no puede ser elegido por ser tabú.
● El candidato (1, 2) es no tabú, pero entre los otros candidatos no tabú hay
uno que tiene menor frecuencia de ocurrencias en el pasado.
● Por lo tanto el elegido para conformar la siguiente solución debería ser el
movimiento (1, 6) para diversificar la búsqueda.
● El procedimiento se repite hasta superar el máximo número de iteraciones
permitidas.
35
Resultados:
36
R1 R1
R2 R2
R3 R3
R4 R4
R5 R5
R6 R6
R7 R7
37
Conclusiones
● Hay una gran cantidad de problemas en el mundo real que debido a su
complejidad no pueden ser resueltos por métodos analíticos por lo que se
hace uso necesario de heurísticas y meta heurísticas para obtener soluciones
aproximadas.
● La filosofía de la búsqueda tabu no es complicada, consiste en el uso del
contexto del problema y de la historia del proceso.
● Su algoritmo es flexible y puede ser aplicado a cualquier problema
combinatorio en l que se defina con claridad y precisión los elementos.
38
Conclusiones
● Se puede introducir modificaciones al algoritmo básico de tal modo que el
usuario pueda aportar su conocimiento de experto.
● Para el problema de las n-reinas con valores pequeños de n (como un n=7),
se puede formular el problema como un programa lineal y encontrar una
solución usando algún software.
39