Está en la página 1de 6

Búsqueda Tabú

Luis Felipe Grisales Cardona


Colombia
Luis.grisales@upb.edu.co

RESUMEN de taller, circuito integrado, los problemas de diseño y


presentación del tiempo también han revelado la capacidad de
En el desarrollo de este escrito se va a demostrar y evidenciar
la búsqueda tabú para obtener resultados de alta calidad. [2]
el uso que se le da a la búsqueda tabú en las situaciones de la
vida cotidiana, las cuales nos rodean día a día y como a
Sus métodos diseñados para cruzar cotas de factibilidad y
medida que pasa el tiempo se ha abierto cada vez más las
optimalidad local tratadas como barreras de procedimientos
posibilidades para aplicar esta metodología de optimización
clásicos e imponer y eliminar cotas sistemáticamente, y así
matemática.
permitir la exploración de regiones no consideradas en otro
caso. [3]
Palabras clave: Lista tabú, algoritmo, combinaciones,
inteligencia artificial.
Es una metaheurística que guía un procedimiento heurístico
de búsqueda local en la optimalidad global. Sus argumentos
ABSTRACT se basan en derivar y explotar una colección de estrategias
In the development of this writing it will be demonstrated and inteligentes para la resolución de problemas, estas que se
evidenced the use that is given to the taboo search in the encuentran basadas en procedimientos implícitos y explícitos
situations on our lives daily, which surround us day by day del aprendizaje. TS es el origen del enfoque basado en
and as the time passes, the possibilities to apply this memoria y estrategia intensiva en la literatura de las
methodology of mathematical optimization have been opened metaheurísticas, al contrario de los métodos que no tienen
more and more. memoria.[3]

Keywords: Taboo list, algorithm, combinations, artificial Esta claramente demostrado que la búsqueda tabú es una
intelligence. alternativa que sin dudas es muy eficaz, es una visión de
campos que van desde enteros y no lineados, programaciones
a problemas de secuenciación y programación de producción.
INTRODUCCIÓN El objetivo de este documento es proporcionar una definición
Búsqueda tabú es una estrategia para resolver problemas de general de todo lo que son estas aplicaciones y proporcionar
optimización combinatoria. Se basa principalmente en un resumen de los métodos que llevaron a mejoras
combinar la búsqueda local con una heurística para evitar importantes en la resolución de problemas de programación
parar en mínimos locales y evitar entrar en ciclos. de la producción. [4]
Este se le da el nombre de tabú, ya que de modo que el
algoritmo no vuelva a visitar esa posible solución. Su El marco de memoria adaptativa de la búsqueda tabú no solo
principal fin es permitir moverse a una solución, aunque no explota la historia del proceso de resolución del problema,
sea tan buena como la actual y de tal manera que esta se sino que también exige la creación de estructuras para hacer
pueda escapar de óptimos locales y continuar posible tal explotación. [4]
estratégicamente la búsqueda de soluciones aún mejores. [1]
La lista tabú puede prohibir movimientos deseables que no
Antecedentes produzcan ciclarse o también nos puede llevar a un punto en
donde no es posible moverse. [4]
Esta búsqueda tabú empieza a manifestarse en un intento de
darle una especie de provisión de inteligencia a los algoritmos
de búsqueda local. Fred Glover el cual fue el encargado de su
primera definición, la cual fue “la búsqueda tabú guía un
procedimiento de búsqueda local para explorar el espacio de
soluciones más allá del óptimo local”. [1]

Esta metodología tiene como origen a sus procedimientos


combinatorios que se encuentran aplicados a problemas de
cobertura no lineal en los finales del año 1970. En sus últimos
estudios y comparaciones que es allí donde se involucran el
viajante de ventas, gráfico coloración, secuenciación de flujo

1
Caso de estudio: Un algoritmo basado en búsqueda tabú
granular para la solución de un problema de ruteo de
vehículos considerando flota heterogénea.
Este caso aborda el problema de ruteo de vehículos con flota
heterogénea (VRPH), en el cual se busca determinar las rutas
a ser construidas para satisfacer las demandas de los clientes,
considerando una flota de vehículos con capacidad y costos
no homogéneos. El objetivo es minimizar la distancia total de
las rutas recorridas por los diferentes vehículos. En este
artículo, se propone un algoritmo metaheurístico basado en
una búsqueda tabú granular para la solución del problema. El
algoritmo acepta soluciones infectables penalizadas por un
factor dinámico que se ajusta durante la búsqueda.
Se tienen dos soluciones el algoritmo uno muestra en detalle
la descripción de la solución inicial, mientras que el segundo Imagen 2
ya muestra en detalle la búsqueda tabú granular. Es un estudio que en los resultados computacionales el
algoritmo propuesto ha sido implementado en lenguaje C++
Algoritmo 1. bajo Linux Ubuntu 13.10. Las pruebas computacionales han
sido ejecutadas en un computador Hp Pavilion dv4-2025 con
procesador Intel Core i3 (2.13 GHz) con 4 GB de memoria
RAM y disco duro de 500 GB. La compañía caso de estudio
considera la distribución diaria de aproximadamente 79
clientes, cuyas coordenadas geográficas se conocen con
exactitud. La compañía caso de estudio cuenta con ocho
vehículos para el transporte de la mercancía, los cuales
pueden transitar una máxima velocidad de 45 km/h. La flota
de camiones está. compuesta por 1 camión de 18 toneladas, 1
camión de 15 toneladas, 4 camiones de 12 toneladas y 2
camiones de 8 toneladas. El centro de distribución (CD) se
encuentra ubicado en la coordenada (0,0).
Con respecto a la parametrización el éxito del algoritmo
propuesto depende directamente de los parámetros utilizados,
es por ello que se han realizado pruebas computacionales
extensas para lograr establecer los mejores valores para
Imagen 1 resolver la instancia consideradas en esta investigación. Estos
La secuenciación de las rutas se hizo mediante el algoritmo fueron los parámetros obtenidos.
del vecino más cercano (VMC). Note que el algoritmo
considera cada cliente como “inicial” para realizar el método
del barrido.
Algoritmo 2

Tabla 1

En la siguiente tabla se muestra los resultados obtenidos por


el procedimiento de solución inicial. La columna 1 muestra el

2
número de la ruta (ruta); la columna 2 muestra la capacidad método proporcionó una mejor solución inicial que la
del vehículo asignado para la ruta (camión); la columna 3 obtenida por el método del barrido.
muestra la distancia recorrida en metros (distancia ruta) y las
columnas 4 y 5 muestran la demanda atendida en la ruta en
kilogramos y el porcentaje de utilización del vehículo
respecto a su capacidad, respectivamente.

Tabla 4
Tabla 2 Caso de estudio #2: El problema de las n- reinas
El número de rutas creadas por el método de la solución
inicial excede la cantidad de vehículos disponibles en el caso El problema de las -reinas consiste en colocar n reinas en un
de estudio (se crean 9 rutas con 8 vehículos disponibles). La tablero de ajedrez de n x n de tal manera que no sea posible
distancia total recorrida fue de 227 584 m, el promedio de que dos reinas se capturen entre sí, es decir, que no estén en la
utilización en cuanto a capacidad de los vehículos fue del misma fila, ni en la misma columna, ni en la misma diagonal.
83.26 % y el tiempo computacional es de 0,01 segundos. En Se dice que hay una colisión si hay dos reinas que se pueden
la figura 2 se muestran las rutas generadas por el capturar entre sí. Se trata de elegir las n celdas donde colocar
procedimiento de solución inicial. a las reinas, minimizando el número total de colisiones.

En la siguiente tabla se muestran los valores obtenidos como Una solución tiene la forma de un arreglo n-dimensional: (r1,
solución final. El algoritmo propuesto empleando únicamente r2, r3, ......rn)
los vehículos que se tenían disponibles para el caso estudio (8
rutas son desarrolladas). La distancia total recorrida es de 170 Reina R1 R2 R3 … Rn
986 m, el promedio de utilización en cuanto a capacidad de Ubicación en la Columna 1 2 3 … N
los vehículos fue del 92.82 % y el tiempo computacional es Tabla 1
de 33,10 segundos. En general existe un ahorro de distancia Por ejemplo, una solución para n = 4 es (3,4,1,2)
de 24.86 % respecto a la solución encontrada por el Matricialmente se representa:
procedimiento inicial.
Columna Columna Columna Columna4
1 2 3
Reina Reina1
1
Reina Reina2
2
Reina Reina3
3
Reina Reina4
4
Tabla 2

El problema de las N-reinas es un problema P, su complejidad


es polinómica determinista, no se puede decir que este
problema es intratable, pero se presenta por ser didáctico para
la comprensión del método de búsqueda tabú y en cada caso
Tabla 3 es posible tener una solución analítica para contrastar la
solución hallada heurísticamente.
Una manera de comprobar el desempeño del algoritmo
propuesto es modificando la solución inicial. De manera Método
opcional se ha implementado el algoritmo de los ahorros. Este

3
 Primero se hace una breve presentación de conceptos La función objetivo vale 4. Colisionan las reinas: {(2,6) (6,7)
teóricos para contextualizar la aplicación de la (4,5) (1,2)}
búsqueda tabú.
 Luego se describe el algoritmo de la búsqueda Tabú Iteraciones para seleccionar la siguiente solución:
y su implementación computacional
 A continuación, se resuelve el problema de las Se realizan los intercambios posibles (movimientos) mientras
Nreinas usando la metaheurística de búsqueda tabú no se cumpla la condición de parada.
para N = 7.
Iteración 1 El vecindario está conformado por las
Para resolver el problema se le adapta a la estructura del combinaciones de 7 elementos tomados de 2 en 2, es decir,
algoritmo, es decir, se identifica la función objetivo, el 7!/(2!*5!) = 21. Se evalúan las 21 posibles soluciones:
espacio de soluciones, el vecindario, los movimientos #Alternativ Intercambio Intercambio Colisiones
permitidos y el tamaño de la lista tabú. a
1 1 2 7
2 1 3 7
… … … …
21 6 7 3
Seleccionamos las 5 mejores:
COMPONENTES DEL ALGORITMO
La función objetivo es minimizar la cantidad de colisiones. LISTA DE CANDIDATOS
Intercambio Intercambio Colisiones
El espacio de soluciones está dado por todos aquellos
arreglos de 7 posiciones de los números {1,2,...7} 1 7 2
2 4 2
La estructura de la solución es la ubicación de las reinas. 2 6 2
R1 R2 R3 R4 R5 R6 R7 5 6 2
Por ejemplo, si: X= 1 5 3
6 1 2 7 5 3 4 Hay 4 movimientos que producen 2 colisiones. Cuando hay
significa que la reina 1 está ubicada en la columna 6, la reina empates se puede utilizar un mecanismo aleatorio para
2 en la columna 1, ..., la reina 7 en la columna 4. seleccionar el mejor movimiento.
1 5 3
Un movimiento es un intercambio de dos reinas. Se escoge la permutación (1,7)
La solución siguiente resulta de intercambiar las reinas 1 y 7
El vecindario de x está formado por todas aquellas en XO.
soluciones a las que se llega desde x al hacer un movimiento,
es decir, en las cuales se ha realizado uno y solo un X1=
intercambio de reinas. Por ejemplo, sea: Z = 2 5 3 6 7 1 4
4 1 2 7 5 3 6 La función objetivo vale 2, colisionan las reinas: {(2,6) (4,5)}
z pertenece al vecindario de x, pues se ha permutado la reina La lista tabú contiene los movimientos considerados
1 con la 7. prohibidos, en este caso se registran los atributos de las
permutaciones (el intercambio de reinas).
La condición de parada: el proceso se detendrá si se alcanza
el máximo número de iteraciones permitida, que en este caso Para prevenir que las reinas vuelvan a su lugar anterior, se
se asigna arbitrariamente como MAXITER=100, registrará en la lista tabú los 3 últimos movimientos.
independientemente de las soluciones encontradas.
Iteración 2: se intercambian las reinas 2 y 4 en x1 la función
No se detendrá cuando se encuentre una solución que produce objetivo valdrá 1, solo hay una colisión {(1,4)}. Se continúa
cero colisiones, pues se tratará de encontrar más de una iterando hasta llegar a la condición de parada.
solución con cero colisiones.
Si la mejor permutación es una solución que está en la lista
El tamaño de la lista tabú (tabu tenure), se define como 3, es tabú, se desestima y se toma la siguiente “mejor”, sin
decir, se penalizará hasta las tres últimas soluciones. embargo, si el objetivo es encontrar una solución con cero
colisiones, se puede utilizar el criterio de aspiración a un
Selección de la solución inicial: Puede ser el resultado de movimiento que produce cero colisiones, pero como se verá
una heurística, de una selección aleatoria o de una asignación cuando se procese en un programa computacional, esto
arbitraria realizada por el experto. ocasiona que no se diversifique la búsqueda y no se
X0 = encuentren más soluciones.
4 5 3 6 7 1 2

4
El procedimiento se repite hasta superar el máximo número
Dado que el tabu tenure es un número finito, en algún de iteraciones permitidas.
momento un movimiento saldrá de la lista tabú y podrá ser
elegido nuevamente, por lo que siempre se corre el riesgo de CONCLUSIONES
ciclado.
 Para el problema de las N-reinas con valores
Para diversificar la búsqueda se usó la memoria de largo pequeños de n (como en este caso n=7), se puede
plazo, en este caso, la frecuencia de ocurrencia de los formular como un programa lineal y encontrar una
movimientos. Supongamos que no se está considerando solución usando algún software, sin embargo,
ningún criterio de aspiración y se han realizado ya 75 haciendo un programa computacional para el
iteraciones. algoritmo de búsqueda tabú se pueden encontrar
varias soluciones a un costo menor, pues siempre
hay lenguajes de programación de propósito general
libres de costo en el mercado. Además, se puede
introducir modificaciones al algoritmo básico de tal
modo que el usuario pueda aportar su conocimiento
de experto.
• El criterio de aspiración utilizado desde las primeras
iteraciones produce que el algoritmo se concentre en
óptimos locales y se genera una cantidad de
soluciones óptimas, pero iguales, mientras que
cuando se utiliza dicho criterio luego de realizar una
gran cantidad de iteraciones o cuando no se utiliza,
se genera más soluciones diferentes.
• El caso de un algoritmo basado en búsqueda tabú
granular para la solución de un problema de ruteo de
vehículos considerando flota heterogénea, puede ser
la solución a una congestión vehicular que día a día
tiene afectada a la comunidad a nivel mundial,
reduciendo niveles contaminación ambiental y
auditiva.

REFERENCIAS
[ CITATION Ali \l 9226 ]. Aplicación de la
metaheurística “Búsqueda tabú” al problema de la N-reinas.
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 [ CITATION Bel1 \l 9226 ]
un valor para la función objetivo igual a una colisión, pero, al
revisar la tabla de frecuencias (memoria a largo plazo) se [ CITATION JWE \l 9226 ]. An Overview of Tabu
observa que dicho movimiento ha ocurrido 7 veces en el Search Approaches.
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.

• 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.

También podría gustarte