Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y...

79
Escuela de Modelación y Métodos Numéricos 2015 Networking and Emerging Optimization (NEO) Departamento de Lenguajes y Ciencias de la Computación Universidad de Málaga

Transcript of Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y...

Page 1: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Escuela de Modelación y Métodos Numéricos 2015

Networking and Emerging Optimization (NEO) Departamento de Lenguajes y Ciencias de la Computación

Universidad de Málaga

Page 2: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

3.2.39, E.T.S.I. Informática Universidad de Málaga Málaga, España

[email protected]

(+34) 952 13 7154 http://neo.lcc.uma.es

Optimización: metaheurísticas Paralelismo, Opt. Dinámica, self-*, … Problemas reales:

lenguaje natural,

secuenciación de ADN,

telecomunicaciones,

smartcities

Page 3: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Introducción a los Algoritmos Evolutivos Modelos de paralelismo centralizados Modelos de paralelismo descentralizados Modelos paralelos para algoritmos basados

en trayectoria Métricas y comparación Aspectos de implementación Aspectos avanzados

Page 4: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

… y ahora a trabajar!

Page 5: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Algoritmos Evolutivos

Networking and Emerging Optimization (NEO) Departamento de Lenguajes y Ciencias de la Computación

Universidad de Málaga

Page 6: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Objetivo de un problema de optimización:

Dado un problema P = (S,f)

donde

▪ S es el conjunto de todas las posibles soluciones

▪ f: S R+ es una función de coste.

Encontrar s’Є S | f(s’) ≥ f(s)

Minimizar también es posible.

Page 7: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Los problemas están en todas las actividades

Page 8: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Algoritmos de Optimización

Cálculo Trayectoria Enumerativas

SA

Exactas Metaheuristicas

Población

VNS

EA

ACO

DP

B&B

TS

Heurísticas ad-hoc

PSO

Inspiradas en la naturaleza

Page 9: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Basados en la evolución natural de Darwin.

Tres pasos principales: Selección. Reproducción (cruce y mutación). Remplazo.

Múltiples familias de acuerdo a cómo realizan

esos pasos: Algoritmos Genéticos (GA), Programación Genética (PG), Estrategias Evolutivas (ES), …

Page 10: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

t := 0 Generar(P(t)) Evaluar(P(t)) while not end condition do P’(t) := Seleccionar(P(t)) P’(t) := Cruzar(P’(t)) P’(t) := Mutar(P’(t)) Evaluar(P’(t)) P(t+1) := Remplazar(P(t), P’(t)) t := t+1 end while

Page 11: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Cromosoma Cadena codificada de los parámetros (binario, Gray, reales, etc...)

Individuo Uno o más cromosomas con su valor de fitness asociado

Gen La versión codifcada de cada parámetro del problema a ser resuelto

Alelo Valor que cada gen puede asumir (binario, entero, real, o incluso estructuras complejas)

Locus La posición que el alelo puede ocupar en el gen

Fitness Valor real que indica la adecuación de la solución al problema

Entorno El problema a resolver y todas sus restricciones

Población Conjunto de soluciones

Descendencia Conjunto de soluciones generadas a partir de las operaciones de cruce y mutación

Selección Política para elegir un conjunto de soluciones de una población

Cruce Operador que combina las características de 2 o más padres para generar descendientes

Mutación Operación que modifica uno o varios alelos en un cromosoma

CROMOSOMA Cromosoma

1 1 0 0 0 0 0 1 1 1 1 1 0 0 1 0 1 0 1 1 0 1 0 1 1 0 0 Alelo

Gen 8 Gen 7 Gen 6 Gen 5 Gen 4 Gen 3 Gen 2 Gen 1 Gen 0 Genes

2 1 0 2 1 0 2 1 0 2 1 0 2 1 0 2 1 0 2 1 0 2 1 0 2 1 0 Loci

FITNESS

Individuo

Page 12: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Definición de la codificación de la solución: ¿Cuál es la representación más adecuada? Entero, real, binario (gray), permutaciones, árbol, … Tamaño fijo/variable Diploide (n-ploide) …

Diseño de la función de fitness adecuada: Conocimiento del problema Ajustes: escalado, penalizaciones, clasificaciones

(rankings)

Problema

Page 13: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Definición de la operadores de variación y sus parámetros: Selección, cruce, mutación, remplazo Dependientes de la representación ¿Generales o específicos para el problema? Equilibrio intensificación/diversificación …

Definición de la condición de parada: Alcanzar el óptimo Máximo tiempo o pasos del algoritmos Máximo error permitido Propiedades de la población (convergencia)

Algoritmo

Page 14: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

P0 P1 P2 Pn 1 0 0 1 1 1 .................... 0 0

Processor 2 Processor 1

Process 1

Processor 0

a

n

Input layer

o p

b m ... c

q r z ... s

Hidden layer

Output layer

(a-n)...(m-n)(a-o)...(m-o)(a-p)..(m-p)(n-q)(o-q)(p-q)...(n-z)(o-z)(p-z)

INPUT ENCODING

(a-n)...(m-n)(n-q)...(n-z)(a-o)..(m-o)(o-q)...(o-z)(a-p)...(m-p)(p-q)...(p-z)

INPUT-OUTPUT ENCODING

RLIST

AND

IF pos IS NL AND vel IS NL THEN for IS PL

NL NL

PL

VEL POS

FOR

IF

IS IS

EL

IS

Type I

Type II

Type III

Type IV

j i

[10, 35, 204, 78, 27, 106]

MEF1 MEF2

w u

Interpretation index

Present

State

Present

State Fires

2

active

transitions

String

Page 15: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

El problema de la mochila: Seleccionar un subconjunto de objetos de un conjunto mayor

Cada objeto tiene asociado un beneficio pero también un peso.

Hay que maximizar el beneficio de los objetos seleccionados pero sin que su peso acumulado superen cierto umbral.

Solución: objetos seleccionados. ¿Representación?

7 3 1

0 1 0 1 0 0 0 1 0

Page 16: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

El problema de la ruta para robot: Decidir las órdenes para que un robot vaya de un origen a un destino

(recorriendo la mínima distancia) en una habitación con obstáculos (offline y estático).

El robot sabe girar y avanzar.

Solución: conjunto de órdenes ¿Representación?

Girar(Izq, 90) Avanzar(10 s) Girar (Izq, 30) …

(0,0) (10, 0) (15,5) …

0 7 5 …

Page 17: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Representa la principal fuente de información del problema en el algoritmo

Debe ajustarse con la mayor fidelidad a los requisitos del problema

Características: Restricciones Multimodalidad (gran número de óptimos locales) Epistática (gran correlación entre componentes) Multiobjetivo, dinámica, …

Ajustes: Escalado Penalización Orden

Page 18: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Ejemplo: ensamblado de fragmentos de ADN: Dados un conjunto de fragmentos de ADN obtenidos

del laboratorio, generar la cadena de ADN original

Entrada de los ensambladores: CGGGATTTCAAGAAATG… GGATAGGTTAAAAATGC… CCAAAATGGAGGTCTTA… … CATGGTACTTTTAGAGA…

Page 19: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Proceso habitual de ensamblado de fragmentos de ADN:

CGGGATTTCAAGAAATG… GGATAGGTTAAAAATGC… CCAAAATGGAGGTCTTA… … CATGGTACTTTTAGAGA…

CGGGATTTCAAGAAATG… GGATAGGTTAAAAATGC… CCAAAATGGAGGTCTTA… CATGGTACTTTTAGAGA… … CATGGTACTTTTAGAGA… GGATAGGTTAAAAATGC…

20

130

0

CGGGA… GGATACCAAA… CCAAAATG… CAAAATGCTTTTA… CTTTTATGGA… GGATAGG…

Salida de ensamblador: CGGGATACCAAATGCTTTTATGGATAGGTTAAAA …

1

0

1),()(N

iii xxoverlapxf

¡¡¡ Maximizar solapamiento no lleva a la cadena destino en todos los casos!!!

¿Alternativas?

15 73 59 …

Page 20: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

¿Cuántas soluciones seleccionar?

Operadores basados en el fitness: Ruleta Torneo Ranking

Operadores basados en aspectos diferentes al fitness: Aleatoriamente Edad Diversidad

Remplazo: (µ + ʎ) vs (µ,ʎ) Elitismo

=1 = 1<<

estado estacionario generacional

5%

31%

14%

50%

1001101101

11000

01000

Page 21: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Combina características de 2 o más soluciones Depende de la representación y en el problema. ¿Parámetros?

1 2 3 4 5 6 7

9 3 7 8 2 6 5

8 9

1 4

3 8 2 4 5 6 7 1 9

Page 22: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Pequeñas modificaciones de una solución Objetivo: explotar el vecindario de la solución Puede ser dinámica (variar su intensidad) ¿Parámetros?

5 2 6 1 3 7 4 5 7 3 1 6 2 4

Page 23: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Ventajas: “Facilidad” de uso Alto nivel de aplicabilidad Requiere poco conocimiento del problema … … pero se puede incorporar información del problema

fácilmente Trabaja con múltiples soluciones simultáneamente

(paralelismo, multiobjetivo, dinamismo, …)

Inconvenientes: No asegura la obtención del óptimo Muchos parámetros “Dificultad” para explotar vecindario soluciones “Lenta” convergencia

Page 24: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Networking and Emerging Optimization (NEO) Departamento de Lenguajes y Ciencias de la Computación

Universidad de Málaga

Algoritmos Evolutivos

Page 25: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

En aplicaciones complejas los algoritmos evolutivos secuenciales requieren altas capacidades computacionales.

Mejora de la eficiencia: Nuevos operadores “inteligentes” Representaciones mejoradas Ajustes en la función de fitness Mezcla de algoritmos (hibridación) Paralelismo

El paralelismo permite más explorar más soluciones por

unidad de tiempo y en algunos casos generan dinámicas diferentes muy adecuadas para algunos problemas

Page 26: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Trabajar con algoritmos paralelos no es demasiado trivial: Requiere conocimientos en … … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas paralelas … protocolos de comunicación y redes La programación paralela/distribuida es más propensa a

errores y más difícil que la secuencial Los algoritmos paralelos son más complejos de analizar No siempre el paralelismo es la mejor solución …

Pero es útil!!! Y hay herramientas que facilitan su uso.

Page 27: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Hay que diferenciar entre modelos e implementaciones

Se debe tener cuidado en su evaluación (métricas)

Se puede conseguir una ganancia superlineal En la actualidad, la heterogeneidad es algo

común El diseño experimental es muy importante Los algoritmos paralelos son software

Page 28: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Centralizado: las operaciones pueden realizarse entre cualquier par de soluciones de la población completa.

Descentralizado: existen restricciones entre que pares de soluciones pueden realizarse ciertas operaciones.

Los modelos descentralizados implican una estructuración de la población.

Modelo descentralizado Modelo centralizado

Page 29: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

El modelo y la implementación son aspectos diferentes

Modelo descentralizado Modelo centralizado

1 CPU Cluster

IMPLEMENTACIÓN

Page 30: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Objetivo: mantener el esquema de funcionamiento del algoritmo evolutivo secuencial

Las operaciones que requieran información global son centralizadas:

t := 0 Generar(P(t)) Evaluar(P(t)) while not end condition do P’(t) := Seleccionar(P(t)) P’(t) := Cruzar(P’(t)) P’(t) := Mutar(P’(t)) Evaluar(P’(t)) P(t+1) := Remplazar(P(t), P’(t)) t := t+1 end while

Centralizadas

Page 31: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Maestro/esclavo: Ciertas operaciones costosas se delegan en otros procesadores

Ejecuciones independientes: Se ejecutan múltiples

EAs y se devuelve el mejor de todas

CPU

CPU CPU CPU …….

eval eval

eval

eval eval

…….

CPU CPU CPU

Mejor solución global

Page 32: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Ventajas:

Modelos sencillos

Igual que el comportamiento del secuencial a nivel numérico

Facilidad para su implementación

Facilidad para ser aplicables en cualquier plataforma paralela

Mejoras de tiempo

Muy escalables

Facilidad para tolerar a fallos (?)

Page 33: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Inconvenientes:

Fuerte sincronismo y heterogeneidad: ▪ El maestro/esclavo (MS) en cada iteración esperará al más lento

▪ El modelo de ejecuciones independientes (IR) puede ser más lento que el secuencial para obtener una primera solución!!!

Tolerancia ante fallos del maestro/principal

[MS] Muchas comunicaciones (sobrecarga)

[MS] No operación costosa

Page 34: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Alternativas:

Equilibrado de carga (mayor complejidad): ▪ [MS] Cuando un proceso esclavo acaba su actividad, el maestro le

envía otra que no haya acabado

▪ [IR] Cuando un procesador acaba, se puede mover un algoritmo de otro procesador lento

[MS] Envío de varios cálculos a la vez (problemas de heterogeneidad)

[MS] Evitar sincronismo: uso de (µ+1) asíncrono (¡¡¡diferente dinámica al secuencial!!!)

[IR] Entorno diferentes (¡¡¡diferente dinámica al secuencial!!!)

Page 35: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Objetivo: Descentralizar las operaciones de selección/remplazo

Motivación: La Naturaleza usa poblaciones separadas para la

evolucionar

Se maneja más fácilmente la convergencia prematura (forma implícita de mantener la diversidad)

Forma natural de introducir nichos para encontrar diferentes soluciones

Forma sencilla de evitar el cruce de soluciones muy diferentes

Se puede aplicar con facilidad en paralelo (?)

¡Dinámica diferente al secuencial!

Page 36: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Divide la población en subpoblaciones para limitar la selección/remplazo.

Cada subpoblación ejecuta un algoritmo completo incluyendo una nueva fase de comunicación con el resto

Grano fino (celular): Muchas subpoblaciones muy pequeñas (incluso 1) pero con alto acoplamiento

Grano grueso (distribuido / islas): Pocas subpoblaciones de tamaño grande y poco acoplamiento

# sub-poblaciones

acoplamiento

tamaño subpoblación

cGA

dGA

pequeña grande ligero

intenso

pocas

muchas

Page 37: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

En el modelo celular, la población está estructurado en una rejilla, y cada solución sólo puede interactuar con sus vecinos

Vecindario de la solución verde

Vencindario de la solución roja

Solapamiento

Difusión suave de soluciones Vencindario solapados Búsqueda mejorada

Page 38: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Selección

Mutación

Remplazo

Cruce

Page 39: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Población habitualmente estructurada en una rejilla 2D El ciclo reproductivo sólo afecta a un pequeño vecindario Vecindarios solapados Aislamiento por distancia Explotación intravecindario y exploración entrevecindario

?

C9

C25 C13

L5 L9

Page 40: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Influencia de la forma de rejilla en la diversidad

Generación=0

Generación=50

Generación=100

Generación=150

16 16 32 8 64 4 256 1

Page 41: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Caracterización mediante el radio El radio puede definirse para la rejilla o el vecindario La relación (ratio) entre vecindario/rejilla nos da una idea de

la velocidad de convergencia (presión selectiva).

8944.023

225

Lrad

L5

rad2

rad1

rad2 > rad1

***

*

1

*

1

22

ny

yn

xx

nyyxx

radn

i i

n

i iii

rejilla

vecindariocGA rad

radratio

Page 42: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

# Topolología Radio Ratio (usando NEWS)

a 1024 1024 4.180460501E+2 0.002139477217369000

b 2048 512 6.094017558E+2 0.001467668892463000

c 4096 256 1.184720431E+3 0.000754946041780600

d 8192 128 2.365115325E+3 0.000378163377720300

e 16384 64 4.729689472E+3 0.000189103323864000

f 32768 32 9.459311312E+3 0.000094552337955660

g 65536 16 1.891861418E+4 0.000047276190078740

h 131072 8 7.567445452E+4 0.000011819047863290

i 262144 4 1.513489090E+5 0.000005909523933205

j 524288 2 3.026978179E+5 0.000002954761967579

k 1048576 1 6.053956359E+5 0.000001477380983545

1,00E-06

1,00E-05

1,00E-04

1,00E-03

1,00E-02

1,00E-01

1,00E+00

1,00E+01

1,00E+02

1,00E+03

1,00E+04

1,00E+05

1,00E+06

Radio Ratio

Page 43: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

El ratio entre los radios de rejilla y del vecindario nos aporta una idea del ratio intensificación/diversificación

rad2

rad2>rad1 & ratio2<ratio1

RATIO explotación

RATIO exploración

¡EQUILIBRIO AJUSTABLE!

Forma radrejilla radNEWS ratio 2020 8.15 0.8944 0.10968 0.110 1040 11.9 0.8944 0.07519 0.075 4100 28.9 0.8944 0.03096 0.031

rad1

Page 44: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

t

t

t

t

t

Ratio estático 0.110 (2020)

Ratio estático 0.075 (1040)

Ratio estático 0.031 (4100)

Ratio dinámico: 0.110 a 0.031

(2020 a 4100)

Ratio dinámico: 0.031 a 0.110

(4100 a 2020)

tm

tm

Ratio alto (rejilla cuadrada)

Ratio mediano (rejilla rectangular)

Ratio bajo (rejilla fina)

De alto a bajo

De bajo a alto

Page 45: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Auto-adaptación: Adaptar la rejilla dependiendo del estado la población actual

¿Cómo calcular C1 y C2? Variación en el fitness

Variación en la entropía

Mezcla de ambas

if C1 then Cambiar(más cuadrada) else if C2 then Cambiar(más estrecha) end if

Page 46: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Reemplazo:

Siempre

Si es mejor

Probabilístico

Actualización:

Síncrona: Se crea una población temporal que sustituye al final a la actual

Asíncrona: En cada paso se actualiza la población actual

▪ Barrido fijo

▪ Aleatorio fijo

▪ Aleatorio variable

Page 47: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Ventajas:

Nuevo modelo algorítmico

Facilidad para ajustar intensificación/diversificación

Posibilidad de crear algoritmo auto-adaptativos

Cierto conocimiento empírico sobre su funcionamiento

Inconvenientes:

¡¡¡Dificultad para paralelizar!!! (plataformas específicas)

Más parámetros

Implementación y análisis más complejo

Page 48: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

División de la rejilla global en subrejillas:

Inconvenientes:

Sincronización

Alta número de comunicaciones

Page 49: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Asíncrono Comunicación cada N iteraciones

Inconvenientes:

Comportamiento diferente al cEA estándar

Dificultad para el ajuste de la rejilla dinámicamente

Page 50: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Nodo de un PEA distribuido (isla)

Generar subpoblación inicial

Evaluar subpoblación inicial

While not termination do:

Seleccionar padres

Aplicar operadores de variación

Crear nueva subpoblación (remplazo)

Comunicación con los vecinos

Comunicación con los vecinos

if fase de envío then:

Seleccionar solución/es a enviar

Seleccionar destinatarios

Enviar

if fase de recepción then:

Esperar soluciones

Recibir

Incorporar las soluciones a la subpoblación

Page 51: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Modelo evolutivo de la isla: Centralizado

Estructurado Generación subpoblación inicial Topología Política de migración Selección de emigrantes

Ratio de emigrantes

Frecuencia de migración

Política de aceptación de inmigrantes Sincronismo Heterogeneidad a nivel algorítmico

Page 52: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Ventajas:

Nuevo modelo que facilita el mantenimiento de la diversidad de forma implícita

Facilita la exploración de diferentes regiones simultáneamente

Manejo de la heterogeneidad

Facilidad de paralelización en sistemas distribuidos y altamente configurable al entorno

Ganancia en tiempo

Page 53: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Inconvenientes:

Programación más compleja

Muchos parámetros y es bastante sensible a ellos

Diversidad con sistemas muy heterogéneos

Tolerancia a fallos

Uso de subpoblaciones pequeñas (?): ▪ Diversidad intra-subpoblacional

▪ Escalabilidad

Page 54: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

CPU

CPU CPU CPU …….

eval eval

eval

eval eval

Page 55: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Trabaja sobre una única solución y se basa en la exploración su vecindario

Incorpora mecanismos explícitos para facilitar la exploración Ejemplo: Recocido simulado

t := 0

Inicializar(T)

s0 := SoluciónInicial()

repeat

repeat

t := t+1

s1 := GenerarVecino(s0)

if CriterioAceptación(s0,s1,T)

s0 := s1

until t mod MarkovChainLen = 0

T := Actualizar(T)

until stop condition

f(s1) < f(s0) Aceptar

sino TΔfe=p /

Page 56: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Evaluación en paralelo: La solución se evalúa en paralelo Movimientos paralelos: Se explora el vecindario en paralelo Ejecuciones múltiples: Se ejecutan múltiples instancias en

paralelo (con o sin cooperación)

Solución

Evaluación parcial

Page 57: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Modelo ejecuciones múltiples cooperativo: Pérdida de información: descarta nueva solución o pierde la actual

Page 58: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

¿Cómo unir información de ambas soluciones? Operadores cruce o recombinación:

Otras operaciones más avanzadas. Ej: Path Relinking

Page 59: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Esquema de cooperación: ¿De donde viene la nueva solución? Topología:

¿Qué hacer si se reciben varias? ▪ Elegir de acuerdo al fitness

▪ Elegir de acuerdo a diversidad

▪ Aleatorio

Esquema de selección: Si el mecanismo genera varias, ¿cuál elegir? Elegir de acuerdo al fitness

Elegir de acuerdo a diversidad

Aleatorio

Page 60: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Networking and Emerging Optimization (NEO) Departamento de Lenguajes y Ciencias de la Computación

Universidad de Málaga

Algoritmos Evolutivos

Page 61: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Calidad de las soluciones obtenidas (media, mejor, % exito, desviación estándar, …)

Esfuerzo computacional (número de evaluaciones) Tiempo de ejecución Tiempos de CPU + Tiempo de comunicaciones

Métrica sobre la evolución

Speedup (o eficiencia) Fracción Serie ...

Page 62: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Propuesta para algoritmo exactos. Ratio entre el tiempo del mejor algoritmo

secuencial conocido y el tiempo del algoritmo paralelo en m procesadores. Sub-lineal: sm < m Lineal: sm = m Superlineal: sm > m

mm T

Ts 1 %100ms

e mm

Eficiencia

Page 63: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Los algoritmos evolutivos son estocásticos. Múltiples ejecuciones.

Los algoritmos pueden parar en soluciones con diferente calidad.

El modelo paralelo puede tener dinámica diferente al secuencial.

Nueva taxonomía: Speedup fuerte

Speedup débil ▪ Con esfuerzo predefinido

▪ Misma calidad de soluciones ▪ Vs secuencial (centralizado)

▪ Ortodoxo

mm T

Ts 1

Page 64: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Ejemplo simple: PGA en islas

Weak1: comparado contra un GA secuencial

Weak2: comparado contra el mismo PGA pero ejecutado en una máquina

Más recursos disponibles

S

0102030405060708090

100110120

2 3 4 5 6 7 8#proc.

sp

ee

du

p weak1

weak2

Page 65: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Eficiencia incremental:

Eficiencia incremental generalizada:

Escalado:

Fracción serie:

][

][)1( 1

m

mm TEm

TEmie

mmsf m

m11

11

][

][,

m

nmn TEm

TEngie

][

][

,

,

,

nknm

kmnm TE

TEsu

0,01

0,015

0,02

0,025

0,03

0,035

0,04

0,045

0,05

0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1

dGA2 dGA4 dGA8

Eficiencia

Fracción serie

Page 66: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Circuitos programables (FPGA)

Multiprocesador:

Multicore

GPUs

Distribuidos:

Clusters

Grid/Cloud Computing

P2P, Computación voluntaria, …

Page 67: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Bajo nivel: Sockets, …

Librerías de comunicaciones: OpenMPI, …

Middleware: CORBA, MANIFOLD, MR, …

Sistemas de metacomputación: Condor, BOINC, …

Relacionados con Internet: SOAP, REST, …

Específicos: CUDA, OpenCL, Handel C, …

Memoria compartida: OpenMP, HPF, …

Otros: Dropbox, BD distribuidas, …

Page 68: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Los algoritmos son software:

Diseño, documentación, verificación, …

Detalles de implementación:

▪ Var estáticas/dinámicas,

locales/globales, …

▪ Métodos de ordenación

▪ Gen. números aleatorios

▪ …

Page 69: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Frameworks paralelos

Otros: pALS, DGPF, PMF, JDeal, dBEAGLE, DREAM, JG2A, …

Framework Lenguaje Algoritmos Tipo de paralelismo

ParadisEO C++ Pob, Tray, Híb, MO Islas, MS / dis y mem com

MALLBA C++ Pob, Tray, Híb Islas / dis

ECJ Java Pob, MO Islas, MS / dis

Opt4J Java Pob, Tray, MO MS / mem com

EASEA Propio EA MS / gpu

HeuristicLab C# Pob, Tray Islas / dis

jMetal Java MO MS / mem com

Page 70: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Configuración de algoritmos:

ParamILS, GGA, SMAC, i-race

Page 71: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Ajuste semáforos:

Page 72: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Generación de Música:

Uso de programación genética

Basado en parámetros formales de las partituras

https://www.youtube.com/watch?v=JOkslCT8DZU

Page 73: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

B1'''

B2'''B3'''

E1'''

E2'''E3'''

B1''

B2''B3''

G1''

G2''G3''

A1''

A2''A3''

G1'

G2'G3'D1'

D2'D3'

F1'

F2'F3'

B1

B2B3

G1

G2G3

E1

E2E3C1

C2C3

D1

D2D3

A1

A2A3

F1

F2F3

Serving Sector

First Order Neighbors

Second Order Neighbors(coming from C2!)

Page 74: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Modelos específicos para las nuevas plataformas

Page 75: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Teoría

Page 76: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Parámetros:

Clases de equivalencias

Autoadaptativos

Page 77: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Nuevos dominios: dinámicos

Page 78: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Luna, F., & Alba, E. (2015). Parallel Multiobjective Evolutionary Algorithms. In Springer Handbook of Computational Intelligence (pp. 1017-1031). Springer Berlin Heidelberg.

Alba, E., Luque, G., & Nesmachnow, S. (2013). Parallel metaheuristics: recent advances and new trends. International Transactions in Operational Research, 20(1), 1-48.

Luque, G., & Alba, E. (2011). Parallel genetic algorithms: theory and real world applications Studies in Computer Intelligence (Vol. 367). Springer.

Crainic, T. G., & Toulouse, M. (2010). Parallel meta-heuristics. In Handbook of metaheuristics (pp. 497-541). Springer US.

Alba, E., & Dorronsoro, B. (2009). Cellular genetic algorithms (Vol. 42). Springer Science & Business Media.

Talbi, E. G. (Ed.). (2006). Parallel combinatorial optimization (Vol. 58). John Wiley & Sons.

Alba, E. (2005). Parallel metaheuristics: a new class of algorithms (Vol. 47). John Wiley & Sons.

Page 79: Escuela de Modelación y Métodos Numéricos 2015 · 2018. 4. 21. · … teoría de concurrencia y paralelismo … herramientas de paralelismo y programación distribuida … hardware/plataformas

Gabriel Luque – [email protected]