1 of 10

Swarm Intelligence�Particle Swarm Optimization

CSCI4830/7000�Nikolaus Correll

2 of 10

Algorithm optimization

Describe an algorithm from your practice that requires parameter tuning.

3 of 10

An Optimization Problem

4 of 10

Standard Numerical Approach

5 of 10

More Challenging Problems

6 of 10

A swarming approach to optimization

Left: A herd of wildebeest crossing a river © Eric Inafuku CC BY-SA 2.0.

Right: Slime mold collectively moving in search of food. Middle: a school of fish (big eyed scad) forming a “bait ball” © SteveD. CC BY-SA 2.0. Bottom: a flock of birds migrating.

7 of 10

Two-fold bioinspiration

  • Optimization by division of labor in search of a solution
  • Local communication to maintain cohesiveness (Reynolds, 1987)
    • move toward the center of the flock,
    • move at around the same speed than the flock,
    • repel from each other when becoming too close.

8 of 10

Implementation: Particle Swarm Optimization

Assign random values to xi

Do

For i = 1 to N

if f(xi) < f(pi) then pi=xi // update particle’s previous best

g = mini(pi) // update global best

vi=wvi+r1(pi-xi)+r2(g-xi) // calculate speed

xi=xi+vi // move all particles

end

until termination criterion is met

Good parameters:

w=0.7298 with r1 and r2 random values in the interval from [0;1.49618]

MATLAB DEMO

9 of 10

Issues

  • Difficult to prove convergence, even to local optima
  • Difficult to chose parameters
    • Inertia weight, “constriction parameters”, magnitude of random search
    • Neighborhood for “global best”: star, ring, solution space
  • Difficult to determine convergence criterion

10 of 10

Applications

  • Unlike gradient-descent, PSO can work with non-continuous fitness functions
  • Optimize the input parameters of almost any algorithm with a simple objective function
    • Computer vision / object recognition
    • Weights of a neural network
    • PSO itself
    • ...