Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Optimización con algoritmos heurísticos en paralelo

667 views

Published on

Una breve introducción a cómputo paralelo, su importancia y aplicación en métodos de optimización heurísticos

Published in: Education
  • Be the first to like this

Optimización con algoritmos heurísticos en paralelo

  1. 1. Optimización con algoritmos heurísticos en paralelo Dr. Marco Antonio Castro Liera mcastro@itlp.edu.mx
  2. 2. Agenda 1) Programación Paralela 2) Optimización 3) Algoritmos
  3. 3. Arquitecturas paralelas ● Procesadores multi-núcleo
  4. 4. Arquitecturas paralelas ● Un cluster es un conjunto de computadoras que intercambian mensajes a través de una red, para emular una máquina paralela N o d o M a e s tr o 100 m bps Factores a considerar: Costo Velocidad de Interconexión de los procesadores ` N o d o E s c la v o 1 Tproc = Tcomp+Tcolas ` N o d o E s c la v o N - 1 ` N o d o E s c la v o N
  5. 5. Arquitecturas paralelas ● General-Purpose Computing on Graphics Processing Units (GPGPU)
  6. 6. Programación paralela (conceptos) ● Sección crítica / no crítica ● Aceleración ● Eficiencia ● Granularidad T P1 A= T PN A E= N
  7. 7. ¿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.
  8. 8. ¿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 en FreeBSD y muchas en Linux
  9. 9. El planificador de procesos
  10. 10. DEMO: Programador de tareas
  11. 11. Programación paralela (herramientas) ● Procesadores multinúcleo – – OpenMP – ● fork() pthreads Clusters – – ● PVM MPI GPGPU – OpenCL – CUDA
  12. 12. fork()
  13. 13. pthreads
  14. 14. CUDA
  15. 15. Optimización en espacios contínuos ● minimización: ⃗ min(f ( X )) n ⃗ f ( X ): ℜ → ℜ ⃗ ⃗ ⃗ ⃗ X o ∈ℜ∣f ( X o )≤f ( X )∀ X ∈ℜ ● maximización: ⃗ max (f ( X )) ⃗ ): ℜn → ℜ f (X ⃗o ∈ℜ∣f ( X o )≥f ( X )∀ X ∈ℜ ⃗ ⃗ ⃗ X ● equivalencia: ⃗ ⃗ min(f ( X ))=max (−f ( X ))
  16. 16. Ejemplos de problemas continuos difíciles D f ( x )=∑ ( x i 2 −10 cos (2 Π x i )+ 10 ) i =1 Func. de Rastrigin f (x )=−20 exp (−0.2 √ 1 D D ∑ i =1 x i 2 )−exp ( 1 D cos (2 Π x i ))+ 20 + e D∑ i =1 Func. de Ackley
  17. 17. 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]
  18. 18. 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
  19. 19. DEMO TIME!
  20. 20. AG Algoritmos Genéticos 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ética).
  21. 21. AG
  22. 22. DEMO TIME!
  23. 23. PSO Particle Swarm Optimization.
  24. 24. Partícula  Posición actual x  Velocidad v  Mejor posición y o Aptitud actual Mejor aptitud histórica a b o Anatomía Movimiento
  25. 25. Velocidad y Movimiento ⃗ ⃗ ⃗ ⃗ ⃗ V⃗ = V t w +c 1 r 1 ( Y − X )+c 2 r 2 ( Y g − X ) t+1 Componente inercial Componente cognitivo Componente social ⃗ ⃗ X⃗+1= X t + V t t
  26. 26. ÚLTIMA DEMO
  27. 27. Gracias por su atención Dr. Marco Antonio Castro Liera mcastro@itlp.edu.mx

×