Efficient Energy Utilization with Device Placement and Scheduling in the Internet of Things

School of Information, Renmin University of China, Beijing 100872, China School of Information and Engineering, Henan Institute of Science and Technology, Xinxiang 453003, China School of Information Science and Technology, Beijing Forestry University, Beijing 100083, China Engineering Research Center for Forestry-Oriented Intelligent Information Processing of National Forestry and Grassland Administration, Beijing 100083, China


Introduction
The Internet of things (IoT) is a flourishing paradigm in the scenario of modern wireless telecommunications, which has been provided a wide diversity applications for all walks of life in modern time, such as home automation, transportation, industry, agriculture, mobile device applications [1], and smart systems [2]. IoT applications are required a growing number of technologies to offer low-power operation and low-cost and low-complexity end devices that will be able to communicate wirelessly over long distances. With the development of the Low Power Wide Area Network (LPWAN) technologies, such as SigFox, NB-IoT and LoRa, the low power long-range wide-area communication has become a reality [3]. Since the long range communication of the LPWAN technologies is gradually used in the Internet of things, the IoT devices can only communicate with LPWAN gateways and not directly with each other. Taking the LoRa example, a single gateway can support as many as 10 5 IoT devices and three gateways are enough to cover all devices in the urban area within an approximate 15 km radius [4]. The architecture of the LPWAN-based Internet of things is shown in Figure 1 [5], in which IoT devices are deployed in the monitoring area to observe targets or the whole monitoring area; the installation of few gateways over the territory allows to gather data from IoT devices that are placed at different miles from the gateways. Then, the received data by the gateways are transmitted to the users through the Internet or satellite for further computational analysis to determine the appropriate response mechanism.
Therefore, we can directly deploy IoT devices to monitor all targets (or the whole monitoring area) in any region with the LPWAN-based network without considering other data transmission methods such as virtual backbone networks [6,7] and mobile data collectors [8,9]. Since many IoT devices are battery-powered sensors, for example, in wireless sensor networks (WSNs) and ad hoc networks (ANs), the power usage profile should be carefully designed in order to extend the battery lifetime. How to prolong the network lifetime is a classic problem in WSNs, which is called the coverage problem [10]. Given the m targets (or the entire monitoring area) and n IoT devices in the monitoring area, the coverage problem is to schedule the activity of the IoT devices such that all targets (or the whole monitoring area) are (or is) continuously observed and the network lifetime is maximized. Research on the coverage problem benefits a lot of applications, such as environment monitoring, battlefield surveillance, indoor guarding, smart space, industrial diagnostics, and military facility [11]. Recently, many researchers proposed various problems and corresponding algorithms for the coverage problem. In [12], Cardei et al. studied the target coverage problem with the objective of maximizing the network lifetime of a power constrained WSN deployed for detecting of a set of targets with known locations, in which they did not consider the placement of sensors. In [13], Akhlaghinia et al. studied the heterogeneous point coverage problem in sensor placement to cover a large number of target points with various coverage requirements using a minimum number of heterogeneous sensors. In the problem, they only investigated the placement of sensors without considering network lifetime. In [14], Mini et al. considered both the deployment locations and scheduling of the given IoT devices to maximize the network lifetime with the required coverage level. However, they deployed all available IoT devices to cover targets randomly without considering their candidate sites. In [15], Hanh et al. investigated the problem of maximizing the area coverage in heterogeneous WSNs. The goal of the problem is to find an optimal placement scheme for the given set of sensors so that the coverage area is maximized. In the problem, they only consider the placement of sensors without considering their candidate sites.
In the above literature, they only considered one of the deployment and scheduling of IoT devices or ignored the factor that candidate sites can be placed by IoT devices which has to be considered in some applications, such as a smart city. Actually, to minimize the total energy consumption of IoT devices, we not only need to consider the deployment of IoT devices but also their scheduling. Meanwhile, due to the emergence of wireless charging technologies and natural energy charging methods (e.g., solar charging) for the IoT devices, the current applications of IoTs have shifted from maximizing the network lifetime to working for a certain period of time. In this paper, we study the problems of the minimum energy consumption of IoT devices for target coverage through placement and scheduling (MTPS) and minimum energy consumption of IoT devices for area coverage through placement and scheduling (MAPS), where we consider both the placement and scheduling of IoT devices to monitor all targets or the entire monitoring area in a region such that all targets or the whole area are or is continuously observed for a certain period of time and the total energy consumption of all available IoT devices is minimized. The contributions of this paper are shown as follows: (1) We propose two new practical models of minimizing the total energy consumption of all IoT devices by placing and scheduling them for continuously observing all targets or the entire detection area for a certain period of time. Then, we define the problems as the minimum energy consumption of IoT devices for target coverage through placement and scheduling (MTPS) and minimum energy consumption of IoT devices for area coverage through placement and scheduling (MAPS) and prove that they are NP-hard (2) To solve the MTPS problem, we introduce two other problems, minimum location coverage (MLC) and minimum energy consumption scheduling deployment (MESD). Then, we propose an approximation algorithm for each of them. Afterwards, an approximation algorithm for the MTPS problem is proposed on the basis of the solutions for the MLC and MESD problems (3) To solve MAPS problem, we introduce another problem, minimum location area coverage (MLAC). Then, we propose an approximation algorithm to solve the problem. Based on the problems MLAC and MESD, we propose an approximation algorithm to solve the MAPS problem The remainder of this paper is organized as follows. We give the related works in Section 2. Section 3 introduces some models and definitions for the problems MTPS and MAPS. In Section 5, we propose an approximation algorithm to solve the MTPS problem. In Section 6, we propose an approximation algorithm to solve the MAPS problem. Simulations are shown in Section 7. Section 8 concludes this paper.

Related Works
In this section, we briefly review the major problems and methods related to the investigated problem in IoTs. As we all know, WSN is a special kind of IoTs. If there is no special explanation, the sensors in WSNs mentioned below represent IoT devices. According to the investigated problem, the related works can be categorized into three categories: IoT device placement problem, target coverage problem, and area coverage problem.
2.1. IoT Device Placement Problem. The IoT device placement problem aims at finding the least number of IoT devices and their locations within all known potential sensing locations for meeting requirements, such as [16][17][18][19][20][21].
In [16], Altinel et al. investigated the minimum cost point coverage problem with varying sensing quality and price and formulated a binary integer linear programming model for effective sensor placement on a grid-structured area. In [17], Wang introduced the sensor placement optimization problem, where the locations of targets to be covered are known and the candidate locations to place sensors are limited. The objective of the problem is to minimize the number of sensors to cover all targets, and the problem can be solved by the greedy algorithm for solving the set covering problem as shown in [22]. In [18], Gravalos et al. investigated the gateway placement problem for IoTs, which aims at finding the minimum number of gateways along with suitable IoT devices to optimize the overall installation cost without compromising the related QoS requirements. In [19], Jiang et al. proposed a group-greedy method to solve the sensor placement in linear inverse problems, which can find suboptimal solutions with near optimality guarantee using less computational cost compared with convex relaxation methods. In [20], Hasan and Al-Rizzo investigated the sensor deployment to improve the connectivity in IoT by presenting the bioinspired metaheuristics canonical particle multiswarm optimization algorithm. In [21], Jiang et al. studied the optimal sensor placement problem for an IoTbased power grid monitoring system. Then, they proposed a modified binary particle swarm optimization algorithm to determine the optimal number and location of sensors and estimate the ratio of conductor temperature alarms that can be covered by the proposed sensor placement.

Target Coverage Problem.
In general, IoT devices are battery-powered sensors and there are often a lot of redundant sensors randomly placed in a region to cover a certain group of targets. How to schedule deployed sensors to maximize the network lifetime is an important problem in IoTs, which is called the maximum lifetime coverage problem (MLCP) and was proved NP-hard [12]. Currently, many researches devoted themselves to investigating the various problems of the MLCP problem, such as [23][24][25][26].
In [23], Berman et al. defined the MLCP problem as a sensor network life problem (SNLP) and proposed an approximation algorithm with a performance ratio of 1 + ln n to solve the problem based on the minimum weigh sensor coverage problem (MWSCP) which aims at finding the minimum total weight of sensors to cover a certain set of targets, where n is the number of deployed sensors. In [24], Ding et al. first improved the algorithm for the MWSCP problem to 4 + ε, where ε > 0. Then, they proposed an approximation algorithm with an approximate ratio of 4 + ζ in the light of the MWSCP problem, where ζ > 0. In [25], Lu et al. investigated the maximum lifetime coverage scheduling (MLCS) problem to address the scheduling problem for both target coverage and data collection in WSNs for maximizing the network lifetime. Then, they proposed an approximation algorithm with a constant factor for the problem. In [26], Shi et al. defined a new coverage problem in battery-free WSN, which is not only to maximize coverage quality but also to prolong network lifetime. Then, they proposed two centralized approximate algorithms and a distributed algorithm for solving the problem.

Area Coverage Problem.
In [27], Xing et al. divided the detection area into grids and guaranteed the coverage of vertices of each grid to approximate the area coverage. However, the proposed approach as an approximation solution can not actually ensure the coverage of the whole area. In [28], Yu et al. studied the k-coverage problem, where a minimum subset of sensors among the deployed ones is selected such that each point in the detection area is covered by at least k sensors. In [29], Qin and Chen investigated the area coverage problem to maximize the coverage lifetime of wireless sensor networks for monitoring the area of interest. They proposed the area coverage algorithm based on differential evolution, which considered the balanced cost and minimal energy for sensors.

Model and Problem Definitions
In this sections, we introduce some parameters and problem definitions.
Let A be represented as a two-dimensional plane area; the whole of which can be observed by IoT devices that work together. There are m targets located on A. Let Q = fr 1 , r 2 , ⋯,r m g represent the set of m targets located on A. Due to the particularity of some detection areas, such as smart cities and farmlands, IoT devices can only be deployed on some fixed locations. We call these fixed locations as candidate sites of IoT devices. Let L = fL 1 , L 2 ,⋯,L N g denote the set of N candidate sites. Suppose that there exists n available IoT devices that can be deployed in the candidate sites to monitor targets in Q or the whole detection area A. We use S = fs 1 , s 2 ,⋯,s n g to represent the set of n IoT devices, in which 3 Wireless Communications and Mobile Computing each IoT device s i can be active continuously at most E i time slots. In this paper, we assume that each IoT device s i ∈ S continuously works E i time slots once it starts working and E i ≤ T, where T is the minimum time that the targets (or the detection area) are (or is) continuously observed. For any pair of s i ∈ S and r j ∈ Q (or L k ∈ L and r j ∈ Q), let d s i ,r j (or d L k ,r j ) denote the Euclidean distance between s i and r j (or L k and r j ).
In this paper, we aim to find a subset C ⊆ S of IoT devices which are deployed on some candidate sites in L to observe all targets in Q or the whole detection area and to minimize the total energy consumption of all IoT devices by scheduling IoT devices in C such that all targets or the whole detection area can be continuously observed by IoT devices at least T time. More formally, for two different kinds of problems, target coverage and area coverage, we call the research problems as the minimum energy consumption of IoT devices for target coverage through placement and scheduling (MTPS) and the minimum energy consumption of IoT devices for area coverage through placement and scheduling (MAPS), respectively, whose detailed definitions are shown in Definitions 1 and 2.
Definition 1 (MTPS). Given a set Q = fr 1 , r 2 ,⋯,r m g of m targets located on detection area A, a set S = fs 1 , s 2 ,⋯,s n g of n IoT devices in which all IoT devices have the same coverage range R and each IoT device s i ∈ S can work E i time slots, a set L = fL 1 , L 2 ,⋯,L N g of N candidate sites to be put on IoT devices, a positive time T, the minimum energy consumption of IoT devices for target coverage through placement and scheduling (MTPS) problem aims at finding a subset C ⊆ S of IoT devices placed on the candidate sites in L and scheduling the IoT devices in C such that (1) For any candidate site L k ∈ L, it can be placed in more than one IoT device from C (2) For arbitrary target r j ∈ Q, it is continuously observed by IoT devices in C at least T time

Mathematical Formulation for the Problems
In this section, we will introduce the mathematical formulations for the problems MTPS and MAPS.
We first introduce some notations as follows: We define the binary variables x ik , a jk , and y it as follows:

Mathematical Formulation for the MTPS Problem.
In this subsection, we will introduce the mathematical formulation for the MTPS problem. The problem can be formulated into an integer programming (IP) problem as follows: s:t: The function of equation (2) is to minimize the total energy consumption of IoT devices for continuous observing of all targets at least T time. Constraint (3) ensures that for each target r j ∈ Q, there at least exists an IoT device s i ∈ S 4 Wireless Communications and Mobile Computing located at some candidate site L k ∈ L to cover r j at any tth time slot. Constraint (4) guarantees that the IoT device s i ∈ S located on L k ∈ L will run out of energy as soon as it starts working. Constraints (5)-(7) define the domains of the variables.

Mathematical Formulation for the MAPS Problem.
In this subsection, we will introduce the mathematical formulation for the MAPS problem. Let S i be the sensing region of sensor s i . We use jjAjj to denote the area of A. The problem can be formulated as follows: s:t: [ The function of equation (8) is to minimize the total energy consumption of IoT devices for continuous observing of the whole detection area A at least T time. Constraint (9) ensures that for any point p ∈ A, there at least exists an IoT device s i ∈ S located at some candidate site L k ∈ L to cover p at any tth time slot. Constraint (10) guarantees that the IoT device s i ∈ S located on L k ∈ L will run out of energy as soon as it starts working. Constraints (11)-(12) define the domains of the variables.

NP-Hard Proofness.
In the following, we will prove that the problems MTPS and MAPS are NP-hard. We first prove that the MTPS problem is NP-hard. Then, based on the MTPS problem, we prove that the MAPS problem is also NP-hard.
We consider a special case of the MTPS problem where we set T = 1, N = n, and E i = 1 for any IoT device s i ∈ S. At this point, the objective of the MTPS problem can be transformed to find a subset C ⊆ S of IoT devices with minimum cardinality such that all targets are covered. Since for any IoT device s i ∈ C, it needs to be placed at the corresponding candidate site to cover targets, the objective of the MTPS problem changes from finding the minimum subset C to looking for the minimum subset L ′ ⊆ L of candidate sites, where jCj = jL ′ j. Therefore, the special case of the MTPS problem can be equivalently transformed into the minimum point cover (MPC) problem as shown in Definition 3.
Definition 3 (MPC). Given a set Q = fr 1 , r 2 ,⋯,r m g of m targets, a set L = fL 1 , L 2 ,⋯,L N g of N candidate sites to be put in IoT devices, and all IoT devices have the same coverage range R, the minimum point cover (MPC) problem is to find a subset L ′ ⊆ L of candidate sites such that all targets are covered by IoT devices located on the candidate sites in L ′ and the number of candidate sites jL ′ j is minimized.
In the MPC problem, for each candidate site L k ∈ L, we use U k to denote the set of targets covered by L k where for each target r j , r j ∈ U k if and only if d L k ,r j ≤ R. Let F = fU 1 , U 2 ,⋯,U N g. Then, the MPC problem can be equivalently transformed into the set cover (SC) problem, as shown in Definition 4.
Definition 4 (SC). Given a set Q = fr 1 , r 2 ,⋯,r m g of m targets and a collection F = fU 1 , Proof. According to the SC and MPC problems, we can obtain that the decision version of the MPC problem has a YES answer if and only if the decision version of the SC problem has a YES answer and jF ′j = jL′j. Since the SC problem was proved NP-hard [30], the MPC problem is NP-hard. Theorem 6. The MTPS problem is NP-hard.
Proof. According to Theorem 5, we can verify that the MPC is NP-hard. Since the MPC problem is a special case of the MTPS problem, the MTPS problem is also NP-hard.
Proof. Since the continuous region A is made up of an infinite set of points, we can take any set of discrete points in A as a special case of the MAPS where all the discrete points can be seen as targets for being observed by IoT devices. In such a case, the MAPS problem can be transformed into the MTPS problem. According to Theorem 6, we can verify that the MTPS is NP-hard. Therefore, the MAPS problem is also NP-hard.

Algorithm for the MTPS Problem
According to the definition of the MTPS problem, we can obtain that the total energy consumption of the IoT devices depends on the number of IoT devices with their corresponding initial energy. Therefore, we need to deploy IoT devices as few as possible to cover targets and schedule the placement of IoT devices to minimize the total energy consumption such that every target in Q is continuously observed at T time slots by IoT devices. Based on these considerations, we can find that the MTPS problem consists of two subproblems, minimum location coverage (MLC) and minimum energy consumption scheduling deployment 5 Wireless Communications and Mobile Computing (MESD), as shown in Definitions 8 and 9. In this section, we first propose an approximation algorithm for each of the problems MLC and MESD. Then, based on the problems MLC and MESD, we propose an approximation algorithm to solve the MTPS problem.
Definition 8 (MLC). Given a set Q = fr 1 , r 2 ,⋯,r m g of m targets, a set L = fL 1 , L 2 ,⋯,L N g of N candidate sites to be put in IoT devices with coverage range R, the minimum location coverage (MLC) problem is to find minimum subset L ′ ⊆ L of candidate sites such that all targets are within the coverage range of candidate sites in L ′ .
Definition 9 (MESD). Given a set S = fs 1 , s 2 ,⋯,s n g of n IoT devices in which each IoT device s i ∈ S has active time E i , a set P = fL 1 , L 2 ,⋯,L K g of K sites to be put IoT devices, a positive time T, the Minimum Energy consumption Scheduling Deployment (MESD) problem is to find a subset C ⊆ S of IoT devices placed at the sites in P and to schedule the IoT devices in C such that (1) for any site L k ∈ P, it can be placed more than one IoT device from C (2) for arbitrary site L k ∈ P, the IoT devices located at L k can cumulatively work at least T time In this subsection, we propose a greedy algorithm, called MLCA, to solve the MLC problem. Let U k denote the set of targets within the coverage range of L k . The MLCA algorithm consists of two steps. Firstly, for arbitrary L k ∈ L, we compute its coverage set U k . For any r j ∈ Q, if d L k ,r j ≤ R, then, U k = U k ∪ fr j g. Secondly, we repeat the following steps until one of the conditions L = ∅ and Q = ∅ is satisfied.
(i) Select L k with the maximum U k from L (ii) Execute the operations L ′ = L ′ ∪ fL k g, L = L/fL k g and Q = Q/U k (iii) For arbitrary L i ∈ L, update its coverage set by deleting targets in U k ∩ U i from U i After executing the above algorithm, we can obtain a set L ′ ⊆ L of candidate sites, which can cover all targets in Q. The pseudocode of the algorithm is shown in Algorithm 1. Then, we will analyze the performance of the MLCA algorithm.
Theorem 10. Suppose that L * is an optimal solution for the MLC problem. If there exists a solution for the MLC problem, then, we can verify that the approximation ratio of the MLCA algorithm is ln m + 1, where m is the number of targets.
Proof. According to the MLCA algorithm, we can observe that the while loop terminates after at most m steps, since in each iteration of the while loop, there is at least one target that is covered by the candidate site L k . Let Q k denote the number of targets that are still not covered at iteration k of the while loop. In each iteration k, we can use all jL * j candidate sites in the optimal solution to cover all targets in Q. Therefore, there must exist a candidate site in L * that covers at least Q k /jL * j targets, which means at least Q k /jL * j targets are covered in every iteration. In other words, we can obtain after iteration k; there are left at most Q k − Q k /jL * j targets that have not been covered by candidate sites, that is, where the last equality depends on the fact that Q 0 = m, since all m tragets are not covered by candidate sites before the first iteration of the while loop. Notice that there exists 1 ≤ i ≤ m such that after executing i iterations of the while loop, Q i ≤ 1. Based on the fact that 1 + x ≤ e x for any x ∈ ð−∞, + ∞Þ, we have Based on inequations (13) and (14), we can obtain Input: Q = fr 1 , r 2 ,⋯,r m g, L = fL 1 , L 2 ,⋯,L N g, R; Output: L′; 1: Sets of L′ = ∅, U k = ∅ for any L k ∈ L; 2: for arbitrary L k ∈ Ldo 3: for any r j ∈ Qdo 4: if d L k ,r j ≤ R then 5: U k = U k ∪ fr j g; 6: end 7: end 8: end 9: while L ≠ ∅&&Q ≠ ∅ do 10: Pick L k = arg max L k ∈L U k ; 11: for any L i ∈ Ldo 13:  6 Wireless Communications and Mobile Computing Therefore, we can obtain that after i = jL * j · ln m iterations, the remaining number of targets in Q i is smaller or equal to 1. Thus, the algorithm will terminate after at most jL * j · ln m + 1 iterations, which can obtain jL ′ j ≤ jL * j · ln m + 1 ≤ ðln m + 1Þ · jL * j, since jL * j ≥ 1 and only one candidate site is added into L ′ in each iteration based on the algorithm MLCA.
Theorem 11. The time complexity of the MLCA algorithm is OðmNÞ, where m and N are the number of targets and the number of candidate sites, respectively.
Proof. The MLCA algorithm consists of two phases. Firstly, the algorithm needs N iterations to compute the corresponding coverage sets for all candidate sites in L, as shown in the first while loop. In each iteration, since the number of targets is less than or equal to m, at most m steps are needed to determine which coverage set targets belong to. Therefore, we need at most mN steps to compute the coverage sets for all candidate sites in L. Secondly, at most min fN, m g iterations are needed in the while loop. In each iteration, we need to pick the candidate site L k with the maximum U k for executing N steps since 1 ≤ k ≤ N. Then, we update all coverage sets of candidate sites with N steps. Therefore, we need at most N · min fN, mg steps in the second while loop.
Consequently, the time complexity of the MLCA algorithm is OðmNÞ = OðmN + N · min fN, mgÞ.

Algorithm for the MESD Problem.
In this subsection, we propose an approximation algorithm to solve the MESD problem, called MESDA. Before describing the algorithm, we introduce some notations. For any 1 ≤ k ≤ K, we use C k to denote the set of IoT devices placed at location L k and let Φ = fC 1 , C 2 ,⋯,C K g. Let M k represent the total energy consumption of the IoT devices in C k .
The MESDA consists of two phases. The first phase is to find a subset C k ⊆ S of IoT devices from S for any 1 ≤ k ≤ K such that ∑ s i ∈C k E i ≥ T. The second phase is to optimize M k by replacing the high-energy-consuming IoT devices in C k with low-energy-consuming ones from the remaining IoT devices in S for any 1 ≤ k ≤ K. Afterwards, we compute Φ = fC 1 , C 2 ,⋯,C K g, C = S 1≤k≤K C k , and M = ∑ C k ∈Φ M k . The detailed description of the algorithm is shown as follows.
Initially, we set Φ = ∅, C = ∅, M = 0, C k = ∅, and M k = 0 for each 1 ≤ k ≤ K. The first phase of the MESD algorithm repeats the following four steps until the conditions P = ∅ and S = ∅ are satisfied. After executing the first phase of the algorithm, we can obtain a set C k of IoT devices for any L k ∈ P, where the total working time M k of IoT devices is greater than or equal to T. In the following, for any 1 ≤ k ≤ K, we optimize M k by replacing the high-energy-consuming IoT devices in C k with low-energy-consuming ones in S.
The second phase of the algorithm repeats the following steps until S = ∅.
(i) Select s i with the maximum E i from S (ii) Compute a tuple < s j , k ≥ arg min

and s i is removed from S
After executing the second phase of the algorithm, we can obtain a set C k of IoT devices located on each L k ∈ P and the total energy consumption M k = ∑ s i ∈C k E i of IoT devices in C k such that all targets covered by site L k are continuously observed at least T time. Finally, we can obtain Φ = fC 1 , C 2 ,⋯,C K g, M = ∑ C k ∈Φ M k , and C = S 1≤k≤K C k . The pseudocode of the algorithm is shown in Algorithm 2.
We use C * to represent the optimal set of IoT devices placed at sites in P for the MESD problem. Let M * denote the total energy consumption of IoT devices in C * . Without loss of generality, we use C * k to be the optimal set of IoT devices placed at L k ∈ P when C * has been confirmed. Let M * k represent the total energy consumption of IoT devices in C * k .

Theorem 12.
If the MESDA algorithm has the feasible solution, then, we can verify that the approximation ratio of the algorithm is 2.
Proof. According to the definition of the MESD problem, we have M * k ≥ T for any 1 ≤ k ≤ K and M * = ∑ 1≤k≤K M * k ≥ K · T. For any 1 ≤ k ≤ K, we let <s i , E i ≥ arg max s j ∈C k E j , where C k is obtained by the MESDA algorithm. We analyze the performance of the algorithm in the light of the following two cases.
(1) 0 < E i < ðT/2Þ. Then, we can obtain that for any s j ∈ C k , E j < ðT/2Þ. Based on the algorithm, the last IoT device added into C k makes M k be greater than or equal to T, which means M k ≤ T + E j < ð3T/2Þ ≤ 1:5M * k (2) ðT/2Þ ≤ E i < T. If there exists E j ∈ C k such that ð T/2Þ < E j ≤ E i , then based on the algorithm, we can obtain C k = fs i , s j g and M k = E i + E j < 2T < 2 M * k . Otherwise, we can derive M k ≤ T + E j ≤ 1:5 M * k 7

Wireless Communications and Mobile Computing
From what have been discussed, we can obtain M k < 2 M * k . Therefore, we have M = ∑ 1≤k≤K M k ≤ ∑ 1≤k≤K 2M * k ≤ 2 M * , which means that the approximation ratio of the MESDA algorithm is 2. Proof. According to the MESDA algorithm, we can verify that the algorithm contains two while loops running and the other operations with constant running time. The first while loop consists of at most n iterations, since jSj ≤ n. In each iteration, at most n steps are needed to select the IoT device s i with the maximum energy and K steps are required to compute the site L k with the minimum total energy consumption of IoT devices located on L k . The other operations in the iteration can be executed in constant time. Therefore, the first while loop runs at most Oðn 2 + nKÞ time. The second while loop runs jSj iterations. In each iteration, the algorithm runs at most jSj steps to select the IoT device s i with the maximum energy. Then, it calculates the total energy consumption with at most Oðn · jSjÞ running time by replacing each IoT device that has been deployed on site in P with s i and selects s j with the minimum M k − E j + E i among all IoT devices except IoT devices in S. The other operations in the iteration can be executed in constant time. Therefore, the total running time of the second while loop is at most Oðn 3 Þ = Oðn · jSj 2 + jSj 2 Þ.

Algorithm for the MTPS Problem.
In this subsection, we propose an approximation algorithm, called MTPSA, to solve the MTPS problem based on the MLC and MESD problems. The algorithm consists of two steps corresponding to Algorithms 1 and 2. The detailed illustration of the algorithm is shown in Algorithm 3.
Suppose that C * opt is an optimal subset of S for the MTPS problem. Let M * opt be the total energy consumption of IoT devices in C * opt . Since each r j ∈ Q needs to be continuously observed at least T time, we divide T into equal T time slots. We use c * t to represent the minimum energy consumption of all active IoT devices for the MTPS problem such that all targets are covered at the tth time slot, and let L * t denote the set of candidate sites placed in the active IoT devices in the tth time slot.

Lemma 14.
For any 1 ≤ t ≤ T, we have c * t ≥ jL * j, where L * is the minimum set of candidate sites for the MLC problem.
Proof. In the MTPS problem, all targets need to be covered by IoT devices placed at candidate sites in L for any 1 ≤ t ≤ T, which means that there exists a subset L t ⊆ L that can cover all targets for the arbitrary tth time slot. Thus, based on the definitions of MTPS problem and MLC problem, we can obtain that for any such subset L t , it is a feasible solution for the MLC problem. Therefore, we have jL * t j ≥ jL * j, Input: S = fs 1 , s 2 ,⋯,s n g, E i for each s i ∈ S, P = fL 1 , L 2 ,⋯,L K g, T; Output: C, M, Φ; 1: Sets of C = ∅, M = 0, C k = ∅ and M k = 0 for each 1 ≤ k ≤ K; 2: while P ≠ ∅&&S ≠ ∅ do 3: Pick s i = arg max s i ∈S E i ;

4:
Pick L k = arg min L k ∈P M k ; 5: if M k ≥ T then 7: P = P \ fL k g; 8: end 9: end 10: while S ≠ ∅ do 11: Pick s i = arg max s i ∈S E i ;

13:
if E i ≥ E j then 14: S = S \ fs i g; 15: else 16: Algorithm 2: MESDA. 8 Wireless Communications and Mobile Computing since L * t is a feasible solution for the MLC problem. Therefore, we can derive c * t ≥ jL * j since c * t = jL * t j.
Proof. According to Lemma 14, we can obtain c * t ≥ jL * j for Theorem 16. The performance ratio of the MTPSA algorithm is 2 ln m + 2, where m is the number of targets.
Proof. According to the MTPSA algorithm, we have M = ∑ L k ∈L ′ M k , where M is the total energy consumption of IoT devices obtained by the MTPSA algorithm and M k is the energy consumption of IoT devices located on L k . On the basis of Theorems 10 and 12, we can derive jL ′ j ≤ ln m · j L * j + 1 and M k < 2T for any 1 ≤ k ≤ jL ′ j. Based on Lemma 15, we can obtain The theorem has been proved. Proof. Based on Theorems 11 and 13, we can obtain that the time complexity of the MTPSA algorithm is Oðn 3 + mN + nNÞ = OðmN + n 3 + nKÞ, since K = jL ′ j ≤ N.

Algorithm for the MAPS Problem
In this section, we propose an algorithm to solve the MAPS problem.
Similar to the definition of the MTPS problem, the total energy consumption of the IoT devices depends on the number of IoT devices with their corresponding initial energy. Therefore, we also need to deploy IoT devices as few as possible to cover the whole detection area and schedule the placement of IoT devices to minimize the total energy consumption such that the whole area is continu-ously observed T time slots by IoT devices. Therefore, we can find that the MAPS problem is also composed of two subproblems, minimum location area coverage (MLAC) and MESD, as shown in Definitions 18 and 9. The MESD problem has been solved by Algorithm 2. Thus, in this section, we first propose an approximation algorithm to solve the MLAC problem. Then, based on the problems MLAC and MESD, we propose an approximation algorithm to solve the MAPS problem.
We use AðL k Þ to denote the coverage region of L k when the coverage range of IoT devices put on L k is R, that is, for any point p ∈ AðL k Þ, d L k ,p ≤ R. Let DðL k Þ be the border of A ðL k Þ.
Definition 18 (MLAC). Given a detection area A, a set L = fL 1 , L 2 ,⋯,L N g of N candidate sites, Δ = fAðL 1 Þ, AðL 2 Þ,⋯,A ðL N Þg, the minimum location area coverage (MLAC) problem is to find a minimum subset L′ ⊆ L of candidate sites such that jj S L k ∈L ′ AðL k Þ T Ajj = jjAjj.
In the following, we first introduce the definition of the Voronoi diagram of candidate sites on L, which is used to solve the MLAC problem.
6.1. Voronoi Diagram of Candidate Sites. The definition of the Voronoi diagram of candidate sites in L can be defined as the subdivision of the detection area A into N cells as shown in [31]. Any point p ∈ A, in the cell corresponding to a candidate site L k , is closer to L k than to any other candidate site in L. Formally, the Voronoi cell corresponding to L k can be defined as In equation (17), two Voronoi cells meet along a Voronoi edge and three cells meet at a Voronoi vertex. For simplicity, we use GðVV, VEÞ to denote the Voronoi diagram of candidate sites in L, where VV represents the set of Voronoi vertices and VE denotes the set of Voronoi edges.
6.2. Algorithm for the MLAC Problem. In this subsection, we propose an approximation algorithm to solve the MLAC problem, which is called the MLAC Algorithm (MLACA).
Before describing the algorithm, we introduce some definitions and parameters as follows: Input: Q = fr 1 , r 2 ,⋯,r m gS = fs 1 , s 2 ,⋯,s n g, E i for each s i ∈ S, L = fL 1 , L 2 ,⋯,L N g, R, T; Output: C, M, Φ; Step 1: Compute the set L′ of candidate sites to cover all targets in Q by executing Algorithm 1; Step 2: Compute Φ, C, M based on L′ by executing Algorithm 2, where P = L′; We use regðLÞ = fcellðL 1 Þ, cellðL 2 Þ,⋯,cellðL N Þg to represent the set of all cells for GðVV, VEÞ. Let NVðL k Þ be the set of Voronoi neighbors of L k . We use GðVVðL k Þ, NEðL k ÞÞ to represent the neighbor Voronoi diagram of Voronoi neighbors of L k , where VVðL k Þ denotes the set of the neighbor Voronoi vertices and NEðL k Þ represents the set of the Voronoi edge of GðVVðL k Þ, NEðL k ÞÞ. We use NIðL k Þ to be the set of the neighbor Voronoi intersection vertices of L k .
Based on Theorem 10 in the work [31], we can obtain the following lemma. In the following, we will introduce the detailed description of the MLACA algorithm.
Initially, we set L ′ = L, VV = ∅, VE = ∅, and NVðL k Þ = ∅ for any L k ∈ L. The execution of the algorithm consists of three steps as follows.
Firstly, we compute the Voronoi diagram GðVV, VEÞ and regðL′Þ of candidate sites in L′ by using the algorithm in [32].
Secondly, we delete all redundant candidate sites from L′ . For any L k ∈ L′, we compute the set NVðL k Þ based on Gð VV, VEÞ and RegðL′Þ. Then, we construct the Voronoi diagram GðVVðL k Þ, NEðL k ÞÞ on NVðL k Þ by using the algorithm in [32]. Next, we compute the set NIðL k Þ based on GðVVðL k Þ, NEðL k ÞÞ. Afterwards, we judge whether or not all points in VVðL k Þ and NIðL k Þ are covered by coverage regions of all Voronoi neighbors. If yes, we delete L k from L ′ and update the Voronoi diagram GðVV, VEÞ of candidate sites in new L ′ by using the algorithm in [32].
Finally, the algorithm returns L ′ . The pseudocode of the algorithm is shown in Algorithm 4.

Theorem 24.
The time complexity of the MLACA algorithm is OðN 2 log NÞ, where N represents the number of candidate sites in L.
Input: S = fs 1 , s 2 ,⋯,s n g, E i for each s i ∈ S, L = fL 1 , L 2 ,⋯,L N g, R, T; Output: C, M; Step 1: Compute the set L′ of candidate sites to cover the whole area by executing Algorithm 4; Step 2: Compute C, M based on L′ by executing Algorithm 2, where P = L′; Algorithm 5: MAPSA. 10 Wireless Communications and Mobile Computing Proof. According to the MLACA algorithm, we can find that the algorithm consists of three steps. Firstly, we compute the Voronoi diagram of candidate sites in L with OðN log NÞ time by using the algorithm in [32]. Secondly, we need at most N iterations in the for loop since jLj = N. In each iteration, we first need at most N times to compute the set N VðL k Þ of Voronoi neighbors of L k . Then, we need at most OðjNVðL k Þj log jNVðL k ÞjÞ time to compute the neighbor Voronoi diagram on NVðL k Þ. Next, we need at most N times to compute NIðL k Þ. We need at most another OðN log NÞ time to update the Voronoi diagram by using the algorithm in [32] when L k is a redundant candidate site. Therefore, we need at most OðN 2 log NÞ = OðN * ðN + jN VðL k Þj log jNVðL k Þj + N log NÞÞ time for the for loop since From what has been discussed, we can verify that the time complexity of the MLACA algorithm is OðN 2 log NÞ.   11 Wireless Communications and Mobile Computing 6.3. Algorithm for the MAPS Problem. In this subsection, we propose an approximation algorithm to solve the MAPS problem, which is called MAPSA. Similar to the MTPSA algorithm, the MAPSA algorithm consists of two phases. The first phase is to find a subset L ′ ⊆ L of candidate sites by using Algorithm 4 such that the whole area A is covered by the coverage region of candidate sites in L′. The second phase is to find a subset C ⊆ S of IoT devices placed at the sites in L′ by executing Algorithm 2 such that for any point p ∈ A, it is observed by IoT devices in C at least T time. The   between neighbor grid points is R except for all grids in the boundary of the area. As an instance shown in Figure 2 In the following, we will evaluate how the network settings, such as the number of targets m, the certain period of time T, the active time slots E i for each IoT device s i ∈ S, the coverage range R and the size of the detection area, affect the performance of the MTPSA algorithm.
Firstly, we evaluate how the number of targets m and the coverage range R affect the performance of the MTPSA algorithm when we set n = 1000 and T = 1000; use the interval [200, 300] to pick a uniformly distributed random active time slots E i for each IoT device s i ∈ S; change R to 100, 120, 140, 160, and 180 m; and vary m from 100 to 700 in the 2000 m × 2000 m detection area, as shown in Figure 3. It is observed that the total time consumption of IoT devices increases with the increasing of m, as shown in Figure 3(a). This is because the number of IoT devices that are placed at candidate sites increases as m grows and the active time slots of IoT devices are fixed, as shown in Figure 3(b). Figure 3(a) also shows that the total time consumption of the used IoT devices decreases with increasing R since the less candidate sites are used to place IoT devices as R grows, which leads to a decline in the number of IoT devices being used, as shown in Figure 3 Figure 4(a) shows that the total time consumption of used IoT devices is becoming larger with increasing T, since more IoT devices are needed to be placed on candidate sites for continuously observing targets as T increases when the active time slots of IoT devices are fixed, as shown in Figure 4(b). It is also observed that the performance gap is becoming smaller with the increasing of m. This is because the increase of the number of sites placing IoT devices is becoming smaller as more and more targets are randomly deployed on the detection area, which results in a reduction of the number of IoT devices placed at the sites, as shown in Figure 4(b). We also find that the number of used IoT devices increases as T grows since each IoT device s i ∈ S continuously works E i time slots once it starts working.   Figure 5(a) shows that the total time consumption of used IoT devices levels off when E i < ½700,800 with increasing of the active time slots of IoT devices and increases as the size of the monitoring area increases. This is because when E i < ½700,800, at least three IoT devices should be placed at each placement site to continuously observe target T time, which is obviously greater than T.
7.2. Simulations for the MAPSA Algorithm. In order to ensure that the whole area can be covered by candidate sites, we select candidate sites evenly in the monitoring area. As an instance shown in Figure 6(a), given a 2000 m × 2000 m monitoring area, 100 candidate sites are located on the area and we set R = 200. The process of the MLACA algorithm is shown in Figures 6(b)-6(d). Firstly, we construct the Voronoi diagram of the candidate sites in L, as shown in Figure 6(b). Secondly, we find all redundant candidate sites from L such that all remaining candidate sites can cover the whole area, as the red points shown in Figure 6(c). Finally, we can obtain the placed sites of IoT devices, as shown in Figure 6(d).
In the following, we will evaluate how the network settings, the active time slots, and the size of the detection area affect the performance of the MAPSA.  Figure 7(a) shows that the total time consumption of used IoT devices increases with the increase of the active time slots of IoT devices when E i < ½ 400,500. This is because when E i < ½400,500, at least five IoT devices should be placed at each placement site to continuously observe the area T time and their total energy consumption increases with E i increasing. When E i > ½400,500, the total time consumption decreases with the increasing of E i , since as E i grows, the less devices are needed for working a certain time. Figure 7(b) shows that the number of used devices decreases with the increasing of E i for each device. We also find that the number of placed devices decreases as the size of area decreases.

Conclusion
In this paper, we investigate the problems minimum energy consumption of IoT devices for target coverage through placement and scheduling (MTPS) and minimum energy consumption of IoT devices for area coverage through placement and scheduling (MAPS), which focuses on finding the placement locations of IoT devices from candidate sites and scheduling them to cover all targets or the whole monitoring area such that all targets or the entire area are (or is) continuously observed for a certain period of time and the total energy consumption of the placed IoT devices is minimized.
We first propose the mathematical models for the proposed problems and prove that they are NP-hard. Then, we propose an approximation algorithm for each of them. Finally, extensive simulation results are shown to further verify the performance of the proposed algorithm.

Data Availability
The data used to support the findings of this study are included within the article.

Disclosure
A preliminary version of this paper appeared in the WASA 2021.

Conflicts of Interest
The authors declare that they have no conflicts of interest.