| Begin |
| Step 1: Preprocessing. Preprocess the questions in item bank described in |
| subsection 6.3.1, and determine which is the total number of questions |
| contained in a test-sheet |
| Step 2: Initializing. Set the generation counter ; set the status code of habitat |
| (i.e., SIV) according to subsection 6.3.2; randomly initialize a |
| population of NP individuals ; set the maximum variation rate and |
| migration rate ; set dimension for the optimization problem ; set the |
| maximum capacity of habitat species ; set maximum of immigration |
| function and the maximum of emigration function and the maximum of |
| elite individuals retained ; set the parameter TS, , ALLOW related to |
| tabu search |
| Step 3: Calculating the immigration and emigration rate. Calculating the species |
| number , the immigration and emigration rate |
| corresponding to habitat based on its SIV |
| according to (2.10) |
| Step 4: while The halting criteria is not satisfied do |
| Sort the population from worst to best according to HSI |
| For each individual, map the HSI to the number of species |
| Calculate the immigration rate and the emigration rate for each |
| individual |
| Modify the population with the taboo search migration operator shown in |
| Algorithm 7 |
| Update the probability for each individual |
| Mutate the population with the taboo search mutation operator shown in |
| Algorithm 8 |
| Evaluate the fitness for each individual in |
| Memorize the best solution achieved so far |
| |
| Step 5: end while |
| End. |