27
Optimización con algoritmos heurísticos en paralelo Dr. Marco Antonio Castro Liera [email protected]

Optimización con algoritmos heurísticos en paralelo

Embed Size (px)

Citation preview

Optimización con algoritmos heurísticos en paralelo

Dr. Marco Antonio Castro [email protected]

Agenda

1) Programación Paralela

2) Optimización

3) Algoritmos

Arquitecturas paralelas

● Procesadores multi-núcleo

Arquitecturas paralelas● Un cluster es un conjunto de computadoras que

intercambian mensajes a través de una red, para emular una máquina paralela

Factores a considerar:CostoVelocidad de Interconexión de los procesadores

Tproc = Tcomp+Tcolas

N o d o M a e s t r o

1 0 0 m b p s

`

N o d o E s c l a v o 1

`

N o d o E s c l a v o N - 1

`

N o d o E s c l a v o N

Arquitecturas paralelas

● General-Purpose Computing on Graphics Processing Units (GPGPU)

Programación paralela (conceptos)

● Sección crítica / no crítica

● Aceleración

● Eficiencia

● Granularidad

A=T P1

T PNE=

AN

¿Qué es Linux?

● Linux es un Kernel

● Con licencia GPL v2

● Monolítico

● Más de 13 millones de líneas de código

● Versión actual 3.7

● Altamente portable DEC Alpha, ARM, AVR32, Blackfin, ETRAX CRIS, FR-V, H8, IA64, M32R, m68k, MicroBlaze, MIPS, MN10300, PA-RISC, PowerPC, System/390, SuperH, SPARC, x86, x86 64 y Xtensa

● Escrito en lenguaje C, junto a unas pequeñas secciones de código escritas en lenguaje ensamblador.

¿Qué es una distribución?

● Es un conjunto de utilerías que permiten instalar fácilmente un kernel con una serie de paquetes.

● También se conocen como distros

● Algunas se basan enFreeBSD y muchas en Linux

El planificador de procesos

DEMO: Programador de tareas

Programación paralela (herramientas)

● Procesadores multinúcleo

– fork()

– OpenMP

– pthreads● Clusters

– PVM

– MPI● GPGPU

– OpenCL

– CUDA

fork()

pthreads

CUDA

Optimización en espacios contínuos

f ( X ):ℜn→ℜ

Xo∈ℜ∣f ( Xo)≤f ( X )∀ X∈ℜ

● minimización:

f ( X ):ℜn→ℜ

Xo∈ℜ∣f ( Xo

)≥f ( X )∀ X∈ℜ

● maximización:

min( f ( X ))

max ( f ( X ))

● equivalencia:

min( f ( X ))=max (−f ( X ))

Ejemplos de problemas continuos difíciles

Func. de Rastrigin Func. de Ackley

f (x )=D

∑i=1

(x i2−10 cos (2 Π x i )+ 10 ) f (x )=−20 exp (−0.2 √ 1D

D

∑i =1

x i2)−exp (

1D

D

∑i=1

cos (2 Π x i ))+ 20+ e

Optimización combinatoria● El espacio de búsqueda es discreto.● Se trata de buscar una combinación de elementos que

maximicen o minimicen una función● Ejemplo clásico el problema del agente viajero (TSP)

[1, 2, 5, 4, 6, 3]

Complejidad● Problemas P, NP, NP completo.

Complejidad:● Constante (la mejor y objetivo a buscar) O(1)● Logarítmica (muy buena) O(log n)● Lineal O(n)● Lineal*logarítmica O(n log n)● Cuadrática O(n2)● Polinomial (mala) O(na) con a>2● Exponencial (muy mala) O(an) con a>2● Factorial (la peor) O(n!)

TSP● Cantidad de permutaciones de tamaño n = n!● Por ejemplo con 13 ciudades: ● 13! = 6,227'020,800

DEMO TIME!

Algoritmos Genéticos

AG

John H. Holland “Adaptación en Sistemas Naturales y Artificiales” (1975) Universidad de Michigan

Inspirados en:Evolución natural de poblaciones.Darwin (supervivencia del más apto).Mendel, (transferencia de información genéti-ca).

AG

DEMO TIME!

Particle Swarm Optimization.

PSO

Anatomía Movimiento

Posición actual x

Velocidad v

Mejor posición y

o Aptitud actual ao Mejor aptitud histórica b

Partícula

Velocidad y Movimiento

V t+1=V t w+c1r1(Y− X )+c2 r2(Y g− X )

X t+1= X t+V t

Componente inercial

Componente cognitivo

Componente social

ÚLTIMA DEMO

Gracias por su atención

Dr. Marco Antonio Castro [email protected]