Research on Coverage Optimization in a WSN Based on an Improved COOT Bird Algorithm

To address the problems of uneven distribution and low coverage of wireless sensor network (WSN) nodes in random deployment, a node coverage optimization strategy with an improved COOT bird algorithm (COOTCLCO) is proposed. Firstly, the chaotic tent map is used to initialize the population, increase the diversity of the population, and lay the foundation for the global search for the optimal solutions. Secondly, the Lévy flight strategy is used to perturb the individual positions to improve the search range of the population. Thirdly, Cauchy mutation and an opposition-based learning strategy are fused to perturb the optimal solutions to generate new solutions and enhance the ability of the algorithm to jump out of the local optimum. Finally, the COOTCLCO algorithm is applied to WSN coverage optimization problems. Simulation results show that COOTCLCO has a faster convergence speed and better search accuracy than several other typical algorithms on 23 benchmark test functions; meanwhile, the coverage rate of the COOTCLCO algorithm is increased by 9.654%, 13.888%, 6.188%, 5.39%, 1.31%, and 2.012% compared to particle swarm optimization (PSO), butterfly optimization algorithm (BOA), seagull optimization algorithm (SOA), whale optimization algorithm (WOA), Harris hawks optimization (HHO), and bald eagle search (BES), respectively. This means that in terms of coverage optimization effect, COOTCLCO can obtain a higher coverage rate compared to these algorithms. The experimental results demonstrate that COOTCLCO can effectively improve the coverage rate of sensor nodes and improve the distribution of nodes in WSN coverage optimization problems.


Background of Problem
Wireless sensor networks (WSNs) are composed of a large number of low-power sensor nodes with communication functions, and have been widely used in military, industrial, and agricultural control, urban management, biomedicine, environmental detection, disaster relief, and other fields [1,2]. The coverage problem is one of the most fundamental problems in wireless sensor networks, and coverage is an important indicator for evaluating coverage optimization strategies, which has a great impact on the quality of service of wireless sensor networks because it directly determines the monitoring capability of the target monitoring area in the wireless sensor network. Rational and effective deployment of sensor nodes not only minimizes the network cost, but also reduces energy consumption in the sensor power optimization problem [3][4][5][6]. In coverage applications of wireless sensor networks, in order to improve coverage efficiency, all aim to deploy a minimum number of sensor nodes In [46], Zhu et al. proposed an improved hybrid strategy weed algorithm to solve coverage optimization problems of WSNs. However, the problem of coverage holes still existed. It can be seen that it is of value and significance to use metaheuristic algorithms or improved metaheuristic algorithms for node coverage optimization problems. At the same time, the common problems of metaheuristic algorithm, such as slow convergence speed and susceptibility to falling into local optima, will lead to poor coverage optimization effects, which is also the focus of improvement in this paper.
The COOT optimization algorithm [17]-a novel metaheuristic algorithm proposed by the Iranian scholar Iraj Naruei in 2021-has been rapidly applied in the field of engineering optimization. In [47], Memarzadeh et al. used the COOT algorithm to optimize the parameters of a wind power prediction model. In [48], Gouda et al. used the COOT optimization algorithm to test the performance of solar power generator units. In [49], Mahdy et al. combined the COOT optimization algorithm with an anti-windup approach as a way to improve the transient stability of a wave energy conversion system (WECS). In [50], Houssein et al. proposed an improved COOT optimization algorithm for identifying the optimal lithium-ion (Li-ion) battery model parameters. In [51], Alqahtani et al. proposed a COOT-CMO algorithm for selecting the appropriate optimal candidate terms in the automatic query expansion process.
Although the COOT algorithm has been successfully applied and solved some engineering optimization problems, it also has problems, such as sluggish convergence speed and susceptibility to falling into local optima, the same as other metaheuristic algorithms. Therefore, in order to improve the flaws in the original algorithm, four effective strategies-namely, chaotic tent map, Lévy flight, Cauchy mutation, and opposition-based learning-are introduced to the algorithm to propose an improved COOT optimization algorithm, named COOTCLCO.

Contributions
The main contributions of this paper are as follows:

1.
A new and improved algorithm named COOTCLCO, based on the COOT bird algorithm, is proposed.

2.
Population diversity is improved by introducing the chaotic tent map to initialize populations. Expanding the search range of the populations by introducing the Lévy flight strategy, the capability of the algorithm to jump out of the local optimum is enhanced by introducing the Cauchy mutation and the opposition-based learning strategy. 3.
The optimization capability of the proposed algorithm is tested on unimodal, multimodal, and fixed-dimension multimodal benchmark test functions.

4.
The proposed algorithm is compared with seven metaheuristic algorithms in numerical analysis and convergence curves for the performance of finding the best optimal value. 5.
An integer linear programming model is used to describe the coverage optimization problem of wireless sensor networks, and the proposed algorithm is used to solve this optimization problem. The proposed algorithm is compared with six metaheuristic algorithms in the coverage optimization problem.

Notations
The following Table 1 illustrates all of the notations that appear in this paper: The i-th sensor node Table 1. Cont.

Notations Descriptions
x i , y i The location coordinates of each sensor node T j The j-th target monitoring point x j , y j The location coordinates of each target point R s Sensing radius R c Communication radius d(S i , T j ) The Euclidean distance between S i and T j p Probability of monitoring points being covered by nodes P Probability of monitoring points being jointly sensed Cov Coverage rate CootPos(i) The position of the i-th COOT LeaderPos(k) The position of the selected leader d The number of variables or problem dimensions ub The upper bound of the search space lb The lower bound of the search space Q Random initialization of the location A, B Control parameters NL The number of leaders R 1 , R 2 , R 3 , R 4 The random numbers between the interval [0, 1] R The random number between the interval [−1, 1] α, µ, γ, λ, v Control parameters s Search path of the Lévy flight X' LeaderPos(i) The inverse solution of the current leader position max_Iter Maximum number of iterations X GbestNew The latest position after perturbed by Cauchy mutation P s The selection probability

Organization
The remainder of this paper is organized as follows: Section 2 introduces the node coverage model of WSN. Section 3 describes the basic principles of the COOT optimization algorithm in detail. Section 4 details the improvement strategies of the COOT optimization algorithm. Section 5 introduces the coverage optimization strategy. Section 6 details the experimental design scheme, benchmark test function search performance comparison, coverage optimization performance comparison, and the practical application of COOTCLCO in addressing WSN coverage optimization problems. Section 7 gives a summary.

WSN Node Coverage Model
Suppose that q sensor nodes are randomly deployed in a two-dimensional WSN monitoring area with an area of M × N m 2 , where the set of nodes can be denoted as S = S 1 , S 2 , · · ·S i , · · ·S q , and the coordinates of each node S i can be denoted as (x i , y i ), where i = 1, 2, · · ·q.
For a two-dimensional WSN monitoring area, the network model is as follows: (1) Each sensor node is a homogeneous sensor; that is, it has the same parameters, structure, and communication capabilities. (2) Each sensor node has sufficient energy, normal communication function, and timely access to data information. (3) Each sensor node can move freely, and can update the location information in time. (4) The sensing radius of each sensor node is R s and the communication radius is R c , both in units of meters, and R c ≥ 2R s . The sensing range of a sensor node is a circular area, with the node itself as the center and the sensing radius R s as the radius. Assuming that there are n target monitoring points in this two-dimensional WSN monitoring area, the set of target monitoring points can be denoted as T = T 1 , T 2 , · · ·T j , · · ·T n , and the location coordinates of each target point T j to be monitored are x j , y j , where j = 1, 2, · · ·n. If the distance between the target monitoring point T j and any of the sensor nodes is less than or equal to the sensing radius R s , then it can be concluded that T j is covered by the sensor nodes. The Euclidean distance between sensor node S i and target monitoring point T j is defined as: The node-sensing model in this paper is a Boolean sensing model; that is, when the sensing radius R s is greater than or equal to d S i , T j , the probability that the target is monitored is 1; otherwise, the probability that the target is monitored is 0. If the probability that the target point T j to be monitored is covered by the sensor node S i be p, then In this two-dimensional WSN monitoring area, the sensor nodes can work cooperatively with one another; that is, any target monitoring point can be covered by more than one sensor at the same time, so the probability that any monitoring target point T j is jointly sensed is: The coverage rate is defined as the rate of the coverage area of all sensor nodes in the monitoring area to the total area of the monitoring area; thus, the coverage rate of this 2D WSN monitoring area is: Based on the above analysis, the node coverage optimization problem for wireless sensor networks can be described by the following integer linear programming model: where Cov denotes the objective function for which the maximum coverage rate is required to be solved, S i denotes the i-th sensor node, T j denotes the j-th target point to be monitored, and M × N denotes the size of the monitoring area. The first constraint represents the probability constraint that any monitoring target point T j is jointly sensed. The second constraint indicates that the area covered by all sensor nodes in the monitoring area should be less than the total area of the monitoring area. The third constraint indicates that the Euclidean distance between the sensor node S i and the target monitoring point T j should be less than the sensing radius R s to effectively cover the target monitoring point. When the size of the sensor nodes to be deployed is relatively large, it takes a lot of time to solve for the coverage problem using integer linear programming methods to obtain the optimal solution. To solve this puzzle effectively, a metaheuristic algorithm is appropriate, because metaheuristic algorithms can give satisfactory results in a tolerable time. Therefore, in this paper, an improved coot bird algorithm is proposed to solve the coverage optimization problem of wireless sensor networks.

COOT Optimization Algorithm
The principle of the COOT optimization algorithm is based on the different movement behaviors of coot flocks on the water surface. Coots are small waterbirds that have many different group behaviors on the water surface, with the ultimate goal of the behavior being to move toward food or a specific location. On the water surface, the coot group mainly has four different movement behaviors: random movement, chain movement, adjusting position according to the leader, and leader movement [17]. The process of implementing the COOT algorithm is composed of these four movement behaviors. The specific procedure of the algorithm is as follows [17]: Initialize the population-random initialization of the population according to Equation (7): where CootPos(i) is the position of the i-th coot, d is the number of variables or problem dimensions, ub is the upper bound of the search space, and lb is the lower bound of the search space. ub and lb are defined as follows: After initializing the population, the position of the coot is updated according to the following four movement behaviors.

Random Movement
In this movement, a position Q is first initialized randomly using Equation (9): In order to avoid getting trapped in a local optimum, the position is updated according to Equation (10): where R 2 is a random number in the interval [0, 1], and A is determined from Equation (11): where Iter is the maximum number of iterations and L is the current number of iterations.

Chain Movement
The chain movement can be implemented by using the average position of the two coot birds, using Equation (12) to calculate the average position of the two coot birds: where CootPos(i − 1) is the location of the second coot bird.

Adjusting Position According to the Leader
The coot bird updates its own position according to the position of the leader in the group; that is, the coot bird follower in each group moves towards the leader. The leader is selected according to Equation (13): where K is the number of the leader, i is the number of the coot bird follower, and NL is the number of leaders. In this movement, the coot bird updates its position according to Equation (14): where CootPos(i) is the current position of the coot bird, LeaderPos(k) is the position of the selected leader, R 1 is a random number in the interval [0, 1], and R is a random number in the interval [−1, 1].

Leader Movement
In order to find the optimal position, the leader must jump from the existing local optimal position to the global optimal position, using Equation (15) to complete the leader position update: where gBest is the best position that can be found, R 3 and R 4 are the random numbers between the interval [0, 1], and R is the random number between the interval [−1, 1]. B is determined from Equation (16):

Improved COOT Optimization Algorithm
The basic COOT algorithm uses random initialization in the initialization process, which reduces the diversity of the initial population which, in turn, affects the performance of the algorithm. Due to the limitation of the search principle of the COOT algorithm, as the number of iterations increases, the individuals in the coot population gradually move closer to the leader with better fitness in the population, and if the leader cannot jump out of the local optimum in time, the whole population will easily fall into the state of local optimum, which reduces the algorithm's search accuracy. Therefore, this paper proposes an improved COOT optimization algorithm: in the initial stage of the algorithm, a chaotic tent map is added to improve the diversity of the population and lay the foundation for improving the global search ability; subsequently, during the iterative process, the Lévy flight strategy is used to perturb the location of coot individuals to improve the search range of the population and reduce the phenomenon of falling into a local optimum; finally, at the optimal solution location, the Cauchy mutation and the opposition-based learning strategy are fused to perturb the mutation and generate a new solution to further enhance the capability of the algorithm to jump out of the local optimum, while improving the search accuracy of the algorithm.

Chaotic Tent Map Initializes the Population
Chaotic maps have the characteristics of ergodicity, randomness, and orderliness. Using chaotic variables for optimization searching can improve the diversity of populations and enable the algorithm to jump out of the local optimum, while improving the global search capability. The most common chaotic maps are tent maps, logistic maps, etc. Shan [52] demonstrated that tent maps have a faster search speed in combination with search algorithms compared to logistic maps. Li [53] also demonstrated the effectiveness of tent maps on a swarm intelligence algorithm to enhance population diversity. Therefore, in this paper, a tent map was selected to initialize the population. The expression for the chaotic tent map is defined as follows: The chaotic tent map is more effective when α is taken as 0.5, and the distribution of the sequence is more uniform at this time.
Therefore, the expression of the chaotic tent map in this paper is: It can also be abbreviated as [54]: where µ is the parameter that controls the chaotic tent map, and here µ is taken as 2. According to the value of the parameter µ, the bifurcation diagram and Lyapunov exponential curve of the chaotic tent map were drawn, as shown in Figure 1. From Figure 1a, it can be seen that the chaotic tent map starts to bifurcate when the control parameter µ > 1, and produces an approximately uniformly distributed chaotic sequence when µ = 2; as can be seen from Figure 1b, when µ > 1, that is, the Lyapunov exponent is greater than 0-it indicates that the chaotic tent map shows chaotic phenomena.

Lévy Flight Strategy
Lévy flight is a type of search for random walks obeying the Lévy distribution, characterized by the occurrence of long-range jumps as a class of non-Gaussian stochastic processes with Markovian properties, whose principle is derived from a probability distribution proposed by the French mathematician Paul Lévy [55]. The simulation of Lévy flight is shown in Figure 2.

Lévy Flight Strategy
Lévy flight is a type of search for random walks obeying the Lévy distribution, characterized by the occurrence of long-range jumps as a class of non-Gaussian stochastic processes with Markovian properties, whose principle is derived from a probability distribution proposed by the French mathematician Paul Lévy [55]. The simulation of Lévy flight is shown in Figure 2

Lévy Flight Strategy
Lévy flight is a type of search for random walks obeying the Lévy distribution, characterized by the occurrence of long-range jumps as a class of non-Gaussian stochastic processes with Markovian properties, whose principle is derived from a probability distribution proposed by the French mathematician Paul Lévy [55]. The simulation of Lévy flight is shown in Figure 2. Lévy flight involves a large jump in the search process, for which this paper introduces the Lévy flight mechanism to perturb the position update formula of the COOT algorithm. This can effectively boost the diversity of the population, expand the search range, improve the search capability of a single coot bird, and make the algorithm more easily jump out of the local optimum. Lévy flight can be described by the following mathematical Equation [56]: Lévy flight involves a large jump in the search process, for which this paper introduces the Lévy flight mechanism to perturb the position update formula of the COOT algorithm. This can effectively boost the diversity of the population, expand the search range, improve the search capability of a single coot bird, and make the algorithm more easily jump out of the local optimum. Lévy flight can be described by the following mathematical Equation [56]: where µ is the displacement parameter and γ is the scale parameter. After Lévy flight is introduced, the position update Equation is [57]: where x i t+1 denotes the position after the Lévy flight perturbation; x i t denotes the current position α denotes the step control factor; ⊕ denotes the dot product; and Levy(λ) denotes the random search path, indicating that it obeys the Lévy distribution with parameter λ [57]: Computation of the Lévy flight random search path using the Mantegna algorithm is as follows [58]: where β = λ − 1, and β usually takes a value of 1.5. µ and v both obey a normal distribution [59]: Now, using the position update idea of Equation (21), the position update Equation of Equations (10), (12) and (14) are improved to obtain the following new position update Equations:

Fusing Cauchy Mutation and Opposition-Based Learning
Opposition-based learning [60] was proposed by Tizhoosh in 2005, and its primary idea is to take the current solution to a problem and then find its corresponding reverse solution through the opposition-based learning mechanism, and evaluate the original solution and the reverse solution to finally retain the optimal solution.
If x ∈ [a, b], then the distance from x to a is |x − a|, then the opposition-based learning number x of x can be defined as follows [60]: and these two distances are equal. The relationship between any real number and its opposition-based learning number is shown in Figure 3.
, then the distance from x to a is x a − , then the opposition-based learning number x′ of x can be defined as follows [60]: Then, the distance from x′ to b is x a ′ − = − + − = − , and these two distances are equal. The relationship between any real number and its opposition-based learning number is shown in Figure 3.
, the corresponding reverse point is [60]: Its corresponding reverse solution is [60]: The basic COOT algorithm needs to select the optimal position by calculating the fitness after each iteration, and if its position update formula is not perturbed, the algorithm is prone to falling into a local optimum. In the previous section, this paper introduced Lévy flight to perturb its position update formula, but to further enhance the algorithm's ability to jump out of local optima, this subsection combines Cauchy mutation and the opposition-based learning strategy to perform position update for the movement of adjusting position according to the leader. This step of the movement is where the coot bird updates its own position according to the position of the leader in the group, and it is important to choose the best leader for this phase. Therefore, we find its corresponding reverse solution according to the chosen leader position, which can provide more opportunities to find potential optimal solutions, further boost the diversity of the population based on the Lévy flight perturbation, enhance the global search capability of the algorithm, and prevent the algorithm from falling into a local optimum. Now, the idea of opposition-based learning and the COOT algorithm are combined, and Equation (31) is used to improve Equation (14), which leads to the reverse solution of the leader position and the position update equation based on opposition-based learning: Figure 3. Relationship between arbitrary real numbers and their opposition-based learning numbers.
, the corresponding reverse point is [60]: Its corresponding reverse solution is [60]: The basic COOT algorithm needs to select the optimal position by calculating the fitness after each iteration, and if its position update formula is not perturbed, the algorithm is prone to falling into a local optimum. In the previous section, this paper introduced Lévy flight to perturb its position update formula, but to further enhance the algorithm's ability to jump out of local optima, this subsection combines Cauchy mutation and the oppositionbased learning strategy to perform position update for the movement of adjusting position according to the leader. This step of the movement is where the coot bird updates its own position according to the position of the leader in the group, and it is important to choose the best leader for this phase. Therefore, we find its corresponding reverse solution according to the chosen leader position, which can provide more opportunities to find potential optimal solutions, further boost the diversity of the population based on the Lévy flight perturbation, enhance the global search capability of the algorithm, and prevent the algorithm from falling into a local optimum. Now, the idea of opposition-based learning and the COOT algorithm are combined, and Equation (31) is used to improve Equation (14), which leads to the reverse solution of the leader position and the position update equation based on opposition-based learning: where X LeaderPos (i) in Equation (32) is the inverse solution of the current leader position at the i-th iteration, ub and lb denote upper and lower bounds, r denotes the random number matrix, and ⊕ denotes the dot product. X GbestNew (i + 1) in Equation (33) denotes the latest position of the i + 1-th iteration, R 1 is a random number between the interval [0, 1], R is a random number between the interval [−1, 1], X CootPos (i) denotes the position of the coot bird follower of the i-th iteration, and b 1 denotes the information exchange control parameter, which is calculated as follows [61]: The Cauchy distribution is one of the common continuous-type distributions in probability theory, and its one-dimensional probability density function expression can be defined as follows [62]: where T denotes the control parameter. The corresponding distribution function is [62]: For Equation (35), when T=1, the standard Cauchy distribution probability density function [62] is obtained as shown in Equation (37): A comparison of the probability density function curves of the standard Cauchy distribution and the Gaussian distribution [63] is shown in Figure 4. From the figure, it can be seen that the standard Cauchy distribution is similar to the standard Gaussian distribution, in that both of them are continuous probability distributions. However, the Cauchy distribution has a long and flat shape at both ends, approaches zero at a slower rate, and has a smaller peak near the origin compared to the Gaussian distribution. Therefore, the Cauchy distribution has a wider distribution range, and allows for greater mutation than the Gaussian distribution.
Sensors 2022, 22, x FOR PEER REVIEW 12 of 33 The Cauchy distribution is one of the common continuous-type distributions in probability theory, and its one-dimensional probability density function expression can be defined as follows [62]: where T denotes the control parameter. The corresponding distribution function is [62]: For Equation (35), when T=1, the standard Cauchy distribution probability density function [62] is obtained as shown in Equation (37): A comparison of the probability density function curves of the standard Cauchy distribution and the Gaussian distribution [63] is shown in Figure 4. From the figure, it can be seen that the standard Cauchy distribution is similar to the standard Gaussian distribution, in that both of them are continuous probability distributions. However, the Cauchy distribution has a long and flat shape at both ends, approaches zero at a slower rate, and has a smaller peak near the origin compared to the Gaussian distribution. Therefore, the Cauchy distribution has a wider distribution range, and allows for greater mutation than the Gaussian distribution. Introducing the Cauchy mutation into the position update formula of the COOT algorithm and exploiting the perturbation ability of the Cauchy mutation operator will further improve the diversity of the population, enhance the global search ability of the algorithm, and prevent the algorithm from falling into a local optimum. The new position update equation is generated using the Cauchy mutation as follows: Introducing the Cauchy mutation into the position update formula of the COOT algorithm and exploiting the perturbation ability of the Cauchy mutation operator will further improve the diversity of the population, enhance the global search ability of the algorithm, and prevent the algorithm from falling into a local optimum. The new position update equation is generated using the Cauchy mutation as follows: where X GbestNew (i + 1) denotes the latest position of the i + 1-th iteration after perturbation by the Cauchy mutation, X CootPos (i) denotes the position of the coot bird of the i-th iteration, and Cauchy(0, 1) denotes the standard Cauchy distribution.
In order to enhance the performance of the algorithm for finding the best solution, the Cauchy mutation and the opposition-based learning strategy can be fused, and the selection probability P s for deciding which strategy to choose for the position update can be defined using a dynamic selection mechanism, so that both of them are executed alternately with a certain probability as follows [61]: where η is the control parameter, and generally takes the value of 0.05 [61].
In this dynamic selection mechanism, if the random number rand < P s , the position is updated using the opposition-based learning strategy; otherwise, the position is updated using the Cauchy mutation strategy.

Implementation Steps of COOTCLCO Algorithm
Step 1: Set the parameters of population size N, maximum number of iterations max_Iter, number of leaders N Leader , number of followers N coot , etc., and randomly initialize the positions of coot bird followers and leaders according to Equation (9).
Step 2: Enhance the diversity of the population by using the chaotic tent map in Equation (18).
Step 3: Update the position of the coot bird follower according to the Lévy flight perturbation strategy introduced by Equations (26)- (28).
Step 4: Update the position of the coot bird leader according to Equation (15).
Step 5: Calculate the fitness of the coot bird followers and leaders, and compare them to select the best fitness value.
Step 6: Select the Cauchy mutation or the opposition-based learning strategy according to Equation (39) to perturb the current optimal solution and generate a new solution.
Step 7: Determine whether the end condition is reached; if yes, proceed to the next step; otherwise, return to Step 3.
Step 8: The program ends and outputs the optimal fitness value and the best position.

COOTCLCO Algorithm Time Complexity Analysis
Suppose that the number of populations of the algorithm is N, the dimension of the search space is D, and the maximum number of iterations is T. Then, for the basic COOT algorithm, its time complexity is O(NDT). For the COOTCLCO algorithm, its time complexity is analyzed as follows:

Coverage Optimization Strategy
In this paper, the location-seeking process of nodes in the coverage optimization problem is abstracted as the process of making different movement behaviors of the coot bird group toward food or a specific location, and the optimal solution is the target location of each node deployed. The goal of WSN coverage optimization based on the COOTCLCO algorithm is to maximize the coverage of the target monitoring area by using a certain number of sensor nodes and optimizing the locations where they will be deployed. The flowchart of the coverage optimization algorithm is shown in Figure 5. Each coot bird individual in the algorithm represents a coverage distribution, and the specific algorithm steps are as follows: Step 1: Input parameters such as the number of nodes q, perception radius R s , area of region M × N, etc., and randomly initialize the positions of the coot bird followers and leaders according to Equation (9).
Step 2: Boost the diversity of the population using the chaotic tent map in Equation (18), and calculate the initial coverage according to Equation (4).
Step 3: Update the position of the coot bird followers according to the Lévy flight perturbation strategy introduced by Equations (26)- (28).
Step 4: Update the position of the coot bird leaders according to Equation (15).
Step 5: Calculate the fitness of the coot bird followers and leaders, and update the coverage rate according to Equation (4), with the coverage rate Cov as the objective function, to find the current best node location.
Step 6: Select the Cauchy mutation or the opposition-based learning strategy according to Equation (39) to perturb the current optimal solution and generate a new solution.
Step 7: Determine whether the end condition is reached; if yes, proceed to the next step; otherwise, return to Step 3.
Step 8: The program ends and the node optimal coverage rate is output.
In this paper, 23 benchmark functions were used to test the algorithm's performance in finding the optimum, and these 23 benchmark functions can be divided into three categories. Table 2 lists 7 unimodal benchmark functions; Table 3 lists 6 multimodal benchmark functions with multiple local optimal solutions, and the number of local optimal solutions increases exponentially with the number of dimensions; and Table 4 lists 10 fixed-dimension multimodal benchmark functions.

Performance Comparison on Benchmark Functions
In this section, the optimization ability of COOTCLCO is compared with that of COOT, PSO, GWO, SSA, BOA, SOA, and SCA. For all algorithms, the population size N = 30 and the maximum number of iterations max_Iter = 1500. In order to attenuate the chance of the experiment, each algorithm was run 30 times independently for the same test function, taking the average value and standard deviation of the experimental results for comparison, and the parameter settings of the comparison algorithms are detailed in Table 5. In order to test the difference between the COOTCLCO algorithm and the comparison algorithm, the Wilcoxon signed-rank test was used. At the significance level of 0.05, "+", "≈", and "−" indicate that the performance of COOTCLCO is superior to, similar to, or inferior to that of the comparison algorithm, respectively. Meanwhile, the average values derived from each algorithm under each test function were ranked. The experimental average value (avg), standard deviation (std), Wilcoxon signed-rank test results (W), and average value ranking (R) are presented in Tables 6 and 7, and the best average value and standard deviation derived in each test function are shown in bold. Finally, the overall Wilcoxon signed-rank test results, the total average value ranking, and the overall algorithm ranking results are given in Table 8.     The average value, standard deviation, Wilcoxon signed-rank test results, and average value ranking of the simulation experiments for the 8 optimization algorithms on the 23 benchmark test functions are given in Tables 5-7. The unimodal test function is suitable for evaluating the exploitation of the algorithms. In terms of average value and standard deviation, for the test functions F1, F2, and F5, GWO has the best performance, while COOTCLCO ranks as the second-best-performing algorithm. For F3 and F4, COOTCLCO is the best-performing optimizer, followed by COOT's search ability, while SCA is the worst-performing optimization algorithm in these two test functions. For the test functions F6 and F7, COOTCLCO has an average performance in terms of the optimization ability, ranking fourth in the comparison of these eight algorithms tested. It is worth mentioning that in the test function F6, PSO exhibits the strongest optimization ability. Overall, among the unimodal test functions, COOTCLCO is the best overall performing algorithm in terms of optimization ability and stability, and is very effective and competitive with the other seven metaheuristics, while the test results show that COOTCLCO has a good exploitation capability.
Multimodal test functions and fixed-dimension test functions are suitable for assessing the exploration ability of the algorithms. Among the multimodal functions, for the test function F8, the optimization effect of the COOTCLCO algorithm is the best, while SSA and COOT are the second-and third-best-performing algorithms. For F9 and F10, COOTCLCO obtained the best results compared to the other algorithms; in F9, the second-and thirdranked test results were COOT and GWO, respectively; in F10, GWO and BOA were second only to COOTCLCO in terms of finding the best results. For F11, BOA had the best test results, while COOTCLCO followed closely. For F12, COOTCLCO outperformed the other algorithms in terms of average value and standard deviation. For F13, COOTCLCO's test results ranked second, and it is worth mentioning that PSO performed the best in terms of average value and standard deviation results. Among the fixed-dimension functions, for F14, F20, and F21, COOTCLCO performed better than the other algorithms for both the average value and the standard deviation. For F15, the BOA test results were the best, and its standard deviation results prove that BOA has a strong stability in the test function F15, where the COOTCLCO test results rank second. For F16, F17, and F18, the eight algorithms can generally find the optimal value of the test function in terms of the average value of the optimal value; in terms of the standard deviation, COOTCLCO has the best stability; finally, COOTCLCO wins in the test results of F16, F17, and F18 in terms of stability. For F19, the PSO test results proved it to be the best performing algorithm, while COOTCLCO ranked as the second-best-performing algorithm. For F22 and F23, while COOTCLCO's test results ranked only third and fourth, respectively, the best-performing GWO's test results were only marginally stronger than COOTCLCO's, as the two were very close in their optimization results.
All in all, for the multimodal and fixed-dimension test functions, COOTCLCO ranked first 10 times and second 4 times out of 16 test results, which is evidence that the COOT-CLCO algorithm has an extremely strong exploration capability.                Figure 11. Test function F20 and comparison of convergence curves on F20. Figure 11. Test function F20 and comparison of convergence curves on F20. Figure 11. Test function F20 and comparison of convergence curves on F20.  Figure 6 illustrates that COOTCLCO has a strong global search capability, and it finds a better global optimal value compared to other algorithms. It can quickly jump out of the local optimum in the middle stage of the algorithm's iteration so as to continue to find and approach the theoretical optimal value of the function, which benefits from the effect of the Lévy flight mechanism and the algorithm's improvement by combining the Cauchy mutation and the opposition-based learning. Although the search principle of COOT itself also has the ability to jump out of the local optimum, as can be seen from the figure, this ability is still not powerful enough compared to COOTCLCO. Figure 7 shows that the convergence rates of COOTCLCO, COOT, and GWO are very close in the early stages of the iteration, but both COOT and GWO fall into the local optimum too early, while COOTCLCO continues its search with a faster convergence rate until it obtains an optimal solution close to the theoretical optimal value. Figure 8 shows that PSO, SCA, and BOA fall into a stagnant state prematurely at the early stage of the algorithm's iteration and, thus, produce bad search results. In contrast, COOTCLCO and COOT keep searching forward in a very stable state, and it can be seen from the figure that the whole process almost never falls into a local optimum, but COOTCLCO eventually has better search accuracy than COOT. Figure 9 shows that COOTCLCO was looking for the optimal value of the target with a very fast convergence speed, and eventually both COOTCLCO and BOA found results close to the theoretical optimal value. However, COOT was stuck in the local  Figure 6 illustrates that COOTCLCO has a strong global search capability, and it finds a better global optimal value compared to other algorithms. It can quickly jump out of the local optimum in the middle stage of the algorithm's iteration so as to continue to find and approach the theoretical optimal value of the function, which benefits from the effect of the Lévy flight mechanism and the algorithm's improvement by combining the Cauchy mutation and the opposition-based learning. Although the search principle of COOT itself also has the ability to jump out of the local optimum, as can be seen from the figure, this ability is still not powerful enough compared to COOTCLCO. Figure 7 shows that the convergence rates of COOTCLCO, COOT, and GWO are very close in the early stages of the iteration, but both COOT and GWO fall into the local optimum too early, while COOTCLCO continues its search with a faster convergence rate until it obtains an optimal solution close to the theoretical optimal value. Figure 8 shows that PSO, SCA, and BOA fall into a stagnant state prematurely at the early stage of the algorithm's iteration and, thus, produce bad search results. In contrast, COOTCLCO and COOT keep searching forward in a very stable state, and it can be seen from the figure that the whole process almost never falls into a local optimum, but COOTCLCO eventually has better search accuracy than COOT. Figure 9 shows that COOTCLCO was looking for the optimal value of the target with a very fast convergence speed, and eventually both COOTCLCO and BOA found results close to the theoretical optimal value. However, COOT was stuck in the local optimal state for most of the algorithm's iteration, and performed poorly overall. Figure 10 shows that SOA, SCA, and SSA were at a standstill at the beginning of the algorithms' iteration, and although the search started at a very fast convergence rate at the middle stage of the iteration, the algorithms fell into local optima at a later stage. Figure 11 shows that there is almost no difference in the convergence speed and convergence accuracy of the COOTCLCO, COOT, PSO, and GWO algorithms but, relatively speaking, the result of COOTCLCO is closest to the theoretical optimal value. Figure 12 shows that both COOTCLCO and GWO exhibit good search accuracy, but the convergence speed of COOTCLCO is significantly better than that of GWO. In summary, as the test results in Tables 5-7 and Figures 6-12 show, COOTCLCO achieves very competitive results for most of the benchmark functions, indicating that it has reliable convergence speed as well as better exploration capability.

Coverage Performance Simulation Experiment and Analysis
To verify the effect of COOTCLCO on WSN node coverage optimization, six optimization algorithms-PSO, BOA, SOA, WOA, HHO, and BES-were selected for comparison on the WSN node coverage optimization problem. The sensor nodes were deployed in a square monitoring area of 100 m × 100 m, the sensing radius of the sensor nodes was R s = 10 m, the communication radius was R c = 20 m, the number of sensor nodes was denoted by q, and the number of iterations was denoted by Iteration. The experimental parameters of the node deployment area were set as shown in Table 9. Three sets of comparison experiments were designed in this section: (1) 30 independent experiments with different algorithms for 25, 35, and 45 sensor nodes, to plot their average coverage rate curves; (2) initial coverage diagram and coverage optimization diagram of COOTCLCO for node coverage optimization plotted for 25, 35, and 45 sensor nodes; (3) initial coverage diagram and coverage optimization diagram of COOTCLCO for node coverage optimization plotted for 45 sensor nodes and 500, 1000, and 1500 iterations. In the first type of comparative experiments, in order to reduce the contingency of the experiment, 30 independent experiments were conducted with different algorithms for 25, 35, and 45 sensor nodes; the average value of their coverage rate was taken, and their average coverage rate curves were plotted as shown in Figure 13. Table 10 gives the comparison of the average coverage rate results of the seven algorithms, and the comparison of the average coverage rates in the cases of different node numbers is shown in Figure 14. As can be seen from Figure 13, COOTCLCO achieved the best coverage rate in all three cases, and its average final coverage rate was 75.329%, 90.332% and 96.990%, respectively; of course, HHO and BES also obtained a good coverage effect, while BOA had the worst performance in node coverage optimization. In the case of changing only the number of sensor nodes, the coverage rate increased as the number of nodes continued to increase. Overall, COOTCLCO outperformed the other six algorithms in terms of WSN coverage optimization.

Comparative Experiment 2 and Result Analysis
In the second type of comparison experiments, different numbers of sensor nodes were randomly deployed in a 100 m × 100 m area with a sensing radius of 10 m and a communication radius of 20 m for each sensor node, and the maximum number of iterations was 1500. The initial coverage diagram and coverage optimization diagram of COOTCLCO for node coverage optimization are shown in Figure 15 for the cases of 25, 35, and 45 sensor nodes. Figure 16 gives a comparison of the coverage rates before and after optimization by COOTCLCO under different numbers of nodes. In Figure 15a, the

Comparative Experiment 2 and Result Analysis
In the second type of comparison experiments, different numbers of sensor nodes were randomly deployed in a 100 m × 100 m area with a sensing radius of 10 m and a communication radius of 20 m for each sensor node, and the maximum number of iterations was 1500. The initial coverage diagram and coverage optimization diagram of COOTCLCO for node coverage optimization are shown in Figure 15 for the cases of 25, 35, and 45 sensor nodes. Figure 16 gives a comparison of the coverage rates before and after optimization by COOTCLCO under different numbers of nodes. In Figure 15a, the number of sensor nodes is 25, and the initial coverage ratio of the coverage diagram initialized randomly is 58.81%, while after optimization by COOTCLCO the final coverage rate is obtained as 77.28%, which is an 18.47% increase in coverage. In Figure 15b, the number of sensor nodes is 35, and the initial coverage rate of the coverage diagram initialized randomly is 69.76%, while after optimization by COOTCLCO the final coverage rate is obtained as 94.23%, which is a 24.47% increase in coverage. In Figure 15c, the number of sensor nodes is 45, and the initial coverage rate of the coverage diagram initialized randomly is 79.61%, while after optimization by COOTCLCO the final coverage rate is obtained as 98.07%, which is an 18.46% increase in coverage. It can be seen that in these three cases, after COOTCLCO optimization, the locations of the randomly initialized sensor nodes become neat and orderly rather than haphazard, which effectively improves the coverage rate of the deployment area.

Comparative Experiment 2 and Result Analysis
In the second type of comparison experiments, different numbers of sensor nodes were randomly deployed in a 100 m × 100 m area with a sensing radius of 10 m and a communication radius of 20 m for each sensor node, and the maximum number of iterations was 1500. The initial coverage diagram and coverage optimization diagram of COOTCLCO for node coverage optimization are shown in Figure 15 for the cases of 25, 35, and 45 sensor nodes. Figure 16 gives a comparison of the coverage rates before and after optimization by COOTCLCO under different numbers of nodes. In Figure 15a, the number of sensor nodes is 25, and the initial coverage ratio of the coverage diagram initialized randomly is 58.81%, while after optimization by COOTCLCO the final coverage rate is obtained as 77.28%, which is an 18.47% increase in coverage. In Figure 15b, the number of sensor nodes is 35, and the initial coverage rate of the coverage diagram initialized randomly is 69.76%, while after optimization by COOTCLCO the final coverage rate is obtained as 94.23%, which is a 24.47% increase in coverage. In Figure 15c, the number of sensor nodes is 45, and the initial coverage rate of the coverage diagram initialized randomly is 79.61%, while after optimization by COOTCLCO the final coverage rate is obtained as 98.07%, which is an 18.46% increase in coverage. It can be seen that in these three cases, after COOTCLCO optimization, the locations of the randomly initialized sensor nodes become neat and orderly rather than haphazard, which effectively improves the coverage rate of the deployment area.

Comparative Experiment 3 and Result Analysis
In the third type of comparison experiments, similarly, the area was set to 100 m × 100 m, the sensing radius of each sensor node was 10 m, and the communication radius was 20 m. We only changed the number of iterations, where the number of sensor nodes was 45 and the number of iterations was 500, 1000, or 1500; the initial coverage diagram of the nodes and the coverage diagram optimized by COOTCLCO are given in Figure 17.

Comparative Experiment 3 and Result Analysis
In the third type of comparison experiments, similarly, the area was set to 100 m × 100 m, the sensing radius of each sensor node was 10 m, and the communication radius was 20 m. We only changed the number of iterations, where the number of sensor nodes was 45 and the number of iterations was 500, 1000, or 1500; the initial coverage diagram of the nodes and the coverage diagram optimized by COOTCLCO are given in Figure 17. Figure 18 gives a comparison of the coverage rates before and after optimization by COOTCLCO when the number of nodes is 45. In Figure 17a, the number of iterations is set to 500, and the initial coverage rate of the coverage diagram initialized randomly is 79.95%, while after optimization by COOTCLCO the final coverage is obtained as 91.28%, which is an 11.33% increase in coverage. In Figure 17b, the number of iterations is set to 1000, and the initial coverage rate of the coverage diagram initialized randomly is 81.08%, while after optimization by COOTCLCO the final coverage is obtained as 95.86%, which is a 14.78% increase in coverage. In Figure 17c, the number of iterations is set to 1500, and the initial coverage rate of the coverage diagram initialized randomly is 79.61%, while after optimization by COOTCLCO the final coverage is obtained as 98.07%, which is an 18.46% increase in coverage. It can be seen that the final coverage rate increased by only 6.79% when the number of iterations was increased from 500 to 1500, while in the second group of comparison experiments, the final coverage rate improved by 20.79% when the number of sensor nodes was increased from 25 to 45. Therefore, in the case of changing only the number of sensor nodes or only the number of iterations, reasonably and finitely increasing the number of sensor nodes is more likely to greatly improve the coverage rate of the target monitoring area compared to increasing the number of iterations.  Figure 18 gives a comparison of the coverage rates before and after optimization by COOTCLCO when the number of nodes is 45. In Figure 17a, the number of iterations is set to 500, and the initial coverage rate of the coverage diagram initialized randomly is 79.95%, while after optimization by COOTCLCO the final coverage is obtained as 91.28%, which is an 11.33% increase in coverage. In Figure 17b, the number of iterations is set to 1000, and the initial coverage rate of the coverage diagram initialized randomly is 81.08%, while after optimization by COOTCLCO the final coverage is obtained as 95.86%, which is a 14.78% increase in coverage. In Figure 17c, the number of iterations is set to 1500, and the initial coverage rate of the coverage diagram initialized randomly is 79.61%, while after optimization by COOTCLCO the final coverage is obtained as 98.07%, which is an 18.46% increase in coverage. It can be seen that the final coverage rate increased by only 6.79% when the number of iterations was increased from 500 to 1500, while in the second group of comparison experiments, the final coverage rate improved by 20.79% when the number of sensor nodes was increased from 25 to 45. Therefore, in the case of changing only the number of sensor nodes or only the number of iterations, reasonably and finitely increasing the number of sensor nodes is more likely to greatly improve the coverage rate of the target monitoring area compared to increasing the number of iterations. (a)

Conclusions
Aiming at the problems of uneven node distribution and low coverage of the target monitoring area when randomly deploying sensor nodes in WSNs, a COOTCLCO algorithm for node coverage optimization in WSNs is proposed in the paper. COOTCLCO uses a chaotic tent map to initialize the population based on the original COOT algorithm, which increases the diversity of the population and enhances the traversal of the search space by the COOT population. The Lévy flight strategy is introduced to perturb individual positions, which can expand the search range of the population and reduce the possibility of the algorithm falling into a local optimum. The algorithm then combines the Cauchy mutation and the opposition-based learning strategy to perturb the optimal solution positions and generate new solutions, which further enhances the ability of the algorithm to jump out of the local optimum. In order to verify the optimization performance of COOTCLCO, 23 benchmark functions were used to test the optimization performance of

Conclusions
Aiming at the problems of uneven node distribution and low coverage of th monitoring area when randomly deploying sensor nodes in WSNs, a COOTCLC rithm for node coverage optimization in WSNs is proposed in the paper. COO uses a chaotic tent map to initialize the population based on the original COOT alg which increases the diversity of the population and enhances the traversal of the

Conclusions
Aiming at the problems of uneven node distribution and low coverage of the target monitoring area when randomly deploying sensor nodes in WSNs, a COOTCLCO algorithm for node coverage optimization in WSNs is proposed in the paper. COOTCLCO uses a chaotic tent map to initialize the population based on the original COOT algorithm, which increases the diversity of the population and enhances the traversal of the search space by the COOT population. The Lévy flight strategy is introduced to perturb individual positions, which can expand the search range of the population and reduce the possibility of the algorithm falling into a local optimum. The algorithm then combines the Cauchy mutation and the opposition-based learning strategy to perturb the optimal solution positions and generate new solutions, which further enhances the ability of the algorithm to jump out of the local optimum. In order to verify the optimization performance of COOTCLCO, 23 benchmark functions were used to test the optimization performance of the algorithm, which was compared with seven other optimization algorithms: COOT, PSO, GWO, SSA, BOA, SOA and SCA. By analyzing the numerical results and convergence curves of the simulation experiments, we found that COOTCLCO has reliable convergence speed as well as better global exploration capability. To verify the capability of COOTCLCO on the WSN node coverage optimization problem, we compared it with six optimization algorithms, namely, PSO, BOA, SOA, WOA, HHO, and BES. The experimental results show that COOT-CLCO obtained the highest average coverage rate under the same test conditions, and the coverage rate convergence curves indicate that COOTCLCO can improve the coverage rate of WSN nodes quickly and effectively. This means that COOTCLCO only requires the least number of sensor nodes to achieve the same coverage rate in the same target monitoring area, which reduces the deployment cost of sensor nodes.
However, the work of this paper has some limitations. Although our proposed algorithm has a significant effect on the improvement of the coverage rate, there are still shortcomings in the experimental design. Firstly, our experiments were designed to optimize the coverage rate in an ideal environment, while in a real complex environment the influence of obstacles should be taken into account. Secondly, this paper only considers the coverage optimization of a two-dimensional plane, and the coverage optimization of wireless sensor networks can be extended to three-dimensional space. Thirdly, the coverage optimization objective of this paper is relatively singular, and only the coverage rate optimization is considered, while the other coverage optimization indices of wireless sensor networks such as network energy consumption, network life cycle, network security, and sensor power optimization should also be taken into consideration in the real environment. Therefore, for the next step, we will continue to improve and refine the algorithm and conduct further research on the above-mentioned limitations.