Next Article in Journal
Enhance the Concrete Crack Classification Based on a Novel Multi-Stage YOLOV10-ViT Framework
Previous Article in Journal
Corrosion Monitoring in Automotive Lap Joints Based on Imaging Methods of Lamb Waves
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Combined Barrier–Target Coverage for Directional Sensor Network

1
TECHTRA Technology Transfer Institute, 1113 Budapest, Hungary
2
Széchenyi István University, 9026 Győr, Hungary
*
Author to whom correspondence should be addressed.
Submission received: 4 November 2024 / Revised: 8 December 2024 / Accepted: 16 December 2024 / Published: 18 December 2024
(This article belongs to the Section Intelligent Sensors)

Abstract

:
Over the past twenty years, camera networks have become increasingly popular. In response to various demands imposed on these networks, several coverage models have been developed in the scientific literature, such as area, trap, barrier, and target coverage. In this paper, a new type of coverage task, the Maximum Target Coverage with k-Barrier Coverage (MTCBC-k) problem, is defined. Here, the goal is to cover as many moving targets as possible from time step to time step while continuously maintaining k-barrier coverage over the region of interest (ROI). This approach is different from independently solving the two tasks and then merging the results. An Integer Linear Programming (ILP) formulation for the MTCBC-k problem is presented. Additionally, two types of camera clustering methods have been developed. This approach allows for solving smaller ILPs within clusters, and combining their solutions. Furthermore, a polynomial-time greedy algorithm has been introduced as an alternative to solve the MTCBC-k problem. An example was also provided of how the aforementioned methods can be modified to handle a more realistic scenario, where only the targets detected by the cameras are known, rather than all the targets within the ROI. The simulations were run with both dense and sparse camera placements, convincingly supporting the usefulness of the clustering and greedy methods.

1. Introduction

In the last two decades, camera networks, where separate cameras can operate autonomously and collaboratively, have become increasingly popular. For instance, such networks are used to monitor and manage traffic flow in urban areas, helping to reduce congestion and improve road safety. Farmers employ them to monitor crop health, detect pests, and manage irrigation systems more efficiently. They are also integral to smart city initiatives, providing data for public safety, environmental monitoring, and efficient resource management. Additionally, intruder detection is one of the most important applications of these systems, aiming to detect any trespasser attempting to penetrate the region of interest (ROI), such as national borders or critical infrastructure.
The different application fields may pose different requirements on camera networks. In certain situations, it is important to keep an eye on every point of the monitored area by one or more sensors. This is referred to as full area coverage in the related scientific literature [1]. However, achieving this may require significant resources, and in many cases, it is sufficient for the system to meet less strict conditions. For example, a network with trap coverage ensures that any moving object can travel only a limited (known) distance before it is detected by a camera. In other words, at any given moment, one can either accurately determine the exact location of a moving object or identify a coverage hole with a known diameter where it is confined [2]. Another variant of the coverage problem is k-barrier coverage. Here, the network must be deployed in such a way that any intruder or moving object crossing the ROI will inevitably pass through the field of view of k different cameras [3]. Possibly, the simplest version of the coverage-related problems is target coverage, where the objective is the continuous observation of static or moving objects [1]. In some cases, the targets may have different priorities [4].
In this paper, networks composed of Pan–Tilt–Zoom (PTZ) cameras are examined. In short, such cameras are equipped with motorized mechanisms that allow them to rotate horizontally and vertically and zoom in or out. The cameras are modeled as directional sensors, meaning their sensing region is represented as a sector of a circle, unlike the isotropic sensor model, which represents the sensing region as an entire circle. In practice, a PTZ camera is capable of sweeping all the sensing orientations continuously; however, the simplifying assumption is often made in scientific works that a camera can only take on a finite set of sensing directions [5]. This is also the case in this paper. The goal is to solve a combination of the barrier and target coverage tasks. This combination is inspired by the dilemma of wanting to simultaneously track the paths of already detected moving objects while not missing newly arriving ones. At national borders, a possible strategy for intruders is for one group to intentionally distract the cameras, allowing another group to slip through the temporarily unmonitored corridor unnoticed. An effective solution to the combined barrier–target coverage problem would, in addition to its other obvious advantages, also provide protection against such strategies.
Further clarifying the task to be solved, it is assumed that the barrier to be monitored is an open belt, i.e, it can be represented as an elongated rectangle [3]. The positions of the cameras are supposed to be given. The deployment can be random, as well as the result of applying a certain strategy. Camera networks often function as part of larger, heterogeneous sensor networks [6]. As a result, in addition to the cameras, the positions of moving objects are determined step-by-step with the help of other sensors. From the perspective of the task being examined, this is the ideal scenario. However, the simulations also modeled the case where cameras do not receive any additional information about the objects to be observed beyond their own detections. In the scientific literature, two types of barrier coverage are considered: strong and weak [7]. The focus here is on the strong type. In this case, regardless of how a moving object crosses the ROI, it cannot avoid detection. A brief description of weak barrier coverage is included in the Related Works section (Section 2).
When tracking a moving object, at every moment, essentially a target coverage task needs to be solved; i.e., the number of covered targets should be maximized. Meanwhile, for a predetermined k, k-barrier coverage must also be continuously maintained. This setup differs from solving the two tasks separately and somehow merging the results. Generally, more than one camera configuration may exist that ensures k-barrier coverage. The challenge is to find, at each time step, the optimal configuration where, on one hand, the cameras providing barrier coverage can simultaneously assist in covering targets, and on the other hand, the remaining cameras cover the remaining targets as efficiently as possible.
The contributions of this paper are as follows.
(i)
A new type of coverage problem, the Maximum Target Coverage with k-Barrier Coverage (MTCBC-k) problem, is defined. The corresponding Integer Linear Programming (ILP) formulation is also presented. To the best of our knowledge, we are the first to examine this question.
(ii)
A new ILP formulation for the maximum coverage problem has been provided, which is significantly different from the ones given in [8,9,10]. This formulation can be easily integrated with the part of the ILP of the MTCBC-k problem responsible for ensuring k-barrier coverage. Additionally, (a) the resulting ILP also allows for certain optimizations regarding the cameras. Examples of these optimizations include the number of cameras and the cost of their usage. (b) Furthermore, the relative importance of the targets can also be specified using the cost associated with them. (c) Finally, an upper limit can be set for the number of cameras that can be used for solving the task.
(iii)
While the ILP formulation offers an optimal solution for the MTCBC-k problem, it does not scale well for large problem instances. To mitigate this difficulty, two types of camera clustering methods, horizontal and vertical, have been developed. In horizontal clustering, the clusters are formed along the possible barriers. Thus, for each cluster, the corresponding instance of the MTCBC-1 problem must be solved. The solution to the original MTCBC-k problem is given by the union of the solutions obtained from the clusters. In vertical clustering, the open belt itself is divided into sections in such a way that for each cluster, a restricted version of the original MTCBC-k problem must be solved. It is important to ensure that the chosen sectors at the cluster boundaries are directed in such a way that the complete solution provides k-barrier coverage across the entire open belt.
In addition, a polynomial-time greedy algorithm has also been introduced, consisting of two greedy subroutines. The first ensures barrier coverage. In general, it can only guarantee one-barrier coverage, but in practice, as the experiments showed, this value is often higher than one and closer to k. The second is responsible for target coverage and was presented in [10].
An example was also provided of how the aforementioned methods can be modified to handle a more realistic scenario, where only the targets detected by the cameras are known, rather than all the targets within the ROI. The simulations were run with both dense and sparse camera placements, convincingly supporting the usefulness of the clustering and greedy methods.
The rest of the paper is organized as follows. The related literature is presented in Section 2. In Section 3, the directional sensor model and the maximum flow problem are explained. The latter is used in the ILP formulation of the MTCBC-k problem. In Section 4, the MTC and MTCBC-k problems are defined. The corresponding ILP formulations are given in Section 5. The clustering and the greedy algorithms are explained in Section 6. In Section 7, the experiments are presented. Finally, in Section 8, the conclusions are drawn.

2. Related Work

One of the seminal papers that examined the question of target coverage for directional sensor networks is [8]. In this paper, the Maximum Target Coverage with Minimum Sensors (MCMS) problem was defined and shown to be NP-complete. The authors provided an ILP formulation of the task and developed centralized and greedy algorithms offering approximate solutions.
In [9], it has been proven that the Maximum Target Coverage (MTC) problem is already NP-complete in the case of directional sensors without requiring the minimality of the number of the involved sensors. This is the version of the task that is addressed in this paper. It was referred to as the directional cover set (DCS) problem in [9]. As a matter of fact, the focus of the authors of [9] was not on this question, but on an extended variant of it—the multiple directional cover sets (MDCS) problem, where they aimed to identify several possible coverings in order to be able to switch between them and thus extend the lifetime of the network.
The idea of forming clusters of sensors to more effectively solve the MCMS problem was introduced in [10]. The authors also presented a different ILP formulation of the task and offered a slightly improved centralized greedy algorithm. This is used as a subroutine in the greedy algorithm described in this paper.
In [11], a more complex form of the clustering task was examined, where the sensors within a cluster could communicate with each other, as well as sensors from different clusters. To represent message sending and receiving, the directed communication model was used, where only those neighboring sensors that lie within a specified sector could receive a message of a sensor. At first glance, it may seem that the question examined in our paper is similar to the one addressed in [11]. To ensure that each message reaches every sector, a chain needed to be formed from the communication sectors where every sector falls within a communication sector of at least one other sector. This might appear similar to the one-barrier coverage task, where a chain of the detection sectors of the sensors that runs through the observed area must be created. In addition to forming these sector chains, the maximum target coverage problem needs to be solved in both cases. In reality, however, there are several important differences between the two tasks. The most significant of these is that the communication sectors are independent of the detection sectors, thus having no impact on how the maximum target coverage problem is solved, whereas in the combined solution of barrier and target coverage tasks, a detection sector that plays a role in barrier coverage can also be crucial for target coverage. In other words, if the positions of the targets change, it has no effect on the chain formed by the communication sectors, while the chain providing barrier coverage can significantly transform. The authors of [4] present one of the earliest papers where targets were distinguished based on their importance. A higher-priority target must be monitored by multiple sensors. However, the efficiency of detection is also influenced by the distance between the target and the sensors. For example, it may be sufficient to use two sensors for a nearby target, but if the sensors are distant, three might be needed. The just described priority-based target coverage problem has gained popularity and further been examined in subsequent papers like [12]. The type of prioritization among targets enabled by the ILP formulated in our paper is different and less sophisticated compared to that introduced in [4].
Regarding the question examined, a somewhat related work to ours is [13]. Here, the goal was to cover as many moving targets as possible at each time step, and reinforcement learning was utilized to learn the optimal strategy. The effectiveness of the resulting solution was compared, among other methods, with the algorithm solving the appropriate instance of the MCMS problem at each time step.
In the context of sensor networks, the barrier coverage problem was introduced in [3]. The authors based their work on the isotropic sensor model; however, many of their results also remain valid for the directional sensor model. They distinguished weak barrier coverage from strong barrier coverage. In the latter case, regardless of how a moving object crosses the ROI, it cannot avoid detection, while in the former case, there is a given path through the ROI, and detection is only guaranteed if the object chooses a path that is congruent with this path. Two paths are congruent if one can be transformed into the other through translation and orientation.
In [14], an ILP was presented that, for given static directional sensors, determines the level of barrier coverage that the network can provide. This ILP is very similar to the part of the ILP solving the MTCBC-k problem which ensures k-barrier coverage. It is also based on the maximum flow problem over a network graph created from the coverage graph of the sectors of the sensor network. Its definition is reproduced in Section 5.3, since it is used to evaluate the efficiency of the greedy subroutine providing barrier coverage. The authors also developed polynomial-time approximating solutions to the k-barrier coverage problem. One of them, again, is similar to the greedy subroutine just mentioned. The main difference is that their algorithm is stochastic, while the greedy subroutine is deterministic.
In [15], the same question was addressed as in [14]; however, here it was assumed that the directional sensor can sweep all the directions along its circle, whereas in the previous work, the number of available directions was finite, just as it is in our work. The authors developed a polynomial algorithm to determine whether the given sensor network can provide one-barrier coverage. An energy-efficient solution was also presented that approximately minimized (1) the total and (2) the maximum rotation angles while rotating the cameras to ensure barrier coverage.
Finally, in [16], a new type of coverage problem called the target-barrier coverage problem was defined. Although the name of the problem includes both the terms barrier and target, it addresses a question entirely different from the one examined in our paper. Specifically, a target barrier is a continuous circular barrier formed around the target. It has a d b o u n d parameter that defines the minimum distance of the constructed barrier from the target. The authors focused on how to minimize the number of members required to construct target barriers in a distributed manner while satisfying the d b o u n d constraint and minimizing the amount of message exchange required. The target-barrier coverage problem is still an actively researched question. One of the most recent papers written on the topic is [17].
In summary, the MTCBC-k problem introduced in this paper differs from all the presented works. While it draws ideas from them, it addresses a new type of coverage problem that, to the best of our knowledge, has not been researched before.

3. Preliminaries

In order to work in a formal context with PTZ cameras, an appropriate model needs to be introduced. This is accomplished in Section 3.1. There and in what follows, PTZ cameras will be referred to as sensors.
To ensure k-barrier coverage, a special instance of the maximum flow problem needs to be solved. To be able to refer to the relevant concepts precisely, the definition of the problem is included in Section 3.2.

3.1. Directional Sensor Model

Unlike isotropic sensors, a directional sensor generally has an angle of view less than 360 degrees, so it cannot sense the entire circular area around itself. In a two-dimensional plane its sensing region can be viewed as a sector. Such a sector of sensor S can be characterized by a quadruple ( p , o , θ , d ) . Here, p is the location of S given in Cartesian coordinates ( x , y ) , while o and θ denote the orientation and angle of view of S, respectively. Finally, d specifies the maximum detection distance. See Figure 1a for further details.
To be able to solve the coverage and tracking problems effectively, it is assumed that a directional sensor can only take a finite set of orientations. To simplify the notation and facilitate further explanations, it is supposed that all sectors have the same angle of view and maximum detection distance, and the orientations divide the 360 degrees into equal parts. However, this is not necessary, as the algorithms to be presented work the same way even when these assumptions do not hold. For instance, during the simulations, triangles were used to represent sectors, and the individual sectors could overlap with each other (Figure 1b).
To determine when sensor S detects a target, the Target in Sector (TIS) test is used [1]. Informally, this test requires that the target must fall within the detection range of S, and it must also lie within the field of view of S based on its current orientation. In other words, this means that in the two-dimensional plane the position of the target must be inside or on the edge of the currently active sector of S. Formally:
v 2 d and o 1 T v v 2 cos θ 2 .
Here, v is the vector pointing from the location of S to the target, v 2 denotes the length of v in the Euclidean space, o 1 is the unit vector with the same direction as the orientation of S, while d and θ stand for the maximum detection range and angle of view as before.
Definition 1. 
For a given sensor S, sector s e of S and target t, s e covers t, if Equation (1) holds for s e and t. S covers t if at least one of its sectors covers t.

3.2. Maximum Flow Problem

Let N = ( V , E ) be a network with two distinguished vertices s , t V being the source and the sink, respectively. Denote by c a p : E R 0 the capacity function that determines the maximum amount of flow that can pass through an edge. A flow is a map f : E R 0 that satisfies two properties:
  • Capacity constraints: ( u , v ) E , f ( u , v ) c a p ( u , v ) ;
  • Conservation of flows: v V { s , t } , ( u , v ) E f ( u , v ) = ( v , w ) E f ( v , w ) . In other words, the sum of the flows entering a vertex must equal the sum of the flows exiting the same vertex, except for the source and the sink.
The value of a flow is defined to be the sum of the flows given on the edges originating from the source, ( s , v ) E f ( s , v ) . The task is to find the flow with the maximum value.

4. Problem Statement

4.1. The MTC Problem

Let S = { S 1 , , S n } be the set of sensors. Denote by s e 1 i , , s e r i the sectors belonging to S i . Obviously, a sensor cannot look in two directions at the same time. The next definition formalizes this phenomenon.
Definition 2. 
With the above notations, PSS = { s e j 1 i 1 , , s e j k i k } is a permissible sector selection if there are no two sectors in PSS that belong to the same sensor.
Let T = { t 1 , , t m } be the set of targets. Denote ϕ j i the subset of those targets that are covered by sector s e j i .
Definition 3. 
With the above notations, in the Maximum Target Coverage (MTC) problem, one must find the permissible sector selection coverage PSS = { s e j 1 i 1 , , s e j k i k } for which the cardinality of s = 1 k ϕ j s i s is maximal. In other words, the permissible sector selection covering the maximum number of targets is to be found.

4.2. The MTCBC-k Problem

First, the barrier coverage problem is defined. Here, an elongated rectangle, referred to as open belt [3], is considered where the horizontal sides are substantially longer than the vertical ones. A crossing path is defined as a path that traverses the belt from one horizontal side to the other. The idea is to place the sensors and select the active sectors in such a way that, no matter which way an object moves, it cannot avoid being detected when crossing this belt. Informally, in case of k-barrier coverage, it is guaranteed that this object is detected by k different sensors.
Let S = { S 1 , , S n } be the sensors deployed on an open belt and let PSS = { s e j 1 i 1 , , s e j r i r } be a permissible sector selection. Let T denote the set of targets, consisting of both static and moving objects.
Definition 4. 
With this notation, a path l crossing the open belt is said to be k-covered (by PSS ) if for k different sectors in PSS , s e j s i s , l s e j s i s . The open belt is k-barrier covered (by PSS ) if all crossing paths are k-covered (by PSS ) [3].
Definition 5. 
In the Maximum Target Coverage with k-Barrier Coverage (MTCBC-k) problem, one must find the permissible sector selection coverage PSS that provides k-barrier coverage on the open belt. In addition, among the permissible sector selections that guarantee k-barrier coverage, PSS must be the one covering the maximum number of targets.
To be able to solve the MTCBC-k problem, it is worthwhile to understand the graph-based characterization of k-barrier coverage. For a given open belt, deployed sensors, and permissible sector selection PSS , a coverage graph  C G PSS can be defined. The vertices of C G PSS represent the sectors, plus two extra vertices, s and t, stand for the left and right boundaries of the belt, respectively. Two sector vertices are connected with an undirected edge if their intersection is not empty. s (or t) is connected with a sector vertex if the sector intersects the left (or the right) boundary. An example can be found in Figure 2. Exactly the same way as in [3], the following theorem can be proven.
Theorem 1. 
An open belt with a sensor network is k-barrier covered by permissible sector selection PSS if and only if there exist k vertex-disjoint paths from s to t in C G PSS .

5. ILP Formulations

5.1. The MTC Problem

In this section, the ILP, I L P M T C , which solves the MTC problem, is formulated. When tracking moving objects, I L P M T C should be updated and computed at each time step.
As before, let S = { S 1 , , S n } be the sensor network deployed on the open belt. Let T = { t 1 , , t m } be the set of targets. In addition to the actual sectors of the sensors, to each target a dummy sector is assigned. This sector covers only the given target and does not belong to any sensor. (Alternatively, it can also be said that each dummy sector belongs to a new sensor that only has this sector, or the rest of its sectors do not cover any targets.) The role of the dummy sectors will become apparent soon. If  n s e denotes the number of the real sectors, then the total number of sectors is n s e + m , where m is the number of targets.
The elements of the variable vector x of I L P M T C will represent whether a sector is selected to be active or not; hence, they can take 0 or 1 values. It is assumed that the last m elements of x correspond to the dummy sectors.
The cost vector, c MTC , is defined as follows:
c MTC [ i ] = 0 if i n s e 1 otherwise .
In other words, the  i t h element of c MTC is 0 if it represents a real sector and 1 otherwise. The aim is to minimize c MTC x , where c MTC x is the dot product of c MTC and x . Obviously, c MTC x is minimized if as few dummy sectors as possible are used to cover the targets.
As constraints of I L P M T C , two requirements need to be expressed. Firstly, it needs to be guaranteed that each solution encodes a permissible sector selection. Secondly, this permissible sector selection must cover all targets. Note that dummy sectors were introduced specifically to ensure the existence of such permissible sector selections since, clearly, a permissible sector selection containing all dummy sectors always covers all targets.
Formally, I L P M T C is:
min c MTC x , subject to :
j n s e + m a i j x j 1 , i = 1 n ,
j n s e + m b k j x j 1 , k = 1 m .
Here,
a i j = 1 if the j th sec tor belongs to the i th sensor 0 otherwise .
Basically, the  a i j elements together form the incidence matrix of the sensors and their sectors. Note that if the j t h element of x , x j represents a dummy sector, then a i j is 0 for all sectors, i.e., for all i.
On the other hand,
b k j = 1 if the k th target is covered by the j th sec tor 0 otherwise .
The b k j elements together constitute the incidence matrix between the targets and the sectors.
It is easy to see that if Inequality (2) is satisfied, then x encodes a permissible sector selection. Meanwhile, Inequality (3) guarantees that each target is covered by at least one sector. Furthermore, the minimality condition ensures that among the permissible selections that provide a complete coverage, the ILP solutions will be those where the number of dummy sectors used is minimal, or to put it differently, the number of targets covered by real sectors is maximal. All together, this shows that a solution of I L P M T C encodes a solution to the MTC problem.

Further Considerations

Optionally, the number of usable sensors can also be limited. Simply add inequality
j n s e + m j x j r
to the constraints of I L P M T C . Here,
j = 1 , if j n s e and 0 otherwise .
Evidently, if  x is a solution to this extended version of I L P M T C , then the encoded permissible sector selections at most r sectors, and consequently r sensors, are used.
Note also that the first n s e elements of c M T C are 0, which means additional costs can be introduced for the real sectors. For example, if all these elements are set to 1 and the cost of using a dummy sector is higher than the number of the real sectors, then a solution to this modified ILP also minimizes the number of employed sensors. Alternatively, the sum of the angles of rotation required to move from one sector selection to another can be minimized as well.
Lastly, the targets can also be distinguished from each other. For example, if target t must be covered and there is a real sector capable of covering it, then the dummy sector corresponding to t should not be added to I L P M T C . This ensures that t is covered by a real sector in any solution.
The targets can also be distinguished from each other based on the costs assigned to their associated dummy sectors. Suppose that the set of targets contains both static and moving targets. Then, for example, if  c s t = 4 c m o , where c s t and c m o denote the costs of the dummy sectors of static and moving targets, respectively, then covering four moving targets is equally important as covering one static target.

5.2. The MTCBC-k Problem

In the ILP, I L P M T C B C , which solves the MTCBC-k problem in addition to covering the maximum number of targets, k-barrier coverage must also be ensured. Recall that by Theorem 1, an open belt is k-barrier covered by a permissible sector selection PSS if and only if there are k vertex-disjoint paths from s to t in the coverage graph representing PSS , C G PSS . In what follows, a network graph with the appropriate capacities will be constructed in such a way that the size of the maximum flow will be equal to the maximum number of these vertex-disjoint paths (when Menger’s theorem is proven by reducing it to the Max-flow min-cut theorem, it is shown that for any undirected graph with selected vertices s and t, a network can be created where the value of the maximum flow is equal to the number of vertex-disjoint paths between s and t [18]. Here, basically, the same construction is utilized). The maximum flow problem can be formulated as a linear program, and this construction will be used in I L P M T C B C to guarantee k-barrier coverage.
Let B be an open belt with deployed sensor network S . Denote by T the set of targets. In the construction of the aforementioned network graph, first a coverage graph, C G S , is created. This will be very similar to the coverage graph of a permissible sector selection. The only difference is that, in this case, not just a single permissible sector selection will be represented but all of them. Next, C G S will be modified in two steps. First, since capacities and flows can be defined on edges and C G S represents sectors as vertices, these vertices will be replaced with edges. Then, the undirected edges will be converted into directed ones.
Considering the details, as in the case of a coverage graph belonging to a permissible sector selection, the vertices of C G S stand for sectors of S and the left and right boundaries of the open belt. These last two vertices are denoted by s and t. The edges of s and t can be defined exactly in the same way as before. Two sector vertices are connected if the sectors belong to different sensors and their intersection is not empty.
Next, each sector vertex v of C G S should be substituted by a directed edge ( v i n , v o u t ) . Finally, the remaining undirected edges of C G S are changed to directed ones. Edges with s (or t ) as an endpoint should be converted to edges originating from s (or ending in t). Additionally, each edge ( u , v ) between sector vertices should be replaced with two directed edges: ( u o u t , v i n ) and ( v o u t , u i n ) . An example can be found in Figure 3. Finally, the capacity of the edges derived from sector vertices is set to 1, while the capacity of the remaining edges is defined to be infinity. Denote the resulting network as N S .
Definition 6. 
With the above notations, a flow f in N S is permissible if there are no two sectors represented by the sector edges with positive flow that belong to the same sensor. Here, a sector edge is an edge ( u i n , u o u t ) derived from sector vertex u in C G S .
Theorem 2. 
With the above notations, there is a permissible sector selection, PSS , in  S that provides k-barrier coverage on B if and only if there exists a permissible flow of value k from s to t in  N S .
Proof. 
By Theorem 1, B is k-barrier covered by P S S if and only if there are k vertex-disjoint paths from s to t in C G PSS . From the definition of a permissible sector selection it follows that no two sectors involved in these paths belong to the same sensor. C G PSS is a subgraph of C G S , and hence these paths are also included in C G S . Now, note that if s , v 1 , , v r , t is a path in C G S , where v 1 , , v r are sector vertices, then s , v 1 , i n , v 1 , o u t , , v r , i n , v r , o u t , t is a directed path in N S and vice versa. Thus, there exist k different paths from s to t in N S such that no two sector edges in the paths represent sectors that belong to the same sensor. The capacities of sector and non-sector edges are 1 and , respectively, and therefore on each such path a flow of value 1 can go from s to t. Since the number of these paths is k, this proves the existence of a permissible flow of value k from s to t in N S . By reversing the above reasoning, the other direction of the statement can also be proven.    □
Remark 1. 
Paths in N S where no two sectors represented by the sector edges of these paths belong to the same sensor are called sensor-disjoint. Consider a flow of value k in N S . In the proof of Theorem 2, the edges with positive flow form k sensor-disjoint paths from s to t have just been shown. Obviously, sensor-disjoint paths do not even share a common edge. This is because at least one ending vertex of each edge in N S represents a sector.
Based on Theorem 2, when formulating I L P M T C B C , the existence of a permissible flow of value k needs to be ensured. This in turn guarantees the existence of a permissible sector selection providing k-barrier coverage on B .
The elements of the variable x of I L P M T C B C stand for sector, non-sector edges of N S , and dummy sectors as in the case of I L P M T C . Their numbers are n s e , n e , and m, respectively, where m is the number of targets. It is also assumed that the elements appear in x in the aforementioned order. The first n s e + n e elements represent the flow on the sector and non-sector edges of N S . Since the goal is to encode whether a sector is selected or not, the flow of the sector edges can be either 0 or 1, while the non-sector edges can have arbitrary non-negative flows. It follows from the Ford–Fulkerson method that if the capacities are integer or infinite values, as is the case in N S , then there exists a maximum flow f such that f ( u , v ) is an integer for every edge ( u , v ) [18]. This statement guarantees that despite restricting the possible values of the “sector elements” in x to 0 or 1, a maximum flow can still be found. Finally, the last m elements of x represent whether a dummy sector is selected or not for covering the targets, and thus they can also have either 0 or 1 values.
The goal formulated with cost optimization is the same as in I L P M T C : to minimize the number of dummy sectors used for covering the targets. Consequently, the cost vector, c MTCBC , is basically the same as c MTC :
c MTCBC [ i ] = 1 if i > n s e + n e 0 otherwise .
The constraints of I L P M T C B C represent the conservation of flows rule and the capacity constraints, and they also ensure the existence of a k-valued flow from s to t in N S . In addition, a slight modification of Inequalities (2) and (3) should also be included in order to guarantee that a solution can only encode a permissible sector selection which covers all of the targets.
For vertex v of N S , denote by I n ( v ) , O u t ( v ) the sets of ingoing and outgoing edges of v, respectively. Now, I L P M T C B C can be defined as follows:
min c MTCBC x , subject to :
x j O u t ( v ) x j = x r I n ( v ) x r , v V . N S { s , t } ,
0 x s , s , x s represents a non - sec tor edge ,
p n s e + n e + m c p x p = k ,
n s e + n e + m a i x 1 , i = 1 n ,
j n s e + n e + m b q j x j 1 , q = 1 m ,
where n and m are the numbers of sensors and targets, respectively, and 
c p = 1 if the edge represented by x p is directed from s 0 otherwise .
Thus, Equality (7) guarantees that a flow of value k leaves s in N S , while Equality (5) and Inequality (6) ensure the arrival of this flow at t.
The definitions of a i and b q j are essentially the same as given in Inequalities (2) and (3). The a i j elements together form the incidence matrix of the sensors and their sectors, while the b k j elements together constitute the incidence matrix between the targets and the sectors. The only difference is the presence of non-sector edges in this case. However, these have no role here. Thus, the corresponding positions can be filled with 0 s. It is easy to see now that if Inequality (8) is satisfied, then x encodes a permissible sector selection. Meanwhile, Inequality (9) guarantees that each target is covered by at least one sector.
Based on what has been discussed so far in this section, it is clear that a solution to I L P M T C B C indeed represents a solution to the MTCBC-k problem.

Further Considerations

Note that the number of sensors to be used can be limited in the same way as in the case of I L P M T C . The same can be said about the possible cost assignment to real sectors and the opportunity to distinguish between targets.

5.3. Supplementary ILP Formulations

In what follows, it will be important to find a permissible sector selection P S S that provides k-barrier coverage on B . Moreover, among the permissible sector selections that also ensure k-barrier coverage, P S S should contain the minimal number of sectors—which entails that it also contains the minimal number of sensors. Next, it is shown how I L P M T C B C can be transformed into another ILP, I L P b c _ m i n _ s e c t , whose solution encodes a permissible sector selection with the desired property.
Targets play no role in the formation of k-barrier coverage. Thus, the elements of the variable of I L P b c _ m i n _ s e c t , x , only represent the sector and non-sector edges of N S ; i.e., the dummy sectors are not included. Inequality (9) also needs to be removed from the constraints. The rest of the constraints of I L P M T C B C can be preserved without any further change. In all these constraints, only 0s were present at the positions corresponding to the dummy sectors; therefore, deleting these columns does not lead to any significant changes.
The cost vector, c bc _ min _ sect , should be defined as follows:
c bc _ min _ sect [ i ] = 1 if x i represents a sec tor edge 0 otherwise .
c bc _ min _ sect x needs to be minimized.
With this, I L P b c _ m i n _ s e c t is fully defined. It is easy to see that a solution of I L P b c _ m i n _ s e c t encodes a permissible sector selection that provides k-barrier coverage over B . Moreover, the minimization in the objective guarantees that the number of involved sectors is minimal.

Maximum Level of Barrier Coverage

To decide how strict the barrier coverage one wishes to ensure is, one must know the maximum level of barrier coverage that the sensor network is capable of providing. I L P b c _ m i n _ s e c t can easily be transformed into another ILP, I L P m a x _ b c , which answers this question.
The structure of the variable of I L P m a x _ b c is the same as that in I L P b c _ m i n _ s e c t . From the set of constraints in I L P b c _ m i n _ s e c t , Equality (7), which guarantees the existence of a flow of value k leaving s, should be removed. The rest of the constraints can remain unchanged. As an objective, one should require that the value of the flow leaving s be maximal. Thus, c max _ bc should be defined in the same way as the coefficients of Equality (7)
c max _ bc [ i ] = 1 if the edge represented by x i is directed from s 0 otherwise .
c max _ bc x needs to be minimized.
Clearly, if  x * is a solution of I L P m a x _ b c , then the value of c max _ bc x * is equal to the maximum level of barrier coverage that S can provide over B . Note that I L P m a x _ b c was already formulated in [14]. Here, it was only reiterated for the sake of completeness.

6. Approximations of the MTCBC-k Problem

Although the ILP formulation provides an optimal solution for the MTCBC-k problem, it does not scale well for larger instances. To handle this problem, two approaches are proposed. In the first case, clusters are formed from the sensors, which allows the ILP to be solved more efficiently due to the smaller size. The solutions obtained for the clusters are then combined to provide a solution to the original MTCBC-k problem. In the second case, a polynomial-time greedy algorithm, G r e e d y M T C B C , is developed. This guarantees only one-barrier coverage instead of k. However, the simulations have shown that in practice, the level of the provided barrier coverage is fairly close to k.

6.1. Clustering

The clusters can be created both horizontally and vertically. See Figure 4a,b for examples. In the horizontal case, the main idea is to create k clusters in such a way that the selected sectors within each cluster provide at least one-barrier coverage on the open belt. This way, the appropriate instance of the MTCBC-1 problem needs to be solved for each cluster. The solution to the original MTCBC-k problem is given by the union of the chosen sectors.
In the vertical case, the cluster-restricted versions of the original task, which are MTCBC-k problems themselves, should be calculated. The number of clusters can be arbitrary. It is important to ensure that the chosen sectors at the cluster boundaries are directed in such a way that the complete solution offers k-barrier coverage across the entire open belt. The details will be given later.
Let B be an open belt with deployed sensor network S . In the first step, k sensor-disjoint paths should be found from s to t in N S . These paths will guarantee the existence of k-barrier coverage and will form the backbone of clusters for both the horizontal and the vertical cases. However, because the paths are fixed, this will generally reduce the number of possible permissible sector selections that ensure k-barrier coverage. Hence, it is beneficial if the paths contain a minimal number of sensors, as this will allow more free sensors to be used for target coverage.
Based on Theorem 2 and Remark 1, k sensor-independent paths from s to t in N S define a permissible flow of value k, which in turn determines a permissible sector selection that ensures k-barrier coverage on B . Thus, the task can be reformulated as finding a permissible sector selection that ensures k-barrier coverage on B and, among such permissible sector selections, contains the minimal number of sensors. I L P b c _ m i n _ s e c t solves exactly this task.

6.1.1. Horizontal Clusters

The pseudo-code of creating k horizontal clusters is given in Algorithm 1. Here, sensor_distances contains the distances of each pair of sensors. As its name suggests, get_sensor_disjoint_paths is a function that uses I L P b c _ m i n _ s e c t to return the sensor-disjoint paths.
In what follows, a path of N S is said to contain sensor s ^ if p has a sector edge representing a sector whose sensor is s ^ . The get_sensors function returns the sensors contained by a path.
Let S denote the set of those sensors that are not contained by any of the k sensor-disjoint paths. In the horizontal case, the sensors of a sensor-disjoint path and the sensors of S that are closest to these sensors form a cluster. More precisely, for a sensor s ^ in S , denote by n s ( s ^ ) the nearest sensor that belongs to a path; i.e.,  n s ( s ^ ) is not in S . For path p, s ^ in S is in the cluster defined by p if  n s ( s ^ ) is among the sensors of p. get_closest_sensors returns these sensors in S .
Algorithm 1 Horizontal clusters creation
Require:  N S , sensor _ distances , k
1:
network _ graphs [ ]
2:
paths get _ sensor _ disjoint _ paths ( N S , k )
3:
for  p   in  paths   do
4:
     sensors get _ sensors ( p )
5:
     neighbors get _ closest _ sensors ( N S , sensor _ distances , paths , sensors )
6:
     sensors sensors neighbors
7:
     network _ graphs . add ( create _ network _ graph ( sensors , s , t ) )
8:
end for
9:
return  network _ graphs
Clearly, in the network graph defined by the sensors of a cluster plus s and t (the result of create_network_graph), there is a permissible sector selection that provides one-barrier coverage on B . Thus, the MTCBC-1 problem is always solvable here. Furthermore, the union of the permissible sector selections that solves the MTCBC-1 task on the k clusters achieves k-barrier coverage on B , and thus it offers a solution to the MTCBC-k problem. Note, however, the number of covered targets may be less than when the original MTCBC-k task is solved, even if the MTCBC-1 problems within the clusters are solved sequentially, leaving out those targets that are covered by at least one sensor at each step.

6.1.2. Vertical Clusters

The creation of vertical clusters is more complicated. The pseudo-code can be read in Algorithm 2. Since the names used are self-descriptive, the role of each function will not be explained further.
In the input parameters of the algorithm, r gives the number of the clusters to be created. Similar to the previous case, the output includes the network graphs associated with each cluster. As mentioned earlier, an appropriate instance of the MTCBC-k problem must be solved on each of these network graphs. However, the obtained solutions need to be connected to obtain a solution for the original MTCBC-k problem. The selected_sectors variable contains the sectors that achieve this connection. These will be active in each solution offered by the given vertical clustering.
After obtaining the k sensor-disjoint paths from s to t, each of them must be divided into r segments. In the pseudo-code, the segments variable contains these segments. It has r elements, and each element contains a segment from each of the k paths. The size of the segment of a path added to a cluster can depend on various factors. Therefore, this issue will not be discussed in detail. However, note that it is easy to write an algorithm that ensures that the number of included sensors is nearly the same for every cluster. In the simulations, this approach was chosen.
Basically, as in the previous case, for an element of segments, the sensors contained in the k segments and the sensors in S closest to them will form a cluster (lines 8–11 in the pseudo-code). However, as has already been mentioned, the clusters must be connected to each other in this case.
The following explanation is technically complex, and in Figure 5 an example is provided to facilitate understanding. To grasp how such a connection can be achieved, consider one of the k sensor-disjoint paths, s , v 1 , i n , v 1 , o u t , , v d , i n , v d , o u t , t . Recall that ( v i , i n , v i , o u t ) is a sector edge here. Suppose that segments p = v i , i n , v i , o u t , , v j , i n , v j , o u t and p = v j + 1 , i n , v j + 1 , o u t , , v , i n , v , o u t form the basis of cluster C and C , respectively. Note that C and C are adjacent. Furthermore, it cannot happen that the starting vertex of a sector edge belongs to one cluster while the ending vertex belongs to another cluster. Let S and S be the sensors to which the sectors of ( v j , i n , v j , o u t ) and ( v j + 1 , i n , v j + 1 , o u t ) belong. Then, in each of the solutions of the original MTCBC-k problem based on these clusters, the sector of ( v j , i n , v j , o u t ) is selected for S, while the sector of ( v j + 1 , i n , v j + 1 , o u t ) is selected for S . In other words, these sectors are added to selected_sectors in the pseudo-code. Thus, S is not included in C nor S in C . Instead, in the network graph of C , v j , i n will be taken as the sink. Similarly, v j + 1 , o u t will be the source for C . In the same way, v i , o u t will be the source for C and  v , i n the sink for C . If the segment to be added starts with s (or ends with t), then s will be the source (or t will be the target). In the pseudo-code, lines 12–23 implement these operations.
For an element of segments, this procedure should be applied for each of the k segments (Figure 5b). Then, the resulting k sources (if s is not included) and k sinks (if t is not included) need to be merged into a single source and sink vertex, and these new vertices should be used to construct the network graph of the cluster (Figure 5c).
With this, the MTCBC-k problem to be solved in a cluster is well defined. It is also clear how the results are connected to offer a solution to the original MTCBC-k task. Again, the number of covered targets may be fewer compared to solving the original MTCBC-k task on its own. Finally, note that if horizontal clusters are created, then if a horizontal cluster is still too large, it can be further divided into vertical clusters.
Algorithm 2 Vertical clusters creation
Require:  N S , sensor _ distances , k , r
1:
network _ graphs initialize _ array ( r )
2:
selected _ sectors
3:
paths get _ sensor _ disjoint _ paths ( N S , k )
4:
segments create _ path _ segments ( paths , r )
5:
for  i = 0   to  r 1   do
6:
     sensors , sources , sinks , ,
7:
    for  j = 0  to  k 1  do
8:
         path _ segment segments [ i ] [ j ]
9:
         sens get _ sensors ( path _ segment )
10:
       neighbors get _ closest _ sensors ( N S , sensor _ distances , paths , sens )
11:
       sensors sensors sens neighbors
12:
      if  i 0  then
13:
            ( u in , u out ) first _ edge ( path _ segment )
14:
            sensors sensors get _ sensor ( ( u in , u out ) )
15:
            selected _ sectors selected _ sectors get _ sector ( ( u in , u out ) )
16:
            sources sources { u out }
17:
        end if
18:
        if  i r 1  then
19:
            ( u in , u out ) last _ edge ( path _ segment )
20:
            sensors sensors get _ sensor ( ( u in , u out ) )
21:
            selected _ sectors selected _ sectors get _ sector ( ( u in , u out ) )
22:
            sinks sinks { u in }
23:
        end if
24:
    end for
25:
     source s  if  i = 0  else  merge ( sources , sensors )
26:
     sink t  if  i = r 1  else  merge ( sinks , sensors )
27:
     network _ graphs [ i ] create _ network _ graph ( sensors , source , sink )
28:
end for
29:
return  network _ graphs , selected _ sectors

6.2. A Greedy Algorithm

G r e e d y M T C B C consists of two greedy methods: G r e e d y b c _ m i n _ s e c t and G r e e d y M T C . The first selects as many sensor-disjoint paths as possible from s to t in N S , but no more than k. It tries to choose these paths in such a way that the number of included sectors is minimal. The details of this selection will be given shortly.
Suppose now that such paths have been chosen. The sectors represented by the sector edges of these paths will always be active, continuously ensuring -barrier coverage. The remaining task from time step to time step is to select the sectors of the unused sensors that cover the maximum number of targets among those not already covered by any sector belonging to the aforementioned paths. This is achieved by G r e e d y M T C . This algorithm was introduced in [10]. Its pseudo-code is given in Algorithm 3.
Algorithm 3  G r e e d y M T C
Require:  sensor _ disjoint _ paths , sensors , targets
1:
selected _ sectors [ ]
2:
for  p   in  sensor _ disjoint _ paths   do
3:
     targets targets get _ covered _ targets ( p )
4:
end for
5:
while  sensors targets   do
6:
     best ( None , 1 )
7:
    for  sens  in  sensors  do
8:
         n t , sens length ( get _ covered _ targets ( sens ) )
9:
        for  sect  in  sens . sectors  do
10:
            n t , sect length ( get _ covered _ targets ( sect ) )
11:
           if  n t , sect / n t , sens > best [ 1 ]  then
12:
                best ( sect , n t , sect / n t , sens )
13:
           end if
14:
        end for
15:
    end for
16:
     best _ sector best [ 0 ]
17:
     selected _ sectors . add ( best _ sector )
18:
     sectors sectors best _ sector . sensor
19:
     targets targets get _ covered _ targets ( best _ sector )
20:
end while
21:
return  selected _ sectors
In this pseudo-code, the sensors variable is the set of those sensors that are not contained by any of the paths of the sensor-disjoint paths from s to t. On the other hand, targets is the set of targets whose positions are known in a given time step.
First, those targets are removed that are covered by a sensor contained by a path of the sensor-disjoint paths.
Next, for a sector s e c t and its sensor s e n s , denote by n t , s e c t the number of those uncovered targets that s e c t can cover. Similarly, denote by n t , s e n s the number of those uncovered targets that are covered by at least one sector of s e n s . Consider n t , s e c t / n t , s e n s , and select that sector for which this ratio is the maximal. If there are multiple such sectors, choose one at random. The targets covered by the selected sector are considered covered in the further steps. For the remaining sensors and uncovered targets continue this procedure until there are no sensors left with inactive sectors or there are no uncovered targets.
Returning to the question of how the sensor-disjoint paths from s to t in N S are selected, the pseudo-code of G r e e d y b c _ m i n _ s e c t is provided in Algorithm 4. In each step, the shortest path, p, from s to t in N S should be found, ensuring that no two sector edges have the same sensors. This can be achieved by a modified Breadth-First Search (BFS), whose pseudo-code is given in Algorithm 5 and will be explained shortly. Since the result will contain sensor-disjoint paths, all edges can be deleted from N S that have an ending vertex v i n or v o u t such that the represented sector belongs to a sensor contained by p. In the next step, this modified N S is considered. The algorithm stops when k paths have been found or there are no more paths from s to t with the desired property.
Algorithm 4  G r e e d y b c _ m i n _ s e c t
Require:  N S , k
1:
selected _ paths [ ]
2:
path modified _ bfs ( N S )
3:
while  path None length ( selected _ paths ) < k   do
4:
     selected _ paths . add ( path )
5:
     N S delete _ sensors ( N S , get _ sensors ( path ) )
6:
     path modified _ bfs ( N S )
7:
end while
8:
return  selected _ paths
In the pseudo-code of the modified BFS (Algorithm 5), Q is a queue that stores pairs. The first element of such a pair is a vertex; denote it by u. The second is the set of sensors belonging to the path from s to u. child _ parent is a dictionary where child _ parent [ v ] = u means that u is the parent of v in the tree obtained during the BFS traversal. When t is reached first during the BFS, get _ path obtains the corresponding path from s to t by means of child _ parent . v child _ parent is true if v is not a key in child _ parent . In this context, it means that v has not been processed yet.
Suppose that u is the current vertex whose children are considered one after the other. In the pseudo-code, the  curr variable serves this role. The key idea of the modified BFS is not to include a child v if its sensor is in the set of sensors belonging to the path from s to u. Note that if ( u , v ) is a sector edge, this cannot happen.
G r e e d y b c _ m i n _ s e c t does not necessarily return an optimal solution. In Figure 6, one can see an example where it finds a single sensor-disjoint path from the source to the sink, while the maximum number of such paths is 2. The first experiment will provide insight into the practical effectiveness of G r e e d y b c _ m i n _ s e c t .
Algorithm 5 Modified BFS for the greedy algorithm
Require:  N S
1:
Q
2:
Q . add ( ( s , ) )
3:
child _ parent { }
4:
while  Q is not empty   do
5:
     curr , sensors Q . dequeue ( )
6:
    for all  child v of curr  do
7:
        if  v child _ parent  then
8:
           if  ( curr , v ) is a sector edge  then
9:
                child _ parent [ v ] curr
10:
                Q . add ( v , sensors )
11:
         else
12:
               if  get _ sensor ( ( curr , v ) ) sensors  then
13:
                    child _ parent [ v ] curr
14:
                   if  v = = t  then
15:
                        path get _ path ( child _ parent )
16:
                       return  path
17:
                   else
18:
                        v _ sensors sensors sensor ( ( curr , v ) )
19:
                        Q . add ( v , v _ sensors )
20:
                   end if
21:
               end if
22:
           end if
23:
        end if
24:
    end for
25:
end while
26:
return  None

Runtime Analysis

Assume now that G r e e d y b c _ m i n _ s e c t finds sensor-disjoint paths from s to t in N S . Since membership in a set can be determined in O ( 1 ) time, the running time of the algorithm is O ( | E . N S | ) , where | E . N S | denotes the number of edges in N S . If n is the number of sensors and q is the number of sectors belonging to a sensor, then | E . N S | ( n q ) 2 . In other words, the runtime of G r e e d y b c _ m i n _ s e c t is O ( n 2 q 2 ) . It should be run only once as the first step of G r e e d y M T C B C .
For the analysis of the runtime of G r e e d y M T C at a given time step, recall that the number of targets is denoted by m. In the first step, the covered targets for each sector of the sensor-disjoint paths from s to t should be identified. For a given sector and target, the TIS test (Equation (1)) can be accomplished in O ( 1 ) time. Thus, this step requires O ( m n q ) time. Note that if the objects move slower, then, relying on the knowledge of which sector covered which targets at time step t 1 , at time step t, the number of candidate sectors covering a target can be reduced to a constant. Hence, in this case, the running time is only O ( m ) .
After the removal of the covered targets, for each sector that is not included by any of the sensor-disjoint paths from s to t, the set of covered targets should be calculated. Again, this can be accomplished in O ( m n q ) or O ( m ) time. Based on this, the values of n t , s e c t , n t , s e n s and the maximum of the ratios, n t , s e c t / n t , s e n s , can be calculated in O ( n q ) time. Suppose that the sector to be activated covers r targets. After excluding these targets, the new values of n t , s e c t can be obtained in O ( r n q ) time. Or, if the number of sectors that can cover a target is constant, the required time to accomplish this step is only O ( r ) . Altogether, at a given time step, the running time of G r e e d y M T C is O ( m n 2 q ) or O ( n 2 q + n m ) .

7. Experiments

7.1. Effectiveness of G r e e d y b c _ m i n _ s e c t

In Figure 6, one can see an example where G r e e d y b c _ m i n _ s e c t does not return an optimal solution. To gain an idea of how effective G r e e d y b c _ m i n _ s e c t actually is, the maximum number of sensor-disjoint paths from the source to the sink was compared in 102 cases with the number of such paths found by the algorithm. More precisely, since the input of the method specifies the number of sensor-disjoint paths to be found from the source to the sink, it was assumed that this number is always equal to the maximum number of such paths. This number was obtained by applying I L P m a x _ b c . Thirty sensors were placed randomly on the rectangle-shaped ROI according to uniform distribution and only those cases were taken into account where the sensors provided at least one-barrier coverage.
The results can be found in Table 1. The row and column headers show the numbers of sensor-disjoint paths returned by I L P m a x _ b c and G r e e d y m a x _ b c , respectively. The a i j field of the table gives the number of cases where the results returned by I L P m a x _ b c and G r e e d y m a x _ b c were i and j. The data show that in 29.4 % of cases, the greedy algorithm provided the optimal solution; in 60.8 % of cases, it found 1 fewer sensor-disjoint paths; and in 9.8 % of the cases, it returned 2 fewer. Notably, the difference between the optimal solution and that of G r e e d y m a x _ b c was never greater than 2.

7.2. Performance of the Algorithms Solving the MTCBC-k Problem

In the next experiment, the performance of different I L P M T C B C variants—without clusters, horizontal clustering, and vertical clustering—was compared with each other, as well as with G r e e d y M T C B C and two baseline methods. The first baseline algorithm, abbreviated as BC, ensured k-barrier coverage but did not perform maximum target coverage. In detail, in the first step, the sectors encoded by the result of I L P b c _ m i n _ s e c t were set to active. For those sensors that were not selected this way, a random sector was chosen. This configuration was never changed afterwards. On the other hand, the second baseline method, abbreviated as MTC, performed maximum target coverage without ensuring barrier coverage.
During the simulations, two types of scenarios were examined. In the first, the positions of all targets were known at each step, while in the second, the algorithms could only use the positions of targets covered by a sector at that moment. In what follows, the two scenarios will be referred to as omniscient and only-camera. For all methods, the implementation varied slightly between the two scenarios.
In the only-camera scenario, all methods were modified to ensure that each sensor scanned its surroundings whenever possible. Specifically, for each sensor whose active sector was not determined by the algorithm, the sector consecutive to the currently active sector was selected to be active in the next time step. In addition, for the ILP variants, k-barrier coverage was ensured with the minimal number of sensors in order to increase the number of those sensors that could scan their surroundings.
In the omniscient scenario, only the ILP variants were modified in such a way that the permissible sector selection with the least number of changes was preferred.
The performance was analyzed based on two different criteria. In both cases, for each target, only those time steps were taken into account when it was in the ROI and was within the detection distance of at least one sensor. In the first case, tracking efficiency was measured. For each target, the number of time steps during which it was covered was divided by the total number of time steps considered for that target. Then, the average of these ratios was taken. The resulting measure is referred to as the average tracking ratio in the sequel.
The second performance indicator, average coverage ratio, characterizes the efficiency of coverage. Here, in each time step, the number of covered targets was divided by the number of all targets to be considered in that time step. After this, the average of these ratios was taken.
In the simulations, one pixel represented one meter. There were 100 targets at each time step on the field. They moved two meters per time step randomly, but with a downward tendency. The simulations ran until 1000 targets completely left the belt. Once a group left the field, a new random group was generated. The detection distance of the sensors was 100 m. Three sensor setups were tested, referred to as DENSE, SPARSE, and NARROW. The parameters of these setups can be found in Table 2. In the DENSE setup, the sensors were placed in a 3 × 10 grid. Then, each sensor position was independently shifted by a vector drawn from the N ( 0 , D i a g σ ) normal distribution. Here, D i a g σ denotes the 2 × 2 diagonal matrix where both diagonal elements are σ . The resulting sensor network was capable of providing three-barrier coverage. The placement of the sensors was performed in a similar manner for the other two setups as well. Note that the area of the belt was the same for all setups. In the case of vertical clustering, two clusters were created. Clearly, for the MTCBC-1 task, the single horizontal cluster contains all sensors, and thus this version of the algorithm is not different from the one without clusters.
The average runtime of the algorithms is given in Table 3. For each method, what percentage of the runtime of the optimal algorithm its own runtime represents is indicated. Optimal refers to that algorithm when I L P M T C B C is solved in each time step without clustering. The rest of the names are self-descriptive.
The data clearly show that combining the barrier and maximum target coverage problems comes at a cost, with the increased ILP causing a slowdown of 20 times or more. If the computations can be run in parallel on clusters, the runtime can be reduced to approximately half of the optimal time with two clusters. In the case of vertical clustering, which sector will be active for some sensors is always fixed, so the task to be solved was smaller than in the case of horizontal clustering (the number of clusters was the same for both cases). As a result, the runtime of vertical clustering was slightly better. Finally, it is noteworthy that the greedy algorithm runs approximately 50 times faster than the optimal one.
The values of the average coverage and tracking ratios can be found in Table 4 and Table A1. As it turned out, these values were very close to each other in almost all cases, and therefore the table with the average tracking values was placed in Appendix A. In these tables, DENSE(2) refers to that case when the MTCBC-2 problem was to be solved with the DENSE setup. The other names can be interpreted in the same way.
As expected, each method performed worse in all setups when two-barrier coverage was required, compared to when single-barrier coverage needed to be maintained. The only exception was the MTC algorithm, which is agnostic to the number of barriers by definition. This is because in the latter cases, fewer sensors were needed to form the barriers, and consequently more sensors were available to cover the targets. For a similar reason, in the SPARSE setups, where the number of cameras was lower, the performance of all the algorithms was also worse.
In terms of details, it is noteworthy that the performance of the horizontal clustering, except for the omniscient SPARSE(2) case, was at most 1–2% lower than that of the optimal method. The calculations ran in parallel on the individual clusters, so it could happen that a target was covered by sensors from both clusters, leaving other targets uncovered, which the optimal method was able to cover. If the cameras are densely placed, this is less of a problem, because even if a sensor unnecessarily covers a target, the sensors nearby can still be used to cover the other targets. However, if the number of cameras is lower, the unnecessary multiple coverages result in a noticeable performance degradation, as evidenced by the 10 % performance difference in favor of the optimal method in the SPARSE(2) setup in the omniscient scenario. In the only-camera scenario, however, multiple coverages, even if they occurred, did not cause significant performance degradation. This indicates that in the SPARSE(2) setup, the optimal method was aware of roughly the same target positions as the horizontal clustering.
It is also notable that horizontal clustering outperformed the vertical one in all setups. Multiple coverages can also occur in the case of vertical clustering, so this does not necessarily cause a difference in the performance of the two types of clustering. Thus, the difference in efficiency shows that fixing the sectors, which join the results obtained on the vertical clusters, and therefore losing flexibility, comes at a price. This becomes even more apparent in the case of the SPARSE(2) setup, where the number of possible different barrier coverage configurations was the lowest. On the other hand, there are certainly scenarios in the real world where vertical clustering performs as well as or even better than horizontal clustering. Additionally, the number of vertical clusters can be arbitrary, while the number of horizontal clusters can be at most k, when k-barrier coverage should be maintained.
Interestingly, the performance of the greedy method was quite similar to that of vertical clustering, while its runtime was 25 times faster. Additionally, its performance was less influenced by how well the positions of the targets were known. On average, the coverage performance of the optimal method was 0.90 in the omniscient scenario and 0.76 in the only-camera scenario, which is a 15 % drop. On the other hand, the performance of the greedy method dropped only by 9 % from 0.75 to 0.69 .
As expected, the MTC algorithm achieved the best coverage ratios in all cases, thanks to the fact that all cameras could be used to cover the targets. Averaging across the setups, it could reach coverage ratios of 0.93 in the omniscient scenario and 0.82 in the only-camera scenario. Not surprisingly, the BC method performed the worst, achieving only a 0.43 coverage ratio on average.
Based on these results, a new metric, called relative coverage ratio, can be introduced that illustrates the performance of each algorithm compared to the best and worst methods. In this way, it also helps to examine the relative effectiveness of the algorithms compared to each other.
Formally, if A C R B C and A C R M T C denote the average coverage ratios for the BC and MTC algorithms, the relative coverage ratio r C R for any method is calculated as
r C R = A C R A C R B C A C R M T C A C R B C · 100 % ,
where A C R denotes the average coverage ratio of the method.
The relative coverage values of the algorithms averaged on all setups can be found in Table 5. Note that the relative tracking ratio metric can be introduced in a similar way. The corresponding values are given in Table A2. The data do not offer new insights compared to what has already been stated, but they illustratively demonstrate the relative performance of the methods.

8. Conclusions and Future Work

In summary, this paper introduced the Maximum Target Coverage with k-Barrier Coverage (MTCBC-k) problem, aiming to cover as many moving targets as possible in each time step while maintaining continuous k-barrier coverage over the ROI. This integrated approach contrasts with solving the two tasks separately and then merging the outcomes. Multiple camera configurations can typically ensure k-barrier coverage, presenting the challenge of finding the optimal configuration at each time step. This configuration allows cameras providing barrier coverage to also assist in target coverage, while other cameras efficiently cover the remaining targets. An ILP formulation of the MTCBC-k problem was presented, along with two types of camera clustering methods, horizontal and vertical, enabling the solution of smaller ILPs within clusters and combining their solutions. Additionally, a polynomial-time greedy algorithm was proposed as an alternative method to address the MTCBC-k problem.
The experiments clearly showed that combining the barrier and maximum target coverage problems comes at a cost. The increase in the size of the ILP to be solved caused a slowdown of 20 times or more compared to when barrier coverage or maximum target coverage was separately addressed. However, if the computations are run in parallel on clusters, the runtime can be reduced to approximately 1 / r of the optimal time with r clusters.
It also became clear, as expected, that the stronger the barrier coverage required, the more cameras need to be used to ensure it, which leads to a decrease in the target coverage ratio.
During the simulations, two types of scenarios were considered. In the first, the positions of all targets were known at each step, while in the second, the algorithms could only use the positions of targets covered by a camera at that moment. In the second case, all methods were modified in such a way that each sensor scanned its surroundings whenever it was possible. In this way, an example was provided of how the developed algorithms can be modified to handle a more realistic scenario.
The optimal algorithm, which solved the ILP corresponding to the MTCBC-k problem by considering all the data, consistently outperformed the clustering and greedy methods. However, in the case of horizontal clustering, the performance difference was less significant in most of the setups.
Since it typically involves fewer constraints, horizontal clustering generally performs better than vertical clustering. However, in the former case, the number of possible clusters is limited to at most k if the goal is to ensure k-barrier coverage, while in the latter case, the number of clusters can be arbitrary.
The performance of the greedy algorithm was noticeably worse than the optimal solution but came close to that of vertical clustering. On the other hand, it runs 50 times faster than the optimal method. Additionally, its performance was less influenced by how well the positions of the targets were known.
In future work, the challenges and solutions related to the MTCBC-k problem in practical applications can be further explored, such as how camera networks should be deployed in real-world environments to optimize the real-time performance of the algorithms. Another interesting aspect could be how hybrid sensor networks, which include mobile sensors, can be used to ensure k-barrier coverage in cases where cameras alone would not be able to provide it while also helping to efficiently cover the targets, all with the goal of minimizing the movement distance of the mobile sensors. Additionally, combining the MTCBC-k problem with other related problems, such as path planning and target tracking with sensor data fusion, could be considered.

Author Contributions

Conceptualization, B.K.; Methodology, B.K.; software, B.K., M.B. and T.V.M.; formal analysis B.K. and T.V.M.; writing—original draft preparation, B.K.; funding acquisition, V.T. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the Ministry of Culture and Innovation of Hungary from the National Research, Development and Innovation Fund, financed under the “Nemzeti Laboratóriumok pályázati program” funding scheme, grant number 2022-2.1.1-NL-2022-00012.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The algorithms described in the article are parts of a larger program; for business reasons, we have not made the entire system open-source.

Acknowledgments

We would like to express our gratitude to Bálint Petró for his valuable advice, which significantly contributed to the finalization of this manuscript.

Conflicts of Interest

The authors declare no conflicts of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript; or in the decision to publish the results.

Appendix A

Table A1. Results for average tracking ratios.
Table A1. Results for average tracking ratios.
Average Tracking Ratio
Scenario Setup BC MTC Optimal Horizontal Vertical Greedy
DENSE(1)0.47610.95960.9583-0.92490.8897
SPARSE(1)0.34720.87580.8526-0.69260.6444
omniscientNARROW(1)0.57260.96680.9645-0.93660.9068
DENSE(2)0.44470.960.95620.93610.86890.8426
SPARSE(2)0.31810.87620.77130.69070.51260.4595
DENSE(1)0.46100.88140.8625-0.8130.8105
SPARSE(1)0.34460.71740.6678-0.56740.5653
only-cameraNARROW(1)0.57260.92050.9023-0.85460.8597
DENSE(2)0.44470.8820.83850.81590.74140.7429
SPARSE(2)0.32250.71800.53780.54540.44520.4307
Table A2. Relative tracking ratio values for the omniscient and only-camera scenarios, calculated as Equation (10), averaged on all five setups. (Values of the horizontal clustering with 1-barrier were considered to be the same as those of the optimal method.)
Table A2. Relative tracking ratio values for the omniscient and only-camera scenarios, calculated as Equation (10), averaged on all five setups. (Values of the horizontal clustering with 1-barrier were considered to be the same as those of the optimal method.)
Detection ModeBCMTCOptimalHorizontalVerticalGreedy
omniscient0.0%100.0%95.05%87.18%73.54%65.82%
only-camera0.0%100.0%84.29%78.67%64.69%64.07%

References

  1. Guvensan, M.A.; Yavuz, A.G. On coverage issues in directional sensor networks: A survey. Ad Hoc Netw. 2011, 9, 1238–1255. [Google Scholar] [CrossRef]
  2. Balister, P.; Zheng, Z.; Kumar, S.; Sinha, P. Trap coverage: Allowing coverage holes of bounded diameter in wireless sensor networks. In Proceedings of the IEEE INFOCOM 2009, Rio de Janeiro, Brazil, 19–25 April 2009; IEEE: New York, NY, USA, 2009; pp. 136–144. [Google Scholar]
  3. Kumar, S.; Lai, T.H.; Arora, A. Barrier coverage with wireless sensors. In Proceedings of the 11th Annual International Conference on Mobile Computing and Networking, Cologne, Germany, 28 August–2 September 2005; pp. 284–298. [Google Scholar]
  4. Wang, J.; Niu, C.; Shen, R. Priority-based target coverage in directional sensor networks using a genetic algorithm. Comput. Math. Appl. 2009, 57, 1915–1922. [Google Scholar] [CrossRef]
  5. Tao, D.; Wu, T.Y. A survey on barrier coverage problem in directional sensor networks. IEEE Sens. J. 2014, 15, 876–885. [Google Scholar]
  6. Sun, Z.; Wang, P.; Vuran, M.C.; Al-Rodhaan, M.A.; Al-Dhelaan, A.M.; Akyildiz, I.F. BorderSense: Border patrol through advanced wireless sensor networks. Ad Hoc Netw. 2011, 9, 468–477. [Google Scholar] [CrossRef]
  7. Wu, F.; Gui, Y.; Wang, Z.; Gao, X.; Chen, G. A survey on barrier coverage with sensors. Front. Comput. Sci. 2016, 10, 968–984. [Google Scholar] [CrossRef]
  8. Ai, J.; Abouzeid, A.A. Coverage by directional sensors in randomly deployed wireless sensor networks. J. Comb. Optim. 2006, 11, 21–41. [Google Scholar] [CrossRef]
  9. Cai, Y.; Lou, W.; Li, M.; Li, X.Y. Energy efficient target-oriented scheduling in directional sensor networks. IEEE Trans. Comput. 2009, 58, 1259–1274. [Google Scholar]
  10. Munishwar, V.P.; Abu-Ghazaleh, N.B. Scalable target coverage in smart camera networks. In Proceedings of the Fourth ACM/IEEE International Conference on Distributed Smart Cameras, Atlanta, GA, USA, 31 August–4 September 2010; pp. 206–213. [Google Scholar]
  11. Islam, M.M.; Ahasanuzzaman, M.; Razzaque, M.A.; Hassan, M.M.; Alelaiwi, A.; Xiang, Y. Target coverage through distributed clustering in directional sensor networks. EURASIP J. Wirel. Commun. Netw. 2015, 2015, 167. [Google Scholar] [CrossRef]
  12. Mohamadi, H.; Salleh, S.; Ismail, A.S. A learning automata-based solution to the priority-based target coverage problem in directional sensor networks. Wirel. Pers. Commun. 2014, 79, 2323–2338. [Google Scholar] [CrossRef]
  13. Xu, J.; Zhong, F.; Wang, Y. Learning multi-agent coordination for enhancing target coverage in directional sensor networks. Adv. Neural Inf. Process. Syst. 2020, 33, 10053–10064. [Google Scholar]
  14. Zhang, L.; Tang, J.; Zhang, W. Strong barrier coverage with directional sensors. In Proceedings of the GLOBECOM 2009—2009 IEEE Global Telecommunications Conference, Honolulu, HI, USA, 30 November–4 December 2009; IEEE: New York, NY, USA, 2009; pp. 1–6. [Google Scholar]
  15. Tao, D.; Tang, S.; Zhang, H.; Mao, X.; Ma, H. Strong barrier coverage in directional sensor networks. Comput. Commun. 2012, 35, 895–905. [Google Scholar] [CrossRef]
  16. Cheng, C.F.; Wang, C.W. The target-barrier coverage problem in wireless sensor networks. IEEE Trans. Mob. Comput. 2017, 17, 1216–1232. [Google Scholar] [CrossRef]
  17. Cheng, C.F.; Chen, B.M. Wireless Sensor Networks: Target-Barrier Coverage with Static and Mobile Sensors. In Proceedings of the 2023 12th International Conference on Networks, Communication and Computing, Osaka, Japan, 15–17 December 2023; pp. 1–5. [Google Scholar]
  18. Kleinberg, J.; Tardos, E. Algorithm Design; Pearson Education India: Delhi, India, 2006. [Google Scholar]
Figure 1. (a) A directional sensor with its sectors and the quadruple characterization of a sector. (b) A sensor and its sectors used in the experiments.
Figure 1. (a) A directional sensor with its sectors and the quadruple characterization of a sector. (b) A sensor and its sectors used in the experiments.
Sensors 24 08093 g001
Figure 2. The coverage graph of a permissible sector selection.
Figure 2. The coverage graph of a permissible sector selection.
Sensors 24 08093 g002
Figure 3. A simple example of the transformation from a coverage graph to the corresponding network graph.
Figure 3. A simple example of the transformation from a coverage graph to the corresponding network graph.
Sensors 24 08093 g003
Figure 4. (a) An example of horizontal clusters. (b) An example of vertical clusters.
Figure 4. (a) An example of horizontal clusters. (b) An example of vertical clusters.
Sensors 24 08093 g004
Figure 5. (a) An example for how line segments are used to form the backbone of vertical clusters. (b) Adding multiple line segments to a vertical cluster. (c) Merging the source and sink nodes.
Figure 5. (a) An example for how line segments are used to form the backbone of vertical clusters. (b) Adding multiple line segments to a vertical cluster. (c) Merging the source and sink nodes.
Sensors 24 08093 g005
Figure 6. An example when G r e e d y b c _ m i n _ s e c t does not return an optimal result. (a) Sector. (b) Network graph.
Figure 6. An example when G r e e d y b c _ m i n _ s e c t does not return an optimal result. (a) Sector. (b) Network graph.
Sensors 24 08093 g006
Table 1. The result of comparing the outputs of I L P m a x _ b c and G r e e d y m a x _ b c in 102 random scenarios.
Table 1. The result of comparing the outputs of I L P m a x _ b c and G r e e d y m a x _ b c in 102 random scenarios.
Greedy1234
ILP
12000
23800
3014140
406286
500417
Table 2. Parameters of the different experimental setups.
Table 2. Parameters of the different experimental setups.
SetupTasksSize of the BeltNumber of SensorsMax Possible Barrier Coverage
DENSEMTCBC-1, -2 750 × 550 303
SPARSEMTCBC-1, -2 750 × 550 202
NARROWMTCBC-1 1650 × 250 302
Table 3. Runtime of the algorithms.
Table 3. Runtime of the algorithms.
OmniscientOnly-Camera
Optimal100%100%
Horizontal63%54%
Vertical52%49%
Greedy2.1%1.7%
BC2.5%2.1%
MTC5.6%3.3%
Table 4. Results for average tracking ratios.
Table 4. Results for average tracking ratios.
Average Coverage Ratio
Scenario Setup BC MTC Optimal Horizontal Vertical Greedy
DENSE(1)0.47740.95980.9587-0.93090.8945
SPARSE(1)0.34980.88160.8606-0.70290.6626
omniscientNARROW(1)0.55030.96170.9605-0.92850.9004
DENSE(2)0.450.960.95640.93820.87510.8485
SPARSE(2)0.31840.88170.78410.68180.49780.4454
DENSE(1)0.46480.88980.8732-0.82440.8231
SPARSE(1)0.34760.73480.6672-0.58870.5775
only-cameraNARROW(1)0.55030.91770.9022-0.84420.8537
DENSE(2)0.450.89030.84830.82970.75440.7515
SPARSE(2)0.32160.73510.54010.5340.43390.4192
Table 5. Relative coverage ratio values for the omniscient and only-camera scenarios, calculated as Equation (10), averaged on all five setups. (Values of the horizontal clustering with 1 barrier were considered to be the same as those of the optimal method.)
Table 5. Relative coverage ratio values for the omniscient and only-camera scenarios, calculated as Equation (10), averaged on all five setups. (Values of the horizontal clustering with 1 barrier were considered to be the same as those of the optimal method.)
Detection ModeBCMTCOptimalHorizontalVerticalGreedy
omniscient0.0%100.0%95.50%86.65%73.51%66.21%
only-camera0.0%100.0%83.55%77.79%64.64%63.68%
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Kósa, B.; Bukovinszki, M.; Michaletzky, T.V.; Tihanyi, V. Combined Barrier–Target Coverage for Directional Sensor Network. Sensors 2024, 24, 8093. https://doi.org/10.3390/s24248093

AMA Style

Kósa B, Bukovinszki M, Michaletzky TV, Tihanyi V. Combined Barrier–Target Coverage for Directional Sensor Network. Sensors. 2024; 24(24):8093. https://doi.org/10.3390/s24248093

Chicago/Turabian Style

Kósa, Balázs, Márk Bukovinszki, Tamás V. Michaletzky, and Viktor Tihanyi. 2024. "Combined Barrier–Target Coverage for Directional Sensor Network" Sensors 24, no. 24: 8093. https://doi.org/10.3390/s24248093

APA Style

Kósa, B., Bukovinszki, M., Michaletzky, T. V., & Tihanyi, V. (2024). Combined Barrier–Target Coverage for Directional Sensor Network. Sensors, 24(24), 8093. https://doi.org/10.3390/s24248093

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop