3.3 Nuevas Estrategias de Diseño de Redes de Sensores basadas en
3.3.2 Algoritmo basado en la Búsqueda Tabú Clásica y la Técnica de
Tal como sucede en la mayoría de las heurísticas propuestas en la literatura, el
balance apropiado entre la intensificación y diversificación de la búsqueda juega un rol
central en el éxito de la metodología propuesta. En el contexto de la BTC, el
procedimiento de reencadenamiento de caminos (RC) se puede incorporar con este fin.
Dicha técnica fue propuesta por Glover y Laguna (2002) y ha sido reconocida como una
herramienta efectiva en la resolución de problemas combinatorios (Ghamlouche y col.,
2004).
Dado un conjunto de referencia R construido con soluciones de alta calidad, la
solución inicial (SI) y solución guía (SG), y generar un camino entre SI y SG
seleccionando movimientos que introduzcan en la solución corriente atributos contenidos
en SG. La filosofía subyacente de esta estrategia es que las soluciones de alta calidad
comparten ciertos atributos y que sus combinaciones producen soluciones que podrían
ser mejores que aquellas contenidas en R y alguna aún mejor que la mejor encontrada
hasta el momento. Su desempeño depende de las reglas adoptadas para: generar R,
seleccionar las soluciones SI y SG, e identificar la estructura de vecindades y los atributos
guía.
Luego de un número frecpr predefinido de movimientos consecutivos, el
procedimiento de BTC cambia a la fase RC, la cual se detiene cuando la cardinalidad de
R es menor o igual que uno (
R
≤1). Si la condición de detención del algoritmo no se verifica, entonces el procedimiento se repite para formar un nuevo conjunto de referenciaR .
El procedimiento de formación del conjunto de referencia R es esencial para
generar nuevas soluciones de alta calidad. En este trabajo de tesis se propone crear R
durante la ejecución de BTC y mejorarlo durante la fase de RC. Se utilizan las siguientes
reglas para asegurar la calidad y diversidad de las soluciones contenidas en R (Carnero
y col., 2009).
1) Generar un conjunto auxiliar CA a partir de las mejores soluciones encontradas
en la fase BTC. Cada uno de los vectores contenidos en CA se indican con
CA
q . Dada una iteración de la BTC, si es posible encontrar una solución
superadora, entonces, ésta se incorpora al conjunto auxiliar CA .
2) En la primera mitad del conjunto R se almacenan los mejores vectores solución
3) Para cada vector solución qCA que pertenece al CA , pero que no está incluido en R, esto es qCA
∈
{CA / R }, se computa la distancia de Hamming, dH, entre qCA y R de la siguiente forma:(q , )=Min
∑
− ∀ ∈ I l H CA i CAi i d R q q l R (3.15)4) La segunda mitad de R se completa con el vector qCA
∈
{CA / R } que maximiza dH.En relación con SI y SG, éstas se definen como la peor y la mejor solución de R,
respectivamente. Para realizar el procedimiento de RC se han propuesto dos tipos de
movimientos denominados M1 y M2, que difieren en los atributos que guían la trayectoria
y, en consecuencia, en la estructura de la vecindad que generan.
Estos movimientos se presentan a continuación y en la Figura 3.2 se muestra un
pseudocódigo para el algoritmo de RC implementado.
3.3.2.1. Movimiento M1
Supóngase que qi y qg representan las soluciones SI y SG actuales, respectivamente.
Partiendo desde qi, la idea es generar vecinos que tiendan a qg. Para formar el primer
vecino q1, inicialmente éste se define igual a qi, luego se comparan los elementos de los
vectores q1 y qg, de izquierda a derecha, hasta que se encuentra la primera diferencia. Para
esta posición, por ejemplo la l-ésima componente de los vectores, el elemento de q1 se
reemplaza por el correspondiente elemento de qg y la comparación se detiene dado que
se ha formado el primer vecino. A continuación se repite el mismo procedimiento entre
El resto de los vecinos se generan del mismo modo, y el procedimiento finaliza cuando
el último vecino formado difiere sólo en una componente respecto de qg.
3.3.2.2. Movimiento M2
La estructura de vecindades propuesta se basa en el intercambio de posición de una
medición. Se ha observado que las colecciones de buenas soluciones presentan a menudo
el mismo número de mediciones aunque la distribución de las mismas difiere en alguna
posición del diagrama de flujo del proceso. Por tal motivo se propone que partiendo desde
la solución SI se generen sucesivas vecindades que contengan soluciones, con igual
número de mediciones, cada vez más similares a la solución SG.
En primer lugar, se calcula la diferencia entre los vectores qg y qi, obteniéndose
valores positivos (+1), negativos (-1) o cero para las componentes del vector diferencia.
Las posiciones con valores positivos y negativos se registran en los vectores pp y np,
respectivamente. Luego, todas las combinaciones entre cada elemento de pp y todos los
elementos de np conforman un conjunto de intercambios entre los correspondientes
elementos de qi. Cada intercambio genera un vecino.
Por ejemplo si, SG =
[
1 1 1 0 0]
y SI =[
1 0 0 1 1]
, entonces[
2 3]
=
pp y np=
[
4 5]
. Los posibles vecinos para la solución inicial utilizando M2 serán:[
1 1 0 0 1]
,[
1 1 0 1 0]
,[
1 0 1 0 1]
,[
1 0 1 1 0]
. Cada una de estas soluciones tiene una estructura más similar a la solución guía, hasta alcanzarseSG en la fase final. Si las soluciones, inicial y guía, no comparten el mismo número de
mediciones, el tipo de movimiento puede utilizarse aún para proporcionar soluciones
R, conjunto de referencia; q*, mejor solución actual
Seleccionar la solución inicial qi y la solución guía, qg q= qi
while q≠ qg
Generar vecindad N1( )q (M1)
Generar vecindad N2( )q (M2)
Seleccionar una solución q∈ N1( )q
∪
N 2( )q tal que minimice F(q) o satisfaga el criterio de aspiraciónq =q
return q
Figura 3.2. Pseudocódigo para el algoritmo de RC
3.4 Nuevas Estrategias de Diseño de Redes de Sensores basadas en Búsqueda