1

Initialize the food sources and evaluate the nectar amount (fitness) of food sources

2

Send the employed bees to the current food source

3

Iteration = 0

4

Do while (the termination conditions are not met)

5

/*Employed Bees’ Phase*/

6

For (each employed bee)

7

Generate a candidate solution in its neighborhood following Equation (4)

8

Evaluate the candidate solution and apply greedy selection

9

End for

10

Calculate the probability P for each food source according to Equation (5)

11

/*Onlooker Bees’ Phase*/

12

For (each onlooker bee)

13

Send onlooker bees to food sources by the roulette selection depending on P

14

Generate a candidate solution in its neighborhood following Equation (4)

15

Evaluate the candidate solution and apply greedy selection

16

End for

17

/*Scout Bees’ Phase*/

18

If (any employed bee becomes scout bee)

19

Send the scout bee to a randomly produced food source

20

End if

21

Memorize the best solution achieved so far

22

Iteration = Iteration + 1

23

End while

24

Output the best solution achieved