Page 17 - Algorithm Collections for Digital Signal Processing Applications using MATLAB
P. 17
1. Artificial Intelligence 5
If f (a, b, c, nextd, e) is less than f (a, b, c, d’, e) then update the value
for d’ as nextd, otherwise d’ is not changed
If f (a, b, c, d, nexte) is less than f (a, b, c, d, e’) then update the value
for e’ as nexte, otherwise e’ is not changed
7. Repeat the steps 3 to 6 for much iteration to reach the final decision.
The values for ‘c1’,’c2’ are decided based on the weightage given to
individual decision and global decision respectively.
Let Δa(t) is the change in the value for updating the value for ‘a’ in t th
iteration, then nexta at (t+1)th iteration can be computed using the following
formula. This is considered as the velocity for updating the position of the
swarm in every iteration.
Δ
a
nexta (t+1) = (t) + a(t+1)
where
Δ a(t+1) = c1 * rand * (a’ –a ) + c2 * rand * ( global –a ) +
w(t)* Δa(t)
th
‘w ( t )’ is the weight at t iteration. The value for ‘w’ is adjusted at every
iteration as given below, where ‘iter’ is total number of iteration used.
w(t+1)=w(t)-t*w(t)/(iter).
Decision taken in the previous iteration is also used for deciding the next
position to be shifted by the swarm. But as iteration increases, the
contribution of the previous decision is decreases and finally reaches zero in
the final iteration.