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. |