Está en la página 1de 31

Optimización con Enjambre

de Partículas - PSO
(Particle Swarm Optimization)
Particle Swarm Optimization

James Kennedy
Sicólogo social

Rusell Eberhart
Ingeniero Eléctrico Artículo 1995
Indiana University Purdue Libro 2001
Particle Swarm Optimization

Enfocada a la optimización de funciones continuas


no lineales.

• Simular gráficamente el movimiento sincronizado


e impredecible de grupos tales como los bancos
de peces o las bandadas de aves y su capacidad
de separarse, reagruparse o encontrar alimento

• Imitar los comportamientos sociales de un


colectivo a partir de la interacción de los
individuos entre sí y con el entorno.

• Inspirada en el vuelo coordinado de bandadas de


aves y las estrategias de supervivencia de los
cardúmenes de peces.
Particle Swarm Optimization
Particle Swarm Optimization

BIOLOGIA PSICOLOGIA

APROVECHAR EXPERIENCIA
COMPARTIR
ACUMULADA POR LOS
INFORMACIÓN
CONGÉNERES

• COMPORTAMIENTO
• INTELIGENCIA
• MOVIMIENTO
Particle Swarm Optimization

Partícula o agente: individuos con comportamiento


social como grupo: peces, pájaros, abejas, hormigas.

Swarm: multitud o enjambre, conjunto de agentes o


individuos que interactúan entre sí y con el medio
que los rodea.

Proximidad: la población debe ser capaz de realizar


cálculos sencillos de espacio y tiempo, se traducen en
movimientos en N dimensiones

Calidad: capacidad de la población para


responder a factores de calidad en el espacio de
soluciones.
Particle Swarm Optimization

Diversidad: promueve la diversidad de respuesta


dentro de la población.

Estabilidad: la población solo cambia su


comportamiento como grupo bajo determinadas
circunstancias.

Adaptabilidad: la población debe ser capaz de


cambiar su comportamiento cuando existe alguna
señal que lo recomienda.
Particle Swarm Optimization

Memoria individual
Comunicación
Comportamiento Social de Enjambres

Fuente: Pérez, J. Contribución a los métodos de


optimización basados en procesos naturales y su
aplicación a la medida de antenas en campo próximo.
Tesis Doctoral. Universidad de Cantabria, 2005.
Operadores y Parámetros del PSO
Vector velocidad
Vi   vi1 , vi 2 ,...., viN 

Variable de estado inicializada aleatoriamente que


identifica a una partícula i.

Vector posición
X i   xi1 , xi 2 ,...., xiN 

Variable de estado inicializada aleatoriamente que identifica


a una partícula i .
Corresponde a una solución potencial al problema de
optimización.
Operadores y Parámetros del PSO
Espacio de búsqueda

Conjunto de límites de las variables a optimizar en el cual


debe restringirse el movimiento de las partículas.

xn   xn ,min , xn ,max  con xn 


Operadores y Parámetros del PSO

Memoria o nostalgia

Pi   pi1 , pi 2 ,...., piN 


Registro de la posición espacial asociada con la mejor
solución históricamente visitada por cada partícula.

Mejor posición histórica

G   g1 , g 2 ,...., g N 
Término usado para designar la mejor posición histórica
encontrada por todos los congéneres comparada con todas
las generaciones anteriores.
Movimiento de las partículas
En cada iteración del método, k, cada una de las partículas de la
población recorre el espacio de soluciones con una velocidad Vi
hacia nuevas posiciones Xi, de acuerdo con su propia experiencia
Pi, y con la experiencia aportada por el mejor de sus congéneres,
G.
vin  k  1  vin  k   c 1 r 1  k    pin  k   xin  k    c 2 r 2  k    g  k   xin  k  

xin  k  1  xin  k    vin  k  1

 , c1 , c2 ,   0
 : coeficiente de inercia de la partícula
c1 : constante de aceleración cognitiva
c2 : constante de aceleración social
 : Factor de constricción
r1(k), r2(k): números aleatorios entre 0 y 1
Movimiento de las partículas

vin  k 1 
vin  k  
Momento, hábito,
inercia

c1 r 1  k    pin  k   xin  k   
Memoria, nostalgia,
autoaprendizaje

Cooperación, conocimiento
c 2 r 2  k    g  k   xin  k   social, conocimiento de
grupo, información
compartida

Intervalo de restricción
  vmax , vmax  de la velocidad,
parámetro a sintonizar
Actualización de las partículas
Movimiento de las partículas
El Algoritmo PSO Simple
1. Iniciar un arreglo de partículas con velocidades y posiciones
aleatórias dentro del espacio de búsqueda.

2. Evaluar la función objetivo para cada partícula.

3. Comparar el valor de la función objetivo actual con el valor de


Pi. Si el valor de la función objetivo actual es mejor que Pi,
poner el valor actual en Pi.

4. Identificar la partícula del enjambre con el mejor valor de la


función objetivo encontrado hasta el momento y poner las
coordenadas de esta posición en G.

5. Ajustar la velocidad Vi y la posición Xi de acuerdo con las


ecuaciones.

6. Si se alcanza el criterio de terminación, parar el algoritmo; en


caso contrario volver al paso 2.
Barreras de Contención

Pared Absorbente
Barreras de Contención
Pared Reflectante
Esquemas de PSO
Topología de la Población

• Cómo se define la vecindad de un individuo

• Qué otros individuos influencian a cada individuo


Esquemas de PSO
Topología Global
Todos los individuos están
interrelacionados entre sí.
Acceso inmediato a los hallazgos
de sus congéneres.

Topología Local
Cada partícula orienta su
trayectoria influida por sus Nv
vecinos adyacentes.
Esquemas de PSO
Sincronización de la Transmisión de la
Información
Depende del instante dentro del proceso iterativo en el cual se
realizan las actualizaciones de la memoria y conocimiento social.

Actualización Síncrona
• Las partículas se mueven en paralelo.

• Evaluación de fitness, actualización de Pi y G para todas las


partículas.

• Todas las partículas comparten la misma información.


Esquemas de PSO

Actualización Asíncrona
Cada partícula aprovecha al desplazarse la información
actualizada por sus inmediatos predecesores.
Ejemplo de aplicación del PSO
Ejemplo de aplicación del PSO
Ejemplo de aplicación del PSO
Ejemplo de aplicación del PSO

También podría gustarte