You are on page 1of 68

Particle Swarm optimisation:

A mini tutorial

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


The “inventors” (1)

Russell
Eberhart
eberhart@engr.iupui.edu

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


The “inventors” (2) w o rk
Jim a t

James
Kennedy
Kennedy_Jim@bls.gov
2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com
Part 1: United we stand

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


Cooperation example

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


Memory and informers

It is thanks to these eccentrics, whose


behaviour is not conform to the one of the
other bees, that all fruits sources around
the colony are so quickly found.
Karl von Frish 1927

D P NP

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


Initialisation. Positions and
velocities

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


Neighbourhoods

geographical
social
2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com
Psychosocial compromise
My best
x im ity
i−pro perf.
p
Here I The best perf.
am! x g of my
neighbours

r o xi mit y
v
g−p

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


The historical algorithm
At each time step t
for each particle Randomness
for each component d inside the
⎧vd ( t + 1) =
⎪ loop
update α v ( t )
⎪ d
the ⎨
(
velocity ⎪+ β rand ( 0, ϕ1 ) pd − xd ( t ) )

⎩+ β rand ( 0, ϕ2 )( g d − xd (t ))
then move x(t + 1) = x(t ) + v(t + 1)
2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com
Oscillations

Initial v
1
2 3
Fitness

Search space
2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com
The circular neighbourhood
1
Particle 1’s
2
3−neighbourhood 8

7 3

Virtual circle 4
6
5
2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com
Random proximity
Hyperparallelepiped => Biased
p y r amid
= May an
im ity DPNP
i−pro x
o xi mit y
p g−pr
x
g

v
2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com
Animated illustration
Global
optimum

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


Maths and parameters
The right
wa y
This way

Or this way

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


Neighbourhoods (topologies)

r l d ” g ra p h
“Small wo

or ?
(informers)
2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com
Type 1” form t
c tio n c oe ff i ci e n
l c on s tr i
Globa Usual values:
⎧v(t + 1) = χ (v(t ) + ϕ (q − x(t )))

⎩ x(t + 1) = v(t + 1) + x(t ) κ=1
with ϕ=4.1
ϕ = rand (0, ϕ ) + rand (0, ϕ ) = ϕ ' +ϕ '
1 2 1 2
=> χ=0.73
ϕ ' p +ϕ ' g
q= 1 2
swarm size=20
ϕ ' +ϕ '
1 2

⎧ 2κ hood size=3
⎪⎪ for ϕ > 4
χ = ⎨ϕ − 2 + ϕ − 4ϕ 2
c ri t e rio n
⎪ i ve rg en c e
⎪⎩else κ
No n d
2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com
5D complex space
A 3D section ϕ
6
5
4
} Convergence
3
-2
-1
2
1
0
00
-2 }
-4 Non
divergence
2 1

Re(v)
4 2 Re(y)

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


Move in a 2D section
(attractor)
Im(v)
0.8
0.6
0.4
0.2

-1 -0.5 00 0.5 1
-0.2
-0.4 Re(v)
-0.6
-0.8

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


Beyond real numbers
1

0 2
0 1 3
1 2 4 0 Bingo!
8
2 3 0 5 1

8 3
4
4 1
2
6 0
1
2
3
3 2 4

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


Minimun requirements
Comparing positions in
the search space H
∀( x, x' ) ∈ H × H , ( f (x ) < f (x')) ∨ ( f (x ) ≥ f (x'))

Algebraic operators
(coefficient , velocity ) ⎯⎯→⊗
velocity
(velocity, velocity ) ⎯⎯→o
velocity
( position, position ) ⎯⎯→ Θ
velocity
( position, velocity ) ⎯⎯→⊕
position

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


Pseudo code form
velocity = pos_minus_pos(position1, position2)
velocity = linear_combin(α,velocity1,β,velocity2)
position = pos_plus_vel(position, velocity)
} algebraic
operators

(position,velocity) = confinement(positiont+1,positiont)

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


Confinements
Frontiers (ex. : interval)
=>

Granularity

=>

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


End of Part 1

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


Part 2: When the algo
mutates

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


The PSO Family
1995 1998 2000 2002 2004
Empirical
Empirical Canonical
Canonical Adaptive Spherical,
Adaptive Spherical,
Gaussian
Gaussian
Weighted
Weighted Constraints
Constraints
Pivot
Pivot
Multi−swarm
Multi−swarm
Discrete
Discrete

Combinatorial TRIBES
Combinatorial Hybride
Hybride
OEP 0, 1, …
Multi−objective
Multi−objective
2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com
Unbiased random proximity
Hyperparallelepiped => Biased
ity Hypersphere vs
i−proxim
hypercube
o xi mit y
g−pr
1.2

p 1

x 0.8

Volume
0.6

0.4

0.2

v 0
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29

Dimension
2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com
The three balls
o x imity ty
i−pr g−pro x imi

p
x
g

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


Think locally, act locally
narchy

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


Adaptive coefficients
s
or fuzz y rule
Crisp

rand(0…b)(p-x)
αv
The better I The better is my best
am the more I neighbour the more I
follow my own tend to go towards
way him

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


Adaptive swarmrulessize
zzy
Crisp or fu
There has been enough I try to kill myself
improvement
although I'm the worst

I try to generate a
I'm the best new particle
but there has been not enough
improvement

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


TRIBES and strategies
B ES Adaptive proximity
TRI distributions (DPNP)

Adaptive
information links

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


Energies: classical process
Rosenbrock 2D.
Rosenbrock 2D.Swarm
Swarmsize=20, constantcoefficients.
size=20, constant coefficients

1,00E+04 25

9,00E+03

8,00E+03 20

7,00E+03

6,00E+03 15
Potential energy
5,00E+03 Kinetic energy
Swarm size
4,00E+03 10

3,00E+03

2,00E+03 5

1,00E+03

0,00E+00 0

ε=0.00001
after 2240 evaluations
Number of evaluations

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


Energies: adaptive process
Rosenbrock
Rosenbrock 2D.
2D. Adaptive
Adaptive swarm
swarm size, size, adaptive
adaptive coefficients
coefficients.

1,00E+04 25

9,00E+03

8,00E+03 20

7,00E+03

6,00E+03 15
Potential energy
5,00E+03 Kinetic energy
Swarm size
4,00E+03 10

3,00E+03

2,00E+03 5

1,00E+03

0,00E+00 0

ε=0.00001
after 1414 evaluations
Number of evaluations

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


The simplest PSO
Random informers Pivot method
K=3 1

8 2

3 g
7
x
xi mit y
g−pro
6 4

5
2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com
End of Part 2

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


Part 3:Story of Optimisation

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


Classical results
Optimum=0, dimension=30
Best result after 40 000 evaluations
30D function PSO Type 1" Evolutionary
algo.(Angeline 98)
Griewank [±300] 0.003944 0.4033

Rastrigin [±5] 82.95618 46.4689

Rosenbrock [±10] 50.193877 1610.359

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


Some small problems

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


Fifty−fifty
rity = 1
⎧granula

{ }
⎪ xi ∈ 1...N

⎨ i ≠ j ⇒ xi ≠ x j
⎪D / 2
⎪ D


⎪ xi =
⎪⎩ 1
∑ xi
D / 2+1
N=100, D=20. Search space: [1,N]D
105 evaluations:
63+90+16+54+71+20+23+60+38+15
=
12+48+13+51+36+42+86+26+57+79 (=450)
2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com
Knapsack
a rity = 1
⎧ gr a nu l

{ }
⎪ x ∈ 1...N
⎪ i

⎨ i ≠ j ⇒ xi ≠ x j


⎪ ∑ xi = S
⎪ i∈I , I = D, I ⊂{1, N }
N=100, D=10, S=100, ⎩
870 evaluations:
run 1 => (9, 14, 18, 1, 16, 5, 6, 2, 12, 17)
run 2 => (29, 3, 16, 4, 1, 2, 6, 8, 26, 5)
2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com
Apple trees
Best position
Swarm size=3
Evaluation n1 n2 n3
n1 0 3 0 17
1 6 4 10
2 3 11 6
n3 3 7 7 6
n2

f = (n1 − n2 )2 + (n2 − n3 )2
2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com
Graph Coloring Problem
s−v el
plu 1 0
pos − 2 2 -1 -1

3 5
5
+ 0

-3
-1

1 2
1
4
1 1

= 5

5
5
2
4

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


The Tireless Traveller
Example of position: X=(5,3,4,1,2,6)
Example of velocity: v=((5,3),(2,5),(3,1))

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


BR17, the movie
Stru c tur ed s ea r ch sp a ce ?

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


Ecological niche
Fuzzy data
Non linear Multiobjective

Dynamical, real time

Heterogeneous

t1 t2 t3 t4 t5 t6 t7

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


End of Part 3

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


Part 4: Real applications
Medical diagnosis Industrial mixer

Electrical generator Electrical vehicle

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


Applications (1)
Salerno, J. Using the particle swarm optimization technique to train a recurrent neural
model. IEEE International Conference on Tools with Artificial Intelligence, 1997, p. 45-
49, 1997.

He Z., Wei C., Yang L., Gao X., Yao S., Eberhart R. C., Shi Y., "Extracting Rules from
Fuzzy Neural Network by PSO", IEEE IEC, Anchorage, Alaska, USA, 1998.

Secrest B. R., Traveling Salesman Problem for Surveillance Mission using PSO,
AFIT/GCE/ENG/01M-03, Air Force Institute of Technology, 2001.

Yoshida H., Kawata K., Fukuyama Y., "A PSO for Reactive Power and Voltage
Control considering Voltage Security Assessment", IEEE TPS, vol. 15, 2001, p. 1232-
1239.

Krohling, R. A., Knidel, H., and Shi, Y. Solving numerical equations of hydraulic
problems using PSO. Proceedings of the IEEE CEC, Honolulu, Hawaii USA. 2002.

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


Applications (2)
Kadrovach, B.A., and Lamont G., A particle swarm model for swarm-based networked
sensor systems, ACM symposium on Applied computing, Madrid, Spain, p. 918-924,
2002

Omran, M., Salman, A., and Engelbrecht, A. P. Image classification using PSO.
Proceedings of the 4th Asia-Pacific Conference on Simulated Evolution and Learning
2002 (SEAL 2002), Singapore. p. 370-374, 2002.

Coello Coello, C. A., Luna, E. H., and Aguirre, A. H. Use of PSO to design
combinational logic circuits. LNCS No. 2606, p. 398-409, 2003.

Onwubolu, G. C. and Clerc, M., "Optimal path for automated drilling operations by a
new heuristic approach using particle swarm optimization," International Journal of
Production Research, vol. 4, p. 473-491, 2004.

Onwubolu G.C., TRIBES application to the flowshop scheduling problem, New


Optimization Techniques in Engineering. Heidelberg, Germany, Springer: p. 517-536,
2004
2004−12−15 Maurice.Clerc@WriteMe.com
Particle Swarm optimisation
.
Neuronal network
Wanted Real output
Test Ei output Si S'i(t)

ei,1 si,1 s'i,1(t)


Transfer
ei,2 functions . ..
. .

τ k ,m ( entry , xk ,m )
.
.
.
.
si,P s'i,P(t)
ei,N
⎧ E = (E1 ...Enb _tests ) Function to minimise
1
f (X ) = S − S

⎪ X (t ) = (x k, m (t )) '
1+ e
xk , m entry

S = (S1 ...Snb _ tests )

⎪⎩S ' (t ) = (S1' (t )...Snb' _tests (t ))
2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com
To know more
THE site:
Particle Swarm Central, http://www.particleswarm.info

Kennedy, J., R. Eberhart, et al. (2001). Swarm


Intelligence, Morgan Kaufmann Academic Press.

Self advert EE TEC aw a rd


2 00 5 I E
Clerc M., Kennedy J., "The Particle Swarm-Explosion,
Stability, and Convergence in a Multidimensional
Complex space", IEEE Transaction on Evolutionary
Computation, 2002,vol. 6, p. 58-73
2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com
More self ad.
My PSO site: http://clerc.maurice.free.fr/pso/index.htm

If you read French


Clerc M., "L'optimisation par essaim particulaire.
Principes et pratique", Hermès, Techniques et
Science de l'Informatique, 2002. Article de 25 p.
Clerc M., L ’optimisation par essaims
particulaires. http://www.editions-hermes.fr/fr/.
Parution février 2005

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


PSO in the world

eXtended Particle Swarms (XPS) project


2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com
Some open questions
e ig h t e d
a ptiv e w
Ad i o ns h ips
rela t
a l id e a s to
m a t hemat ic
Ne w n t e r ac t io ns
p a r ticle i
m o d e l

m o del
a pp roaches Met a
b i na to rial
Bet t er c om
2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com
Beat the swarm!
t po s i tion
cu r r en
Your

p e rf . of
Best
r f.
Yo ur bes t p e the swarm
2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com
APPENDIX

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


Canonical form
⎧⎪v ( t + 1) = v ( t ) + ϕ ( q − x ( t ) )

⎪⎩ x ( t + 1) = x ( t ) + v ( t + 1) M
y ( t ) = q − x ( t ) ⎡ v(t + 1)⎤ ⎡ 1 ϕ ⎤ ⎡ v(t )⎤
⎢ y (t + 1)⎥ = ⎢− 1 1 − ϕ ⎥ ⎢ y (t )⎥
⎣ ⎦ ⎣ ⎦⎣ ⎦
Eigen values e1 and e2
⎧v (t +1) = αv (t ) + βϕ
β y(t)

⎩ y(t + 1) = −γ v(t ) + (δδ−ηϕ
− ηϕ )y (t )
2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com
Constriction
Constriction coefficients
⎧ α + δ − ηϕ + (ηϕ )2
+ 2ϕ (αη − δη − 2 βγ ) + (α − δ )2
⎪ χ1 =
⎪ − ϕ + ϕ 2
− 4ϕ
⎪ 2

⎪ α + δ − ηϕ − (ηϕ )2 + 2ϕ (αη − δη − 2 βγ ) + (α − δ )2
⎪χ 2 =
⎪⎩ 2 − ϕ + ϕ 2 − 4ϕ

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


Convergence criterion
⎧⎪ χ 1e1 < 1 ⎧⎪ χ1 < 1 κ = χ2e 2
⎨ ⇐⎨
⎪⎩ χ 2 e 2 < 1 ⎪⎩ χ 2 e2 < 1
3.5

2.5

1.5

0.5

1 2 3 4 5 6
ϕ
2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com
Robustness
Performance map :
NeededIterations(κ,ϕ)

Iter

f ( x1 , x2 ) =
( )
100 x2 − x12 + (1 − x1 )
2

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


Clusters and queens
Each particle is Centroids = queens
weighted by its perf. = temporary new
“particles”
Dynamic clustering

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


Magic Square (1)
⎡ m1,1 K m1, ⎤ 2
⎢ D ⎥ D −1 ⎛ ⎞
∑ ∑ (m )
D
⎢ M mi , j M ⎥ ⎜ − mi +1, j ⎟
⎢m ⎜ i, j ⎟
K m D, D ⎥ i =1 ⎝ j =1 ⎠
⎣ D ,1 ⎦
2
D −1 ⎛ ⎞
∑ ∑( )
D
+ ⎜ mi , j − mi , j +1 ⎟
⎧mi , j = x j + (i −1) D ⎜ ⎟
⎪⎪ j =1 ⎝ i =1 ⎠
⎨mi , j ∈ {1L N } =0

⎪⎩mi , j ≠ mk ,l

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


Magic Square (2)
43 51 78
30 61 53
75 33 64
55 30 68 89 32 23
54 88 30
42 49 62 25 51 68 80 3 30 50 43 67
56 74 23
22 72 19 58 55 47
11 38 64 52 62 4
65 28 64
D=3x3, N=100 63 55 39
29 74 54
10 runs 10 solutions
13430 evaluations 18 25 59
32 53 17 50 65 68
27 96 39 52 24 26 69 42 72
22 70 58
73 40 49 64 76 43
40 75 35
62 26 74 88 5 57

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


Non linear system
⎧⎪ x12 + x22 − 1 = 0

⎪⎩sin (10 x1 ) − x2 = 0

1 run
1 solution
143 evaluations
Search space
[0,1]2
10 runs
3 solutions
1430 evaluations
2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com
Model fitting (ARMA
+AIC)
Autoregressive Moving Average
+ Akaike's Information Criterion
n m

∑φ y
i =0
i t −i = ∑ θ j at − j
j =0

∑ (y )
N
− yt ARMA
2
t data
σ =
2 i =1
N t er og e nu ous
he

f = n log σ ( )
2

+ 2(n + m )
2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com
A binary PSO C code
Information links are modified at random if there has been no
improvement

// Pivot method -----------------------------------------


// Works pretty well on some problems .. and pretty bad on some others
P[s]=P_m[g]; // Initialise the new position of particle s
// at the position of the best known around

dist=log(D); // We suppose here D>=2

r=alea(1,dist); // Radius for DPNP

for (k=0;k<r;k++)// Switch at random some bits


{
d=alea_integer(0,D-1);
P[s][d]=1- P[s][d][d]; // Around g
}

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com


End of ANNEXE

2004−12−15 Particle Swarm optimisation Maurice.Clerc@WriteMe.com

You might also like