() set Popsize = SN |
() set Maximum number of iteration = Max.iter |
() set Maximum number of trials = Max.trial |
() Generate initial population by (7) |
() Evaluate initial population //Section 4.1. |
() Set iteration = 1 |
() for each food source , set = 0 |
() do while (.iter) |
() //****EMPLOYED BEE PHASE**** |
() for each food source do |
() //choose the search strategy randomly. |
(12) Generate random integer number from the range 1, 2, 3, 4 |
(13) if ( = 1) then |
(14) Produce a new neighbor by (10) |
(15) Evaluate //Section 4.1 |
(16) Apply greedy selection between and |
(17) else if ( = 2) then |
(18) Produce a new neighbor by (11) |
(19) Evaluate |
(20) Apply greedy selection between and |
(21) else if ( = 3) then |
(22) Produce a new neighbor by (12) |
(23) Evaluate |
(24) Apply greedy selection between and |
(25) else |
(26) Produce a new neighbor by (13) |
(27) Evaluate |
(28) Apply greedy selection between and |
(29) end if |
(30) end for |
(31) //****ONLOOKER BEE PHASE**** |
(32) Calculate probability values by (9) |
(33) for each food source do |
(34) Produce random number, 1 from the range 0, 1 |
(35) if () then |
(36) //choose the search strategy randomly |
(37) Generate random integer number from the range 1, 2, 3, 4 |
(38) if ( = 1) then |
(39) Produce a new neighbor by (10) |
(40) if () then = + 1 |
(41) Apply greedy selection between and |
(42) else if ( = 2) then |
(43) Produce a new neighbor by (11) |
(44) if () then = + 1 |
(45) Apply greedy selection between and |
(46) else if ( = 3) then |
(47) Produce a new neighbor by (12) |
(48) if () then = + 1 |
(49) Apply greedy selection between and |
(50) else |
(51) Produce a new neighbor by (13) |
(52) if () then = + 1 |
(53) Apply greedy selection between and |
(54) end if |
(55) end if |
(56) end for |
(57) //****SCOUT BEE PHASE**** |
(58) for each food source do |
(59) if Max. then |
(60) Replace with a new randomly generated solution (7) |
(61) end if |
(62) end for |
(63) Save necessary information |
(64) iteration = iteration + 1 |
(65) end while |