Multiobjective Complex Network Clustering Based on Dynamical Decomposition Particle Swarm Optimization

Clustering is a basic tool applied to complex networks. However, the clustering of complex networks is often based on a single objective function, which can obtain insufficient clustering effects. To address the insufficiencies of single objective complex network clustering, multiobjective complex network clustering was proposed. In this article, to improve multiobjective complex network clustering, we prove the superiority of dynamic decomposition mathematically and propose a parallel discrete particle swarm optimization algorithm based on dynamic decomposition (DDDPSO). First, solutions are obtained at different levels by optimizing the objective functions of parallel subpopulations. Second, the decomposition space is divided dynamically by the reference vector of dynamic decomposition. Particle swarms are used to search for optimal solutions in the partitioned dynamic spaces. Finally, the individuals in the particle swarm are sorted according to the obtained solutions to obtain individuals with good convergence and diversity. We conduct comparisons with many state-of-the-art algorithms on many widely used test datasets to test the DDDPSO. The experimental results show the effectiveness of the proposed approach for complex network clustering.

execution [13]. Therefore, evolutionary algorithms can be applied to the field of complex network clustering.
Evolutionary algorithms can be divided into singleobjective and multiobjective evolutionary algorithms. A genetic algorithm optimizes complex network clustering by selecting an optimal solution using a quality measure function [14]. The clustering result is positively correlated with the value of the A function. For example, the Meme-Net algorithm optimizes clustering with a module density function [15].
As research progressed, people found that clustering objective functions are gradually increasing functions that often contradict each other. Multiobjective complex network clustering can cause the nodes to connect more closely within the class while also making the nodes between classes sparse. Hence, multiobjective evolutionary algorithms have been proposed to solve the complex network clustering problem. In the MOGA-net algorithm, two objective functions are optimized using a multiobjective genetic algorithm to identify networks with dense class connections and sparse connections between classes, and different solutions contain different numbers of classes [16]. A multiobjective optimization framework was used to solve artificial complex network clustering in [17]; the authors proposed a multiobjective evolutionary algorithm to efficiently identify structures in complex networks. To optimize multiple clustering functions, a clustering method based on decomposition of the discrete particle swarm algorithm was proposed in [18] that uses the Tchebycheff approach [19] to transform the multiobjective optimization problem into a scalar solution problem in a discrete particle swarm optimization framework. Label propagation was used to initialize the algorithm.
Many recent studies have also proposed new multiobjective complex network clustering algorithms. MOEA based on local information, termed LMOEA [20], improves the quality of clustering results by selecting the best individual. Mopso-net improves PSO algorithm and optimizes clustering results simultaneously with KKM function and RC function [21]. Zhang et al. proposed the idea of reducing the scale of complex networks in the process of multi-objective evolutionary algorithm clustering [22]. The idea Narrows the search space and improves the clustering accuracy.
At present, multiobjective complex network clustering is based on node degree when constructing the objective function, and it ignores the weight between nodes. However, in a real complex network, nodes have not only degrees but also weights. Thus, it is unsuitable to construct the objective function of clustering based solely on node degree the clustering result based only on node degree is not reasonable. The clustering results do not reflect high cohesion and low coupling. To address this problem, this paper proposes a multiobjective complex network clustering model composed of three objective functions that consider both node degree and node weight.
Many types of multiobjective evolutionary algorithms and multiobjective particle swarm optimization (MOPSO) methods exist [23]- [25]. MOPSO has the advantages of fast convergence and maneuverability and outstanding performance in the continuous field. Because of its outstanding performance on continuous problems, scholars began to explore discrete multiobjective particle swarm optimization (DMOPSO) [26]. In this paper, to improve the optimization of multiobjective complex network clustering models, MOPSO based on dynamic decomposition is proposed.
The main contributions of this paper are as follows: 1) To address complex network clustering problems, we construct a multiobjective complex network clustering model by improving the average clustering degree (ACD) function and apply it to complex network clustering. The ACD function complements the signed ratio correlation (SRA) function and the signed ratio cut (SRC) function, and these three functions constitute the multiobjective clustering model. These three objective functions consider not only node degree also node weight. Compared with previous models, the proposed model is more comprehensive, and the objective functions achieve a more reasonable balance.
2) To better optimize multiobjective complex network clustering, a DPSO based on dynamic decomposition is proposed, and the dynamic decomposition strategy of feasibility is proven mathematically. Instead of dividing the solution space of the objective function in advance, the dynamic decomposition algorithm divides the solution space dynamically based on the solution. To balance the convergence and diversity of the algorithm, the individuals are ranked based on their individual performances. This approach uses the top-ranked individuals to optimize the population.
3) To increase the applicability of the algorithm, a parallel method based on objective function and individual population is proposed. This parallel method has two phases. In the first stage, the population is divided into several subpopulations, and each subpopulation is assigned to a CPU. Then, the subpopulations are each optimized on individual computing platforms. The second stage constructs an information pool to store the best objective function value. When a subpopulation needs information, it signals the information pool. When the information pool receives such a request, it sends the objective function value to the requesting subpopulation and updates the new objective function value.
The remainder of this paper is organized as follows. Section II introduces the definition and background of complex networks and clustering objectives. In Section III, the superiority of dynamic decomposition is proved mathematically, and discrete particle swarm optimization based on dynamic decomposition is described. In Section IV, the proposed DDDPSO is compared with other algorithms, verifying the superiority of our algorithm. Finally, Section V summarizes the article and provides a conclusion.

II. BACKGROUND AND RELATED WORK
In this section, firstly, a brief review of complex networks' concepts, classification, and representation are presented; then, we introduce the clustering objectives used in this work, including the role of each objective. By optimizing these three objective functions, better clustering results can be obtained.

A. COMPLEX NETWORK DEFINITION
Complex networks are divided into signed and unsigned networks by their connecting properties [27]. Unsigned complex networks can be modeled as a graph G = (V,E). In graph, V represents the set of nodes and E represents the set of edges [28]. An A matrix represents the node interconnections. If node i is associated with node j, then A ij = 1; otherwise, A ij = 0 is obtained. In addition, we use a B matrix that references a similar weight in the unsigned complex network. The elements in B are assigned by the node links. If node i is associated with node j, then B ij = 1 is obtained; Otherwise, B ij = 0. Complex signed networks can be expressed as G = (V, E,W) [29], where V is the set of vertices, E represents the nodes of edges, and W is the set of weights of nodes. When the weights of nodes i and j are greater than zero, then A ij = 1, and when the weight between node i and node j is less than zero, then A ij = −1. When no weight exists, then A ij = 0. If node i and node j are not connected, then B ij = 0; otherwise, B ij is the real weight of the two points. Node degree is calculated by After clustering the complex network, we suppose that there are n classes = {C 1 , C 2 , , , C n }. In an unsigned complex network, if ∀i∈C m , K in A ij is a strongly connected class; otherwise, it is a weakly connected class. In a signed complex network, C m is a strongly connected class if it satisfies ∀i∈C m , ( A ij [30].

B. CLUSTERING OBJECTIVE FUNCTION OPTIMIZATION
The multiobjective optimization problem (MOP) can be defined as follows: where X∈ R n is a decision space, x ∈ (x 1 , x 2 , , , , x n ) is a decision vector, and n represents the number of variables.
M denotes the number of functions in the multiobjective optimization problem. F(X) is a solution vector composed by an objective function.
Definition 2 (Pareto Set): The elements in the Pareto set must meet Definition 1, which can be expressed as follows:

Definition 3 (Pareto Front):
Each solution in the Pareto set corresponds to a vector of the objective function. Therefore, we can obtain the Pareto front (PF).
Complex network clustering optimizes the node distribution according to the objective function. For unsigned network clustering, Girvan and Newman [31] proposed the module function Q: where m is the sum of the degree of all nodes; a ij is the element in row i, column j of A; and k i is the degree of node i. If node i and node j are in the same class, then we can obtain δ(i, j) = 1; otherwise, we can obtain δ(i, j) = 0. Gomez et al. [32] proposed the corresponding module function SQ for signed complex networks: where w + means the sum of all the nodes whose weights are greater than zero, w − denotes the sum of all nodes with weights less than zero; and w ij represents the elements in row i and column j of matrix B. The advantage of this function is that the topological structure of the class is unimportant as long as the clustering result satisfies low coupling and high cohesion and the function value is suitable. Intuitively, a higher function value indicates better clustering. Although the performance of complex network clustering is positively correlated with module functions, Fortunato and Barthelemy [33] found that when the class scale is smaller than a certain value, neither a signed module function nor an unsigned module function can effectively guide the clustering of complex networks. Therefore, to solve the problems of evaluation functions so that they are unaffected by the complex network structure as far as possible, to extend the single clustering result and ameliorate one-sided clustering bias, many papers have proposed new schemes.
For example, Li et al. [34] proposed the module density function. Lancichinetti et al. [35] proposed evaluation functions for complex network clustering. Pizzuti [16] proposed community scoring functions. This paper proposes multiobjective clustering for complex networks.
We abstract the clustering of complex networks into a multiobjective optimization problem with three objectives. The problem can be briefly expressed as follows: where = {C 1 , C 2 , , , C k } means that the complex networks are divided into K classes. The specific function in f(x) is as follows [18]: where SN represents the total number of nodes. In SRA, the numerator is |A ij |; and in SRC, the numerator is The numerator of the CD function [37] is where the f(cw(i)) function is f( a ij a ij a jk and node i is connected to both nodes j and k, and W(i) is the sum of the weights of node i. The WD(i) function is WD(i) = α(D(i)) + (1 − α)W (i), and α is a random number. SRA and SRC are improved by kernel k-means (KKM) and ratio cut (RC), respectively. The reason for selecting two functions is that the KKM function mentioned in [36] increases the number of classes, while the RC function reduces the number of classes. In other words, the KKM function and the RC function are adversarial. The ACD function represents improvements to the CD function [37]. The ACD function balances these two attributes using node degree node weight to determine the average clustering ability of the nodes in the class. The stronger the average clustering ability in a class is, the more nodes that class will gather. However, as the number of nodes increases, the degree of association between the nodes will be reduced. Therefore, ACD is adversarial to the SRA and SRC functions. All three functions are minimized during the clustering process. Minimizing SRA and SRC ensures that the node connections within the class are as dense as possible and that the connections between classes are as sparse as possible. Minimizing ACD by considering weights ensures that the node connections within the class are more robust and reasonable and that the connections between classes are more reliable.

III. DISCRETE DYNAMIC DECOMPOSITION PARTICLE SWARM OPTIMIZATION
In this section, a DPSO based on dynamic decomposition is proposed for multiobjective complex network clustering. First, when dealing with a multiobjective problem, the dynamic decomposition mechanism benefits the algorithm, guiding it more accurately to find the Pareto solution set, and we prove this assertion mathematically. In the second part, we propose the DPSO based on dynamic decomposition and show the optimization of multiobjective complex network clustering in detail.

A. DYNAMIC DECOMPOSITION STRATEGY
Dynamic decomposition of the dynamic partition using reference vectors in the solution space guides the algorithm to search the Pareto solution set of clustering more accurately. To prove its superiority theoretically, first, the principle of dividing the solution space by the reference vector of dynamic decomposition is the same as that used to divide the solution space by the reference vector of angular distance, which works excellently in the field of multiobjective optimization [38]. Second, when the Pareto solution is convex, the dynamically decomposed reference vectors are proven to be more evenly distributed than are the angular distance reference vectors. The basic theory of dynamic decomposition assumes that-without knowing the shape of the Pareto solutionall the solutions can be pulled towards the hyperplane in the direction of the reference vector. In other words, the reference vectors of the dynamic space pass through the same hyperplane. The dynamic decomposition partition solution space is given a population P = {p 1 , p 2 , p 3,,,p n }, where We normalize each solution as follows: where z max i represents the maximum function value of f i (x), and z min i represents the minimum function value. To avoid extreme cases, when z max The next step is to calculate the reference vector corresponding to each solution as follows: where (12), we know that And based on Formula (13), the reference vectors of dynamic decomposition pass through a hyperplane. As shown in Figure 1, the green vectors are the reference vectors of dynamic decomposition, and the blue vectors are hyperplanes. The function normalization of angular distance is the same as that of dynamic decomposition; the difference lies is the generated relation of the reference vector. The reference vector of angular distance is as follows: where We sum the squares of λ(x) for each element to obtain the following formula: The reference vector for the angular distance also goes through a hypersphere. As shown in Figure 2, the red vectors are the reference vectors of dynamic decomposition, and the blue vectors are hyperplanes. Therefore, the angular distance reference vector and the dynamic decomposition of the reference vector principle are the same. Furthermore, when the Pareto solution set is convex, the dynamically decomposed reference vectors are more evenly distributed than are the angular distance reference vectors. As shown in Figure 3, the reference vector in yellow is the Pareto solution set across the convex graph, and the hyperplane in blue is that of the angular distance in red. As shown in the figure, the dynamic decomposition of the reference vector is more uniform.
It can also be proven that the dynamic decomposition of the reference vector distribution is more uniform when using the geometric method. Given three points N = (x 1 , (13). According to formula (13), when y m = t − u and y 1 m−1 can be determined. The distance from point N to point K and the distance from point K to point H can be expressed as dist(N,K) and dist(K,H), which are calculated as follows: VOLUME 8, 2020 From (18) and (19), we know that cos< Based on the mathematical proof above, the reference vector passes through the Pareto solution set of the convex graph, and the angle between ON and OK is not the same as the angle between OK and OH. The distance in the hyperplane of the dynamic decomposition is dist(N,K) = dist(K,H). In summary, when the Pareto solution set is convex, the dynamic decomposition of the reference vector is more uniform than is the angular distance of the reference vector.

B. DPSO BASED ON DYNAMIC DECOMPOSITION
DPSO is widely used to solve optimization problems because of its fast convergence [39], [40]. However, DPSO can easily become trapped in a local optimum. To find the global optimum more accurately, we introduce a dynamic decomposition strategy [41]. Each iteration serves as a foundation that finds some clustering results with good balance between convergence and diversity. Dynamic decomposition references the ideas of quick selection [42]. First, dynamic decomposition divides the initial population into Q and W. Second, in population W, the individuals that divide set W into S A and S B are identified. Finally, the individuals with good balance and convergence are found in SA.

1) DYNAMIC DECOMPOSITION DIVIDES DPSO
In DPSO, each individual represents a clustering scheme. Each element in an individual represents a node, and each node has a value range of [1,N], where N represents the total number of nodes. Figure 4 shows the encoding mode of the discrete particle swarm in a complex network. When the integers of two elements are equal, the two nodes belong to the same class. In DPSO, each particle has a velocity that determines its search range and the time that it takes to find the optimal solution. The particle velocity rule equation is as follows: where ω represents random numbers in the range [0,1], and c 1 and c 2 represent social and individual cognition, respectively. Both parameters are set to the value of 1.494 [18]. r 1 and r 2 represent two random numbers in the range [0,1].
In (26), the symbol represents a logical XOR operation.
The function f(x) = sig(x) is defined as follows: where the sigmoid(x) function can be described as sigmoid(x) = 1 1+e −x [18]. Based on the velocity update rules, the velocity and position update rules are as follows: where influences the position of the velocity at the next moment; therefore, the operator is important. Given X 2 = (x 21 , x 22 , , , , x 2n ) and a velocity v = (v 1 , v 2 , , , , , v n ), and the position , the velocity generates a new position. The elements in X 2 are defined as follows: Suppose the velocity element is equal to zero, and the corresponding position in X 2 does not change. If the position of the velocity is 1, then the corresponding position in X 2 is calculated in terms of Nbest i = arg max j∈Nei ϕ(X 2j , r). Nei is the set of neighbors of node j. When i = j, ϕ(i, j) is 1; otherwise, ϕ(i, j) = 0. In other words, when the velocity element is 1, the corresponding position is the number that appears most frequently in the neighbor node. After the particle swarm has completed two evolutions, the population is divided into two parts: one part is the sorted set Q, and the other part is the set W = {P−Q}, which must be sorted. Dynamic decomposition then iterates to assign rank values to the solution in the set W until all the solutions have been sorted. It is worth noting that when the individual in W is sorted, it will be removed from W and placed in Q. The resulting set in Q can be used to influence the next generation or the final solution. The formula for finding Q is as follows: where e j s the population closest to the j-th axis, w = (w 1 , w 2 , , , w m ) T is the axis direction, and g is the same aggregation function described previously.

2) DYNAMIC DECOMPOSITION SELECTS INDIVIDUALS FROM THE DIVIDED POPULATIONS
In set W, the algorithm finds an individual that can divide the set into parts S A and S B . The formula for dividing W is as follows [41]: where p is the individual for the division, and the distance formula is [41] dist(x, y) = λ(x) − λ(y) 2 Individual P divides set W into S A and S B as follows [41]:

3) DYNAMIC DECOMPOSITION SELECTS BEST INDIVIDUAL
It can be seen from the formula that S B is closer to the Q set but that adding the S B population to Q will be detrimental to the population diversity. Therefore, we consider the S A population as a candidate population from which we select the best individual in each iteration. The formula to select the best individual s in S A is as follows [41]: where Lambda (p) is the reference vector for individual p, and the function g is an aggregate function. The individual in S A is multiplied by the same reference vector, which ensures that the selected optimal individual will have good convergence. At the same time, diverse individuals are selected from the S A population; thus, they have both good convergence and diversity. To clarify the dynamic decomposition optimization DPSO, we provide an example. Figure 5 shows a schematic diagram of the dynamic decomposition selection process of a biobjective function in which the number of populations is 9, and each individual is assigned a unique number. According to Formula (20), we first divide P into S A and S B . The yellow individuals (4 and 5) represent the individuals in Q = {4, 5}. The remaining individuals are selected from the set W = {0, 1, 2, 3, 6, 7, 8}. First, we select p individuals using (21) and (22), which are the individuals marked in green. Next, using Formulas (22) and (23), we divide W into set S A = {0, 1, 2, 3, 6} and set S B = {7, 8}. The area occupied by the points in S A are marked in light green, and the individuals in S B are marked in blue. Then, in the solution space of S A , according to Formula (25), we can conclude that the red individual 6 is the closest to the green individual 0. Therefore, number six is selected as the best individual. We repeat the above process until the number of selected individuals meets the requirements.
It is worth noting that in the last iteration, the final nondominated set is selected in an unsupervised way. First, one individual selected by Formulas (25)-(28) is divided into S A and S B . Then, the real clustering results are selected from S A by Formula (29).

C. PARALLELIZATION METHOD BASED ON OBJECTIVE FUNCTION AND POPULATION
As the number of objective functions and the number of nodes in the network increase, the running time of the algorithm also increases. Therefore, to improve the computational efficiency, we propose a parallel method based on the objective function and population consisting of three parts. First, within a neighborhood, individuals communicate with each other. Second, individuals receive neighborhood information and use their own computing resources to update the individual state. Finally, the optimal objective function of the individual information is stored to update the subpopulation. When a subpopulation needs the optimal objective function, the program sends that information to the subpopulation.
Assuming that there are N CPUs to execute parallel processes and NP individuals, the number of populations assigned to each CPU is NP N . Thus, each CPU is responsible for complete sets of individuals. The MOP can be optimized by all the CPUs simultaneously, which greatly reduces the running time. The CPU exchanges information in order according to the physical structure of the computer where the distribution of CPU nodes is abstracted into a network. In this network, each crossover node represents a CPU. To identify the CPU neighbor node, the CPU step size should be calculated to determine which CPU should send information to the current CPU and which CPU should receive current CPU information. The calculation formula for the step size and neighbor nodes is as follows: where step is the step length, Node i is the rank of MPI process i, and Node iup ,Node idown , Node idown and Node idown are the ranks of the four neighboring nodes (top, bottom, left and right).
The running time of the algorithm primarily involves the population evolution and the objective function calculations; therefore, the time consumption of the serial algorithm is where t1 is the time evolution of the population and t2 is the time required to calculate the objective function. When the algorithm is combined, the time consumption formula becomes 32) where N is the number of CPUs. Consequently, the parallel form of the algorithm is approximately N times more efficient than is the serialized form. VOLUME 8, 2020

D. ALGORITHM FRAMEWORK
The overall framework of the DDDPSO is shown in Table 1.
In step 3.4, DDDPSO applies the mutation operator [18] whose algorithm framework is shown in Table 2. After two DPSO iterations, dynamic decomposition is used to guide the DPSO to select individuals with both convergence and diversity as the parent of the next generation.

E. COMPLEXITY ANALYSIS
1) The storage space of the algorithm is mainly composed of two parts.The first part is used to store experimental data.The second part is used to store individuals in a population.The space needed to store data is O(n 2 ). N is node of number. The space needed to store individual is O(mn), where m is size of the population. Therefore, the total storage space required by the algorithm is O(n 2 ).
2) Time Complexity: Step 3 and step 4 take up most of the calculation time of the algorithm because the other steps can be ignored. In the process of analyzing the time complexity of the algorithm, the number of nodes in the complex network is represented by n, and the degree is represented by m.  · (m + n)). In the time complexity of DDDPSO, iterations is the number of iteration and population is the number of individuals in a population.

IV. EXPERIMENTAL STUDIES A. COMPARED ALGORITHMS
We compare our algorithm with seven similar algorithms: GA-net [14], MOEA/D-net [43], MOCD [17], MOGA-net [16], Informap [44], MOPSO-r2 [45], LMOEA [20] and CCLPA [46]. proposed the GA-net algorithm. The main purpose of GA-net is to apply EA to network clustering. Pizzuti defined a community score to evaluate the clustering results. MOCD, MOGA-net, and MOEA/D-net are network clustering algorithms based on MOEA. To compare the derived algorithms based on MOEA and the derived algorithm based on DPSO, we chose these three algorithms and our proposed DRVPSO for comparison. Decomposition strategies are used in our algorithm and these three algorithms. The biggest difference between MOCD and our algorithm lies in the optimization mechanism. MOCD uses a genetic algorithm for optimization, while our algorithm uses a reference vector. Informap is a complex network clustering algorithm based on informatics. MOPSO-r2 is an extension of MOPSO that uses heuristic search methods. CCLPA uses a propagation algorithm to cluster nodes based on clustering parameters.

B. EXPERIMENTAL SETTINGS
The parallel technique used in the algorithm is MPI. MPI is a parallel communication scheme based on the C++ framework. The computer used in the experiments was equipped with 2 Intel e5-2665 CPUs running at 2.4 GHz with 128 GB of memory: each CPU has 8 cores. The development environment of the experiment was Visual Studio 2017 under a Windows 10 operating system, and the language used in the experiment was C++. The program code is available upon email request.
When the real clustering results are known, the measure we use is normalized mutual information (NMI) [47]. The NMI effectively measures the similarity between the clustering results of the algorithms and the true clustering. Suppose the clustering result of an algorithm is set A but the real clustering result is set B. We define a fuzzy-proof C such that the elements in matrix C are the number of nodes jointly owned by class i in set A and class j in set B. The NMI(A,B) is then defined as follows [47]: where C A and C B are the number of classes in sets A and B, N is the number of nodes, and C i· and C ·j are the sums of the elements of row i and column j, respectively. The value range of NMI is [0, 1]. When NMI is zero, A and B are completely different, and when NMI is equal to 1, A and B are identical. Danon et al. [48] previously proved the feasibility and rationality of NMI.

1) GN NETWORK EXPANSION EXPERIMENT
The GN benchmark network [31] consists of 128 nodes divided into 4 categories. The average degree of nodes is 16.
In the GN benchmark network, r represents the proportion of nodes connected to nodes that are not in the same class, and 1-r represents the proportion of nodes connected to nodes within the same class. When r<0.5, we say that the network structure is strong and vice versa. In the experiment, the r value ranged from 0 to 0.5. In Figure 6, the abscissa shows r increasing from 0 to 0.5 with a step size of 0.05, while the ordinate represents the average value of NMI obtained by each algorithm over 30 runs. From Figure 6, before r reaches 0.2, DDDPSO is not significantly different from the other algorithms. Between 0.2 and 0.3, DDDPSO moves toward second place. After 03, DDDPSO clearly begins to show its superiority. From 03 to 0.5, DDDPV ranks first. This shows that DDDPSO is more effective on networks with complex structures. From the perspective of the overall curve, our algorithm is more promising than are the other algorithms at clustering networks that possess more complex node structures. To convincingly demonstrate DDDSO's significant advantages over the other algorithms, we calculated the aligned Friedman score of all the algorithms. As shown in Table 3, DDDPSO achieves first place. In addition, we calculated the variance of the NMI obtained by the algorithms running on the GN dataset. As shown in Table 6, our algorithm is generally stable.  The population number has a large influence on the outcome of the algorithm; therefore, we performed some experiments. Figure 7 shows representations of different populations on the datasets. We varied the population number from 80 to 160 and observed which population performed well on the datasets. The population increases by 20 individuals at a time. Between 0 and 0.2, the results (the red line) does not clearly show advantages over the other cases. However, when r>0.2, the red line indicates a substantially superior performance over other cases. The red line represents a population of 120. Populations 140 and 160 also performed well in the 0.45 and 0.5 datasets. However, according to the Friedman population in Table 4, we fixed the population at 120. Apart from the population parameter, we also explored the effect of the number of iterations on clustering by fixing the other parameters while varying the number of iterations. The iteration parameter was varied from 60 to 140 at a step size of 20. Figure 8 shows the NMI obtained by the different numbers of iterations: when the number of iterations exceeds a certain value, the NMI decreases. An iteration number between 60 and 100 increases the value of NMI; however, after the number of iterations reaches 100, the NMI value   decreases. According to Table 5, based on the maxgen of a Friedman test, we fixed the number of iterations at 100.

2) LFR COMPLEX NETWORK
The degree of each node in the GN-based network is similar. The number of nodes in each class is approximately the same, and the total number of nodes is relatively small. These properties do not reflect complex networks in real life. Lancichinetti proposed that the number of LFR data aggregation points should be 1000. The LFR dataset belongs to a complex large-scale network. In the dataset, the parameters µ 1 and µ 2 should be set to control the node degree and the number of nodes in the class after clustering [49]. A node's connections to nodes in its own class occupies a ratio of µ to all the connections for that node, while its connections to nodes in another class constitute the ratio 1-µ to all connections. The range of µ is [0, 1]. We varied µ from 0.1 to 0.8 with a step size of 0.1. After the LFR data aggregation class, the number of classes varied from 10 to 50. We set the parameters µ 1 = 2 and µ 2 = 1 so that the average degree of all the nodes was 20 and the maximum node degree was 50. The experimental results of 30 runs are shown in Figure 9. On the LFR data, the population and iteration parameters of DDDPSO are 120 and 100, respectively.
As shown by the curves in Figure 9, our algorithm performs stably across different datasets and achieves excellent clustering. Between 0 and 0.5, our algorithm consistently produces NMI values above 0.9. In other words, even when applied to large-scale complex network clustering, DDDPSO can accurately identify the locations of nodes and obtain good clustering results. Between dataset values of 0.4 and 0.6, our algorithm performed consistently and ranked second. Although DDDPSO fluctuates somewhat between 0.5 and 0.6, it still ranks second and is well ahead of third place and well behind first place. Surprisingly, after 0.6, the performance of Informap changed substantially: its NMI value suddenly drops from 1 to 0. Thus, DDPSO, after some fluctuations, moved from second-place to first place. From the datasets with values of 0.6 to 0.8, the algorithm structure becomes very complex, and the number of nodes becomes very large. Nevertheless, our algorithm still performs well, indicating the universality of DDDPSO. Furthermore, according to the Friedman test results in Table 7, our algorithm has promising potential for addressing large-scale complex networks.

3) REAL-WORLD DATASET
We also applied algorithms to an American College Football dataset [31]. This dataset contains a total of 115 nodes and 613 edges representing the Iowa college football grouping in the fall of 2000. The dataset constitutes 12 subclasses after clustering. Due to the complex connections and the unbalanced classification of nodes in this dataset, no algorithm can comprehensively find the correct structure. On the American college football data, the population and iteration parameters of DDDPSO were set to 120 and 100, respectively. The NMI data of each algorithm for this dataset are shown in Table 8, which shows that DDDPSO performs better than the other algorithms.
The dolphin network includes a network of 62 bottlenose dolphins. According to the gender, the network naturally is separated into the female group and the male one. The NMI data of each algorithm for this dataset are shown in Table 9, which shows that DDDPSO performs better than the other algorithms.

C. THE DIVERSITY AND CONVERGENCE OF DDDPSO
Algorithm diversity and convergence are two important performance indicators for multiobjective complex network clustering algorithms. To improve the convergence and diversity of DPSO, we proposed creating a DPSO based on dynamic decomposition. To evaluate the influence on the clustering effect achieved by dynamic decomposition, we visualized and quantified the clustering solution set of DPSO both with and without dynamic decomposition.   As shown in Figure 10, the solution sets obtained by DPSO with dynamic decomposition are close to circular in shape. The more the solution set of a the multiobjective algorithm tends toward circularity, the better the convergence and balance of the algorithm are. Clearly, the DPSO-based dynamic decomposition algorithm is better. To form a more convincing demonstration, the complex network clustering results obtained by DDDPSO are not only visualized but also quantified. As shown in Figure 10, the DDDPSO scores 0.8622, while DPSO scores 0.5524 (the score range of this value is [0, 1], and the closer the value is to 1, the better the convergence and balance of the algorithm are). DDDPSO with dynamic decomposition performs better than does DPSO without dynamic decomposition. There are two main reasons why DDDPSO is better. First, the reference vector used in dynamic decomposition divides the solution space more evenly. The particle swarm perturbations in these subspaces yield clustering results closer to the Pareto front. Second, based on their convergence and diversity, the dynamic decomposition sorts the individuals in the population. The ranking results directly affect the survival of individuals.

V. CONCLUSION
In this paper, we proposed using ACD objective functions in combination with SRC and SRA functions to form a multiobjective complex network clustering method. The ACD function considers both the weight and degree of nodes, resulting in more reasonable clustering results. Multiobjective complex network clustering is executed to obtain several different solutions, each of which has a different emphasis. To better solve multiobjective complex network clustering problems, DPSO has been widely used for clustering. DPSO has the advantages of simple operation and rapid convergence; however, is also has the disadvantage of becoming trapped in local optima. To balance the diversity and convergence of algorithms, we proposed a DPSO variant based on dynamic decomposition. We first proved that the principle of dividing the solution space by dynamic decomposition is the same as that of dividing the solution space by distance. The, on that basis, we proved mathematically that when the square Pareto solution set is convex, the dynamically decomposed reference vectors are more evenly distributed than are the angular distance reference vectors. To increase the universality of the algorithm, we proposed a parallelization method centered on the population and the objective functions. This parallel method calculates the top, bottom, left and right neighbors according to von Neumann's system.