| Generate a set of habitats for a problem |
| Evaluate the fitness value or HSI for each habitat |
| while stopping criterion is not met |
| Determine immigrating rate and emigrating rate for each habitat |
| Modify the habitats based on and
|
| for: N (population size) do |
| Use to probabilistically decide whether to modify to emigration |
| if rand (0, 1) <
|
| Select Habitat through roulette wheel method to emigration |
| Perform migration on and
|
| Evaluate the fitness value or his
|
| Replace the new solution with
|
| end if |
| if rand (0, 1) <
|
| Apply mutation on
|
| Evaluate the fitness value or HSI for the newly generated solution |
| end if |
| end for |
| Update habitats’ population |
| end while |