Digital Signal Processing Reference
In-Depth Information
Algorithm 8.6
: Particle Swarm Optimization Algorithm
1. Initialize the population and the velocity vectors of all individuals;
2. While stopping criterion is not met, do:
(a) For each particle
i
i. If
f
f
p
i
(
)
then
p
i
(
(
x
i
(
n
)) >
n
n
+
1
)
=
x
i
(
n
)
ii. For all neighbors
j
A. If
f
p
j
)
>
f
g
i
)
then
g
i
(
n
(
n
(
n
+
)
=
(
n
)
1
p
j
ϕ
1
p
i
(
)
+
ϕ
2
g
i
(
(b)
v
i
(
n
+
1
)
=
v
i
(
n
)
+
n
+
1
)
−
x
i
(
n
n
+
1
)
−
)
, and all elements of
v
i
(
must belong to the interval
defined by the minimum and the maximum velocities;
(c)
x
i
x
i
(
n
n
+
1
)
(
n
+
)
=
(
n
)
+
(
n
+
)
1
x
i
v
1
The PSO algorithm is becoming an increasingly popular bio-inspired
tool to solve optimization problems, and many variants of the classical
algorithm we have studied are being proposed in the literature [73, 273].
Our objective in this section is to give an idea of the basic mechanisms
underlying the technique. Such mechanisms combine local and global search
potential, which indicates a great potential for application in modern signal
processing.
As an illustrative example, we employ in the sequel both AISs and par-
ticle swarm in a blind source separation problem, in which a PNL model is
employed for the mixing process, as discussed in Section 6.6.
Example 8.2 Blind Source Separation Using AIS and PSO
The mixing system is defined by
⎡
⎣
⎤
⎦
and
1 .6
f
1
(
e
1
)
=
tanh
(
2
e
1
)
2
5
√
e
2
A
=
(8.10)
0.5
1
f
2
(
e
2
)
=
The separating system to be optimized consists of a square matrix
W
and a
polynomial of fifth order, only with odd powers, given by
ax
5
bx
3
=
+
+
(8.11)
y
cx
Thus, each individual in the population is represented by a set of 10
parameters—4 values that define
W
and 3 values for each nonlinearity (coef-
ficients
a
,
b
,and
c
).
Since the separability property [281] of the PNL model requires that
g
be
a monotonic function, the coefficients of each polynomial were restricted to be
positive. The parameters of the opt-aiNet were set to the following values:
(
f
(
·
))