(1) Parameter setting: Pop.size = , Num.Iteration = 300, , , , elite = 2 |
(2) Initialization: |
(3) repeat |
(4) generate a habitat |
(5) if habitat does not exist yet then |
(6) insert it into population |
(7) else |
(8) discard it |
(9) until population size is reached |
(10) calculate immigration, emigration, and mutation rates |
(11) compute HSI of each habitat |
(12) associate each habitat with immigration and emigration rate |
(13) for to Num.Iteration do |
(14) Migration: |
(15) for to Pop.size do |
(16) generate |
(17) if then |
(18) for to Pop.size do |
(19) generate |
(20) if then |
(21) perform migration operator |
(22) if new habitat does not exist in the population then |
(23) new habitat replaces old habitat |
(24) else |
(25) keeps the old habitat |
(26) recompute HSI for each habitat |
(27) associate each habitat with mutation rate |
(28) Mutation: |
(29) for to Pop.size do |
(30) generate |
(31) if then |
(32) perform tabu search |
(33) if new habitat does not exist in the population then |
(34) new habitat replace the old habitat |
(35) else |
(36) keeps the old habitat |
(37) recompute HSI of each habitat |
(38) associate each habitat with immigration and emigration rate |
(39) if best known solution is found or Num.Iteration is reached then |
(40) terminate the algorithm |