Análisis comparativo de las aproximaciones heurísticas Ant

Anuncio
Análisis comparativo de las aproximaciones heurísticas
Ant-Q, recocido simulado y búsqueda tabú en la solución
del problema del agente viajero
Jair J. de la Cruz H.*, Adriana Mendoza B.*
Astrid del Castillo Ch.**, Carlos D. Patemina A.***
Grupo de Investigación en Sistemas Inteligentes
Resumen
En los últimos años, una de las áreas de investigaci6n que ha adquirido mayor
importancia
ha sido la de las heurísticas basadas en varios fen6menos fisicos, biológicos y sociales de la
vida diaria. En este artículo se evalúan y comparan las características de desempeño
de las heurísti'cas Ant - Q (una aproximación que se deriva del comportamiento de una
comunidad de hormigas), Búsqueda Tabú (fundamentada en un fen6meno social de
memoria dinámica) y Recocido Simulado (una metodologÚlanáloga al proceso metalúrgico
de recocido) en la solución del problema estándar del agente viajero, objetivo para el
cual se implt'mentaron principios básicos y algoritmos computacionales de cada
técnica y se n~solvieron algunas instancias conocidas.
Palabras clave: Agentes, lista tabú, temperatura, control, optimización, parámetros.
Abstrae!
During the Yt~ars, one of the most important research areas has been that of heuristics
based upon various physical, biological and social daily life phenomena.ln this article,
the performance characteristics of some heuristics are assessed and compared to solve the
standard problem of the traveler agent. These heuristícs are as follows: Ant-O heuristics
(an approach derived from the behavior of an ant community), Taboo Searching (based
on a social phenomenon 01dynamic memory) and SimuIated AnneaIing (a methodology
similar to the metallurgic process of anneaIing). To achieve the objective, basic
principIes and computer aIgorithmic for each technique were impIemented and some
known instances were solved.
Key words: Agents, taboo list, temperature, control, optimization, parameters
""IngenieroIndustrial, Magister en Ingeniería Industrial, Universidad del Norte
**Ingeniero Industrial, Candidato a Magister en Ingeniería Industrial, Universidad del Norte
"""""IngenieroIndustrial, Universidad del Norte. Master of Industrial Engineering y Ph. D. en
Industrial Engineering;, University of South Florida (USA). [email protected]
1. INTRODUCCIÓN
Desde hace varias décadas se ha venido intensificado la formulación de una gran
variedad de problemas de optimización combinatoria que requieren ser abordados
con metodologías generales sin dejar de considerar explícitamente el universo de
variables de decisión que cada situación involucra. Estos problemas no resultan
ser tan difíciles de entender, pero sus esquemas de solución, a través de técnicas
exactas, son apenas aplicables cuando el número de variables de decisión es
relativamente pequeño, y en general gran parte de los problemas cotidianos no
cumplen esta condición.
Ante dicha realidad, muchos esfuerzos en investigación se han concentrado en
desarrollar nuevas técnicas y procedimientos heurísticos, los cuales han tenido un
gran auge, sin duda debido a la necesidad de disponer de herramientas que
permitan resolver problemas tales como los de optimización en la clasificación NP
- duros. Cabe anotar que estas técnicas no necesariamente conducen a hallar la
solución óptima de un problema en tiempo polinomial, es decir, con estas
metodologías pueden obtenerse muy buenas soluciones, diferentes pero cercanas
a la óptima, que contribuyan a satisfacer los requerimientos del problema.
Para resolver un problema de optimización es necesario tener conocimiento
acerca de la formulación matemática del mismo, además de su aspecto conceptual,
con el fin de estudiar la existencia de métodos (y sus procedimientos, incluso
algorítmicos) que permitan encontrar buenas soluciones en tiempo polinomial y
cómo han de ser implementados, si es posible. Un área de interés mediante el cual
pueden analizarse la estructura y propiedades que encierran las formulaciones
matemáticas de algunos problemas es la teoría de grafos, ya que ofrece un marco
de referencia acertado para iniciar la construcción de un algoritmo conveniente a
la situación específica que se va a abordar. Entre los problemas «intratables» que
pueden ser estudiados mediante la teoría de grafos se encuentra el problema del
agente viajero, cuya finalidad es determinar la trayectoria más corta que debe
seguir un agente que debe visitar todas las ciudades o clientes de una red,
exactamente una vez cada uno, y regresar al final de la travesía a la ciudad o cliente
inicial. Como bien es conocido, el problema del agente viajero pertenece a la clase
NP- duro, por lo que ampliamente se considera irresoluble en tiempo polinomial.
Este artículo tiene como propósito aplicar las metodologías heurísticas Ant-Q,
Búsqueda Tabú y Recocido Simulado en la solución de instancias pequeñas del
problema del agente viajero, y además implementar algoritmos computacionales
de estas técnicas para resolver instancias con muchas variables de decisión, lo cual
permitirá encontrar soluciones que puedan ser consideradas buenas, sino las
óptimas, en comparación con las conocidas en bibliografía. Finalmente, analiza
142
Ingeniería & Desarrollo. Universidad del Norte. 14: 141·157,2003
comparativamente
las características
de desempeño
implementados, con base en los resultados obtenidos.
de los algoritmos
2. EL PROBLEMA DEL AGENTE VIAJERO
El problema del agente viajero es un problema estándar NP - duro, en el cual un
vendedor tiene que visitar cada ciudad o cliente de un conjunto dado, exactamente
una vez, partiendo de una ciudad o cliente origen y regresar a éste luego de
haberlos visitado a todos. El agente vendedor debe escoger una trayectoria que
minimice el costo total, que en general se define en función de la distancia
recorrida.Matemáticamente,
una instancia 1 ~ (G,
del problema del agente
viajero se define como sigue: Dado un grafo dirigido G ~ (V, E), donde IVI ~ N
Y V ~ {l, 2, ..., N), Y una matriz de costos
lc ij} de tamaño N x N, donde cada
arco (i, j ) tiene asociado un costo c i j' encuentre una trayectoria tal que todos los
arcos del grafo sean visitados exactamente una vez y el costo total sea mínimo; es
decir, hallar una permutación F ( i ): V lE V de todos los vértices, existentes en
exactamente un ciclo, tal que la función
e)
e~
N
:2>
ij<I>(i)
i=l
sea minimizada.
En general, el grafo G se considera completamente conexo, pero si no lo es, la
formulación matemática puede asignar valores = (o un número muy grande) a los
c ij para todos los arcos (i, j) que no existan en el problema que se está modelizando.
3. ANT-Q, UNA APROXIMACIÓN
DE APRENDIZAJE REFORZADO
La técnica Ant-Q es un aproximación inspirada en la observación real de cómo
una colonia de hormigas puede hallar la ruta más corta entre una fuente alimenticia
y su nido mediante un sistema de comunicación común. Mientras van desde el
alimento a su nido y viceversa, las hormigas depositan en el suelo una feromona
y forma en su recorrido una pista con la sustancia. Las hormigas pueden sentirla
y, cuando toman su camino, tienden a escoger las rutas marcadas con fuertes
concentraciones de la pista. La feromona ayuda a las hormigas a localizar su
alimento (o el nido), y también puede ser utilizada por otras para localizar sus
compañeras. Análogamente, una colonia de hormigas artificiales que cooperan
entre sí puede ser utilizada para encontrar una buena solución en problemas de
optimización como el del agente viajero. La cooperación es la clave de la técnica
Ant-Q: un conjunto de hormigas que se comunican indirectamente por estigmergia.
Estigmergia es el estímulo que recibe cada hormiga por sus logros, lo que en
Ingeniería
& Desarrollo.
Universidad
del Norte. 14: 141-157, 2003
143
Aprendizaje Reforzado se conoce como refuerzo en el aprendizaje. De allí que
Ant-Q sea una aproximación basada en esta meta - heurística.
En lo que respecta al problema del agente viajero, las hormigas artificiales o
agentes van de una ciudad o cliente a otro según un parámetro probabilístico, y
conforme se retiran de cada uno de ellos, depositan en cada arco del recorrido una
feromona o señal numérica que puede ser identificada por el resto de agentes.
Algunos de los autores que han estudiado las analogías algorítmicas de las
hormigas son M. Dorigo, L. Gambardella y A. Colorni.
3.1.
ALGORITMO COMPUTACIONAL
A partir de esta sección se hará referencia a las ciudades o clientes como nodos,
y a costos como distancias entre pares de nodos (ciudades o clientes), con la
notación
cij"
Sea AQ (r, s) un valor real positivo asociado con el arco (r, s) que indica qué tan
favorable sería visitar el nodo s si el agente se encuentra en este momento en el nodo
r. Sea HE (r, s) un valor heurístico asociado con el arco (r, s) que provee una
evaluación heurística de qué arcos son mejores (usualmente HE (r, s) = 1 / c ,,). Sea
k un agente cuya tarea es completar una trayectoria que visita todos los nodos y
regresa a su punto de partida, y J k (r )una lista que contiene los nodos aún no visitados
por el agente k. Sea q, OOS; q OS; 1 un valor escogido aleatoriamente con probabilidad
uniforme, y q o' OOS; q o OS; 1 un parámetro de selección.Un agente k situado en el nodo
r irá al nodo s utilizando la siguiente regla de escogencia:
s = arg máx {I AQ (r, u) I '. I HE (r, u) I ,}, si q OS; q o.
U E Jk(r)
de otra manera, s se selecciona aleatoriamente en función de los valores AQ (r, u) y
HE (r,u), con u E J k (r ). ¡¡y ~indican la importancia relativa de los valores AQ (r,u)
y HE (r, u ) en la regla respectivamente.
Por otro lado, m agentes
a los valores de aprendizaje,
regla de escogencia que se
valores se actualizan según
(hormigas artificiales) son utilizadas para dar forma
AQ (r, s), de modo que éstos puedan favorecer en la
debe hallar buenas soluciones del problema. Estos
la siguiente regla:
AQ (r, s) ~ (l-a)· AQ (r, s) + a· [MQ (r, s) +"(. máxAQ (s, z)]
z
E Jk (s )
Donde a Y"(sonlos parámetros de aprendizaje y ~AQ (r, s) = O,excepto después
de que cada agente ha completado su trayectoria, en cuyo caso MQ (r, s ) = W / L',
144
Ingeniería
& Desarrollo.
Universidad
del Norte. 14: 141-157, 2003
siendo W un parámetro constante y L' la longitud de la trayectoria más corta,
encontrada por alguno de los agentes. El término MQ (r, s ) se conoce como
refuerzo descontado.
Con base en estas reglas básicas, el algoritmo Ant-Q implementado viene dado
así:
Paso 1. Seinicializan los valores AQ (r,s) para cada arco, AQ (r,s) = AQo;se ubican
los agentes en los nadas puntos de partida y se inicializan las listas de nadas
aún por visitar para cada uno de los magentes. Seutilizó AQo= 1 / (N ·longitud media de los arcos en la instancia).
Paso 2. En este paso cada agente construye una trayectoria utilizando la regla de
escogencia presentada arriba. A medida que cada agente k agrega un nuevo
nodo a S11 trayecto actualiza también la lista Jk(r ) y un vector donde
almacena elnodo visitado, Ruta k.Dado que eltérmino MQ (r,s) = O,laregla
de actualización de los valores AQ (r, s ) se reduce a
AQ (r, s ) ~ (1 - a) . AQ (r, s ) + a . y. máx AQ (s, z ) ]
zeJk(s)
Paso 3. Una vez los agentes han completado su trayectoria y regresado al nodo de
partida, se calculan las distancias recorridas y se encuentra la mínima, L'.
Con base en L' se computa el refuerzo descontado MQ (r, s). Los valores
AQ (r, s) de los arcos (r, s) que pertenecen a la secuencia de distancia L'
se actualizan con t>AQ (r, s ).
En la primera iteración, la distancia mínima encontrada L' es igual a L'
(como una solución inicial) y la secuencia de visita a los nadas se
almacena en Ruta'. A partir de la segunda iteración, L' Y Ruta' se
actualizan sólo si L' < L'.
Paso 4. Si se satisface la condición de terminación, usualmente en función de un
número de iteraciones, el algoritmo se detiene y L' es la menor distancia
hallada, donde Ruta' es la secuencia de nadas que recorre esa mínima
distancia. De cualquier otro modo, regrese al paso 2.
Para ilustrar el funcionamiento del algoritmo se propone el siguiente problema
pequeño de alistamiento de máquinas, para el cual debe encontrarse la secuencia de
costo mínimo. Cada costo indica el tiempo requerido para alistar una máquina que
va a procesar el trabajo r dado que inmediatamente antes se procesó el trabajo s.
Ingeniería & Desarrollo. Universidad del Norte. 14: 141-157,2003
145
Tabla 1
de máquina por cambio del trabajo r al trabajo s
Costo de alistamiento
r/s
1
2
3
1
-
19
2
24
-
25
23
3
4
21
20
25
23
4
21
-
20
22
21
-
Paso 1. Se inicializan los valores AQ (r, s), AQ (r, s) = 0.000946. Se utilizarán 4
agentes ubicados inicialmente en los nadas 1, 2, 3 Y4 respectivamente. Se
inicializan las listas de nadas aún por visitar para cada uno de los 4
agentes. Se escoge un número de iteraciones ( por ejemplo, 50 ) como
condición de terminación.
Paso 2. En este paso cada agente construye una trayectoria utilizando la regla de
escogencia. Al inicio del algoritmo se asignan li = 1, ~ = 2 Y qo = 0.9. Por
ejemplo, para el agente 1 al elegir el segundo nodo que debe visitar,
genera q = 0.392, luego la regla de escogencia permite determinar que el
nodo 2 debe ser visitado ahora, por ser el arco (1, 2 ) el de mayor valor en
la función s.
En cuanto a la actualización de valores AQ (r, s), por ejemplo, para el arco
recorrido por el agente 1,AQ(1,2)f- [(1-0.1)·0.000946+0.1· 0.3 ·0.000946],
donde los valores a = 0.1 YY= 0.3 fueron asignados al inicio del algoritmo.
Los siguientes agentes a escoger nuevos nadas a visitar tendrán en cuenta
que el valor de AQ (1, 2 ) ha sido actualizado.
Para el agente 2, q = 0.971, luego escoge aleatoriamente el siguiente nodo
que vaya a visitar, por ejemplo, el 3. Para el agente 3, q = 0.487, luego la
regla de escogencia permite determinar que el nodo 1 debe ser visitado
ahora. Actualiza el valor AQ (3.1).
Este procedimiento es similar para los agentes restantes y se repite hasta
que cada lista de nadas aún no visitados es agotada, es decir, h (r ) = 0
para todas las k. En este momento los agentes regresan a su punto de
partida.
Paso 3. Se calcula la distancia recorrida por cada agente. En la siguiente tabla
aparecen las trayectorias seguidas por cada agente y la distancia respectiva
de cada secuencia.
146
Ingeniería
& Desarrollo.
Universidad
del Norte. 14: 141-157, 2003
Tabla 2
Agente
1
2
3
4
Secuencia
1,2,4,3, 1
2,4, 1, 3, 2
3,1,4,2,3
4,1,2,3,4
Costo
81'
90
86
84
Note que L' = 81. Como el algoritmo se encuentra en la primera iteración,
L'= 81 Y Ruta' = {l, 2, 4, 3, 1). Se computa el refuerzo descontado con W
= 10 como parámetro asignado al inicio del algoritmo, MQ (r, s) = 10/
81, Y se actualizan los valores AQ (r, s) de los arcos que pertenecen a la
secuencia
{l, 2, 4, 3, 1).
Paso 4. Si se satisface la condición de terminación, el algoritmo se detiene. Como
sólo se ha ejecutado una primera iteración, el algoritmo vuelve al paso 2.
Note que al regresar al paso 2 cada agente recibe ahora la información que entre
todos han reunido; en otros términos, en cada oportunidad
que los agentes
artificiales tienen de volver a encontrar una trayectoria mínima, ya cada uno de
ellos habrá aprendido de la experiencia en el pasado, lo que en la analogía de las
hormigas no es más que el rastro de feromona en el camino. Por otro lado, el
parámetro q permite a las hormigas aventurarse a explorar nuevas rutas con poco
o ningún conocimiento acerca de las soluciones que puedan construirse.
4. RECOCIDO SIl\.1ULADO, BASADO EN UN PROCESO METALÚRGICO
La heurística Recocido Simulado se basa en el proceso metalúrgico de recocido:
Cuando un metal es calentado hasta una temperatura muy elevada, sus átomos
pueden moverse a altas velocidades, y si éste es enfriado muy lentamente, los
átomos se arreglan en estructuras o patrones de mínima entropía, suministrando
al metal mucha más resistencia que antes. En la técnica, las soluciones construidas
en las primeras iteraciones de los algoritmos describen grandes perturbaciones en
las variables de decisión y en la función que se va a optimizar, y a medida que un
parámetro de control va ajustándose lentamente (equivalente a la disminución de
temperatura), las nuevas soluciones van siendo más selectivas, íncluso admitiendo
algunos empeoramientos, pero finalmente conformando una solución que puede
considerarse como buena, teniendo en cuenta toda la información generada en los
pasos anteriores y admitiendo sólo mejoramientos en las soluciones iniciales.
Ingeniería & Desarrollo. Universidad del Norte. 14: 141-157,2003
147
Cabe anotar que el Recocido Simulado ha sido probado con éxito en numerosos
problemas de optimización, y ha demostrado gran habilidad para evitar quedar
atrapado en óptimos locales. Esta metodología experimentó un gran auge en la
década de los ochenta, desde 1983, año en que Kirlpatrick, Gelatt y Vecchi lo
proponen como un procedimiento para obtener soluciones aproximadas a
problemas de optimización como el del agente viajero.
4.1.
ALGORITMO COMPUTACIONAL
El algoritmo de F~ecocido Simulado implementado tiene básicamente la
configuración de un procedimiento de inserción. El parámetro de control es el
número de nadas incluidos en las soluciones, iniciando con un conjunto reducido
en que se van insertando estratégicamente y de modo muy lento los demás nadas
hasta obtener soluciones completas de la instancia. La variable objetivo en este
caso no es exactamente la distancia total recorrida por el agente, ya que en
soluciones intermedias, donde no se han incluido todos los nadas, no es posible
calcularla. Para este inconveniente seimplementa el valor esperado de la distancia
total recorrida como medida de desempeño que se va a optimizar, con la ventaja
de que al poder generar soluciones completas, este valor esperado será igual al de
la función objetivo.
Formalmente, sea Tila temperatura inicial o número inicial de nadas, donde
Ti = I [kN ] I ,con O< k < 1. Entre mayor sea la temperatura inicial o menor sea el
conjunto inicial de nadas, mayor será la calidad de la solución final. Sea TI la
temperatura final, T, = N. Sea f (x) el valor de la función objetivo para una solución
específica x, y x*la mejor secuencia hallada, con valor objetivo f *(x). Nótese que
x* es equivalente al vedar Ruta* del algoritmo Ant-Q, y similar para f *(x) YL*.
Sea E (x ) el valor esperado de la función objetivo para una solución específica x.
El conjunto inicial de nadas, de tamaño Ti' se selecciona mediante un
procedimiento miope: Se escogen los Ti primeros nadas distintos en un vedar
ordenado de todos los arcos de mayor a menor distancia. De este modo, los nadas
de la solución inicial tienden a generar un valor esperado de distancia muy alto
(de poca calidad) y que puede ser mejorado de manera significativa con las
inserciones posteriores, similar a lo que sucede en las metodologías de búsqueda
local mediante descenso máximo.
En cuanto a las inserciones, existe una lista J de nadas aún no incluidos en la
solución (como la lista implementada para cada agente en Ant- Q ) de la que se
extrae una lista 1de candidatos que van a ser insertados. Para que un nodo de la
lista J sea incluido en la lista 1 debe cumplirse que para los nadas extremos de
algún arco en la secllencia de la solución corriente la suma de las distancias de los
148
Ingeniería & Desarrollo. Universidad del Norte. 14: 141~157,2003
dos arcos que se forman al insertar tal nodo en medio de los extremos sea mínima.
Usualmente, los arcos que se tornan de la secuencia actual para llevar a cabo este
procedimiento son aquellos que se consideran de mayor distancia dentro de la
solución, y en este caso se tienen en cuenta los arcos cuya distancia se encuentra
sobre el promedio de los arcos de la secuencia. Finalmente, se selecciona un nodo
aleatoriamente de la lista, a partir de una distribución discreta basada en las
distancias tentativas de inserción.
Con base en estos procedimientos, el algoritmo de Recocido Simulado viene dado
así, con la notaciÓn especificada:
Paso 1. Se asigna un número determinado de nodos a la temperatura inicial, Ti' Se
ordenan los arcos de mayor a menor distancia y se escogen los Ti primeros
nodos de la lista. Se construye una solución inicial, x o, con los nodos
seleccionados. Esta solución inicial se asigna a x, x f- Xo, yel valor esperado
de la distancia total recorrida se asigna a f (x), f (x) f- E (xo)' Además, se
inicializan x' f- Xo Y f' (x) f- E (xo)'
Paso 2. Seasigna T i f- Ti + 1y se selecciona nuevo nodo para insertar con la política
que se implementó. El nodo escogido se inserta para obtener la nueva
solución x. Ahora se aplica un procedimiento de intercambios, 2-0pt, con
la finalidad de reorganizar la secuencia y de tal modo que el valor
esperado de la distancia total sea mínimo. Se actualiza x con la secuencia
resultante y además f (x), f (x )f-E(x).
Paso 3. Si se satisface la condición de terminación, T, = N, el algoritmo se detiene
y se calcula la distancia de la secuencia, que viene siendo el mismo valor
esperado. Esta secuencia será la mejor encontrada, x', y así mismo la
distancia recorrida, f·(x). De cualquíer otro modo, regrese al paso 2.
Para ilustrar el funcionamiento del algoritmo, se aplica para el mismo problema
de la tabla 1.
Paso 1. Se asigna Ti = 2. Los Ti primeros nodos en la lista de arcos ordenados son
los extremos del mayor arco (3, 2), de longitud 25. La solución inícial Xo
viene dada por la secuencia /3,2,3), cuya distancia total es 25 + 23 = 48. El
valor esperado de esta secuencia viene dado por E (xo) = 48·4/2 = 96. Se
inícializan x'y f ·(x).
Paso 2. Seasigna Ti f- 3 Yse selecciona nuevo nodo a insertar, así: el promedio de los
arcos de la secuencia actual es 24, luego el único arco base es el (3, 2) de
longitud 25.LalistaJ tiene cornonodosaún por visitar el 1yel4.Siseinsertara
el nodo 1 en medio de los extremos del arco base, 3 y 2, la distancia total
Ingeniería
& Desarrollo.
Universidad
del Norte. 14: 141-157, 2003
149
tentativa del par de arcos que se forman es 21 + 19 = 40; si se insertara el nodo
4, esta distancia sería 22 + 23 = 45. La lista de candidatos contiene sólo al nodo
1, por lo tanto se escoge el nodo 1, y la nueva secuencia es (3, 1, 2, 3). Esta
solución tiene distancia igual a 40 + 23 = 63 Y su valor esperado viene dado
por E (x )=63·4/3=84.
La siguiente tabla muestra los intercambios
distancia minima en la solución intermedia:
Secuencia intercambiada
1,3,2,1
Tabla 3
Distancia
3,2,1,3
2,1,3,2
posteriores
total
en busca de una
Valor esnerado
74
74
98.67
98.67
74
98.67
Nótese que las distancias totales y esperadas son iguales en todos los
casos, ya que las secuencias generadas con los intercambios corresponden
a una misma secuencia. En efecto, esto sucede porque la solución sólo
tiene 3 nodos, pero en problemas de mayor tamaño se podrían generar
soluciones con distintos valores. Finalmente, se actualiza x con la secuencia
resultante, (3, 1, 2, 3}, Y además f (x), f (x ) f- 84.
*
Paso 3. Como Ti Ti' el algoritmo regresa al paso 2 para insertar el último nodo
en la lista], e14.
Paso 2. Se asigna Ti f- 4. El promedio de los arcos de la secuencia actual es 21, luego
existe un sólo arco base, el (2, 3), cuya longitud es 23. Se inserta el nodo 4 para
generar la solución {3,1, 2, 4, 3). Esta solución tiene distancia igual a 40 + 20
+ 21 = 81 Y su valor esperado viene dado por E (x ) = 81 . 4 / 4 = 81.
La siguiente tabla muestra los intercambios
Tabla 4
Distancia
90
Valor esperado
90
3,4,2,1,3
2,1,3,4,2
91
94
91
94
94
94
3, 1, 4, 2, 3
4, 1, 2, 3, 4
88
84
88
84
Secuencia intercambiada
1,3,2,4,1
3,2,1,4,3
Se actualiza x con la secuencia resultante
150
posteriores:
total
{3, 1, 2, 4, 3}, Y f (x)
f-
81.
Ingeniería & Desarrollo. Universidad del Norte. 14: 141-157,2003
Paso 3. Como T, = TI = 4, el algoritmo termina, y la mejor solución encontrada x'
es la secuencia 13,1, 2, 4, 3], de distancia f' (x) = 81.
Note que quizá la mayor contribución del algoritmo a la solución final es que a
medida que la temperatura disminuye lentamente, en la secuencia van quedando
fijos los mejores elementos, aunque sólo sea una solución parcial, lo cual coincide
con el proceso metalúrgico, ya que la secuencia última va adquiriendo la mejor
estructura posible hasta solidificar, y en cada transición aumenta la oportunidad
de encontrar mejores ordenamientos gracias a que las etapas de intercambio son
cada vez más extensas.
5. BÚSQUEDA TABÚ ANALOGÍA CON UN FENÓMENO SOCIAL
En la actualidad, la palabra "tabú» se utiliza para denotar prohibiciones sociales
concebidas a partir de costumbres y que son a la vez una especie de medidas
protectoras contra algo que constituye un riesgo. Por esta razón, la Búsqueda
Tabú es una metodología que involucra medidas o estrategias que conducen un
proceso de búsqueda de tal manera que el espacio de soluciones a un problema
sea explorado evitando la optimalidad local, lo cual precisa un riesgo. No
obstante, la relación más importante entre Búsqueda Tabú y el sentido original de
la palabra es que, como realmente sucede, los tabúes son transmitidos de una
generación a otra a través de las costumbres, y éstas no son más que un tipo de
memoria social dinámica o memoria adaptativa. En la metodología, esta memoria
permite a la búsqueda abordar el espacio de soluciones efectivamente, apoyada
en la premisa de que una mala escogencia estratégica puede contener más
información que una buena selección al azar. Este último aspecto se conoce como
exploración sensitiva.
En adición, aparte de algunas otras propiedades de memoria, la Búsqueda
Tabú intensifica la búsqueda en aquellas regiones del espacio de soluciones que
halla atractivas, en términos de calidad, explorando detenidamente las vecindades
de las mejores soluciones encontradas; y en contraste, induce al procedimiento de
búsqueda a explorar regiones no visitadas, como una estrategia de diversificación.
Los autores que han desarrollado ampliamente la teoría y práctica de la Búsqueda
Tabú son F. Glover y M. Laguna.
Para el problema del agente viajero, como para otros que pueden abordarse
con esta técnica, es necesario obtener primero una solución inicial con algún
procedimiento convencional, y es éste el punto de partida para crear algunas
vecindades en busca de mejores soluciones y con objeto de conocer el espacio de
soluciones. Una vecindad puede generarse a partir de una solución mediante un
intercambio, como en el algoritmo que se presenta a continuación. En lo que se
refiere a la memoria adaptativa, la metodología requiere además implementar
Ingeniería & Desarrollo. Universidad del Norte. 14: 141-157,2003
151
una lista que almacene información acerca de las soluciones evaluadas y cuya
longitud venga dada por un parámetro.
5.1.
ALGORIlMO
COMPUTAOONAL
Sea f (x) la función que se va a minimizar sujeta a x E X, donde X es el conjunto de
soluciones que satisfacen las restricciones formuladas para el problema del
agente viajero y cada vector x contiene las variables de decisión. Cada x E X tiene
asociada una vecindad N (x) e X, y cada solución x ' E N (x) se construye a partir
de x mediante un movimiento. Sea m (x) una función generadora de vecindades
N (x).Considere una secuencia finita {x,},1 ::;tSk, x,.! EN (x,), luego un conjunto
ordenado cp = (j" jk)' (jk-I' jk-l)' ... , (jk-I.!' jk-I.')} es una lista tabú (de longitud
1) si los vectores X.y X'.I difieren en las coordenadas (~, j,).Finalmente, sea N (x.
,cp) el conjunto de soluciones x ' E N (x ,) que no pertenecen a la lista cp, donde N
(x" cp) puede ser vacío dado un conjunto N (x,)no vacío. Con base en esta notación
se implementa el siguiente algoritmo de Búsqueda Tabú:
Paso 1. Se construye una solución inicial x o E X, mediante un algoritmo de
inserción. Asigna a la lista tabú cp r 0. Un contador t r 0, y x r x o' f *
(x)r
f(x,,).
Paso 2. Genera una vecindad N (x., cp) a partir de x, con m (x,). m (x,) consiste en
hacer intercambios entre pares de nodos de la secuencia x, similar a como
se mostró en Recocido Simulado.
Paso 3. Se encuentra unaX.., E N (x., cp) de tal modo que f(X.., ) sea igual al menor
de los f (x.. 1)' x',.! E N (x" cp).
Si existe un X.., E N (x,), x '.1 E cp, tal que f (x ,.,) es menor que f * (x),
x EX, entonces haga x rX.." f* (x) r f (X'.I)' Esta regla se conoce como
criterio de aspiración.
Paso 4.Actualice la lista tabú cp y haga t r t + 1. Si la condición de terminación
se satisface, detenga el algoritmo; de cualquier otro modo, regrese al paso
2. Los movimientos que ingresan 'a la lista tabú son los inversos de los
generados, es decir, m -1 (X..I)'
Para ilustrar el funcionamiento del algoritmo, se aplica para el mismo problema
de la tabla 1.
Paso 1. Se construye una solución inicial x o E X, mediante un algoritmo de
inserción, por ejemplo {l, 2, 3, 4, 1}.La lista tabú <p r 0 tiene longitud /.
El contador trO, y x r Xo, f *(x ) r f (xo) = 85. Se escoge como criterio de
terminación un número de iteraciones, ti'
152
Ingeniería
& Desarrollo.
Universidad
del Norte. 14: 141-157, 2003
Paso 2. Genera una vecindad N (x " cp) a partir de
X,
con m (x,), así:
Tabla 5
Vecindad
2, 1, 3, 4,
3, 2, 1, 4,
4, 2, 3, 1,
1, 3, 2, 4,
1, 4, 3, 2,
2
3
4
1
1
1, 2, 4, 3, 1
Costo
94
91
88
90
91
81
Paso 3. El menorf(x,+! ),X,+! E N (x" cp ),es 81,dondex,+! = (1,2,4,3, l}. Como se
satisface el criterio de aspiración, se actualiza x ~ (1,2, 4, 3, 11Yf * (x) ~81.
Paso 4. Se actualiza la lista tabú, cp ~ cp + (3, 4 ) Y t ~ 1. Como la condición de
terminaciÓn no se satisface, el algoritmo regresa al paso 2. Nótese que el
movimiento ingresado a la lista tabú es el inverso a (4,3), que caracteriza
la solución que pasa a la siguiente iteración.
Paso 2. Genera una nueva vecindad N (x" cp ) a partir de x, con m (x,), El
movimiento (3,4) se encuentra bloqueado actualmente por la lista tabú.
Paso 3. El menor f (x,+!),x,+! E N (x,, cp) es 88, donde x,+! = (1,4,2,3,11.
En el paso 41asecuencia (1,4, 2,3, 1Iregresa al paso 2, y así sucesivamente hasta
que se cumple el criterio de termínación. En este mOmento, X es la mejor secuencia
encontrada y tiene valor objetivo f * ( X ).
Nótese que al bloquear algunos movimientos por ser clasificados como tabú,
la exploración se r,educeaun más que en un procedimiento corriente de búsqueda
local, además de admitir soluciones estratégicamente no tan buenas. No obstante,
una manera de garantizar que en la corrida del algoritmo se encontrarán soluciones
muy buenas depende en parte de la calidad de la función generadora de las
vecindades, ya que ésta debe poder mejorar los atributos de desempeño de las
soluciones que van siendo aceptadas por la estrategia sensitiva.
En lo que respecta a la lista tabú, un parámetro de interés es su longitud. La
permanencia de cierto movimiento dentro de la lista está expresada en términos
de un determinado número de iteraciones /. Si la longitud l ha sido alcanzada,
el último elemento de la lista, que es el más antiguo, se remueve. Si este
movimiento retirado aparece de nuevo exactamente en la misma solución por la
cual fue incluido en la lista, es casi seguro que el algoritmo empiece a ciclar. Por
Ingeniería
& Desarrollo.
Universidad
del Norte. 14: 141-157, 2003
153
esta razón, la memoria adaptativa debe tener en cuenta también los aspectos de
frecuencia de ingreso de un movimiento a la lista, así corno qué tan reciente
sucedió dicho ingreso, así corno su remoción.
6. RESULTADOS COMPUTACIONALES EN INSTANCIAS CONOCIDAS
En la siguiente tabla se presentan los resultados obtenidos con cada una de las
metodologías heurísticas analizadas, resolviendo tres instancias distintas y
conocidas del problema, ftv33, ry48p y kro124p, cuyas soluciones óptimas han
sido previamente obtenidas mediante la técnicas de Ramificación y Acotamiento
(Branch and Bound) o con búsqueda exhaustiva, y aparecen regístradas en
fuentes bibliográficas. Las meta- heurísticas aparecen identificadas corno AQ,
para Ant-Q, SA, para Recocido Simulado y TSpara Búsqueda Tabú. El tamaño de
muestra, o número de veces que fue ejecutado cada algoritmo con cada instancia,
es 10.Para cada metodología aplicada se especifican también las mejores soluciones
obtenidas, la media muestral, desviación estándar y la duración media de cada
algoritmo computacional (en segundos), con un procesador de 800MHz Y128 MB
de memoria RAM.
Tabla 6
ftv33
Nombre del problema
MEl'ooou:x:;fA
APUCADA
Número de dientes
ry48p
kro124p
AQ
SA
1$
AQ
SA
1$
AQ
SA
1$
34
34
34
48
48
48
100
100
100
Mejor conocida
1286
1286
1286
14422
14422
14422
36230
36230
36230
Mejor encontrada
1296
1318
1298
14511
14709
14608
37296
38437
37415
Error relativo
0,78%
2,49%
1,99%
1,29%
2,94%
6,09%
3,27%
Media de la muestra
1312.1 1344.7
Desviación
estándar
10.92
algoritmo
88,3
Duración
0.93% 0,62%
1310 14710,5 15272,3 14708,2 38967.4
39974.2 38791,8
26,09
9,94
193,73
331,83
103,13
1163.53
765,44
909,91
15,8
26,3
195,1
21,7
46,2
1134,6
263,1
243,6
Para el algoritmo implementado con Ant-Q se emplearon en cada caso N
agentes, y a=O.l, p = 2, y= 0.3, qo = 90, con 350 iteraciones; para el algoritmo de
Recocido Simulado se escogió corno temperatura inicial ti = 3 clientes y 350
iteraciones en el procedimiento de intercambios interno a cada nivel de
temperatura; en el algoritmo de Búsqueda Tabú se tornó corno solución inícial una
construida mediante inserciones, la longítud de la lista tabú 1 = 75 movírnientos
y se ejecutaron 350iteraciones. Todas las técnícas fueron mejoradas adicionalmente
con 75 iteraciones de intercambios 2 - OptoLos parámetros que han sido escogídos
para cada una de las metodologías son los sugeridos en la bibliografía.
De los resultados obtenidos puede observarse que la solución encontrada por
los algoritmos implementados no coincide en ninguno de los casos con la óptima
conocida, a pesar de que algunos autores sí han logrado tales valores. Esto se
154
Ingeniería
& Desarrollo.
Universidad
del Norte. 14: 141-157,2003
justifica porque estas aproximaciones computacionales, aunque son completas,
es decir, contienen todas las pautas sugeridas en la bibliografía, no tienen en
cuenta algunas características especiales corno las de memoria en el caso de
Búsqueda Tabú, y que podrían ser objeto de posteriores esfuerzos investigativos
y de desarrollo. Sin embargo, las mejores soluciones halladas se encuentran todas
por debajo o muy cercanas del 5% del valor óptimo conocido. En el caso de AntQ, se obtuvo una diferencia relativa tan solo del 0.62% en el mejor de los casos
(instancia ry48p) J' de 2.94%en el peor (instancia kro124p), aunque en el promedio
la Búsqueda Tabú encontró mejores soluciones. La técnica de Recocido Simulado,
tal corno se implementó, encontró algunas buenas soluciones, pero en general
podría ser mejorada, por ejemplo, aplicando una estrategia de múltiples agentes
cuyos puntos de partida sean distintos conjuntos de nodos ala misma temperatura.
En lo referente a dispersión delas soluciones, el algoritmo Ant-Q y de Recocido
Simulado son los que entregan soluciones con mayor desviación estándar, sobre
todo en los problemas más grandes. Acerca del tiempo computacional, note que
la Búsqueda Tabú en general es bastante rápida para la calidad de soluciones que
encuentra; en cambio, Recocido Simulado suele ser rápido pero con soluciones no
tan buenas corno las encontradas por las otras dos técnicas. El algoritmo Ant-Q es
relativamente lento, quizá porque la estrategia de múltiples agentes tiene tamaño
N. M. Dorigo YL. Gambardella sugieren utilizar 10 agentes, pero el algoritmo se
ejecuta a 5.000 o más iteraciones. Al respecto, en pruebas preliminares con un
número mayor deiteraciones para cada uno de los tres algoritmos implementados,
se hizo notable q¡ue después de 600 iteraciones no ocurre un mejoramiento
significativo en el valor objetivo.
Finalmente, y <:amoventaja para las tres aproximaciones presentadas, cabe
mencionar que existe un amplio número de problemas sobre los cuales pueden
aplicarse y adaptarse de modo relativamente sencillo; y en estas implementaciones
que fueron puestas en marcha, con muy poca experiencia, se pudo observar que
pueden obtenerse en general soluciones muy buenas sin requerir grandes esfuerzos
computacionales ni algorítmicos: sólo con tener en cuenta los principios generales
e ideas básicas de cada teoría, y corno pudo verse además en el ejemplo resuelto
con las tres técnicas, el funcionamiento de los algoritmos resulta poco complicado
de entender.
CONCLUSlONES
Corno conclusión puede afirmarse que las estrategias implementadas de acuerdo
con cada filosofía descrita permiten determinar muy buenas soluciones a las
distintas instancias en que se utilizó. Para la primera, Ant-Q, la mayor desventaja
es quizás el tiempo que requiere para converger a una solución de alta calidad,
Ingeniería & Desarrollo. Universidad del Norte. 14: 141-157,2003
lS5
pero en contraste con las otras dos técnicas, que son más rápidas, ofrece mejores
soluciones. La ventaja de Recocido Simulado obedece más a la facilidad para
implementado, aunque puede llegar a ser tan complejo como se desee con el fin
de obtener soluciones más convincentes. La Búsqueda Tabú, por su parte,
produce excelentes resultados en promedio y en un tiempo menor, sin embargo,
implantar en los algoritmos todas las características de memoria que implica esta
metodología puede no ser tan sencillo.
Como pudo observarse también en los resultados obtenidos, las tres técrúcas
implementadas
permiten encontrar una buena solución a los problemas
propuestos, pero ninguna garantizó optimalidad. No obstante, enla cotidianidad,
poseer herramientas de este tipo es de enorme utilidad ante la necesidad de poder
resolver un problema tan pronto como éste se presente, es decir, como los
requerinúentos de soluciones son prácticamente inmediatos, es preferible sacrificar
una mejor solución que pueda encontrarse en un tiempo muy extenso si puede
obtenerse en este instante una muy buena alternativa. Lo mismo se puede aplicar
desde el punto de vista del costo de evaluar todas las posibles soluciones. En este
sentido, las técnicas aquí estudiadas pueden ser utilizadas para agilizar muchas
de las decisiones del día a día.
El tercer aspecto que cabe anotar es que la tecnología moderna, especialmente
en el área informática, ha permitido mejoras considerables en la planeación,
diseño y control de la producción, ya que son herramientas de apoyo a las técnicas
heurísticas y metaheurísticas que ayudan a solucionar problemas tan complejos
como la programación
de las operaciones en una línea de producción o el
enrutamiento
de una flota de vehículos cuya capacidad es restringida, y
proporcionan soluciones muy buenas y garantizan a los usuarios tomar decisiones
acertadas sobre tales situaciones, así como cierta flexibilidad para adaptadas a
distintos escenarios o sistemas sometidos a entornos altamente cambiantes.
Referencias
ASKIN,R. & SrANRIDGE,
Ch., Modeling and Analysis of Manufacturing Systems. Estados
Unidos: John Wiley & Sons, 1993.
COLORNI,
A., TRUBlAN
M., RIGHINI,
G. & MAffiOLI,V., Heuristics FromNature For Hard
Combinatorial Optimization Problems. International Transactions in Operational
Research,3, 1, 1993.
DÍAZ,A., GLOVER,
F. GHAZIRI,
A. M., GONZÁLEZ,
J. L., LAGUNA,
M. MOSCATO
P. & TSENG,
F. T., Optimización heurística y redes neuronales en dirección de operaciones e ingeniería.
España: Paraninfo, 1996.
D6RIGo,M., DICARO,
G. & GAMBARDELLA,
L., Ant Algorithms for Discrete Optimization.
Artificial Life, 5, 3, 1999.
lS6
Ingeniería & Desarrollo. Universidad del Norte. 14:141-157, 2003
of Ant-Q. Proceedings of4th.
International Conference on Paral/el Problem solving from Nature. Berlín, 1996.
DóRIGO,M.& GAMBARDELLA,
L., A study of some properties
GAMBARDELLA,
L. & DÓRIGOM., Ant Colonies for the Traveling Salesman Problem.
BioSystems, 1997.
-Ant Colony System: A Cooperative
Leaming Approach to the Traveling
Salesman Problem. IEEE Transactions on Evolutionary Computation, 1, 1, 1997.
GAMBARDELLA,
L. & DóRIGo, M., Ant-Q: A Reinforcement
Leaming Approach to the
Traveling Salesman Problem. Proceedings of ML - 95, 20th. International Conference
on Machine Learning. Morgan Kaufrnann, 1995.
GLOVER,F. & LAGUNAM., Tabú Search. Boston: KIuwer Academic Publishers, 1997.
GUTIÉRREZ,M. et al., Optimización
con Recocido Simulado para el problema de
conjunto Independiente.
URL:http://www.azc.uam.rnx/publicaciones/
enlinea2/
3-2.htm
HERTZ,A,TAILLARD,E. & DE WERRA,D., A Tutorial On Tabu Search. Département
de
Mathématiques,
Université de MontreaI. Canada, 1997.
JHONSON,D. & MCGEOCH,L., Experimental analysis of the heuristics for the Symmetric
Traveling Salesman Problem, 2002.
--The Traveling Salesman Problem: A case study in Local OptimiZlltion, 1995.
J(¡RKPATRICK,
S. GELATT,S. & VECCHI,M., Optirnization by Simulated Annealing. Science
220,4598,1983.
MARTI,R, Templado Simulado. URL:http://www.uv.es/-rrnarti/templar.htrnI
NILSSON,C. Heurislics for the Traveling Salesman Problem. Linkaping University, 2003.
PINEDO,M. & CHAO, X., Operalions Scheduling with Applications in Manufacturing and
Services. Estados Unidos: Irwin / McGraw-Hill, 1999.
Ríos, D., RIos, S. & MARTÍN,J., Simulaci6n: Métodos y aplicaciones. Madrid: AIfaomega,
2000.
Ríos, R & GONZÁLEZ,J., Investigación
de operaciones en acción: Heurísticas para la
solución del Problema del Agente Viajero. Ingenierías, 3,9,2000.
SINGH,A,RANGASWAMY,B. & MEERAN,S., Job - Shop Neighborhoods and Move Evalualion
Strategies, 1998.
SIPPER,D. & BULFIN,R, Planeaci6n y Control de la Producci6n. Estados Unidos: McGrawHill, 1998.
SUTTON,R & BARTO,A, Reinforcement Learning: An Introduction. John Wiley & Sons,
1998.
Ingeniería & Desarrollo. Universidad del Norte. 14: 141-157,2003
157
Descargar