
 
the population. The next generation is then created 
by updating the position vectors of these individuals 
to fill (N · (1 −  Ψ)) individuals in the next 
generation. The (N · Ψ) individuals needed to fill the 
population are selected from the individuals whose 
velocity is updated to undergo VPAC crossover and 
mutation and the process is repeated. For clarity, the 
flow of these operations is illustrated in Figure 1 
where k = (N · (1 − Ψ)). 
 
Figure 2: BPSO. 
Here, we developed crossover operator to utilize 
information available in the Breeding Swarm 
algorithm, but not available in the standard GA 
implementation. The new crossover operator, 
velocity propelled averaged crossover (VPAC), 
incorporates the PSO velocity vector. The goal is 
creating two new child particles whose position is 
between the parent’s positions, but accelerated away 
from the parent’s current direction (negative 
velocity) in order to increase diversity in the 
population. Equations (8) show how the new child 
position vectors are calculated using VPAC. 
⎪
⎩
⎪
⎨
⎧
−
+
=
−
+
=
)(
0.2
)()(
)(
)(
0.2
)()(
)(
22
21
2
11
21
1
i
ii
i
i
ii
i
vp
xpxp
xc
vp
xpxp
xc
ϕ
ϕ
 
 (9) 
In these equations, 
)(
1 i
xc
and 
)(
2 i
xc
 are the 
positions of child 1 and 2 in dimension i, 
respectively. 
)(
1 i
xp
 and 
)(
2 i
xp
 are the positions of 
parents 1 and 2 in dimension i, respectively. 
)(
1 i
vp
 
and 
)(
2 i
vp
 are the velocities of parents 1 and 2 in 
dimension  i, respectively. 
 is a uniform random 
variable in the range [0.0:1.0]. Towards the end of a 
typical PSO run, the population tends to be highly 
concentrated in a small portion of the search space, 
effectively reducing the search space. With the 
addition of the VPAC crossover operator, a portion 
of the population is always pushed away from the 
group, increasing the diversity of the population and 
the effective search space.  
The child particles retain their parents’s velocity 
vector 
),()(
11
vpvc
)()(
22
vpvc
=
. The previous 
best vector is set to the new position vector, 
restarting the child’s memory by replacing new 
)()(),()(
2211
xppcxppc
. The velocity and 
position update rules remain unchanged from the 
standard inertial implementation of the PSO. The 
social parameters are set to 2.0 while inertia is 
linearly decreased from 0.7 to 0.4 and a maximum 
velocity (Vmax) of ±1 was allowed. The breeding 
ratio was set to an arbitrary 0.3. Tournament 
selection, with a tournament size of 2, is used to 
select individuals as parents for crossover. The used 
mutation operator is Gaussian mutation, with mean 
0.0 and variance reduced linearly in each generation 
from 1.0 to 0.0. Each weight in the chromosome has 
probability of mutation 0.1. 
4 NETWORK TRAINING 
BP approach, as mentioned, has been mostly used 
for training RFNN in previous works. This approach 
is not easy to implement, when faced with the case 
of a complete or a non-diagonal fuzzy rule base. As 
we can see in Fig. 1, each rule of layer 3 is made by 
only a diagonal variables, i.e. the i-th rule are made 
by multiplication of the i-th outputs of layer 2. 
However, if we want to use complete or non-
diagonal fuzzy rule base, it will make learning of 
parameters in layer 2 totally complicated. In this 
paper we propose Breeding Particle Swarm 
Optimization for tuning parameters of layer 2 
(
ij
m
,
ij
,
ij
) and original BP for tuning 
jp
w
. These 
two approaches are used simultaneously. Pseudo 
code of the algorithm used in this study for training 
RFNN parameters is shown in Fig. 3. The proposed 
combination has various benefits for training RFNN. 
First of all, there is no need to differentiate those 
complex derivations for training the parameters of 
the 2
nd
 layer. The proposed algorithm utilizes BPSO 
as a derivative-free approach for training these 
parameters. The method is also a global optimization 
approach that prevents training parameters from 
converging to local minima. Because of simplicity 
and high speed convergence, the parameters of 4
th
 
layer is learned by BP. Note that using a complete 
fuzzy rule base doesn’t affect the tuning of 
jp
w
 by 
BP and will not increase its complexity. 
ICINCO 2008 - International Conference on Informatics in Control, Automation and Robotics
316