) Initialization phase |
() Food Number = , that is, the number of food sources equals to half of the colony size |
() Based on the opposition-based learning of population initialization as in Section 3.1 |
() Calculate their fitness values |
() Based on -type sub-population grouping described in Section 3.2 |
() trial = zeros (1, Food Number). Initialize trial counters to be zeros |
() Initialize elitists to be food sources |
() Memorize the best food source |
Iter = 0; |
while Iter max iteration |
Select a better elitist by sensitivity-pheromone option in Section 3.3 |
() Employed bees phase |
for = 1 to Food Number |
() Update step length of each food source by (7) and generate a new solution by (10) |
() Evaluate the new solution |
() Iter = Iter + 1 |
() A sensitivity-pheromone selection is applied between the current solution and its mutant. |
If the mutant solution is better than the current solution , replace the solution |
with the mutant and reset the trial counter of solution . Otherwise, increase |
its trial counter. |
end |
Calculate probabilities using (6) |
() Onlooker bees phase |
() Select a food source by sensitivity-pheromone method in Section 3.3 |
() For each onlooker bee, update step length of each food source by (7) and generate a new solution by (10) |
() Iter = Iter + 1 |
() A sensitivity-pheromone selection is applied between the current solution and its mutant. |
If the mutant solution is better than the current solution, replace the solution |
with the mutant and reset the trial counter of solution. |
Otherwise, increase its trial counter. |
The optimal solution is memorized |
() Scout bees phase |
() Determine the food sources whose trial counter exceeds the “limit” value, |
and only one scout bee is allowed to occur in each iteration |
() Use a scout bee to carry out randomly search |
if Food Number max iteration |
end while |
Return the optimal solution |