Búsqueda Tabú Paralela
Ángel Luis Calvo Ortega
Algoritmos y Programación Paralela
Curso 2006-2007
Página 1
Búsqueda Tabú Paralela
Introducción
Búsqueda Tabú (TS) secuencial:
Algoritmo de búsqueda local mejorado
Uso de estructuras de memoria (tabú, frecuencia, ...)
Meta-heurístico
Objetivos de paralelizar TS:
Encontrar una solución similar más rápido
Encontrar una solución mejor en tiempo similar
Página 2
Búsqueda Tabú Paralela
Introducción (ii)
Algoritmo secuencial:
1.actual
2.mejor
HACER-NODO(ESTADO-INICIAL[problema])
actual
3.mejor_costo
VALOR[mejor]
2P veces
4.bucle hacer
5.
vecino
sucesor
6.
actual
vecino
7.
Actualizar H
8.
si VALOR(actual) < mejor_costo entonces
9.
mejor
10.
mejor_costo
N*(H, actual) / minimice VALOR(H,actual)
actual
VALOR[mejor]
11.hasta condición_de_terminación
k veces
Página 3
Búsqueda Tabú Paralela
Clasificación
Taxonomía introducida en 1993 para las TS paralelos
Consta de 3 criterios
También aplicable a otras meta-heurísticas
• Control de la cardinalidad
¿Cuantos procesos controlan la búsqueda?
1C: un proceso (dueño-esclavo)
pC: varios procesos (que colaboran o no)
Página 4
Búsqueda Tabú Paralela
Clasificación (ii)
1. Tipo de control y comunicación
Organización de la comunicación, sincronización y jerarquía,
manejo y compartición de la información
RS (Rigid Synchronization): poco intercambio de información
KS (Knowledge Synchronization): más sofisticada
C (Collegial): comunicaciones asíncronas
Página 5
KC (Knowledge Collegial): además la información compartida
ayuda a mejorar la solución
Búsqueda Tabú Paralela
Clasificación (iii)
1. Diferenciación de la búsqueda
¿Cual es la solución inicial de las búsquedas?, ¿se utiliza la
misma estrategia en todas las búsquedas?
SPSS: mismo punto inicial, mismo tipo de búsqueda
SPDS: mismo punto inicial, distintas búsquedas
MPSS: múltiples puntos iniciales, mismo tipo de búsqueda
MPDS: múltiples puntos iniciales, distintas búsquedas
Página 6
Búsqueda Tabú Paralela
Tipos de paralelización
Bajo nivel:
Acelerar tareas con alto coste computacional
Evaluación del vecindario
Aproximaciones:
1. Dueño-Esclavo
Alto nivel:
Realizar múltiples búsquedas simultaneas
Aproximaciones:
1. Búsquedas independientes
2. Búsquedas cooperativas
Página 7
Búsqueda Tabú Paralela
Dueño-esclavo
Funcionamiento:
El vecindario N es dividido en p subconjuntos Ni
Cada proceso esclavo evalúa su Ni (N/p)
El hilo dueño selecciona el movimiento entre los p posibles
1C/RS/SPSS
Speed-up proporcional al número de procesadores
Mejoras:
Las estructuras de memoria están replicadas
Cada hilo ejecuta varias iteraciones (KS)
Página 8
Búsqueda Tabú Paralela
Búsquedas Independientes
Se hacen p búsquedas independientes
Cada una trabaja en su propia solución
No se comparte el conocimiento
pC/RS/{SPDS/MPSS/MPDS}
Adecuado cuando se requiere ajuste de parámetros
Página 9
Búsqueda Tabú Paralela
Búsquedas cooperativas
Como las búsquedas independientes, pero:
Cuando se encuentra una buena solución se envía al dueño
El dueño envía a los esclavos
Los esclavos reinician la búsqueda desde la nueva solución
La lista tabú no se copia
pC/KS/MPSS
El conocimiento mejora la solución
Página 10
Búsqueda Tabú Paralela
Conclusiones
Fácil de implementar
Paralelizar la evaluación de vecinos
Mejora del tiempo
Limitado por las comunicaciones
Múltiples ejecuciones
Mejora del tiempo y/o solución
Página 11
Búsqueda Tabú Paralela