Upload
oldecop
View
1
Download
0
Embed Size (px)
DESCRIPTION
Aplicación del algoritmo de la búsqueda tabú
Citation preview
4.4. Aplicación del algoritmo de la búsqueda tabú
Selección de la solución inicial:
El siguiente paso consiste en generar una solución inicial, ésta puede ser el
resultado de una heurística, de una selección aleatoria o de una asignación
arbitraria realizada por el experto (el que tiene el know how del problema).
En este caso sea la solución inicial :
x0 = 4 5 3 6 7 1 2
Al evaluar en EXCEL se encuentra que la función objetivo vale 4.
Colisionan las reinas: {(2,6) (6,7) (4,5) (1,2)}
Se itera para seleccionar la siguiente solución:
Se realizan los intercambios posibles (movimientos) mientras no se cumpla la condición de parada. Iteración 1 (k=1) El vecindario está conformado por todas las posibles combinaciones de 7 elementos tomados de 2 en 2, es decir, 7!/(2!*5!) = 21
Se evalúan las 21 posibles soluciones y se seleccionan las 5 mejores
# alternativa Permutación Colisiones 1 1 2 7 2 1 3 7 # alternat Permutación Colisiones 3 1 4 5 6 1 7 2 4 1 5 3 8 2 4 2 5 1 6 3 10 2 6 2 6 1 7 2 19 5 6 2 7 2 3 5 4 1 5 3 8 2 4 2 9 2 5 4
10 2 6 2 11 2 7 3 12 3 4 8 13 3 5 4 14 3 6 3 15 3 7 5 16 4 5 6 17 4 6 4 18 4 7 3 19 5 6 2 20 5 7 5 21 6 7 3
Hay 4 movimientos que producen 2 colisiones y 6 movimientos que producen 3 colisiones. Cuando hay empates se puede utilizar un mecanismo aleatorio para seleccionar el mejor movimiento.
60
Se escoge la permutación 1,7
La solución siguiente resulta de intercambiar las reinas 1 y 7
x1 = 2 5 3 6 7 1 4
La función objetivo vale 2, colisionan las reinas: {(2,6) (4,5)}
La lista tabú, contiene los movimientos considerados prohibidos, en
este caso se registran los atributos de las permutaciones (el intercambio de
reinas).
Para prevenir que las reinas vuelvan a su lugar anterior, se registrará en
la lista tabú los 3 últimos movimientos. El tamaño de la lista (tabú tenure) es
tres.
Solución actual x1 Estructura de la lista tabú Mejores 5 candidatos
2 5 3 6 7 1 4 2 3 4 5 6 7 cambio colisiones 1 3 2 4 1
2 1 6 2
3 2 5 2
4 3 5 2
5 3 6 2
El movimiento (1,7) está penalizado durante 3 iteraciones
6
Si se intercambian las reinas 2 y 4 la función objetivo valdrá 1, sólo hay
una colisión {(1,4)}
Se itera una vez más, k=2
Solución actual x2 Estructura de la lista tabú Mejores 5 candidatos
2 6 3 5 7 1 4 2 3 4 5 6 7 cambio colisiones 1 2 1 3 1
2 3 1 2 2
3 1 4 2
4 1 6 2
5 1 7 2T
El movimiento (1,7) está penalizado durante 2 iteraciones y el movimiento (2,4) durante 3 iteraciones
6
61
Entre los 21 vecinos hay 1 movimiento que produce una colisión y 8
movimientos que producen 2 colisiones, se pueden seleccionar al azar o
sistemáticamente tomar los primeros, en este caso el vecino (1,7) está
marcado como movimiento tabú, por lo tanto aún si fuera el mejor no sería
elegido para la siguiente iteración.
Se selecciona la permutación (1,3), es decir se intercambian las reinas 1 y 3; la
función objetivo no mejora, hay una colisión: {(1,5)}
Se itera una vez más, k = 3
Solución actual x3 Estructura de la lista tabú Mejores 5 candidatos
3 6 2 5 7 1 4 2 3 4 5 6 7 cambio colisiones 1 3 1 1 3 1T
2 2 1 7 1T
3 5 7 2
4 6 7 2
5 1 2 3
El movimiento (1,7) está penalizado durante 1 iteración y el movimiento (2,4) durante 2 iteraciones y el (1,3) durante 3 iteraciones
6
Las permutaciones (1,3) o (1,7) son las mejores en esta iteración, pero
como son tabú no pueden ser elegidas. La permutación de las reinas 5 y 7 a
pesar de que produce 2 colisiones y la función objetivo desmejora es la elegida
para ser la solución en la siguiente iteración. Las colisiones que se producen
son: {(3,5) (4,5)}
k = 4
Solución actual x4 Estructura de la lista tabú Mejores 5 candidatos
3 6 2 5 4 1 7 2 3 4 5 6 7 cambio colisiones 1 2 0 4 7 1
2 1 5 7 1T 3 1 5 2
4 2 5 2
5 3 2 4 3T
Observar como decrecen los tiempos de permanencia en la lista Tabú
6
62
La elección del movimiento (4,7) produce una sola colisión y no es tabú.
k=5
Solución actual x5 Estructura de la lista tabú Mejores 5 candidatos
3 6 2 7 4 1 5 2 3 4 5 6 7 cambio colisiones
1 1 0 1 3 0T 2 0 5 6 1
3 5 7 1T 4 3 1 6 2
5 2 1 7 2
6
El movimiento (1,3) es el mejor en la iteración k = 5, pero es tabú, sin
embargo realizar este movimiento produce el mejor valor encontrado hasta el
momento: cero colisiones, es por eso que se recurre al criterio de aspiración
para sobrepasar la condición de tabú y permitir que la siguiente solución sea (2;
6; 3; 7; 4; 1; 5) con la cual se obtiene una función objetivo igual a cero, es decir
es una solución de elite. Por la naturaleza del problema no hay otras soluciones
mejores, (no hay colisiones negativas) pero el proceso continúa para tratar de
encontrar otras soluciones.
Si el objetivo es encontrar una solución con cero colisiones, el criterio de
aspiración consistente en quitarle la restricción tabú a un movimiento que
produce el “óptimo” es válido, 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.
“tradicionalmente en la literatura la noción de mejor movimiento corresponde a
aquel que lleva a un mejor cambio en la función objetivo y frecuentemente se
asume por convención. Sin embargo, la filosofía de la búsqueda tabú ve “el
mejor” en el contexto, teniendo en cuenta una variedad de dimensiones
además del cambio en la función objetivo.”[4]
[4] Laguna, Manuel “A Guide to implementing Tabu search”, Investigación Operativa v. 4, n. 1, pp. 17 Abril 1994
63
Podría ser deseable incrementar el porcentaje de movimientos tabú, esto
se puede lograr ya sea incrementando el tamaño de la lista tabú, (tabu tenure)
el número de iteraciones que un movimiento está en la lista tabú o cambiando
la restricción tabú.
Como el tamaño de la lista es un número finito, en algún momento un
movimiento saldrá de la lista tabú y podrá ser elegido, con lo que se corre el
riesgo de ciclado – una misma solución vuelve a ocurrir repetidas veces cada
cierto tiempo - , para diversificar la búsqueda se usará la memoria de largo
plazo, en este caso, la estructura que registra 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
Solución actual x75 Frecuencias Mejores 5 candidatos
5 3 1 6 4 2 7 1 cambio FO freq
2 7 4 7 1 7 3 8 7 5 7 1T 5 4 4 5 0 1 2 2 7 5 4 0 0 5 1 4 2T 4 6 3 4 0 4 4 1 6 2 3
7 4 0 0 7 5 4
La lista tabú es: 1 2 3 4 5 6 7
1 2
2
3
4 1
5 3
6
La solución x75 es (5, 3, 1, 6, 4, 2, 7) y al evaluar los 5 mejores
candidatos para pasar a x76 se observa que el elegido debería ser el
64
movimiento 4,7 pues da un valor para la función objetivo igual a una colisión,
pero, al revisar la tabla de frecuencias 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 hay regiones no exploradas 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.
Este movimiento llevará el proceso de búsqueda a regiones menos exploradas.
El procedimiento se repite hasta superar el máximo número de iteraciones
permitidas.
Consideraciones previas al análisis de los resultados
• Es claro que la implementación computacional del algoritmo es
imprescindible para encontrar soluciones.
• Es evidente también que el algoritmo está en función del tipo de
problema, en este caso el movimiento es un intercambio de reinas, en el
problema del agente viajero o en un problema de secuenciación un
movimiento podría ser insertar un nodo y desplazar los otros, etc.
• En líneas generales lo central del método es la búsqueda inteligente,
alternando estrategias de intensificación con estrategias de
diversificación, penalizando la ocurrencia de un movimiento en algunos
casos y propiciándola en otros casos, todo sobre la base de la memoria.
65