Step 1. Initialize parameters: PSO-Flag=false; DE-Flag=false; the mutation probability of PSO: ; |
the mutation probability of DE: ; the balanced parameter between PSO and DE: . |
Convergence evaluation parameter . |
Step 2. generation counter G = 0 and randomly initialize a population of NP individuals |
with , uniformly distributed in the range |
, where and . |
Step 3. Evaluation the population and Identify the best position. |
Step 4. While stopping criterion is not satisfied |
Generate Random number rand in (0, 1). |
If rand < p |
Set DE-Flag=true; %%Active jDE for current population |
for i = 1 to the NP do |
Update and according to (14); |
Generate using (7) |
Generate the trial vector by (12) |
End for |
Else |
Set PSO-Flag=true; %%Active PSO for current population |
Update using (4) |
for i = 1 to the NP do |
Update particle Velocity and Position according to (1), (2) respectively. |
Set the values of position to the trial vector . |
End for |
End if |
Step 4.1. Randomly reinitialize the trial vector within the search |
space if any variable is outside its boundaries. |
Step 4.2. Selection |
for i = 1 to NP |
Evaluate the trial vector |
If |
|
|
If |
|
|
End if |
End if |
End for |
Step 4.3. Calculate parameter d using (15) |
If parameter meets the requirement of (16) |
Generate a random number rand in (0, 1). |
If rand is less than and PSO-Flag is true |
Update using (17) |
End if |
If rand is less than and DE-Flag is true |
Update using (18) |
End if |
End if |
Step 4.4. Increment the generation count ; |
Reset PSO-Flag=false; DE-Flag=false; |
Step 5. End while |