La Búsqueda Dispersa es un enfoque evolutivo basado en el principio de que los
métodos sistemáticos usados para crear nuevas soluciones brindan beneficios superiores
a los producidos cuando las soluciones se forman de manera aleatoria.
La descripción algorítmica de esta metaheurística fue presentada por Glover en
1998. En esta versión se genera un conjunto inicial de soluciones que garantiza cierto
nivel de diversidad, y luego se aplican procedimientos heurísticos, diseñados para el
problema bajo consideración, para intentar mejorar este conjunto de soluciones.
Inicialmente se selecciona un conjunto de referencia, Refset,, constituido por un
subconjunto de las mejores soluciones obtenidas en términos de calidad y diversidad.
Luego se generan nuevas soluciones, aplicando combinaciones estructuradas entre
subconjuntos de Refset,, y se aplican procedimientos de mejora con el fin de optimizarlas.
en el procedimiento de mejora. Estas etapas se repiten hasta que Refset, permanece sin
cambios.
El algoritmo propuesto por Glover se compone de cuatro partes destinadas a
ejecutar las siguientes tareas: Diversificación-Generación, Mejora de Soluciones,
Generación y Actualización de Refset, Generación de Subconjuntos y Combinación de
Soluciones. En la siguiente subsección se describen los métodos desarrollados para llevar
cabo estas tareas con el fin de resolver el PDRS (Carnero y col., 2006, 2009).
3.4.1 Algoritmo basado en Búsqueda Dispersa 3.4.1.1. Generación-Diversificación
Para generar una colección de soluciones de prueba se utilizó el mismo método
descripto en 3.3.1.1. Cada solución garantiza que todas las variables claves son
estimables. Sin embargo, en este conjunto existen tanto soluciones factibles como no
factibles, esto garantiza un cierto nivel de diversidad, que es necesario para mejorar la
capacidad exploratoria de la técnica.
Las soluciones más diversas con respecto a la F definida por la ecuación 3.13 se
incorporan en un conjunto U de tamaño Us, donde Us es un parámetro del algoritmo.
Las soluciones se ordenan de acuerdo al valor de la F. El conjunto U se forma con la
colección de las Us/2 soluciones con menor valor de la F y las Us/2 peores soluciones.
3.4.1.2. Mejora de Soluciones
Se diseñaron dos procedimientos para mejorar cada una de las soluciones incluidas
• Método de Mejora 1 (MM1)
El MM1 consiste en una búsqueda local que inspecciona una vecindad definida por
el conjunto de soluciones que se alcanzan desde la actual mediante el intercambio de dos
variables. Si I´ representa el conjunto de sensores de una solución, entonces cada
elemento de I´ puede reemplazarse por un instrumento perteneciente al conjunto I /I´,
siendo I el conjunto de todos los sensores disponibles. El tamaño de la vecindad y por
lo tanto el esfuerzo computacional asociado a este mecanismo de mejora es elevado para
problemas de dimensiones considerables. Por esta razón no se aplica a todas las
soluciones sino que sólo se utiliza en dos situaciones: como rutina de mejora para las
soluciones de la fase de generación de soluciones diversas y cuando el mecanismo
alternativo de mejora no logra incorporar nuevas soluciones a Refset.
• Método de Mejora 2 (MM2)
El MM2 se desarrolla con el fin de identificar bloques constructivos que comparten
las soluciones de alta calidad, y generar vecindades de las mismas que respeten dichas
estructuras. Para ello se comparan pares de soluciones, y se halla un esquema de solución
parcial a partir del cual se construye la vecindad. Ésta se forma con el conjunto de todas
las soluciones completas alcanzables desde la parcial.
Por ejemplo si q1= [1 1 1 1 1 1 0] y q2= [0 1 1 1 1 0 1] son soluciones obtenidas por
combinación, entonces el esquema parcial es [* 1 1 1 1 **], y la vecindad generada a
partir de él es el conjunto:
N (q1,q2)={[0 1 1 1 1 0 0]; [0 1 1 1 1 1 0]; [0 1 1 1 1 1 1]; [1 1 1 1 1 0 0];
3.1.1.1 Generación y Actualización del Conjunto de Referencia
La construcción del conjunto de referencia se realiza mediante la selección de Rf
soluciones contenidas en U. La mitad de ellas corresponden a las Rf /2 soluciones de
mejor valor de F. Los restantes elementos del conjunto se eligen entre las soluciones
más diversas contenidas en U teniendo en cuenta su dH tal como se detalló en la
subsección 3.3.2.
3.1.1.2 Generación de Subconjuntos y Combinación de Soluciones
La combinación de soluciones es una operación que se define sobre un subconjunto
de Refset. El criterio de formación de subconjuntos utilizado fue el de parejas teniendo en
cuenta que los métodos de combinación propuestos resultan en operadores que requieren
dos soluciones como argumento de entrada. Para cada par de soluciones de Refset se
implementaron dos mecanismos de combinación diferentes, sugeridos en la literatura
(Glover y Laguna, 2002), con el objetivo de comparar su desempeño. A continuación se
detallan los aspectos fundamentales de los mismos.
Mecanismo de combinación 1 (MC1)
1) considerar a cada variable binaria de la solución combinada, qi, como una
variable aleatoria discreta Xi.
2) asignar a la variable aleatoria Xi la siguiente distribución de probabilidades:
( ) ( ) Pr( 1) ( ) ( ) Pr( 0) 1 Pr( 1) 1 2 l l 1 i 2 i i 1 2 i i F l q F l q X F l F l X X ⋅ + ⋅ = = + = = − = (3.16) En la expresión anterior, l1 i q y l2 i
q representan el valor de la i-ésima variable
binaria en las soluciones l1 y l2 respectivamente. Éstas forman el par de
soluciones pertenecientes a Refset que fueron seleccionadas para
5) generar una muestra aleatoria de tamaño uno de la variable Xi. La probabilidad
asignada a Xi se compara con un número aleatorio nal, y se define el valor de qi
en la solución combinada utilizando el siguiente criterio:
1 Pr( 1) 0 Pr( 1) al i i al i si n X q si n > X ≤ = = = (3.17)
De las ecuaciones anteriores se deduce que: 1) si las componentes homólogas de
las soluciones de partida son iguales, el valor de qi de la solución combinada es igual al
de aquellas; 2) si las componentes homólogas de las soluciones de partida son diferentes,
una buena solución tiene mayor probabilidad de copiar sus componentes en la solución
combinada dado que el numerador de la ecuación 3.16 se pondera utilizando el valor
binario de la componente correspondiente.
Mecanismo de combinación 2 (MC2)
El MC2 corresponde a un cruzamiento uniforme. Por lo tanto no introduce un
sesgo hacia la solución de referencia de mejor calidad tal como sucede al aplicar el MC1.
Este mecanismo consiste en intercambiar todas las componentes homólogas entre
las dos soluciones seleccionadas para combinación con una probabilidad del 50%. Se
genera una máscara en forma aleatoria de la misma dimensión que las soluciones
involucradas y se procede de la siguiente manera: si el bit i de la máscara es 1, se copia
la componente i de la primera solución considerada, de lo contrario la solución combinada
hereda en la posición i el valor correspondiente a la segunda solución.
En la Figura 3.3 de describe el pseudocódigo del algoritmo de BD propuesto para
U = Ø
U = método de Generación- Diversificación (Us)
U = método de Mejora 1(U )
RefSet =método de Generación y Actualización de RefSet (U, Rf) RefSet =Sort(RefSet)
qbest =solución de menor valor de F
qworst= solución de mayor valor de F
Nueva Solución = TRUE
while (Nueva Solución)
Nueva Solución = FALSE
Generar subconjuntos de RefSet, usando el método de Generación de Subconjuntos
while (exista al menos un subconjunto sin evaluar)
Seleccionar el subconjunto y rotular como evaluado
Aplicar métodos de combinación de soluciones en el subconjunto
Aplicar método de Mejora 2 a cada solución obtenida por combinación. Sea
q la solución mejorada,
if F(q)es mejor que F(qworst) y q no está incluida en RefSet
qworst = q
RefSet =Sort(RefSet ) Nueva Solución = TRUE
else
q= método de Mejora 1(q)
if F(q )< qbest solución en RefSet qbest =q NuevaSolución = TRUE endif endif endwhile endwhile
Figura 3.3. Pseudocódigo para el algoritmo de Búsqueda Dispersa