Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Particle Swarm Optimization (PSO), Diapositivas de Algoritmos y Programación

Slides about Particle Swarm Optimization (PSO)

Tipo: Diapositivas

2018/2019

Subido el 08/05/2019

VargasManuel
VargasManuel 🇲🇽

3 documentos

1 / 30

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
LIACS Natural Computing Group Leiden University
Particle Swarm Optimization
Slides largely based on:
Riccardo Poli, James Kennedy, Tim Blackwell: Particle
swarm optimization. Swarm Intelligence 1(1): 33-57 (2007)
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e

Vista previa parcial del texto

¡Descarga Particle Swarm Optimization (PSO) y más Diapositivas en PDF de Algoritmos y Programación solo en Docsity!

Particle Swarm Optimization

Slides largely based on:

Riccardo Poli, James Kennedy, Tim Blackwell: Particle swarm optimization. Swarm Intelligence 1(1): 33-57 (2007)

Particle Swarm Optimization (PSO)

  • Developed by Kennedy and Eberhart in 1995
  • A population based optimization technique inspired by social behavior of bird flocking or fish schooling
  • Individual swarm members can profit from the discoveries and previous experience of all other members of the school

Kennedy, J. and Eberhart, R.: Particle Swarm Optimization. Proceedings of the Fourth IEEE International Conference on Neural Networks, Perth, Australia. IEEE Service Center 1942-1948, 1995.

Boids - Java applet

  • A flocking simulation using the boids model:
    • Applet:
      • http://natcomp.liacs.nl/NC/applets/SwarmApplet/Swa rmApplet.html
    • Code:
      • http://natcomp.liacs.nl/NC/material/SwarmApplet.zip
    • Original code from:
      • http://www.theparticle.com/applets/swarm/FlockingS warmWithControls/index.html

History - Roosts

Kennedy and Eberhart included a ‘roost’ in a simplified Boids-like simulation such that each agent:

  • is attracted to the location of the roost,
  • remembers where it was closer to the roost,
  • shares information with its neighbors about its closest location to the roost

Eventually, all agents land on the roost.

What if the notion of distance to the roost is changed by an unknown function?

Original PSO - Algorithm

  • Randomly initialize particle positions and velocities
  • While not terminate
    • For each particle i :
      • Evaluate fitness yi at current position xi
      • If yi is better than pbesti then update pbesti and pi
      • If yi is better than gbesti then update gbesti and gi
    • For each particle
      • Update velocity vi and position xi using:

i i i

i i i i i i

x x v

v v U φ p x U φ g x

Original PSO - Notation

For each particle i :

  • xi is a vector denoting its position
  • vi is the vector denoting its velocity
  • yi denotes the fitness score of xi
  • pi is the best position that it has found so far
  • pbesti denotes the fitness of pi
  • gi is the best position that has been found so far in its neighborhood
  • gbesti denotes the fitness of gi

Velocity update:

  • U ( 0 , ϕi ) is a random vector uniformly distributed in [ 0 , ϕi ] generated at each generation for each particle
  • ϕ 1 and ϕ 2 are the acceleration coefficients determining the scale of the forces in the direction of pi and gi
  •  denotes the element-wise multiplication operator

Neighborhoods

  • The neighborhood of each particle is defines its communication structure (its social network)
  • Two general types:
    • Geographical neighborhood topologies :
      • Based on Euclidean proximity in the search space
      • Close to the real-world paradigm but computationally expensive
    • Communication network topologies :
      • Communication networks are used based on some connection graph architecture (e.g. rings, stars, von Neumann networks and random graphs)
      • Favored over geographical neighborhood because of better convergence properties and less computation involved

Neighborhood topologies

Geographical neighborhoods (^) Communication network topologies

Ring (local best) Global best

Random graph Star

Synchronous versus asynchronous

  • Synchronous updates
    • Personal best and neighborhood bests updated separately from position and velocity vectors
    • Slower feedback about best positions
    • Better for gbest PSO
  • Asynchronous updates
    • New best positions updated after each particle position update
    • Immediate feedback about best regions of the search space
    • Better for lbest PSO

Acceleration Coefficients

vi (t)

xi (t)

pi (t) (^) gi (t)

ϕ 1 = ϕ 2 = 1 (^) ϕ 1 , ϕ 2 > 1

  • The boxes show the distribution of the random vectors of the attracting forces of the local best and global best
  • The acceleration coefficients determine the scale distribution of the random cognitive component vector and the social component vector

vi (t)

xi (t)

pi (t) (^) gi (t)

Original PSO - Problems

  • The acceleration coefficients should be set sufficiently high
  • Higher acceleration coefficients result in less stable systems in which the velocity has a tendency to explode
  • To fix this, the velocity vi is usually kept within the range

[- vmax , vmax ]

  • However, limiting the velocity does not necessarily prevent particles from leaving the search space, nor does it help to guarantee convergence

v

t

Inertia weighted PSO

  • An inertia weight ω was introduced to control the velocity explosion:
  • If ω, ϕ 1 and ϕ 2 are set correctly, this update rule allows for convergence without the use of vmax
  • The inertia weight can be used to control the balance between exploration and exploitation: - ω ≥ 1: velocities increase over time, swarm diverges - 0 < ω < 1: particles decelerate, convergence depends ϕ 1 and ϕ 2
  • Rule-of-thumb settings: ω = 0.7298 and ϕ 1 = ϕ 2 = 1.

vi ωvi U ( , φ ) ( pi xi ) U ( , φ ) ( gi xi )

          0 1    0 2  

Shi, Y. Eberhart, R., 'A modified particle swarm optimizer', in Evolutionary Computation Proceedings, 1998. IEEE World Congress on Computational Intelligence., The 1998 IEEE International Conference on , pp. 69-73 (1998).

Time decreasing inertia weight

  • Eberhart and Shi suggested to decrease ω over time (typically from 0.9 to 0.4) and thereby gradually changing from an exploration to exploitation
  • Other schemes for a dynamically changing inertia weight are also possible and have also been tried Eberhart, R. C. Shi, Y., 'Comparing inertia weights and constriction factors in particle swarm optimization', vol. 1, pp. 84-88 vol.1 (2000).

Constricted coefficients PSO

  • Take away some ‘guesswork’ for setting ω , ϕ 1 and ϕ 2
  • An elegant method for preventing explosion, ensuring convergence and eliminating the parameter vmax
  • The constriction coefficient was introduced as:

With and

vi  v i U ( 0 , 1 ) ( pi xi ) U ( 0 , 2 ) ( gi xi )

φ φ φ

χ 4

2   1  2  4   (^2) 

Clerc, M. Kennedy, J., 'The particle swarm - explosion, stability, and convergence in a multidimensional complex space', Evolutionary Computation, IEEE Transactions on , vol. 6, no. 1, 58-73 (2002).