Iterative Sensor Clustering and Mobile Sink Trajectory Optimization for Wireless Sensor Network with Nonuniform Density

Sensor clustering and trajectory optimization are a hot topic for last decade to improve energy e ﬃ ciency of wireless sensor network (WSN). Most of existing studies assume that the sensor is uniformly deployed or all regions in the WSN coverage have the same level of interest. However, even in the same WSN, areas with high probability of disaster will have to form a “ hotspot ” with more sensors densely placed in order to be sensitive to environmental changes. The energy hole can be serious if sensor clustering and trajectory optimization are formulated without considering the hotspot. Therefore, we need to devise a sensor clustering and trajectory optimization algorithm considering the hotspots of WSN. In this paper, we propose an iterative algorithm to minimize the amount of energy consumed by components of WSN named ISCTO. The ISCTO algorithm consists of two phases. The ﬁ rst phase is a sensor clustering phase used to ﬁ nd the suitable number of clusters and cluster headers by considering the density of sensor and residual battery of sensors. The second phase is a trajectory optimization phase used to formulate suitable trajectory of multiple mobile sinks to minimize the amount of energy consumed by mobile sinks. The ISCTO algorithm performs two phases repeatedly until the amount of energy consumed by the WSN is not reduced. In addition, we show the performance of the proposed algorithm in terms of the total amount of energy consumed by sensors and mobile sinks.


Introduction
With the advent of the Internet of Things (IoT), the wireless sensor network (WSN) has attracted much attention as a key enabler of IoT technology. The WSN is used in a wide range of fields such as home IoT [1], smart agriculture [2], and smart city [3]. The WSN is a network consisting of a large number of battery-powered sensors deployed in a large area. To maximize the performance of the WSN, two challenges must be considered. One is the lifetime of the WSN. Since the sensor is powered by a battery, the lifetime of the sensor cannot last indefinitely. Therefore, in order to increase the lifetime of the sensor, numerous approaches such as energy-efficient routing path construction [4], duty-cycling management [5], and radio frequency energy harvesting [6] have been conducted [7]. The other problem is a coverage hole. The WSN is constructed in a very large Area of Interest (AoI) such as battlefields, radioactive power plants, and farms [8]. It is very important to place the sensor so that the coverage of the WSN is not empty in the AoI. The WSN needs to monitor the changes in the environment such as temperature, humidity, air pressure, and radiation occurring in the AoI. If there is a coverage hole in the AoI, there is a possibility that the change in the environment may not be correctly recognized. WSNs with important targets that should not be missed, such as severe radioactive leaks, can be more damaging if environmental changes are not properly monitored. Therefore, many researches have been conducted on sensor deployment to eliminate the coverage hole within a very large AoI [9].
However, it may not be appropriate to consider the entire coverage of a very wide WSN with the same level of interest. Where there is a relatively high probability of a disaster, such as fires, or radioactive spills, the area must be sensitive to environmental changes compared to those that are not. This means that sensors in areas with a high probability of disaster have to sense more frequently than other sensors. Sensors that sense frequently consume energy faster than other sensors. This causes an imbalance in energy consumption between sensors. More sensors need to be deployed to increase density to balance energy consumption between sensors across all coverage and thoroughly investigate environmental changes in the AoI [10].
However, an energy hole issue may occur where the sensor density is high [11]. Sensors transmit data to the sink through relaying between sensors to process the generated data [12]. Due to the geographical characteristics, a node close to the sink frequently communicates with a lot of data. This causes the sensor closer to the sink to discharge the battery faster than the far sensor, and this problem is called an energy hole issue. If the sensor density is high, the sensors located geographically close to each other generate a lot of data. A lot of data is relayed using a common intermediate sensor to reach the sink. As a result, the intermediate sensor which was in charge of relaying high-density sensors had to discharge the battery quickly.
The energy hole can be relaxed by using clustering and mobile sink [13]. It is possible to mitigate energy holes by sending data directly to the near cluster header by creating a large number of fine clusters. In addition, the energy hole can be mitigated by moving the sink near the cluster header to directly receive the collected data.
However, most sensor cluster and mobile sink trajectory planning studies do not take into account the possibility of "hotspot" in which sensors are densely located in areas of high interest. As mentioned above, a large number of fine clusters must be created in order to mitigate the energy hole in the hotspot. If the cluster header is selected without considering the density of each sensor, there is a probability that a sufficient number of fine clusters are not generated in the hotspot. If only a small number of clusters are formed in the hotspot, the number of member nodes responsible for the cluster header increases. This increases the energy consumption generated when the cluster header receives data sent by the member node and increases the probability that an energy hole will occur. Likewise, forming a trajectory of mobile sinks without considering hotspot can cause an imbalance in energy consumption between mobile sinks. The mobile sink in charge of the hotspot needs to visit a larger number of cluster headers than other mobile sinks, and energy consumption is also increased. Therefore, it is necessary to devise a method for forming clusters and trajectories of mobile sinks according to the hotspot. Therefore, this paper proposes iterative sensor clustering and mobile sink trajectory optimization (ISCTO) method considering the hotspot of the WSN. The algorithm uses a density function using a k-nearest neighbor which can measure sensor density. We formulate the total energy consumption function of the components of the WSN. The energy consumption function is selected as an objective function of the optimization problem. To solve this problem, this algorithm separates the original optimization problem into clustering and trajectory optimization problems. In the clustering problem, the number of clusters and the cluster header and member nodes is configured to decrease the amount of energy consumed by the sensors. In the trajectory optimization, the locations of the cluster headers presented as the output in the clustering step are used to form a trajectory that minimizes the amount of energy consumed by all mobile sinks. The algorithm is repeated until energy efficiency no longer increases.
The main contributions of this paper are as follows: (i) We propose a clustering method to increase the energy efficiency of the sensor considering the hotspot of the WSN. The clustering proceeds to select suitable cluster headers considering the density and residual battery of sensors (ii) We propose a trajectory optimization algorithm to minimize the amount of energy consumed by all mobile sinks. In the proposed trajectory optimization method, we propose a sector boundary control algorithm to minimize the amount of energy consumed by all mobile sinks by decreasing the total trajectory length of mobile sinks (iii) We present the performance of the proposed method through simulation. We show visually the process of sensor clustering and trajectory change.
We also analyze the running time of our algorithm The contents of this paper are as follows. In Section 2, we introduce related studies. We present the system model in Section 3. We also present the mathematical problem to be solved in Section 3. In Section 4, we introduce the proposed ISCTO algorithm to maximize the energy efficiency of the WSN. We show the performance of our proposed algorithm by simulation in Section 5. We conclude this paper in Section 6.

Related Works
In this section, we introduce some studies related to energy hole, sensor clustering, and mobile sink trajectory formulation in the WSN.

Energy Hole.
There are numerous studies to mitigate energy hole issues in the WSN [14]. The authors of [15] propose an algorithm to balance the consumed energy among the whole network to avoid the energy hole issue. To balance a load distribution and energy consumption, the algorithm finds an optimal communication distance and uses a transmission strategy based on the amount of consumed energy. In [16], a transmission distance adjustment algorithm is proposed to minimize and balance the energy consumption of the whole sensors with a static sink. A short-trip forwarding strategy of an ant colony optimization and reference transmission distance is adopted to minimize and balance the energy consumption. The authors of [17] propose a routing path reconstructing algorithm when a dead node occurs in a network. In this paper, two protocols are introduced named on-hole children reconnection and on-hole alert. The authors of [18] analyze theoretically the lifetime of a WSN from initialization to the entire dead by estimating 2 Wireless Communications and Mobile Computing the energy consumption and traffic load of the sensors. In addition, the authors analyze the boundary of energy hole issues that happened. The authors of [19] propose a deployment model of a WSN consisting of heterogeneous and homogeneous sensors. The authors also give some guide to deploy the sensors by considering the energy hole issue to maximize the lifetime of the WSN on the several network topology scenarios. The authors of [20] propose two algorithms to find an optimal sojourn duration and find an optimal sojourn location of a mobile sink in a cluster. The optimal sojourn duration is determined by balancing the amount of consumed energy between cluster heads. By this algorithm, the energy hole can be alleviated. The second algorithm to find an optimal sojourn duration operates to balance the amount of consumed energy between member sensor nodes in a cluster to alleviate the coverage hole issue. In [14], a data gathering algorithm named EPEGASIS is proposed to alleviate the energy hole issue with the mobile sink.
In the algorithm, a sensor calculates an optimal communication distance and then chooses a relay node from its neighboring sensors. In addition, the algorithm has a mechanism to protect the sensors from power outage by unbalanced energy consumption. Unfortunately, the previous works may not operate efficiently in the WSN where the sensors are not deployed uniformly. When the sensors are deployed nonuniformly, the probability of the energy hole issue occurring depends on the density of the sensors. Therefore, this paper considers the hotspot location to mitigate energy hole issues to formulate energy-efficient sensor cluster and mobile sink trajectory.

Sensor Clustering.
There are numerous studies to formulate an efficient sensor cluster in the WSN with a static sink [21] or mobile sink . In [22], the wedge-based clustering and cluster merging algorithm is proposed in the static sink and the static sensor nodes of a WSN. In the algorithm, the cluster is merged when the residual energy of sensors in a wedge falls below a threshold. In addition, the authors propose a cluster header election mechanism to minimize the amount of needed energy to forward a packet to the sink. In [23], the cluster header selection mechanism is proposed in case of public safety network. To balance the load between sensors, energy and sensor density-based clustering algorithm is proposed in [21]. This paper proposes an algorithm to formulate clusters by dividing the whole network into equally sized subclusters. In addition, this paper proposed a multihop routing path-making protocol based on the clusters to maximize the lifetime of sensors.
The authors of [24] propose a clustering algorithm to maximize the lifetime of the sensors in mobile sink-based WSN. The algorithm uses the adaptive immune algorithm to make up a trajectory of the mobile sink. In addition, the algorithm determines the optimal number of cluster heads to minimize the amount of consumed energy by communication and control packet overhead. The authors of [25] propose an energy-efficient routing algorithm by considering the mobility of the sink node. The algorithm is based on the clustering. Therefore, the algorithm contains sectorizing of network and cluster head selection mechanism by considering the weight value of member sensor nodes. After cluster header selection, the member nodes construct a routing path by calculating the amount of consumed energy. To reduce the burden of sensors caused by location changes of the mobile sink, the author of [26] proposes a routing algorithm with a virtual multiring-shaped infrastructure. By this infrastructure, the burden can be reduced caused by advertising the new location of the mobile sinks.
However, most sensor clustering studies consider the situation where the sensors are relatively uniformly deployed. If sensor clustering is formulated without considering the hotspot where a large number of sensors are concentrated in the WSN, energy holes may occur. Therefore, this paper proposes an algorithm to find the appropriate cluster number and cluster header considering the density of sensors.

Mobile Sink Trajectory.
There are numerous studies to formulate an energy-efficient mobile sink trajectory in the WSN [27][28][29][30][31][32][33][34]. In [27], an obstacle in the communication link between a sensor and a mobile sink is considered. This paper proposes a trajectory formulation mechanism by considering the obstacles in a cluster-based WSN. In [28], rechargeable sensor network is considered. The data gathering problem in this paper is formulated as a network utility maximization problem to maximize the amount of collected data by the mobile sink with a constraint about fairness. The authors of [29] propose a duty-cycling management and unmanned aerial vehicle (UAV) trajectory formulation algorithm to minimize the energy consumption of the whole sensor nodes in a WSN. In this paper, the problem is formulated as a mixed-integer nonconvex programming and the suboptimal solution is obtained by the successive convex optimization method. The artificial intelligence approach is applied in [30]. This paper proposes a data gathering mechanism in the WSN with obstacles. The mechanism has two rounds; the first round is clustering round by using ant colony optimization. A genetic algorithm is applied in the second round of the mechanism to construct an effective trajectory of the mobile sink. In [31], the UAV's trajectory formulation algorithm is proposed to maximize the lifetime of the network. In this algorithm, collection points similar with rendezvous point are selected before constructing the trajectory. After the collection points are determined, the mobile sink's trajectory is constructed by visiting all the collection points. In [32], a rendezvous-based data gathering protocol is proposed. This protocol consists of two steps. The first step is choosing the appropriate rendezvous point in the WSN. The second step is an energy-efficient mobile sink path planning step. The goal of the path planning step is making sure that as many sensors as possible are near the trajectory. The authors of [33] propose two trajectory planning algorithms based on rendezvous point. In this paper, two assumptions of rendezvous point papers are relaxed. One is the speed of data generated is the same between the sensors. The other is the sensors have an infinite buffer size. The authors of [34] propose a distributed UAV's trajectory determination algorithm to maximize the lifetime of a WSN based on game 3 Wireless Communications and Mobile Computing theory and enhanced ant colony optimization technology. By game theory, the mobile sink finds the best rendezvous point and the optimal trajectory is calculated by enhancing ant colony optimization.
However, most of the trajectory planning studies formulate the trajectory in the case where sensors uniformly deployed. If the sensor is placed nonuniformly, the cluster headers might be closely placed in a specific region. To avoid this situation, it is necessary to dynamically change the sector visited by each mobile sink. Therefore, this paper proposes an algorithm that dynamically changes the sector based on the location of the cluster header.

System Model
In this section, we describe the system model considered in this paper. We also provide the mathematical problem to be optimized considering the total amount of consumed energy in the target WSN. We present basic information about the kinds of nodes consisting of the WSN. In addition, we describe two kinds of wireless propagation models used in this paper. We also define many mathematical models about cluster, trajectory, and energy. Finally, we formulate a mathematical problem. Table 1 describes the notation used in this paper and the corresponding meaning.

System Model.
We consider a single WSN consisting of N sensor nodes (SN) and M mobile sinks as the system model. Figure 1 is a picture depicting the system model considered in this paper. We define a set, N, as the set of SNs: f1, 2,⋯,n,⋯,Ng ∈ N . We also define a set, M, as the set of mobile sinks: f1, 2,⋯,m,⋯,Mg ∈ M. ψ n = ðx n , y n , h n Þ is defined as a location profile of the nth SN. It is assumed that all sensors are placed on the ground; that is, the height value, h n , of all sensors is set as zero. ψ m ðtÞ = ðx t m , y t m , h m Þ is defined as a location profile of the mth mobile sink in time t. We assume that the altitude does not need to be changed while the mobile sinks are running. We define the location profile (0, 0, 0) as the center of the WSN. The domain of the WSN is defined as a circle with the center at (0, 0, 0) and radius R. By using the location profile of the SNs, we can calculate the distance between the nth SN and n′th SN, d n,n ′ , as follows: In a similar way, we can calculate the distance between the mth mobile sink and nth SN in time t, d m,n ðtÞ, as follows: As mentioned above, it is necessary to grasp the density of each sensor for the efficient clustering and the trajectory optimization since we are considering hotspot SN deployment. We define the density of a SN by using the k-nearest neighbor function. N n is defined as a set of the x number The amount of consuming energy of sensor node n′ when its cluster header is n α Scaling factor L D A list of density value of sensors in an ascending order L E A list of residual battery of sensors in a descending order

Wireless Communications and Mobile Computing
SNs closest to the nth SN. Using this set, we define a binary variable ϕ n,n ′ as follows: We define the density values of the nth SN, X n , as follows using ϕ n,n ′ and Euclidean distance: 3.2. Wireless Channel Model. We assume that there are two types of communication in the considered system model. One is ground-to-ground propagation, where the member node SN sends data to its cluster header. The other is ground-to-air propagation, where the cluster header sends the collected data to the mobile sink. We use the groundto-air propagation model already presented in [35,36]. If the nth SN transmits the collected data to the mth mobile sink in time t, the considered ground-to-air propagation model, PL AG m,n ðtÞ, is as follows: where η is an additional attenuation factor determined by the environment. L FS is a free-space path loss model. This model with center frequency f is defined as follows: where c is also environmental variable. We also use the ground-to-ground propagation model already presented in [36,37]. When thenth SN transmits a data to then ′ th SN, the propagation model,PL GG n,n′ , is as follows: PL GG n,n ′ t ð Þ = −55:9 + 38 log d n,n ′ À Á + 24:5 + 1:5f 925 log f ð Þ: ð7Þ The SN is the only transmitter of the two kinds of communication; we only define P TX as transmission power of the SN. In addition, we define P min as the minimum received signal strength for a successful reception. Overall, we can define a condition for successful signal reception as follows: 3.3. Cluster and Trajectory Model. We assume that there are the K numbers of clusters in the considered system model. Let us suppose that K is a set of the clusters f1, 2,⋯,k,⋯,Kg ∈ K We define a binary variable, δ k,n , to express the cluster header of the kth cluster as follows: We also define a set of cluster headers of all cluster headers, N CH . In a similar way, we define a binary variable, γ k,n , to express the member nodes of the kth cluster as follows: We can obtain the sum of the distance between the cluster header and the corresponding member SNs of the kth cluster, D k , as follows: In order to obtain the trajectory length for each mobile sink, we first need to define whether there is a trajectory path between cluster headers. If the mth mobile sink has a path from cluster header n to another cluster header n ′ , λ m n,n′ is defined as one. Otherwise, it is defined as zero. Using λ m n,n′ , we can get the total trajectory length, L m , of the mth mobile sink as follows: 3.4. Energy Model. In the proposed system model, energy consumption occurs in three cases. One is the energy consumption that the mobile sink generates as it moves along a given trajectory path. When the trajectory length of the mth mobile sink is given through (12), the amount of consuming energy of the mth mobile sink by moving, E move m , is defined as follows: Cluster header Sensor Drone Figure 1: System model.

Wireless Communications and Mobile Computing
e move represents the unit energy consumed per unit distance. The other two energy consumption cases are caused by the SN. One of them appears when the cluster header sends the collected data to the mobile sink. We assume that the mobile sink comes to the exact location of the cluster header in order to receive data from the cluster header. Therefore, the transmission distance when the cluster header transmits the collected data to the mobile sink is unconditionally h m . To increase the energy efficiency of the WSN, we assume that the cluster header sets the transmission power as the minimum strength for the mobile sink to successfully receive data. By these assumptions, the amount of energy consumed by the cluster header, E AG , is defined as follows: One remaining energy consumption case is when the member node transmits data to the cluster header. We assume that all member nodes send data directly to its cluster header without relaying to mitigate energy hole issues. The same as (14), it is assumed that the member node sets the minimum transmission power at which the cluster header can successfully receive a signal. By these assumptions, the amount of energy consumed by member node n, E GG n,n ′ , is as follows: By utilizing (13)-(15), we can formulate a mathematical expression of the total amount of consumed energy in the WSN as follows: α is a scaling factor to fairly consider the energy consumption according to the battery capacity of the SN and mobile sink. Obviously, the absolute energy consumption of mobile sinks is incomparably large for the consumption of SNs. However, mobile sinks have a large battery capacity compared to the SN, and charging is easy due to mobility. On the other hand, the SN has a very small battery and it is very difficult to charge or replace the battery. Therefore, it can be considered that the amount of battery consumed by communication has a large burden to the SN. Therefore, α is introduced to compensate for the absolute difference in energy consumption between the mobile sink and the SN.
E move m and E AG + E GG have a trade-off relationship. In order to reduce the energy consumption of the SN, the size of the cluster must be made finer to reduce the consumption caused by the communication between the member node and the cluster header. However, as the number of cluster headers increases, the number of points to be visited by the mobile sink increases. This causes an increase of L m . On the other hand, in order to reduce the energy consumption of the mobile sink, minimizing the L m by reducing the number of clusters as much as possible is advantageous. However, it increases the energy consumption of SNs. Therefore, we need to investigate this trade-off relationship and find the optimal cluster number and trajectory.
3.5. Problem Formulation. We intend to determine the number of clusters to minimize the amount of energy consumed by WSN components. In addition, we also intend to present the energy-efficient trajectory of each mobile sink. We also intend to determine the number of member nodes of all clusters to alleviate the energy hole problem of the cluster header. Therefore, the following mathematical optimization problem is presented by using (16): 〠 n′∈N CH \ n f g λ m n ′ ,n = 1, ∀n ∈ N CH : ð17f Þ Δ, Γ, and Λ are defined as the cluster header, member node profile, and trajectory path profile, respectively. Δ and Γ is a matrix of K × N. Λ is a matrix of M × K 2 . Equation (17b) is a constraint that means that all SNs can belong to only one cluster. Equation (17c) is a constraint that every cluster can only have at most one cluster header. Constraint (17d) means that the path between the nth cluster header and the n ′ th cluster header can only be moved by one mobile sink. Constraints (17e) and (17f) allow the trajectory not to be scattered into multiple branches but to have only one path.

Proposed Method
This section provides a detailed description of the ISCTO algorithm to solve the presented problem efficiently. We reformulate the problem to solve (17a) easily. The reformed problem is divided into sensor clustering problem and trajectory optimization problem. To solve the sensor clustering problem, we define the cluster header election algorithm considering the density function defined in (4) and the amount of residual energy of the battery of the sensors. In the trajectory optimization process, we propose a trajectory path planning algorithm to minimize the amount of consumed energy by mobile sinks. Finally, we introduce an algorithm that combines the two proposed algorithms to reduce energy consumption by an iterative way.

Problem Decomposition.
There is an obstacle that the domain of problem (17a) presented earlier is very wide to solve the problem directly. In order to determine the number 6 Wireless Communications and Mobile Computing of cluster headers, there are a total of N cases ranging from a minimum of 1 to a maximum of N. If there are k clusters, we need to examine N k cases to find the appropriate k cluster headers among all sensors. Finally, ðk − 1Þ k paths should be considered for trajectory path planning. Consequently, the domain of (17a) is total N k+1 · ðk − 1Þ k . Therefore, we need to decompose the problem into two problems in order to solve the existing problems quickly and efficiently. One is a problem considering the energy consumption of the SN. The other is a problem of considering the energy consumption of the mobile sink. The decomposed problem about minimizing the amount of consumed energy by all SNs is as follows: In a similar way, the decomposed problem of mobile sink energy consumption is as follows: Despite going through the decomposition process, the domain is still very large to solve both problems directly. In particular, (19a) is a famous NP-hard problem that can be reduced to a traveling salesman problem [38]. Therefore, we first propose an algorithm to select the appropriate cluster header SN while gradually increasing the K value from the minimum value. Also, we present the energy-efficient trajectory path planning algorithm of mobile sinks using the cluster header SN given as the result of the aforementioned algorithm.

Sensor Clustering.
As mentioned earlier, we need to devise an algorithm to solve problem (18a) easily because the domain is still very large to solve directly. We propose an algorithm to minimize the energy consumption of all SNs by forming sensor clusters and finding a suitable cluster header. Algorithm 1 shows the pseudocode of the sensor clustering algorithm.
Before we explain the procedures of the algorithm, we need to figure out which SN is suitable to be a cluster header. We consider the density value defined by (4) and the amount of residual energy of all SNs in selecting a suitable cluster header. It can be said that the SN is suitable for becoming a cluster header in the following situations. In terms of density, it is better that a SN which can minimize D k becomes the cluster header to reduce the amount of energy that member nodes consume by transmission. In terms of residual energy, a SN with larger residual energy is good for a cluster header so that data transmitted by a large number of member nodes can be successfully received without discharge. We define L D as a list in which all SNs in N are sorted in an ascending order by density value, X n . In a similar way, we define L E as a list of all SNs in N sorted in a descending order by residual battery. We define γ L D ðnÞ and γ L E ðnÞ as a rank using the order of a specific SN n in the two lists of a specific SN, L D and L E . We get the sum of the two ranks, γ L D ðnÞ + γ L E ðnÞ of all SNs. A SN n with the smallest sum of ranks is a suitable SN for cluster header. The SN is selected as a cluster header.
The proposed algorithm works in the following order. If there is no cluster header already placed, that is, K = 0, the number of cluster headers of the same number as the mobile sink, M, is selected in the order of the lowest sum of the two ranks defined above. The reason for selecting the first M cluster header is to form the trajectory sector of each mobile sink, which is explained in detail in Section 4.3. If there are previously formed cluster headers, that is, k ≥ M, an additional cluster header is selected. Unlike the initial M cluster header selection, the newly selected cluster header is selected of a SN with the lowest sum of ranks in the cluster with the most member nodes among the existing clusters. The reason of this procedure is to mitigate the energy hole issue. The header of a cluster with the most member nodes increases the battery consumption due to data reception compared to other headers. Therefore, the more the member nodes, the faster the header battery is Find M number of n with lowest r L D ðnÞ, r L E ðnÞ 7 for n with lowest r L D ðnÞ, r L E ðnÞ , and k ∈ K do 8.
δ k,n = 1 9 end 10 end 11 if K! = M then 12 Find k with most number of member nodes 13 Find n with lowest r L D ðnÞ, r L E ðnÞ in k 14 δ k,n = 1 15 end 16 for n ∈ N do 17 Update γ with shortest d n,n′ , n′ ∈ N CH 18 end 19 return Δ, Γ Algorithm 1. Density-battery coupled sensor cluster algorithm. 7 Wireless Communications and Mobile Computing discharged, so it is necessary to disassemble the cluster. If cluster headers are selected through the above-mentioned process, all remaining SNs form a cluster by belonging to the shortest d n,n′ cluster header.

Trajectory
Optimization. The trajectory optimization given by (19a) is a famous NP-hard problem, and we need to devise an algorithm for trajectory optimization. Fortunately, the ant colony optimization can be a good solution to find the minimum length of the trajectory. We form the mobile sink trajectory using the ant colony optimization. The remaining task is to determine the cluster headers that each mobile sink should visit. To solve this problem, a sectorization-based technique is proposed to determine the coverage of each mobile sink in the entire network. It is assumed that each mobile sink visits all cluster headers in its own sector. Also, we propose an algorithm that adjusts the sector to find the optimal trajectory when a new cluster header is added by the algorithm mentioned in Section 4.2.
Algorithm 2 shows the pseudocode of the trajectory optimization algorithm. If the first M cluster header is selected by the sensor clustering algorithm, one mobile sink is matched for each cluster header. At this time, the first sector of each mobile sink should be formed based on the location of the cluster headers. We make line segments so that both ends are the center of the WSN and the location of each cluster header n. In addition, we make line segments that bisect the angle formed by neighboring segments by the length of R starting from the center of the WSN. The arc formed by the segments of the length of R becomes the initial sector in charge of each mobile sink. s m is the sector of mobile sink m, and θ m is the central angle of arc-shape sector s m .
When a new cluster header appears by the clustering algorithm, it is inevitably included in an area of one sector among previously set sectors. In this case, we define two cases named C1 and C2. First, C1 is a case in which the mobile sink in charge of the sector including the added cluster header visits the newly added cluster header. In this case, the trajectory length of mobile sinks in charge of other sectors does not change. L C1 m is defined as the trajectory length of mobile sink m in case C1. L C1 is defined as the sum of the trajectory lengths of all mobile sinks calculated in case C1: C2 is defined as adjusting the sector boundary. At this time, the way to adjust the sector is as follows. A sector with a new cluster header is defined as a source sector, and a sector with a small central angle of arc among two neighboring sectors is defined as a destination sector. The boundary adjustment between sectors is a method of moving one cluster header from the source sector to the destination sector and adjusting the boundary of the sector accordingly. The cluster header to be moved to the destination sector is defined as the cluster header having the shortest Euclidean distance from the boundary of two neighboring sectors. After the sector boundary adjustment is completed, the trajectory length of all mobile sinks is calculated. Mobile sinks in charge of other sectors except for the source sector and destination sector do not have a change in trajectory length. L C2 m is defined as the trajectory length of mobile sink m in case C2. The total trajectory length at this case is defined as The values of L C1 and L C2 are compared to determine the final trajectory. In this case, since the case with a smaller value reduces the amount of energy consumed by the mobile sink, the case is presented as the output of the algorithm. The sector adjustment method is explained in Figure 2. Number 1 is when the first M cluster headers appeared. In case 2, the first sector is created based on the location of the first M cluster headers. In case 3, a new cluster header has appeared. 4-1 is the process of calculating L C1 , and 4-2 is the process of calculating L C2 . Finally, number 5 is the result of calculating the final trajectory. Find n′ ∈ s src which has shortest Euclidean distance 19 s src removes n′ 20 if L C1 < L C2 then 30 Λ = Λ C1 31 end 32 end 33 return Λ Algorithm 2. Arc-shape sector boundary adjustment. 8 Wireless Communications and Mobile Computing As a special case, there is a case where all cluster headers of the source sector are delivered to the destination sector as a result of the sector boundary adjustment. This special case is shown in Figure 3. In other words, it means the case where the mobile sink in charge of the source sector does not take off. This occurs when all the cluster headers of the source sector are included in the area that goes to the destination sector. Assuming that the trajectory length at this case is calculated as the output of the algorithm. If the next new cluster header appears, C1 and C2 are defined as follows. C1 is defined as the situation in which trajectory is designed without sector adjustment as before. C2 is defined as a case in which a cluster header is newly allocated to a mobile sink that has not taken off in the previous step. The sector boundary adjustment and trajectory are calculated according to this case instead of setting a neighboring sector as a destination sector.

ISCTO: Iterative Sensor Clustering and Trajectory
Optimization. Using the algorithms proposed in Sections 4.2 and 4.3, we propose a sensor clustering and trajectory optimization algorithm to minimize the energy consumption, which is named ISCTO. As mentioned earlier, there is a trade-off relationship between the amount of energy consumption by the SN and mobile sink due to the different trends according to the value of K. Therefore, we find that trade-off point through an iterative approach.
Algorithm 3 shows the pseudocode showing the operation procedure of ISCTO. We define the initial Δ, Γ and Λ as follows:    First, M initial cluster headers must be set to form M sectors. If initial M cluster headers are given, M initial sectors are formed based on the location of the cluster headers. Based on the two algorithms, the energy consumption E tot is calculated using the given sensor cluster and trajectory. At this time, E tot is defined as the first E old tot . If E old tot is defined, we have to process the sensor cluster algorithm again, select one new cluster header, and perform trajectory optimization by considering the newly added cluster header. The next step is to calculate the energy consumption E new tot using the newly obtained sensor cluster and trajectory. Then, the values of E old tot and E new tot are compared. If E old tot is higher, it means that the new cluster header and trajectory represent better energy efficiency. Therefore, E old tot is overwritten with E new tot . After that, the algorithm goes back to the sensor cluster algorithm and add a new cluster. If E old tot has a value lower than E new tot , this algorithm is ended. The sensor cluster and trajectory from the last step are derived as the output of the entire algorithm.
The ISCTO algorithm forms clusters independently of the mobility of mobile sinks to improve energy efficiency in hotspots where the SN is densely located. As the defined density value in (4) is smaller, the probability of being selected as a cluster header increases, so a relatively large number of clusters are formed in the hotspot. It is possible to mitigate the energy hole issue of the cluster header by inducing that cluster headers in charge of hotspot and nonhotspot have similar member nodes. In order to improve the energy efficiency of the mobile sink, the ISCTO algorithm divides the entire network into M sectors to form the trajectory of the mobile sink. The mobility of the mobile sink is dependent on the location of the cluster headers located in its own sector.

Performance Evaluation
In this section, we present the performance of the proposed algorithm through simulation. The simulation environment performed is described. We consider two uneven sensor deployment scenarios. One is the fully random deployment of sensors. The other is a hotspot scenario where the majority of sensors are placed in a specific area. We present each performance in each sensor node deployment scenario. Finally, we present a graph analyzing the running time of the proposed algorithm.

Simulation Environment.
We create a simulation to demonstrate the performance of the ISCTO. Table 2 shows the system parameters used in the created simulation. System parameters are determined based on [39,40]. The values of all graphs are the average values of 10,000 times of experiments with the changing deployment of sensors. We considered two SN deployment scenarios. One is a scenario in which SNs are completely randomly deployed in the entire area of the WSN and is called a "fully randomly deployment" scenario. The other is a scenario where many SNs are placed in a specific area of the entire area of the WSN, which is called a "hotspot deployment" scenario. For the "hotspot" scenario, we experiment by placing 50% of the SN in the 1/4 area of the WSN. Figure 4 shows the clustering transition for each iteration when N = 200 in a fully random deployment scenario. Figure 4(a) is the clustering result at the first iteration. The number of the first cluster is 3 because of the initial process of the sensor clustering algorithm when M = 3. Figure 4(b) is the result of the second iteration. In this figure, we can confirm that the new cluster head is separated from the green cluster head which had the most member nodes. Additionally, we can see that the cluster has been adjusted as a result. Figure 4(c) is the state at the end of sensor clustering; this example shows that the total of 6 clusters is formed. Figure 5 depicts the trajectory of each mobile sink formed in Figure 4. Each mobile sink trajectory is identified by the color of the arrow. Figure 5(a) is the situation where the first M cluster header is formed; each mobile sink is configured to handle one cluster header. Figure 5(b) shows the updated trajectory after the new cluster header was created. In this example, the black arrow means the source sector, and the red arrow means the destination

11
Wireless Communications and Mobile Computing sector. In this situation, due to the fact that C2 returned a shorter trajectory, one cluster header was moved closest to the destination sector in the source sector. With repetition of the aforementioned process, we obtain the final trajectory like Figure 5(c). Figure 6 shows the graph of the transition of E tot according to the change of N in the random deployment scenario. The graph contains the results of experiments on four cases according to changes in the number of the mobile sink, M, and the altitude, h, of the mobile sink. It can be said that as the number of SNs increases, E tot increases. The reason for M = 3 showing a lower result compared to M = 5 is that E move increases with the increasing of M. It can be said that the altitude does not significantly affect the overall result. If the value of K is not extremely large, it can be said that the term E AG does not play a large part in the result. Figure 7. shows the cluster formation process for each iteration in a hotspot deployment scenario. In this example, it can be seen that the hotspot is formed at the upper left of the WSN. Since the density value, X, is considered in the process of determining the cluster header, it can be seen that the sensor belonging to the hotspot was continuously determined as the cluster header in the beginning. In Figure 7(b), the first cluster header that does not belong to the hotspot is selected as a brown cluster. Figure 8 shows the trajectory formation process for each mobile sink in Figure 7. As it can be seen in Figure 7, there is a probability which the number of the cluster headers in charge of mobile sinks can be unbalanced as many cluster headers are generated in the hotspot. In this example, it can be seen that the mobile sink, which follows the red arrow, is in charge of more than two or three cluster headers than other mobile sinks. However, the sector area between mobile sinks is adjusted to have a uniform central angle as much as possible, so that the total length of trajectory for each mobile sink is set to be balanced. Figure 9 is the graph showing E tot according to the change of N in the hotspot deployment scenario. The experiment also compared the results of the four cases according to the changes of M and h. Most of the trend of performance value change shows the same trends shown in the random deployment scenario, though it shows a higher result value compared to the random deployment scenario. This is because hotspot deployment scenarios tend to create more clusters than random deployments. As the number of clusters increases, the trajectory length of the mobile sink also increases, and this causes an increase in the result.

Distribution of Member Node.
We present the distribution of cluster member nodes as a performance indicator associated with the energy hole issue. We investigate the distribution of member nodes by cluster after experiments in two SN deployment scenarios when M = 3 and M = 5.  Also, in the case of the same SN deployment scenario, it can be seen that the larger the M, the fewer the member nodes. The reason for this result is based on the beginning mechanism of proposing sensor clustering algorithm. The sensor clustering algorithm creates the first M cluster at the beginning. Therefore, the larger the M, the more clusters can be formed. As more clusters are formed, the number of member nodes will naturally decrease. Therefore, larger M tends to include fewer member nodes.
In the case of the same number of M, the trend of having fewer member nodes in the hotspot deployment than in the random sensor deployment can be seen. In the hotspot deployment scenario, most of the cluster headers are generated in the hotspot due to γ L D .
Although most of SNs are in the hotspot, hotspot clusters are more finely divided as many cluster headers are generated. This results in creating clusters with fewer member nodes on average in hotspot deployments. In addition, as mentioned above, the tendency for more clusters to occur in a hotspot deployment scenario is also a reason for the cluster to have fewer member nodes.

Wireless Communications and Mobile Computing
On the other hand, the distribution of the number of member nodes in the two deployment scenarios crosses around 1/4 · N points. The reasons for this result are as follows. In a random deployment scenario, sensors and cluster headers are relatively evenly distributed. There is low probability that numerous member nodes are included with bias in one cluster. However, in a hotspot deployment, due to γ L D , only a small number of clusters are created in a region outside the hotspot which causes the number of member nodes gathered in one cluster.

Time Complexity Analysis.
To show the running time of the proposed algorithm, we experiment the average number of iteration until the algorithm ended according to changes in N. The same as the above experiment, we investigate in two SN deployment scenarios when M = 3 and M = 5. Figure 12 is a graph presenting the number of iterations. In the case of the same M, it can be seen that iteration takes more in the hotspot than in the random deployment. As shown in Figure 7, the reason is that the cluster header is continuously generated only at the hotspot. If the newly generated cluster header is not far from the previously generated cluster header, this means that the previously formed trajectory also does not need to be significantly changed. This means that even if a new cluster header is generated, the reduction amount of E move does not occur significantly. Because of this, the proposed algorithm causes more iteration in the hotspot deployment environment.
Interestingly, depending on the change of the value of M, the trend of the iteration number changes differently. In the random deployment scenario, the larger the M, the lesser the iteration results. This is because when the M clusters are initially formed, the cluster headers are not biased to one place. Therefore, the benefit of EGG obtained by adding the cluster header is not significantly large. On the other hand, in the hotspot deployment scenario, when the initial M clusters are formed, cluster headers are intensively generated in the hotspot. The EGG generated when a new cluster header is created in the nonhotspot area is significantly large. Therefore, it runs more iterations.
In addition, we can infer that the average number of cluster headers generated by the ISCTO is (M + the number of iteration) through the graph.

Conclusion
We propose a sensor clustering and trajectory path planning algorithm named ISCTO for uneven SN deployed WSN with multiple mobile sinks. This algorithm iteratively performs two stages of sensor clustering and trajectory optimization to minimize the amount of energy consumed by WSN components. In the sensor clustering phase, two rankings are defined using density function and residual battery level.
Whenever a new cluster header is needed, the SN with the lowest sum of rankings is added as a new cluster header. In trajectory optimization, WSN is divided into several sectors to minimize the amount of energy that the mobile sink consumes. Whenever a new cluster header is created, consider the two cases defined and find the case that shows the shorter trajectory length. We show the performance of the ISCTO      14 Wireless Communications and Mobile Computing algorithm through simulation. In the future, we will improve the proposed algorithm to support the one million devices per 1 square of kilometer situation, which is a requirement of 5G mMTC.

Data Availability
We create a simulation to demonstrate the performance of our proposed algorithm.

Conflicts of Interest
The authors declare no conflict of interest.