optimización basada en cúmulo (enjambre) de partículas

54
Optimización basada en cúmulo (enjambre) de partículas Hugo Jair Escalante Seminario de optimización multi-objetivo Tonantzintla, Puebla Noviembre 23, 2012

Upload: ilori

Post on 18-Jan-2016

56 views

Category:

Documents


13 download

DESCRIPTION

Optimización basada en cúmulo (enjambre) de partículas. Hugo Jair Escalante. Seminario de optimización multi -objetivo. Tonantzintla , Puebla. Noviembre 23, 2012. Contenido. Introducción Heurísticas inspiradas en metáforas Comentario al margen - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Optimización basada en cúmulo (enjambre) de partículas

Optimización basada en cúmulo (enjambre) de partículas

Hugo Jair EscalanteSeminario de optimización multi-objetivo

Tonantzintla, Puebla Noviembre 23, 2012

Page 2: Optimización basada en cúmulo (enjambre) de partículas

2

Contenido• Introducción

• Heurísticas inspiradas en metáforas– Comentario al margen

• PSO: Optimización basada en cúmulo de partículas– Relevancia/presencia de PSO– Algoritmo base– Parámetros de PSO

• PSO Multi-objetivo

• Comentarios finales

Page 3: Optimización basada en cúmulo (enjambre) de partículas

3

Heuristics!, Patient rules of thumb, so often scorned: Sloppy! Dumb! Yet, slowly, common sense become. [Judea Pearl 1984]

Page 4: Optimización basada en cúmulo (enjambre) de partículas

4

Optimización heurística

• Métodos exactos: Proporcionan el óptimo pero suelen ser muy costosos

• Métodos heurísticos: Son rápidos pero no garantizan encontrar el óptimo

• Métodos heurísticos son adecuados para abordar problemas:– Complejos, que son difíciles de resolver con métodos

tradicionales/exactos– Donde la función objetivo no es derivable– Donde la función objetivo es no convexa, presenta muchos mínimos

locales o esta dominada por vallesEn lo posible, siempre es preferible usar métodos exactos

Page 5: Optimización basada en cúmulo (enjambre) de partículas

5

Heurísticas inspiradas en metáforas

Page 6: Optimización basada en cúmulo (enjambre) de partículas

6

Heurísticas inspiradas en metáforas

• Métodos de optimización heurística inspirados en metáforas son muy comunes hoy en día (e.g., GA, SA, ACO, PSO, TS, GRASP, SS)

• Cada día se publican artículos con mejoras a heurísticas establecidas, o bien, nuevas heurísticas para optimización

• Este tipo de métodos ha contribuido de manera importante al área de optimización

Page 7: Optimización basada en cúmulo (enjambre) de partículas

7

Heurísticas inspiradas en metáforas

• Métodos de optimización heurística inspirados en metáforas son muy comunes hoy en día (e.g., GA, SA, ACO, PSO, TS, GRASP, SS)

• Cada día se publican artículos con mejoras a heurísticas establecidas, o bien, nuevas heurísticas para optimización

• Este tipo de métodos ha contribuido de manera importante al área de optimización

Page 8: Optimización basada en cúmulo (enjambre) de partículas

8

Heurísticas “novedosas”

• Desde hace algún tiempo, nuevas heurísticas se proponen con base en procesos que a primera vista tienen muy poco que ver con optimización

• No se toma en cuenta en tipo de problema que se aborda, su estructura o la forma en que un humano inteligente resolvería el problema

• Aunque de algunas estás técnicas han obtenido resultados aceptables y han avanzado el estado del arte en optimización, existen muchas otras heurísticas “novedosas” que podrían representar un retroceso para el área de optimización heurística (SIN GENERALIZAR)

K. Sorensen. Metaheuristics – The Methapor Exposed. 2012 (Draft, tutorial - Euro2012)

Page 9: Optimización basada en cúmulo (enjambre) de partículas

9

• Nuevos métodos toman a otros procesos como analogía:– A new fruit fly optimization algorithm – Shuffled frog leaping algorithm– The reincarnation algorithm– Intelligent water drop– Fly algorithm– Bat algorithm– Bees & honey-bee mating algorithms– Harmony search – …..

Este es el problema

Heurísticas inspiradas en metáforas

Page 10: Optimización basada en cúmulo (enjambre) de partículas

10

The imperialist competitive algorithm

http://en.wikipedia.org/wiki/Metaheuristics

Atashpaz-Gargari, E.; Lucas, C (2007). "Imperialist Competitive Algorithm: An algorithm for optimization inspired by imperialistic competition". IEEE Congress on Evolutionary Computation. 7. pp. 4661–4666

Page 11: Optimización basada en cúmulo (enjambre) de partículas

11

The reincarnation algorithm

A. Sharma, A new optimizing algorithm using reincarnation concept. 11th International Symposium on Computational Intelligence and Informatics (CINTI), pp. 281--288, IEEE, 2010

Page 12: Optimización basada en cúmulo (enjambre) de partículas

12

The reincarnation algorithm

A. Sharma, A new optimizing algorithm using reincarnation concept. 11th International Symposium on Computational Intelligence and Informatics (CINTI), pp. 281--288, IEEE, 2010

Page 13: Optimización basada en cúmulo (enjambre) de partículas

13

Heurísticas inspiradas en metáforas

• Algunas heurísticas “novedosas”:– son refritos de otros métodos; – se basan en metáforas “raras”; – no se siguen los principios de la

metáfora adoptada; – no se realiza una experimentación

seria.

K. Sorensen. Metaheuristics – The Methapor Exposed. Submitted, 2012 (Keynote Euro2012)

Lo raro es que siempre presentan mejores resultados que otras alternativas y eventualmente se publican

Page 14: Optimización basada en cúmulo (enjambre) de partículas

14

Heurísticas “novedosas” (mejoradas)

• Las mejoras a heurísticas usualmente son del tipo: – HC + CA para X

• Se reportan resultados en algunas instancias (sin análisis de significancia) y se mejoran resultados obtenidos por otros métodos (muy básicos o ad-hoc)

• SIN GENERALIZAR

Donde: HC: heurística conocidaCA: Mecanismo exitoso en otras heurísticas X: problema específico

K. Sorensen. Metaheuristics – The Methapor Exposed. 2012 (Draft, tutorial - Euro2012)

Page 15: Optimización basada en cúmulo (enjambre) de partículas

15K. Sorensen. Metaheuristics – The Methapor Exposed. 2012 (Draft, tutorial - Euro2012)

Consejos para un buen diseño de heurísticas

Page 16: Optimización basada en cúmulo (enjambre) de partículas

16K. Sorensen. Metaheuristics – The Methapor Exposed. 2012 (Draft, tutorial - Euro2012)

Consejos para un buen diseño de heurísticas

Page 17: Optimización basada en cúmulo (enjambre) de partículas

17

Consejos para un buen diseño de heurísticas

K. Sorensen. Metaheuristics – The Methapor Exposed. 2012 (Draft, tutorial - Euro2012)

Page 18: Optimización basada en cúmulo (enjambre) de partículas

18

Particle Swarm Optimization

Page 19: Optimización basada en cúmulo (enjambre) de partículas

19

Presencia de PSO

• PSO fue introducido en 1995 por J. Kennedy (sociología) & R. Eberhart (cómputo)

J. Kennedy, R. Eberhart. Particle swarm optimization. Proceedings., IEEE International Conference on Neural Networks, pp. 1942--1948, IEEE, 1995.

~3000 citas en 2012

Algunos números:

Page 20: Optimización basada en cúmulo (enjambre) de partículas

20

Presencia de PSO

Algunos números:

Distribución de publicaciones (ISI web of knowledge) en cuanto a diversas meta-heurísticas

Número de publicaciones sobre PSO ente 2001-2011

M. Eslami. A survey of the state of the art in particle swarm optimization. Research Journal of Applied Sciences Engineering and Technology, 4(9):1181—1197, 2012

Page 21: Optimización basada en cúmulo (enjambre) de partículas

21

PSO: Optimización basada en cúmulos de partículas

A. Rosales. Optimización Multi-Objetivo. Seminario de Optimización Multi-objetivo, 2012.

Page 22: Optimización basada en cúmulo (enjambre) de partículas

22

PSO: Optimización basada en cúmulos de partículas

• Método de optimización heurística inspirado en el comportamiento de sociedades biológicas, donde los individuos comparten objetivos y presentan tanto comportamientos individuales como sociales– Parvadas de aves– Bancos de peces– Enjambres de abejas

Page 23: Optimización basada en cúmulo (enjambre) de partículas

23

PSO: Optimización basada en cúmulos de partículas

• Método de optimización heurística inspirado en el comportamiento de sociedades biológicas, donde los individuos comparten objetivos y presentan tanto comportamientos individuales como sociales– Parvadas de aves– Bancos de peces– Enjambres de abejas

Page 24: Optimización basada en cúmulo (enjambre) de partículas

24

PSO: Optimización basada en cúmulos de partículas

• Las partículas son atraídas hacia la comida

• Cada partícula recuerda su posición más cercana con respecto a la comida

• Las partículas comparten información con partículas vecinas sobre cuál ha sido su posición más cercana a la comida

Page 25: Optimización basada en cúmulo (enjambre) de partículas

25

PSO: la analogía

• Las partículas están asociadas a las soluciones del problema a abordar

• La distancia entre la comida y cada partícula se representa por la función que se desea optimizar

• El cúmulo de partículas es la población de soluciones que explorará el espacio de búsqueda

• Las soluciones se representan por las posiciones de las partículas en el espacio de búsqueda

Idea:Las soluciones tienen una posición en el espacio

de búsqueda (el óptimo tiene una posición también). El objetivo es que las soluciones

exploren el espacio de búsqueda para llegar al óptimo del problema. No se sabe donde está el

óptimo pero se sabe que tan lejos esta cada solución del óptimo.

* Asumiendo que existe un óptimo y que es único.

Page 26: Optimización basada en cúmulo (enjambre) de partículas

26

PSO: la analogía

¿Es PSO un método de cómputo evolutivo?

No*: la población inicial se mantiene durante todo el proceso de

optimización

Page 27: Optimización basada en cúmulo (enjambre) de partículas

27

PSO: el algoritmo

• En cada instante de tiempo t, cada individuo i tiene una posición (xi

t) en el espacio de búsqueda así como una velocidad asociada (vi

t)

• El tamaño de xit = vi

t = d, las dimensiones del problema a abordar

• Al inicio PSO solo trabajaba en espacios continuos, hay extensiones que permiten trabajar en problemas de combinatoria o incluso mixtos

Discrete PSO, binary PSO, Geometric PSO

Page 28: Optimización basada en cúmulo (enjambre) de partículas

28

PSO: el algoritmo

• El algoritmo es un proceso iterativo en cada instante de tiempo cada partícula: – Sabe cuál ha sido su mejor posición

con respecto al objetivo (personal-best)

– Sabe cuál ha sido la mejor posición de sus vecinos (global-best)

Page 29: Optimización basada en cúmulo (enjambre) de partículas

29

PSO: el algoritmo

• Las partículas actualizan su posición en el espacio de búsqueda de acuerdo a:

10 1 2( ) ( )t t t t

i i i i g i v v p x p x

1 1t t ti i i

x v x

Inercia Info. local Info. global

Page 30: Optimización basada en cúmulo (enjambre) de partículas

30

PSO: el algoritmo1. Inicializar aleatoriamente la población de

individuos (swarm)2. Repetir el siguiente proceso iterativo hasta que

un criterio de parada se cumpla:a) Evaluar la aptitud de cada partícula b) Determinar las soluciones personal-best (pi), para cada

partícula, y global-best (pg)

c) Actualizar la posición y la velocidad de las partículas

3. Regresa la partícula mejor evaluada

Fitn

ess

valu

e

...

Init t=1 t=2 t=max_it...

Page 34: Optimización basada en cúmulo (enjambre) de partículas

34

Parámetros de PSO

• Los principales parámetros de PSO son: φ0, φ1, φ2 el tipo de vecindario, número de soluciones, criterio de parada

10 1 2( ) ( )t t t t

i i i i g i v v p x p x

1 1t t ti i i

x v x

Inercia Info. local Info. global

Page 35: Optimización basada en cúmulo (enjambre) de partículas

35

Parámetros de PSO

• Los principales parámetros de PSO son: φ0, φ1, φ2 el tipo de vecindario, número de soluciones, criterio de parada

10 1 2( ) ( )t t t t

i i i i g i v v p x p x

1 1t t ti i i

x v x

111 rc 222 rc

Page 36: Optimización basada en cúmulo (enjambre) de partículas

36

PSMS sin influencia local

• c1=0; c2=2

Hugo Jair Escalante, Manuel montes, Enrique Sucar. Particle Swarm Model Selection. JMLR, Vol. 10, pp. 405—440, 2009

Page 37: Optimización basada en cúmulo (enjambre) de partículas

37

PSMS sin influencia global

• c1=2; c2=0

Hugo Jair Escalante, Manuel montes, Enrique Sucar. Particle Swarm Model Selection. JMLR, Vol. 10, pp. 405—440, 2009

Page 38: Optimización basada en cúmulo (enjambre) de partículas

38

PSMS igual influencia local y global

• c1=2; c2=2

Hugo Jair Escalante, Manuel montes, Enrique Sucar. Particle Swarm Model Selection. JMLR, Vol. 10, pp. 405—440, 2009

Page 39: Optimización basada en cúmulo (enjambre) de partículas

39

Parámetros de PSO

• Si hacemos

• con

• Valores de garantizan la convergencia* de PSO

111 rc 222 rc

21*

8.3*

* Note that in PSO we say that the swarm converges iff limt→inf pgt = p, where p is an arbitrary position in the search space and t indexes iterations of PSO. Since p refers to an arbitrary position, this definition does not mean either convergence to local or global optimum, but convergence to the global best position in the swarm (van den Bergh, 2001; Reyes and Coello, 2006; Engelbrecht, 2006).

F. van den Bergh. An Analysis of Particle Swarm Optimizers. PhD thesis, University of Pretoria, Sudafrica, November 2001.

Page 40: Optimización basada en cúmulo (enjambre) de partículas

40

Parámetros de PSO• Sobre la inercia:

• Uno de los métodos más usados es un peso de inercia adaptativo

• Se fija al inicio φ0 = wstart, y este valor es disminuido linealmente durante k-iteraciones hasta un valor φ0 = wend

• Valores grandes de φ0 permiten moverse en pasos más grandes mientras que valores pequeños de φ0 permiten explorar intensivamente ciertas zonas

10 1 2( ) ( )t t t t

i i i i g i v v p x p x

Page 41: Optimización basada en cúmulo (enjambre) de partículas

41

Parámetros de PSO

• Vecindario: El esquema más usado es el esquema totalmente conectado, aunque hay diversas variantes

Page 42: Optimización basada en cúmulo (enjambre) de partículas

42

Más allá de PSO

• Extensiones: – Existe un gran número de variantes de

PSO (muchas del tipo Frankenstein)– Desde hace algún tiempo se han

propuesto métodos híbridos

• Aplicaciones: – La primera aplicación de PSO fue en el

entrenamiento de redes neuronales (optimización de los pesos)

– Hoy en día PSO se ha aplicado en infinidad de problemas

Page 43: Optimización basada en cúmulo (enjambre) de partículas

43

PSO: Optimización basada en cúmulos de partículas

A. Rosales. Optimización Multi-Objetivo. Seminario de Optimización Multi-objetivo, 2012.

Page 44: Optimización basada en cúmulo (enjambre) de partículas

44

MOPSO: Versión multi-objetivo

A. Rosales. Optimización Multi-Objetivo. Seminario de Optimización Multi-objetivo, 2012.

Page 45: Optimización basada en cúmulo (enjambre) de partículas

45

MOPSO: Versión multi-objetivo

• Frente de Pareto:

Page 46: Optimización basada en cúmulo (enjambre) de partículas

46

MOPSO: Versión multi-objetivo

• Cuando se intenta resolver un problema de MOOP se tienen, en general, tres objetivos:– Maximizar el número de

elementos en el FP– Minimizar la distancia del FP

producido por el método de MOOP con respecto al FP real

– Maximizar la dispersión de soluciones encontradas

Page 47: Optimización basada en cúmulo (enjambre) de partículas

47

MOPSO: Versión multi-objetivo

• De acuerdo a lo anterior, PSO debe ser modificado tomando en cuenta lo siguiente:– Cómo seleccionar partículas lideres dando preferencia a soluciones

no-dominadas

– Cómo retener soluciones no-dominadas encontradas durante el proceso de búsqueda de manera que se reporten soluciones no-dominadas con respecto a todas las soluciones anteriores, es deseable que dichas soluciones se posicionen dispersamente en el FP

– Cómo mantener diversidad en la población a fin de evitar convergencia hacia una única solución

Page 48: Optimización basada en cúmulo (enjambre) de partículas

48

MOPSO: el algoritmo

• En cada instante de tiempo t, cada individuo i tiene una posición (xi

t) en el espacio de búsqueda así como una velocidad asociada (vi

t)

• El tamaño de xit = vi

t = d, las dimensiones del problema a abordar

Page 49: Optimización basada en cúmulo (enjambre) de partículas

49

MOPSO: el algoritmo

• Las partículas actualizan su posición en el espacio de búsqueda de acuerdo a:

10 1 2( ) ( )t t t t

i i i i g i v v p x p x

1 1t t ti i i

x v x

Inercia Info. local Info. global

Entonces, ¿qué cambia?

Page 50: Optimización basada en cúmulo (enjambre) de partículas

50

MOPSO: Versión multi-objetivo

PSO

MOPSO Margarita Reyes-sierra , Carlos A. Coello Coello . Multi-Objective particle swarm optimizers: A survey of the state-of-the-art, INTERNATIONAL JOURNAL OF COMPUTATIONAL INTELLIGENCE RESEARCH, 2006

Page 51: Optimización basada en cúmulo (enjambre) de partículas

51

MOPSO: Versión multi-objetivo

• Existen muchas variantes para dar solución a cada sub-problema dentro de PSO, la mayoría son heurísticas

Margarita Reyes-sierra , Carlos A. Coello Coello . Multi-Objective particle swarm optimizers: A survey of the state-of-the-art, INTERNATIONAL JOURNAL OF COMPUTATIONAL INTELLIGENCE RESEARCH, 2006

Page 52: Optimización basada en cúmulo (enjambre) de partículas

52

Pros y contras de PSO

• Método simple y extremadamente fácil de implementar

• No requiere de operadores especializados para la generación de nuevas soluciones

• Permite controlar “fácilmente” la forma en que se explora el espacio de búsqueda

• Se puede adaptar de acuerdo a las características del problema

Page 53: Optimización basada en cúmulo (enjambre) de partículas

53

Pros y contras de PSO

• No hay un análisis de convergencia general, solo hay resultados para simplificaciones

• No se garantiza encontrar el mínimo

• Tiene problemas con problemas de no-continuos

Page 54: Optimización basada en cúmulo (enjambre) de partículas

54

Gracias por su atención ¿Preguntas?

[email protected] http://hugojair.org/