## 4 NAEEA for Clustering Optimization of AUSCNs
### Population Initialization and Coding  
In the problem of clustering optimization for AUSCNs by using the NAEEA, population initialization is the first and most important step. The size of the population and the method of initialization are the main factors that effect the algorithm. On the one hand, the larger the size of the population created through initialization, the wider the distribution of the population in the researching space and the better the diversity, which can avoid the evolution falling into local optimization to a certain extent. However, when the objective function is very complex, the cost of calculating all the solutions of the population to obtain the fitness function will be very high, and it will take more time to carry out an iterative evolution, which will greatly increase the time cost of the algorithm and reduce the convergence speed. On the other hand, a too-small population size will lead to the limited search space of the algorithm, and it is very easy to become stuck at locally optimal values. After balancing the advantages and disadvantages of the size of the population and the method of initialization, this algorithm uses a population size of 40. On the premise of being familiar with the search space, the initialization population can be generated according to specific rules, which can accelerate the convergence speed. Thus, the initial population is initialized using a random method.  
In order to simplify the coding, the NAEEA uses binary individual coding. Firstly, the sensor nodes in the region are numbered with natural numbers. Then, a vector is used to represent the individual. The number 0 means that the node at the relevant position is the sensing node, and the number 1 indicates that the node at the relevant position is the cluster head node. As shown in Figure 4, if an individual has ten nodes, its code is '0100100100'. It means that No. 2, No. 5 and No. 8 are cluster head nodes, and the others are sensing nodes.  
It is assumed that there are \(L\) sensors, and \(M\) of them are cluster head nodes in AUSCNs when the number of individuals in the population is n. The matrix of population code is as follows:  
\[P=\left[\begin{array}{cccc}i_{1,1}&i_{1,2}&\cdots&i_{1,L-1}&i_{1,L}\\ i_{2,1}&i_{2,2}&\cdots&i_{2,L-1}&i_{2,L}\\ \vdots&&i_{n,l}&&\vdots\\ i_{N-1,1}&i_{N-1,2}&\cdots&i_{N-1,-1}&i_{N-1,L}\\ i_{N,1}&i_{N,2}&\cdots&i_{N,L-1}&i_{N,L}\\ \end{array}\right]=\left[\begin{array}{c}I_{1}\\ I_{2}\\ \vdots\\ I_{N-1}\\ \end{array}\right](i_{n,l}\in\{0,1\}) \tag{4}\]  
Figure 4: Coding example.  
\begin{table}
\begin{tabular}{c c} \hline \hline
**Parameter** & **Description** \\ \hline \(P\) & Population \\ \(I\) & Individual \\ \(M\) & Number of cluster head nodes \\ \(L\) & Dimensional size of the population \\ \(N\) & Number of individuals in population \\ \(G\) & Subgroup of a population \\ \hline \hline \end{tabular}
\end{table}
Table 3: Description of the NAEEA’s parameters.  
where the letter \(i\) indicates whether the sensor of the \(n\)-th individual in the population is a cluster head node. When the corresponding position element in the matrix is 0, this indicates that the sensor in the \(n\)-th individual is a sensing node. If the element is 1, it indicates that it is a cluster head node. The constraint is as follows:  
\[\sum\limits_{l=1}^{L}{i_{n,l}}=M(n\in\{1,2,\cdots,N\}) \tag{5}\]  
This formula indicates that the number of cluster head nodes in AUSCNs is fixed as \(M\).