• No se han encontrado resultados

Algoritmo basado en la Búsqueda Tabú Clásica y la Técnica de

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 referencia

R .

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 alcanzarse

SG 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ón

q =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