Research Article

Hybrid Self-Adaptive Algorithm for Community Detection in Complex Networks

Algorithm 3

The flow of MCDA.
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.