Input: Adjacent matrix of network |
Parameters: population size (popsize), max generations (gen), crossover probability (pc), mutation probability (pm) |
Output: Pareto front solutions. |
Step 1. Initialization |
(1.1) Initialize the population with population initialization algorithm based on label propagation mechanism (Algorithm 2) |
(1.2) Calculate individual objective functions KKM and RC with formula (3) |
(1.3) Calculate the rank of each individual |
If at least one objective value of individual is better than that of individual , |
and all objects of are not worse than those of , then dominates . This is for each individual division level (rank), |
and the rank of all non-dominant individuals is defined as 1, |
and the other individual’s rank plus 1 with the number of individuals who control it. |
(1.4) Calculate crowding distance |
Calculate the distance between one individual and other individual in the same rank by |
the crowding distance calculation method refers to [19]. |
Step 2. Adopt the evolutionary strategy 6 to generate offspring individuals |
Step 3. Pick out the dominant solutions of current generation from the population |
The rank of all individuals is calculated first, |
then select the individuals whose rank is 1 to construct dominant solutions of the current generation. |
Step 4. Using the pruning mechanism to update the population |
(4.1) Combine the dominant solutions with the present population to form a new population |
(4.2) Calculate the rank of each individual and sort them from small to large. |
(4.3) Select popsize individuals as the next generation according to the rank. |
Step 5. Stopping criteria |
If (iterations < gen), iterations ++ and go to Step , otherwise, stop the algorithm and output the dominant set of solutions. |