Abstract

The low-power wide-area network (LPWAN) technologies, such as LoRa, Sigfox, and NB-IoT, bring new renovation to the wireless communication between end devices in the Internet of things (IoT), which can provide larger coverage and support a large number of IoT devices to connect to the Internet with few gateways. Based on these technologies, we can directly deploy IoT devices on the candidate locations to cover targets or the detection area without considering multihop data transmission to the base station like the traditional wireless sensor networks. In this paper, we investigate 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). In the problems, we consider both the placement and scheduling of IoT devices to monitor all targets (or the whole detection area) such that all targets (or the whole area) are (or is) continuously observed for a certain period of time. The objectives of the problems are to minimize the total energy consumption of the IoT devices. We first, respectively, propose the mathematical models for the MTPS and MAPS problems and prove that they are NP-hard. Then, we study two subproblems of the MTPS problem, minimum location coverage (MLC), and minimum energy consumption scheduling deployment (MESD) and propose an approximation algorithm for each of them. Based on these two subproblems, we propose an approximation algorithm for the MTPS problem. After that, we investigate the minimum location area coverage (MLAC) problem and propose an algorithm for it. Based on the MLAC and MESD problems, we propose an approximation algorithm to solve the MAPS problem. Finally, extensive simulation results are given to further verify the performance of the proposed algorithms.

1. 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 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 targets (or the entire monitoring area) and 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(4)We illustrate the effectiveness of the proposed algorithms by theoretical analysis and simulations

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.

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 [1621].

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 IoT-based 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.

2.2. 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 [2326].

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 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 is the number of deployed sensors. In [24], Ding et al. first improved the algorithm for the MWSCP problem to , where . Then, they proposed an approximation algorithm with an approximate ratio of in the light of the MWSCP problem, where . 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.

2.3. 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 -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 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.

3. Model and Problem Definitions

In this sections, we introduce some parameters and problem definitions.

Let be represented as a two-dimensional plane area; the whole of which can be observed by IoT devices that work together. There are targets located on . Let represent the set of targets located on . 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 denote the set of candidate sites. Suppose that there exists available IoT devices that can be deployed in the candidate sites to monitor targets in or the whole detection area . We use to represent the set of IoT devices, in which each IoT device can be active continuously at most time slots. In this paper, we assume that each IoT device continuously works time slots once it starts working and , where is the minimum time that the targets (or the detection area) are (or is) continuously observed. For any pair of and (or and ), let (or ) denote the Euclidean distance between and (or and ).

In this paper, we aim to find a subset of IoT devices which are deployed on some candidate sites in to observe all targets in or the whole detection area and to minimize the total energy consumption of all IoT devices by scheduling IoT devices in such that all targets or the whole detection area can be continuously observed by IoT devices at least 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 of targets located on detection area , a set of IoT devices in which all IoT devices have the same coverage range and each IoT device can work time slots, a set of candidate sites to be put on IoT devices, a positive time , the minimum energy consumption of IoT devices for target coverage through placement and scheduling (MTPS) problem aims at finding a subset of IoT devices placed on the candidate sites in and scheduling the IoT devices in such that(1)For any candidate site , it can be placed in more than one IoT device from (2)For arbitrary target , it is continuously observed by IoT devices in at least time(3)For each IoT device , it continuously works in time slots once it starts working(4)The total energy consumption of IoT devices in , , is minimized

Definition 2 (MAPS). Given a detection area , a set of IoT devices in which all IoT devices have the same coverage range , and each IoT device can work time slots, a set of candidate sites to be put in IoT devices, a positive time , the minimum energy consumption of IoT devices for area coverage through placement and scheduling (MAPS) problem aims at finding a subset of IoT devices placed on the candidate sites in and scheduling the IoT devices in such that(1)For any candidate site , it can be placed in more than one IoT devices from (2)For arbitrary point , it is continuously observed by IoT devices in at least time(3)For each IoT device , it continuously works in time slots once it starts working(4)The total energy consumption of IoT devices in , , is minimized

4. 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:

is the index of IoT devices, where . is the index of targets, where . is the index of candidate sites, where . is the index of active time slots, where time is divided into time slots. We define the binary variables , , and as follows:

4.1. 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:

The function of equation (2) is to minimize the total energy consumption of IoT devices for continuous observing of all targets at least time. Constraint (3) ensures that for each target , there at least exists an IoT device located at some candidate site to cover at any th time slot. Constraint (4) guarantees that the IoT device located on will run out of energy as soon as it starts working. Constraints (5)–(7) define the domains of the variables.

4.2. Mathematical Formulation for the MAPS Problem

In this subsection, we will introduce the mathematical formulation for the MAPS problem. Let be the sensing region of sensor . We use to denote the area of . The problem can be formulated as follows:

The function of equation (8) is to minimize the total energy consumption of IoT devices for continuous observing of the whole detection area at least time. Constraint (9) ensures that for any point , there at least exists an IoT device located at some candidate site to cover at any th time slot. Constraint (10) guarantees that the IoT device located on will run out of energy as soon as it starts working. Constraints (11)–(12) define the domains of the variables.

4.3. 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 , , and for any IoT device . At this point, the objective of the MTPS problem can be transformed to find a subset of IoT devices with minimum cardinality such that all targets are covered. Since for any IoT device , 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 to looking for the minimum subset of candidate sites, where . 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 of targets, a set of candidate sites to be put in IoT devices, and all IoT devices have the same coverage range , the minimum point cover (MPC) problem is to find a subset of candidate sites such that all targets are covered by IoT devices located on the candidate sites in and the number of candidate sites is minimized.

In the MPC problem, for each candidate site , we use to denote the set of targets covered by where for each target , if and only if . Let . 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 of targets and a collection of sets, where each is a subset of , the set cover (SC) problem is to find a subset such that and is minimum.

Theorem 5. The MPC problem is NP-hard.

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 . 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.

Theorem 7. The MAPS problem is NP-hard.

Proof. Since the continuous region is made up of an infinite set of points, we can take any set of discrete points in 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.

5. 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 is continuously observed at 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 (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 of targets, a set of candidate sites to be put in IoT devices with coverage range , the minimum location coverage (MLC) problem is to find minimum subset of candidate sites such that all targets are within the coverage range of candidate sites in .

Definition 9 (MESD). Given a set of IoT devices in which each IoT device has active time , a set of sites to be put IoT devices, a positive time , the Minimum Energy consumption Scheduling Deployment (MESD) problem is to find a subset of IoT devices placed at the sites in and to schedule the IoT devices in such that(1)for any site , it can be placed more than one IoT device from (2)for arbitrary site , the IoT devices located at can cumulatively work at least time(3)for each IoT device , it continuous works time once it starts working, and(4)the total energy consumption of IoT devices in , , is minimized

Input: , , ;
Output: ;
1: Sets of , for any ;
2: for arbitrary do
3:  for any do
4:   ifthen
5:    ;
6:   end
7:  end
8: end
9: while do
10:  Pick ;
11:  , , ;
12:  for any do
13:   ;
14:  end
15: end
16: ifthen
17: There is no solution for the MLC problem;
18: end
5.1. Algorithm for the MLC Problem

In this subsection, we propose a greedy algorithm, called MLCA, to solve the MLC problem. Let denote the set of targets within the coverage range of . The MLCA algorithm consists of two steps. Firstly, for arbitrary , we compute its coverage set . For any , if , then, . Secondly, we repeat the following steps until one of the conditions and is satisfied.(i)Select with the maximum from (ii)Execute the operations , and (iii)For arbitrary , update its coverage set by deleting targets in from

After executing the above algorithm, we can obtain a set of candidate sites, which can cover all targets in . The pseudocode of the algorithm is shown in Algorithm 1. Then, we will analyze the performance of the MLCA algorithm.

Theorem 10. Suppose that 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 , where is the number of targets.

Proof. According to the MLCA algorithm, we can observe that the while loop terminates after at most steps, since in each iteration of the while loop, there is at least one target that is covered by the candidate site . Let denote the number of targets that are still not covered at iteration of the while loop. In each iteration , we can use all candidate sites in the optimal solution to cover all targets in . Therefore, there must exist a candidate site in that covers at least targets, which means at least targets are covered in every iteration. In other words, we can obtain after iteration ; there are left at most targets that have not been covered by candidate sites, that is,where the last equality depends on the fact that , since all tragets are not covered by candidate sites before the first iteration of the while loop. Notice that there exists such that after executing iterations of the while loop, . Based on the fact that for any , we haveBased on inequations (13) and (14), we can obtainTherefore, we can obtain that after iterations, the remaining number of targets in is smaller or equal to 1. Thus, the algorithm will terminate after at most iterations, which can obtain , since and only one candidate site is added into in each iteration based on the algorithm MLCA.

Theorem 11. The time complexity of the MLCA algorithm is where and are the number of targets and the number of candidate sites, respectively.

Proof. The MLCA algorithm consists of two phases. Firstly, the algorithm needs iterations to compute the corresponding coverage sets for all candidate sites in , as shown in the first while loop. In each iteration, since the number of targets is less than or equal to , at most steps are needed to determine which coverage set targets belong to. Therefore, we need at most steps to compute the coverage sets for all candidate sites in . Secondly, at most iterations are needed in the while loop. In each iteration, we need to pick the candidate site with the maximum for executing steps since . Then, we update all coverage sets of candidate sites with steps. Therefore, we need at most steps in the second while loop.
Consequently, the time complexity of the MLCA algorithm is .

5.2. 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 , we use to denote the set of IoT devices placed at location and let . Let represent the total energy consumption of the IoT devices in .

The MESDA consists of two phases. The first phase is to find a subset of IoT devices from for any such that . The second phase is to optimize by replacing the high-energy-consuming IoT devices in with low-energy-consuming ones from the remaining IoT devices in for any . Afterwards, we compute , , and . The detailed description of the algorithm is shown as follows.

Initially, we set , , , , and for each . The first phase of the MESD algorithm repeats the following four steps until the conditions and are satisfied.(i)Select with the maximum from , where if there exists two IoT devices such that , then, their maximum ID is selected(ii)Pick with the minimum for any , where if there exist and such that , then, their minimum ID is selected(iii)Add into , and . Then, (iv)Compare with . If , then,

After executing the first phase of the algorithm, we can obtain a set of IoT devices for any , where the total working time of IoT devices is greater than or equal to . In the following, for any , we optimize by replacing the high-energy-consuming IoT devices in with low-energy-consuming ones in .

The second phase of the algorithm repeats the following steps until .(i)Select with the maximum from (ii)Compute a such that (iii)Compare with . If , then, is deleted from , otherwise, , and is removed from

After executing the second phase of the algorithm, we can obtain a set of IoT devices located on each and the total energy consumption of IoT devices in such that all targets covered by site are continuously observed at least time. Finally, we can obtain , and . The pseudocode of the algorithm is shown in Algorithm 2.

Input: , for each , , ;
Output: , , ;
1: Sets of , , and for each ;
2: while do
3:  Pick ;
4:  Pick ;
5:  , , ;
6:  ifthen
7:   ;
8:  end
9: end
10: whiledo
11:  Pick ;
12:  Select such that ;
13:  ifthen
14:   ;
15:  else
16:   , , ;
17:  end
18: end
19:, , ;

We use to represent the optimal set of IoT devices placed at sites in for the MESD problem. Let denote the total energy consumption of IoT devices in . Without loss of generality, we use to be the optimal set of IoT devices placed at when has been confirmed. Let represent the total energy consumption of IoT devices in .

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 for any and .
For any , we let , where is obtained by the MESDA algorithm. We analyze the performance of the algorithm in the light of the following two cases.(1). Then, we can obtain that for any , . Based on the algorithm, the last IoT device added into makes be greater than or equal to , which means (2). If there exists such that , then based on the algorithm, we can obtain and . Otherwise, we can derive From what have been discussed, we can obtain . Therefore, we have , which means that the approximation ratio of the MESDA algorithm is 2.

Theorem 13. The time complexity of the MESDA algorithm is , where and are the number of IoT devices and the number of sites, respectively.

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 iterations, since . In each iteration, at most steps are needed to select the IoT device with the maximum energy and steps are required to compute the site with the minimum total energy consumption of IoT devices located on . The other operations in the iteration can be executed in constant time. Therefore, the first while loop runs at most time. The second while loop runs iterations. In each iteration, the algorithm runs at most steps to select the IoT device with the maximum energy. Then, it calculates the total energy consumption with at most running time by replacing each IoT device that has been deployed on site in with and selects with the minimum among all IoT devices except IoT devices in . 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 .
Consequently, we can obtain that the time complexity of the MESDA algorithm is .

5.3. 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.

Input: , for each , , , ;
Output: , , ;
Step 1: Compute the set of candidate sites to cover all targets in by executing Algorithm 1;
Step 2: Compute , , based on by executing Algorithm 2,
where ;

Suppose that is an optimal subset of for the MTPS problem. Let be the total energy consumption of IoT devices in . Since each needs to be continuously observed at least time, we divide into equal time slots. We use to represent the minimum energy consumption of all active IoT devices for the MTPS problem such that all targets are covered at the th time slot, and let denote the set of candidate sites placed in the active IoT devices in the th time slot.

Lemma 14. For any , we have , where 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 for any , which means that there exists a subset that can cover all targets for the arbitrary th time slot. Thus, based on the definitions of MTPS problem and MLC problem, we can obtain that for any such subset , it is a feasible solution for the MLC problem. Therefore, we have , since is a feasible solution for the MLC problem. Therefore, we can derive since .

Lemma 15. We can obtain .

Proof. According to Lemma 14, we can obtain for arbitrary . Based on the definition of the MTPS problem, we have .

Theorem 16. The performance ratio of the MTPSA algorithm is , where is the number of targets.

Proof. According to the MTPSA algorithm, we have , where is the total energy consumption of IoT devices obtained by the MTPSA algorithm and is the energy consumption of IoT devices located on . On the basis of Theorems 10 and 12, we can derive and for any . Based on Lemma 15, we can obtainThe theorem has been proved.

Theorem 17. The time complexity of the MTPSA algorithm is , where is the number of available IoT devices in , denotes the number of targets in , and represents the number of candidate sites in .

Proof. Based on Theorems 11 and 13, we can obtain that the time complexity of the MTPSA algorithm is , since .

6. 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 continuously observed 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 to denote the coverage region of when the coverage range of IoT devices put on is , that is, for any point , . Let be the border of .

Definition 18 (MLAC). Given a detection area , a set of candidate sites, , the minimum location area coverage (MLAC) problem is to find a minimum subset of candidate sites such that .

In the following, we first introduce the definition of the Voronoi diagram of candidate sites on , 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 can be defined as the subdivision of the detection area into cells as shown in [31]. Any point , in the cell corresponding to a candidate site , is closer to than to any other candidate site in . Formally, the Voronoi cell corresponding to 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 to denote the Voronoi diagram of candidate sites in , where represents the set of Voronoi vertices and 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:

Definition 19 (neighbor Voronoi diagram). The Neighbor Voronoi diagram of a candidate site is the Voronoi diagram of the Voronoi neighbors of when is excluded, where we call a site a Voronoi neighbor of if their cells share an edge.

Definition 20 (redundant candidate site). A candidate site is said to be a redundant candidate site if .

Definition 21 (neighbor Voronoi vertices). The neighbor Voronoi vertices of a candidate site are the Voronoi vertices of the neighbor Voronoi diagram of Voronoi neighbors of .

Definition 22 (neighbor Voronoi intersection vertices). Neighbor Voronoi intersection vertices of are the intersections between edges of the neighbor Voronoi diagram and the circumcircle of .

We use to represent the set of all cells for . Let be the set of Voronoi neighbors of . We use to represent the neighbor Voronoi diagram of Voronoi neighbors of , where denotes the set of the neighbor Voronoi vertices and represents the set of the Voronoi edge of . We use to be the set of the neighbor Voronoi intersection vertices of .

Based on Theorem 10 in the work [31], we can obtain the following lemma.

Lemma 23. A candidate site is a redundant candidate site if and only if all the neighbor Voronoi vertices and neighbor Voronoi intersection vertices of are covered by the Voronoi neighbors of .

In the following, we will introduce the detailed description of the MLACA algorithm.

Initially, we set , , , and for any . The execution of the algorithm consists of three steps as follows.

Firstly, we compute the Voronoi diagram and of candidate sites in by using the algorithm in [32].

Secondly, we delete all redundant candidate sites from . For any , we compute the set based on and . Then, we construct the Voronoi diagram on by using the algorithm in [32]. Next, we compute the set based on . Afterwards, we judge whether or not all points in and are covered by coverage regions of all Voronoi neighbors. If yes, we delete from and update the Voronoi diagram of candidate sites in new by using the algorithm in [32].

Finally, the algorithm returns .

The pseudocode of the algorithm is shown in Algorithm 4.

Input: The dimensions of , the coverage range , ;
Output: ;
1: Sets of , , , for any ;
2: Compute the Voronoi diagram and of candidate sites on by using algorithm in [32];
3: for any do
4:  Compute based on and ;
5:  Construct on by using algorithm in [32];
6:  Compute based on ;
7:  ifthen
8:   ;
9:   Compute the Voronoi diagram of candidate sites in by using algorithm in [32];
10: end
11: end for

Theorem 24. The time complexity of the MLACA algorithm is where represents the number of candidate sites in .

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 with time by using the algorithm in [32]. Secondly, we need at most iterations in the for loop since . In each iteration, we first need at most times to compute the set of Voronoi neighbors of . Then, we need at most time to compute the neighbor Voronoi diagram on . Next, we need at most times to compute . We need at most another time to update the Voronoi diagram by using the algorithm in [32] when is a redundant candidate site. Therefore, we need at most time for the for loop since .
From what has been discussed, we can verify that the time complexity of the MLACA algorithm is .

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 of candidate sites by using Algorithm 4 such that the whole area is covered by the coverage region of candidate sites in . The second phase is to find a subset of IoT devices placed at the sites in by executing Algorithm 2 such that for any point , it is observed by IoT devices in at least time. The detailed illustration of the algorithm is shown in Algorithm 5.

Input: , for each , , , ;
Output: , ;
Step 1: Compute the set of candidate sites to cover the whole area by executing Algorithm 4;
Step 2: Compute , based on by executing Algorithm 2,
where ;

Theorem 25. The time complexity of the MAPSA algorithm is , where is the number of available IoT devices in , and represents the number of candidate sites in .

Proof. Based on Theorems 13 and 24, we can verify that the time complexity of the MAPSA algorithm is .

7. Simulations

In this section, we evaluate the average performance of the approximation algorithms MTPSA and MAPSA depending on simulations with several critical performance metrics under different configurations. The code of the algorithms is implemented using MATLAB 2016a. For every group of parameter settings, we create 100 instances, execute the simulations, and obtain the average results.

7.1. Simulations for the MTPSA Algorithm

In order to ensure that all targets can be covered by candidate sites, we use a grid to cover the detection area where the distance between neighbor grid points is except for all grids in the boundary of the area. As an instance shown in Figure 2(a), all targets are randomly deployed on a 2000 m  m detection area and the grid points as the candidate sites are located on the area, where we set 1000, 2000, and m; pick the active time slots of each IoT devices from range [100, 200]. After executing the algorithm MTPSA for the instance, we can verify that the number of the placed sites of IoT devices is 42, as the green nodes shown in Figure 2(b); the number of IoT devices placed at the sites is 252 and the total time consumption of all used IoT devices is .

In the following, we will evaluate how the network settings, such as the number of targets , the certain period of time , the active time slots for each IoT device , the coverage range and the size of the detection area, affect the performance of the MTPSA algorithm.

Firstly, we evaluate how the number of targets and the coverage range affect the performance of the MTPSA algorithm when we set and ; use the interval [200, 300] to pick a uniformly distributed random active time slots for each IoT device ; change to 100, 120, 140, 160, and 180 m; and vary from 100 to 700 in the 2000 m  m detection area, as shown in Figure 3. It is observed that the total time consumption of IoT devices increases with the increasing of , as shown in Figure 3(a). This is because the number of IoT devices that are placed at candidate sites increases as 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 since the less candidate sites are used to place IoT devices as grows, which leads to a decline in the number of IoT devices being used, as shown in Figure 3(b).

Figure 4 illustrates the impact of the certain period of time and the number of targets on the performace of the MTPSA algorithm when we set ; pick the active time slots of each IoT device from [200, 300], 100 m, =100, 200, 300, 400, and 500; and change from 800 to 2000 in the 2000 m m detection area. Figure 4(a) shows that the total time consumption of used IoT devices is becoming larger with increasing , since more IoT devices are needed to be placed on candidate sites for continuously observing targets as 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 . 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 grows since each IoT device continuously works time slots once it starts working.

Figure 5 evaluates the impact of the active time slots of IoT devices and the size of the detection area on the performance of the MTPSA algorithm when we set , 200 m,  = 600, and  = 2000; deploy targets in the monitoring area 1500 m  1500 m, 2000 m  2000 m, 2500 m 2500 m, 3000 m  3000 m, and 3500 m  3500 m; and assign the active time slots of each IoT device from [100, 200], [200, 300], [300, 400], [400, 500], [500, 600], [600, 700], and [700, 800], respectively. Figure 5(a) shows that the total time consumption of used IoT devices levels off when with increasing of the active time slots of IoT devices and increases as the size of the monitoring area increases. This is because when , at least three IoT devices should be placed at each placement site to continuously observe target time, which is obviously greater than .

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  m monitoring area, 100 candidate sites are located on the area and we set  = 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 , as shown in Figure 6(b). Secondly, we find all redundant candidate sites from 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 evaluates the impact of the active time slots of IoT devices and the size of the detection area on the performance of the MAPSA algorithm when we set ,  200 m, and  = 2000; deploy targets in the monitoring area 1500 m  1500 m, 2000 m  2000 m, 2500 m  2500 m, 3000 m  3000 m, and 3500 m  3500 m; and assign the active time slots of each IoT device from [100, 200], [200, 300], [300, 400], [400, 500], [500, 600], [600, 700], and [700, 800], respectively. 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 . This is because when , at least five IoT devices should be placed at each placement site to continuously observe the area time and their total energy consumption increases with increasing. When , the total time consumption decreases with the increasing of , since as 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 for each device. We also find that the number of placed devices decreases as the size of area decreases.

8. 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.

Acknowledgments

This work was supported in part by the Fundamental Research Funds for the Central Universities under grants 2021ZY88 and BLX201921 and also supported by the National Natural Science Foundation of China under Grant 62002022.