Búsqueda Tabú

Anuncio
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
Descargar