WIRELESS COMMUNICATIONS AND MOBILE COMPUTING Wirel. Commun. Mob. Comput. 00: 1–15 (2008) Published online in Wiley InterScience (www.interscience.wiley.com) DOI: 10.1002/wcm.0000
QoS-aware Target Coverage in Wireless Sensor Networks Yu Gu1 3∗ , Yusheng Ji2 , Baohua Zhao1 , and Jie Li3 1 Dept. of Computer Science, Univ. of Science and Technology of China, Hefei, Anhui, 230027, China 2 Information Systems Architecture Science Research Division, National Institute of Informatics, Tokyo, Japan 3 Dept. of Computer Science, Univ. of Tsukuba, Tsukuba Science City, Ibaraki, 305-8573, Japan
Summary Wireless sensor networks have emerged recently as an effective way of monitoring remote or inhospitable physical targets, which usually have different Quality of Service (QoS) constraints, i.e., different targets may need different sensing quality in terms of the number of transducers, sampling rate, etc. In this paper, we address the problem of optimizing network lifetime while capturing those diversified QoS coverage constraints in such surveillance sensor networks. We show that this problem belongs to NP-complete class. We define a subset of sensors meeting QoS requirements as a coverage pattern, and if the full set of coverage patterns is given, we can mathematically formulate the problem. Directly solving this formulation however is difficult since number of coverage patterns may be exponential to number of sensors and targets. Hence, a column generation (CG) based approach is proposed to decompose the original formulation into two sub problems and solve them iteratively. Here a column corresponds to a feasible coverage pattern, and the idea is to find a column with steepest ascent in lifetime, based on which we iteratively search for the maximum lifetime solution. An initial feasible set of patterns is generated through a novel random selection algorithm, in order to launch our approach. Experimental data demonstrate that the proposed CG-based approach is an efficient solution, even in a harsh environment. Simulation results also reveal the impact of different network parameters on network lifetime, giving certain guidance on designing and maintaining such surveillance sensor networks. c 2008 John Wiley & Sons, Ltd. Copyright °
KEY WORDS: target coverage; wireless sensor networks; lifetime optimization; column generation
1. Introduction Wireless sensor networks promise to usher in a new era of revolutionary computing and ultimately prove beneficial to areas as diverse as national security, surveillance, environmental monitoring, agriculture ∗ Correspondence
to: Yu Gu, Dept. of Computer Science, Univ. of Science and Technology of China, Hefei, Anhui, 230027, China. & Dept. of Computer Science, Univ. of Tsukuba, Tsukuba Science City, Ibaraki, 305-8573, Japan E-mail:
[email protected], &
[email protected]
c 2008 John Wiley & Sons, Ltd. Copyright ° Prepared using wcmauth.cls [Version: 2007/01/09 v1.00]
and healthcare [1]. With the ability of interaction between physical world and digital world, wireless sensor networks can help people efficiently gather information and react accordingly, especially in realtime target monitoring applications like fire alarming or hostile territorial area coverage [2]. In those applications, due to certain inherent constraints like very large area or limits on energy, usually instead of monitoring the whole area simultaneously, we only need to keep certain number of targets under surveillance. Note that targets in a
2
YU. GU
VideoSensor HighPriorityTarget LowPriorityTarget Sensor
Fig. 1. An example scenario where a target with high priority level needs to be guarded by more sensors compared to a target with low priority level
real-world system are of different importance and have different Quality of Service (QoS) requirements. For example, a target with a higher priority level deserves to be covered by more sensors compared to a target with a lower priority level. As shown in Figure 1, since it is infeasible to activate surveillance sensors to monitor the whole area because of energy issues in a battle field, it is preferred to only monitor some critical targets like barracks and bastions. Naturally, for some hot spots like a canon bastion, we need to assign more sensors to acquire certain amount of data in a real-time manner. On the other hand, a few sensors would be enough for some less important targets like a small barrack. However, since one sensor may be able to cover several targets, thus, it is important to schedule those energy-limited sensors to cover targets with diversified priority levels to achieve an optimal network lifetime. Formally, we consider a sensor network consisting of a large number of static sensor nodes deployed for monitoring critical targets. The objective is to optimize network lifetime which is defined as the time duration since the launch of the sensor network till the instant that some target cannot be covered by certain number of sensors. This problem is particularly challenging since it belongs to NP-complete class as proved in Section 3. In this paper, we try to solve this problem in following steps. First, we define a subset of sensors which meets target coverage requirements as a coverage pattern in order to capture relationship between targets and sensors. If only one such coverage pattern is used, the network is down when the first node in this pattern dies. However, due to spatial redundancy of sensors, lifetime can c 2008 John Wiley & Sons, Ltd. Copyright ° Prepared using wcmauth.cls
be extended by switching among different patterns. Thus, if the full set of coverage patterns is given, we can mathematically formulate the problem. Since number of coverage patterns would be probably exponential to number of targets and sensors, it will take a quite long time to solve the problem [21]. Therefore, to handle such complexity in searching solution space, we introduce a column generation (CG) [3] based approach to decompose the original problem into two sub problems and solve them iteratively. Here a column corresponds to a feasible coverage pattern and our idea is to find a column with steepest ascent in lifetime, based on which we iteratively search for the maximum lifetime solution. Since CG needs an initial set of feasible coverage patterns to start, we design a novel random selection algorithm, which helps to speed up the converge procedure of our approach. Numerical results not only verify efficiency of our approach, but also reveal how network lifetime changes with different network parameters like number of sensor, targets, sensing range etc. The contributions of this paper are as follows. First, we prove that this target coverage problem with QoS requirements is NP-complete. By introducing a concept named coverage pattern, we mathematically formulate this problem. Second, we propose a column generation based approach to efficiently solve this formulation. And lastly, we analyze the performance of our approach through experimental study. The rest of the paper is organized as follows. In the next section, we briefly review some related works. We describe our system model and problem statement in Section 3, we present primary results about the problem in Section 4 and we formally formulate the problem in Section 5. In Section 6, a column generation based approach is proposed. Numerical simulation results are reported in Section 7. Finally, Section 8 concludes the paper. 2. Related Work Sensor coverage problem is centered around a fundamental question: “How well do the sensors observe the physical space [4]?” In this section, we provide more detailed review of related works that try to maximize the network lifetime with considerations of coverage requirement and/or connectivity requirement. 2.1. Coverage in Homogeneous Networks An efficient method is proposed in [5] to extend the sensor network operational time by organizing sensors Wirel. Commun. Mob. Comput. 00: 1–15 (2008)
DOI: 10.1002/wcm
QOS-AWARE TARGET COVERAGE IN WIRELESS SENSOR NETWORKS
into a maximal number of disjoint set covers that are activated successively. A heuristic is designed to solve the maximum disjoint set cover problem. The authors further relaxed the stringent constraint of disjoint set by allowing sensors to participate in multiple sets, and designed two heuristics (one based on linear programming and another based on the greedy techinique) to efficiently compute the maximum set cover problem [6]. However, it is still a pending problem to decide cardinality of set covers p in [6] where p is simply set to n (number of sensors). Nevertheless, due to combinational complexity, the cardinality of the search space might be exponential to number of potential links between sensors and targets. Thus, it is critical to identify whether this simple set is appropriate in general cases. Assuming adjustable sensing ranges, An iterative method is proposed in [7] which tries to maximize the network lifetime under coverage and connectivity constraints. Two essential steps are involved. In the first step, a virtual backbone is formed to ensure the connectivity and then the sensing range of sensors is adjusted to ensure a full coverage. The residue energy of each sensor is then updated in the second step and the whole procedure is repeated. Slightly differently, in [8], a greedy iterative three-step method is proposed to address the energy-efficient connected coverage problem, where, unlike [7], the coverage requirement is fulfilled in the first step. Note that the works above do not consider the actual energy consumption for data transmission and relay. A similar coverage scenario is proposed in [9]. The objective is to maximize the network lifetime for k to 1 sensor-target surveillance networks. This work has been further extended in [10] to accommodate the same k to 1 sensor-target problem with an extra routing requirement. The key difference between their problem and the Maximum Set Cover (MSC) problem proposed in [6] lies in an assumption made in [9] [10]: a sensor can watch only one target at a time which may be reasonable under certain applications. Note that this assumption significantly reduces the complexity in solving such kind of target problems. Actually, adding this assumptions to the MSC problem will turn it from a NP-complete problem to a polynomialtime solvable problem. The reason is quite intuitive: this assumption sharply decreases number of feasible coverage patterns and thus narrow down the solution space. The above mentioned literatures are about the target coverage problems. For the area coverage problem, several fundamental issues have been discussed in c 2008 John Wiley & Sons, Ltd. Copyright ° Prepared using wcmauth.cls
3
[12] [11]. In [12], several ILP (Integer Linear Programming) formulations have been built to reduce overall energy consumption while maintaining area coverage. In [11], a decision problem with the objective to determine whether every point in the service area of the sensor network is covered by at least k sensors has been addressed. 2.2. Coverage in Heterogeneous Networks In [13],the impact of heterogenous sensor deployments and sensing coverage on network lifetime has been analyzed. They mathematically derived expressions for the heterogeneous mixture of devices that optimize the network lifetime with sensing coverage constraint in a single-hop direct communication model, and extended the investigation to multi-hop case through simulations. A hierarchical network with two types of nodes: normal sensors deployed with intensity λ0 , and more powerful nodes (higher energy and communication capacity) deployed with intensity λ1 is evaluated in [14]. It is proved that lifetime is maximized when λ1 scales with the square root of λ0 . This result is compatible with other analytical studies of hierarchical ad hoc network capacity [15]. 3. Problem Statement We consider a set of n sensor nodes: S = {s1 , s2 . . . sn } deployed (randomly or deterministically) to cover m targets: R = {r1 , r2 . . . rm } with a priority vector Q = {q1 , q2 . . . qm }. The priority vector denotes that at any given moment, target rk is covered by at least qk (qk ≥ 1) active sensor nodes. For sensor node si , it has an initial energy ei (i = 1 · · · n). First, in order to illustrate the coverage relationship between sensor nodes and targets, we define a notation named Target Coverage Graph as following, Definition 1: Target Coverage Graph. A target coverage graph is a bipartite graph T CG = {S, L, R} where there exists a link li,k ∈ L if sensor node si can cover target rk , for any si ∈ S and rk ∈ R. Note that for si , any target within its sensing range can be covered by itself. The target Q-Coverage requirement is defined as follows: Definition 2: Target Q-Coverage Requirement. At any given moment target rk is covered by at least qk (qk ≥ 1) sensor nodes (k = 1 . . . m). Wirel. Commun. Mob. Comput. 00: 1–15 (2008)
DOI: 10.1002/wcm
4
YU. GU
Table I. Current Measurement of the Node with a Single Video Camera
Activity Idle Image Sleep
Proc Core(mA) r cP idle :139 ± 1.57 / r cP :3 ± 0.04 sleep
Proc/Sensor Core(mA) P r/Se cidle :324 ± 2.33 P r/Se cimage : 341 ± 24.17 P r/Se csleep :3 ± 0.02
Current VS Number of Targets 600
Current
cPr/Se image
Current (mA)
500 Pr/Se
400
Add Another Video Modues && Taking Image
cidle
} Taking Image 300
cPr idle
200 100 0
0.5
1
Adding One Video Module on Processing Core
sleep state is so small that it can be ignored. For example, current measured in sleep state with P r/Se processor core and sensor core (csleep ) is only 0.87% of the current measured in image state with processor P r/Se core and sensor core (cimage ). This observation confirms that it is an efficient way to save energy and prolong network lifetime by scheduling sensors into sleep state. The second observation is that, as shown in Figure P r/Se P r/Se P r/Se r 2, cidle − cP represent cost idle and cimage − cidle of adding one video module and taking images, respectively. Due to hardware limitation (e.g. view angle of a video sensor ), usually it takes several sensor modules to keep multiple targets under surveillance, thus if there is K targets needed to be covered simultaneously, energy cost e of a sensor node would be: e=
1.5 2 2.5 Number of Targets
3
It is relatively important to model and characterize energy consumption for this QoS-required coverage problem. Since we only take into account the sensing activity, there are two major hardware modules consuming energy in a sensor node, namely [16]: 1. Processor core: consists of the processor, memory and associated hardware; 2. Sensor core: includes the sensing devices, e.g. the web camera. Energy consumption of a visual sensor network test bed which consists of a Crossbow‘s Stargate and a Logitech QuickCam Pro 4000 webcam connected through the USB has been characterized in [16]. Table I shows average current measured under different combinations of active hardware subsystems P r/Se P r/Se r Pr and we use symbols cP idle , cidle , cimage , csleep , P r/Se
csleep to represent current in idle state with processor core, current in idle state with processor core and sensor core, current in image state with processor core and sensor core, current in sleep state with processor core, and current in sleep state with processor core and sensor core, respectively. The first observation is that, compared to other states, e.g. image state, energy consumption of the c 2008 John Wiley & Sons, Ltd. Copyright ° Prepared using wcmauth.cls
r − cP idle ) · U
P r/Se
P r/Se
+K · (cimage − cidle
3.5
Fig. 2. Energy Consumption Graph
P r/Se
K · (cidle
)·U
P r/Se
=
r K · (cimage − cP idle ) · U
=
K · e0
where U is voltage and e0 is the energy cost for scouting one target. Without loss of generality, we assume that the energy that one sensor spends on covering one target per time unit is 1. According to the above analysis, if one sensor is assigned to cover K targets simultaneously, the energy cost will be K ∗ 1 = K. The network lifetime is defined as the elapsed time since the launch of the sensor network till the instant that there exists some target rk ∈ R, to which less than qk alive sensors can be assigned. Accordingly, the problem of our concern can be formally stated as: Problem Statement: Target Q-Coverage (TQC) Problem . Given a target coverage graph T CG = {S, L, R} with a priority vector Q, maximize the network lifetime. 4. Preliminary Results In this section, first we analyze the TQC problem and prove that it belongs to class NP-complete. Then two different upper bounds are introduced. For the TQC problem, we show that: Proposition 1. The TQC problem is NP-complete. Proof. If we set two more constraints for the TQC problem, namely: Wirel. Commun. Mob. Comput. 00: 1–15 (2008)
DOI: 10.1002/wcm
QOS-AWARE TARGET COVERAGE IN WIRELESS SENSOR NETWORKS
1. ∀k, qk is set to 1; 2. A sensor node should cover either none or all of targets within its sensing range; This special case corresponds to the M SC problem defined in [6] which has been proved to be a NPcomplete problem. Hence the TQC problem is also NP-complete. ¦End¦ Note that LP-MSC and Greedy-MSC are proposed to solve the Maximum Set Cover (MSC) problem [6]. Though our problems are similar, it is not a trivial work to extend them to solve the TQC problem due to lack of considerations of certain issues like the exact assignment of sensors to targets as well as energy consumption. Thus, it is quite difficult to tackle the TQC problem. So, in order to solve it, first we educe a naive upper bound, Proposition 2. In the TQC problem, network lifetime TN follows: (UPP1) TN ≤ Min{T1 , T2 }
(1)
where P
S i∈ m U Pmk=1 k q k=1 k
T1 =
P T2 = Min{
i∈Uk
qk
ei
ei
, si ∈ S, rk ∈ R
TN ≤ T1 =
P
S i∈ m U k=1 k Pm k=1 qk
ei
s1
ID s2
Resdi ual Energy 100
Sensors Needed 2
ID r1
Resdi ual Energy 100
Sensors Needed 1
ID r2
Fig. 3. A negative example to illustrate that upper bound in Proposition 2 is not tight. Table II. Optimal Assignment from the UPP2 formulation
Sensor s1 s2 Opt.
Time for r1 (s) y1,1 :50.00 y2,1 :50.00 T = 50.00
Time for r2 (s) y1,2 :50.00 y2,2 :0.00
every target should be covered by at least qk sensors any given moment, to that every target should be covered by at least qk sensors on average. First, we define T , yi,k as the network lifetime and the total time sensor si spends on covering target rk , respectively. Thus we can build the following linear programming formulation named UPP2 to achieve another upper bound. (UPP2)
}, rk ∈ R
where Uk = {si | si can cover rk } Proof. Recall that target rk needs to be covered by qk sensors, thus the Pmamount of energy consumption for m targets is k=1 qk per time unit. Moreover, the total amount of energy of this sensor network is P S i∈ m Uk ei , thus network lifetime TN must follow: k=1
ID
5
subject to X
M ax(T )
yi,k ≥ qk · T,
(2)
∀rk ∈ R
(3)
si ∈Uk
X
yi,k ≤ ei ,
∀si ∈ S
(4)
rk ∈Vi
. Also, for every target rk , P
ei
i∈Uk . Denote its lifetime Tk is bounded by qk T2 = Min{Tk }. Consequently, TN ≤ M in{T1 , T2 }. ¦End¦ Note that the above upper bound is not tight. For example in Figure 3 upper bound of the given target coverage graph equals to Min{200/3, 100} = 66.67 according to Eq.(1), however, the actual optimal network lifetime achieved is 50 because s1 has to devote its energy to both r1 , r2 and thus constitutes the bottleneck of this network. Thus it is reasonable to obtain another lifetime upper bound by relaxing the coverage constraints, that
c 2008 John Wiley & Sons, Ltd. Copyright ° Prepared using wcmauth.cls
yi,k ≤ T,
∀si ∈ S, rk ∈ R
(5)
yi,k ≥ 0, T ≥ 0, ∀si ∈ S, rk ∈ R
(6)
where Vi = {rk |rk can be covered by si } Eq.(3) ensures that for every target rk ∈ R, there would be at least qk sensors covering it on average. Eq.(4) guarantees that for every sensor node si ∈ S, its total energy consumption would not exceed the initial energy ei . Wirel. Commun. Mob. Comput. 00: 1–15 (2008)
DOI: 10.1002/wcm
6
YU. GU
Eq.(5) makes sure that for each si ∈ Uk , its time covering some target rk ∈ R would not exceed network lifetime, i.e. T . The UPP2 is a typical linear programming formulation, thus can be solved in polynomial time. Actually, according to the algorithm proposed by Ye et.al [17], it could be solved in O(m3 n3 ) time. For example, as shown in Table II, UPP2 solves the instance posed in Figure 3 and outputs an optimal T which equals to 50 within 0.1 second using optimization software Lingo 9.0 [22]. Clearly, as illustrated in the previous context, the actual optimal lifetime would be 50, which means that lifetime obtained in the UPP2 is a tight upper bound for this special instance. However, if we want to achieve this optimal T calculated by the UPP2, we should find a schedule, defined as a time table specifying from what time up to what time which sensor watches which targets, while satisfying each yi,k . This schedule however may need much extra effort to find. Liu et.al in [10] proposed an efficient algorithm to construct such a schedule with an extra constraint that a sensor can watch only one target at a time. In our model, a sensor can be used to cover several targets at a time and a target may need several sensors at a time, thus their algorithm can not be extended to address our problem. For example, the instance posed in Figure 3 can not be solved by their algorithm. Because, at any time, r1 needs at least 2 sensors while r2 needs at least 1 sensor, thus if one sensor can cover at most one sensor at a time, there would be at least 3 active sensors in the network. Clearly, there are only 2 sensors (s1 , s2 ), thus their algorithm will not work. In the following section, we will demonstrate the exact definition of such a schedule (named coverage pattern) and a column generation based approach is proposed to find corresponding schedules to obtain an optimal network lifetime. Though the proposed two upper bounds may not be tight, they still can be used to gain a direct impression of the performance gap between our result and the optimal one (see Section 7 for the detail). Moreover, whether there is a tight upper bound for the TQC problem remains a quite challenging question and we will do a further investigation on this specific question in the future.
patterns. Then the problem can be mathematically formulated by Linear Programming techniques based on coverage patterns.
5.1. Concept of Coverage Pattern We identify a number of sensor nodes such that they meet the target Q-coverage constraint then we call such set of active sensors as a coverage pattern. All sensors outside the work pattern can adjust to sleeping mode for maximal energy saving. If only one coverage pattern is used, network lifetime equals to the time duration until the first node in this pattern dies. However, due to spatial redundancy of sensors, lifetime can be prolonged by switching among different coverage patterns subject to energy constraints. Here we use a simple example to illustrate the concept of coverage pattern and how to use different patterns to prolong network lifetime. As shown in Figure 4, there are three sensors s1 , s2 , s3 deployed to cover two targets r1 , r2 with a priority vector Q = {2, 1}. First we identify a coverage pattern p1 where s1 is used to cover both r1 , r2 while r1 is also monitored by s2 . Similarly, we can define another coverage pattern p2 where s3 is used to cover both r1 , r2 while r1 is covered by s2 . If p1, p2 are used separately, the maximal network lifetime achieved is 50s (Because network topology in Figure 3 shares a same structure with both p1 and p2 and thus they have an identical lifetime). However, the network lifetime can be extended to 100s if both p1, p2 are used, each for 50s while maintaining energy constraints. Clearly this solution is optimal since upper bound of this specific network is exact 100s according to both UPP1 and UPP2. Formally, a coverage pattern p (written as p = {ei p , si ∈ S}) can be represented by a vector with length n, and each element corresponds to the energy consumption rate of a node si . A zero energy consumption rate implies the node is not active in the pattern p. To mathematically describe a coverage pattern p, active sensor nodes should be taken into account. Let xpi,k be the indicator variable that indicates if or not sensor node si is active in pattern p. That is,
5. Problem Formulation In this section, we define a notation named coverage pattern and use a simple example to explain how network lifetime can be extended by using multiple c 2008 John Wiley & Sons, Ltd. Copyright ° Prepared using wcmauth.cls
½ xpi,k =
1, si ∈ Uk and si is covering target rk 0, otherwise (7) Wirel. Commun. Mob. Comput. 00: 1–15 (2008)
DOI: 10.1002/wcm
QOS-AWARE TARGET COVERAGE IN WIRELESS SENSOR NETWORKS ID
ID s1 ID s2 ID s3
Resdi ual Energy 100
Sensors Needed 2
ID r1
Resdi ual Energy 100
Sensors Needed 1
ID r2
Resdi ual Energy 100
s1 s2 s3
Resdi ual Energy 100 100 100
Resdi ual Energy 0 50 100
ID s1 s2 s3
ID s1 s2 s3
Resdi ual Energy 0 0 0
7
Target SensorNode
0s
50s
100s
Tm i ene il
AcivteLnik InacviteLink
Fig. 4. An example demonstrating what is a coverage pattern and how to use them to prolong network lifetime. The left graph shows the target coverage topology. The center graph shows that we can achieve the upper bound of network lifetime by using two different coverage patterns. The right graph explains meanings of present symbols.
Then target Q-coverage requirement can be specified by: X
xpi,k ≥ qk
(∀si ∈ S, rk ∈ R)
(8)
si ∈Uk
Denote epi as power consumption rate for si in a coverage pattern p. Then epi can be calculated as:
epi =
m X
xpi,k
(9)
k=1
5.2. Problem Formulation As stated above, network lifetime can be divided into different time durations dominated by relevant coverage patterns. Therefore, the TQC problem can be converted to a time-slice assignment problem with the objective of maximizing the sum of time durations subject to energy constraints at sensor nodes. That is, (Origin)
M ax(
X
tp )
(10)
∀si ∈ S
(11)
p∈P
subject to X
epi · tp ≤ ei
p∈P
and tp ≥ 0
(12)
where tp denotes the time duration assigned to a pattern p, and P is the set containing all patterns. Eq.(10) is referred to as Original optimization problem hereafter. c 2008 John Wiley & Sons, Ltd. Copyright ° Prepared using wcmauth.cls
Eq.(11) ensures that total energy consumption of a sensor node si ∈ S should not exceed its initial energy ei . Given a priori target coverage graph, the Original optimization problem is actually a standard linear programming (LP) problem and can be solved in O(|P |3 ) using Ye’s algorithm [17]. However, due to combinatorial nature, the overall pattern set will be extremely large even for a moderate network size. Therefore it is difficult or even impossible to directly solve the above formulation. Even though only a relatively small number of patterns may contribute to the optimal solution, it is still difficult to select those patterns from the original pattern set. To handle such complexity, we adopt a column generation based approach to reformulate and solve the original optimization problem, as detailed in the next section. 6. Column Generation Column generation (CG) is a general purpose framework which has been often proposed either as a computationally efficient alternative to standard integer optimization methods or as a modeling tool when a direct approach is infeasible [18]. In our case, columns correspond to patterns, and the column generation based approach helps to reduce the complexity in constructing the whole set of patterns, by effectively selecting columns that make improvements to the optimization. First, it decomposes the original problem into a master problem and a corresponding sub problem. The master problem starts with columns named initial basic feasible solutions (BFS) and decides the length of time interval a pattern is used, subject to energy constraint for each node. Using the optimal dual variables of energy constraints, the sub problem is brought up Wirel. Commun. Mob. Comput. 00: 1–15 (2008)
DOI: 10.1002/wcm
8
YU. GU
to check whether current solution is optimal, if not, solving the sub problem will generate a new pattern that will further improve current solution. Then, this pattern (column) is added to current BFS and the master problem is recalculated based on the updated BFS. Hence, the procedure iterates between the master and sub problem and does not stop until the master problem contains all patterns that contribute to the optimal solution of the original problem.
Table III. Illustration of CG Procedure
Iteration 1 2
6.2. The Master and Sub Problem Assume we have an initial BFS P0 derived from the algorithm described in the above section, we can reformulate the Original optimization problem as a Master problem: tp
(13)
∀si ∈ S
(14)
p∈P0
subject to X
epi · tp ≤ ei
p∈P0
where ei is the initial energy of si ∈ S. The master problem is a classical LP problem and can be solved easily with standard simplex algorithm. As stated before, after solving the master problem, we should verify its optimality, in other words, we need to identify whether it can be improved by adding new columns (coverage patterns) to the current BFS. ˜i as the optimal dual variables for the energy Denote B constraint (14) in the master problem, the reduced c 2008 John Wiley & Sons, Ltd. Copyright ° Prepared using wcmauth.cls
˜3 B 0.50 0.50
Master 50.00 100.00
Sub 1.00 0.00
si ∈S
The CG based approach works in the feasible domain and requires some initial basic feasible solutions to start with. The effect of this approach can be enhanced by the quality of the initial BFS. Therefore, to achieve a fast convergence speed, it is important to develop methods to obtain a good initial BFS. In this paper, we propose a so-called Random Selection Algorithm to generate initial BFS. The proposed random selection algorithm (RSA) is presented in Algorithm 1. The complexity of random selection algorithm is O(n) where n is the number of sensors. The more the patterns,the faster this CG approach converges. Thus it is preferable to apply RSA to generate multiple initial coverage patterns.
X
˜2 B 0.00 0.00
cost cp for the variable tp corresponding to coverage pattern p is then: X ˜i · ep (15) cp = 1 − B i
6.1. The Initial Basic Feasible Solutions
(Master) M ax
˜1 B 0.00 0.50
Clearly, we want to select the column that results ∗ in the maximum positive cost reduction it S cp and join into the current BFS, i.e., P0 = P0 p, where c∗p is obtained by solving the Sub problem: (Sub) M ax(cp )
(16)
subject to constraints in Eq.(7) through (8). If the solution to the sub problem results in a nonpositive reduced cost, then the previous value from the master problem is already optimal to the original problem and CG procedure terminates. Otherwise, master problem is re-calculated with the new BFS, and the whole procedure is repeated. To demonstrate the CG approach, we throw the instance proposed in Figure 4 into this iterative procedure. It outputs an optimal lifetime 100 in 2 iterations, the details are concluded in Table III. First, RSA randomly generates the initial BFS containing pattern p2 defined in Section 5.1. In iteration 1, lifetime achieved is 50 by the Master ˜1 , B ˜2 , B ˜3 } = formulation, optimal dual variables {B {0.00,0.00,0.50}, and the Sub problem tells us that the maximum reduced cost equals to 1.00 and the corresponding coverage pattern is p1 (also defined in Section 5.1), which means that there is still some room for further improvement if we add p1 into current BFS. Therefore, in iteration 2, lifetime achieved by the Master formulation using both p1 and p2 is 100 ˜1 , B ˜2 , B ˜3 } = {0.50,0.00,0.50}. At this time, the and {B Sub problem outputs 0.00 and validate the optimality of current solution† . We notice that sub problem is an Integer Programming (IP) problem which belongs to class NP-hard. In this paper, it is solved by Lingo 9.0 software [22] which employs a branch-and-bound algorithm [21]. †
Note that both UPP1 and UPP2 indicate that upper bound of this instance equals to 100. Wirel. Commun. Mob. Comput. 00: 1–15 (2008)
DOI: 10.1002/wcm
QOS-AWARE TARGET COVERAGE IN WIRELESS SENSOR NETWORKS
9
Algorithm 1: Random Selection Algorithm Input: S = {s1 , · · · , sn }, R = {r1 , · · · , rm }, Uk = {si |si can cover rk , si ∈ S, rk ∈ R}, Q = {q1 , · · · , qm }, TCG={S, L, R} and Threshold T H Output: Basic Feasible Solutions set(BFS): P0 begin initialize: k = 1, j = 1; P0 = φ ; /*randomly select T H initial patterns for P0 */ while j ≤ T H do /*define pj as the jth pattern generated, first we initialize pj as an empty pattern*/ set pj = φ ; for k ;k ≤ m; k++ do /*check whether the Q-coverage requirement can be fullfilled*/ if |Uk | ≥ qk then randomly select qk sensors in Uk and add them to pattern pj ; else /*for target rk , RSA fails and outputs an empty P0 */ return φ; /*check whether pattern pj already exists in the current P0 */ if pj exists in P0 then drop pj ; else S P0 = P0 {pj }; j++; end
Start {TCG,Q} RandomSelection Alogrithm
{ P0 } No {p}
Master Problem
cp < 0
Yes
Th No CT>TH
sub Problem
~
{ Bi } Yes End
Fig. 5. CG Approach with Improved Termination Procedure
6.3. Termination Criteria The convergence speed of CG based approach is a critical concern. According to observations through numerous experiments, in most cases, the termination criterion of negative reduced cost given by sub c 2008 John Wiley & Sons, Ltd. Copyright ° Prepared using wcmauth.cls
problem works efficiently; however in certain cases, the proposed approach will keep on iterating with a very small improvement in the objective function of the master problem. To speed up, we propose another termination criterion: monitor the improvement of each iteration, and if the improvement is marginal (e.g., < 1%) for consecutive T H times, terminate the CG procedure. The CG based approach with improved termination procedure is presented in Figure 5 where Th represents network lifetime achieved in hth iteration. In hth iteration, the improvement of network lifetime is calculated as Th − Th−1 . If the ratio of this improvement over current lifetime Th is smaller than h−1 a predefined margin H,e.g Th −T < H, a counter Th CT is increased by 1; otherwise, it is reset to 0. When CT > T H, the whole CG procedure is terminated. The inherent reason for using this improved termination criteria lies in the fact that if the CG algorithm has not been able to slightly improve the network lifetime for a long time, it is probably because the CG algorithm comes closely to the optimal solution. But due to the heavy-tailed phenomena [19][20], CG would need a quite long time to reach this optimal value. Therefore we can manually Wirel. Commun. Mob. Comput. 00: 1–15 (2008)
DOI: 10.1002/wcm
10
YU. GU Effect of BFSs on Network Lifetime
Network Topology
Optimal Lifetime = 100
100
Sensor
80
Bottleneck Target
60
Target 40
Network Lifetime
100 P : 59 iterations 1
80
P2: 46 iterations
60
P : 29 iterations 3
40
P1
20
P
20
Link
2
0 0
20
40
60
80
P3
100
0 0
10
20 30 40 50 Number of Iterations
Fig. 6. Network Topology
60
Fig. 7. The effect of BFSs containing different number of patterns
terminate it, in order to save computational time while maintaining a near optimal solution. In the next section, a case study will be given to demonstrate how this criteria works.
To verify the efficiency of our CG-based approach and investigate how network parameters affect network lifetime, we have built a simulator using Visual Studio 2005 and LINGO 9.0[22] in a Lenovo T60 laptop with 1G memory. For the performance aspect of our approach, we mainly focus on how fast it can solve TQC problems and how it performs when the problem scale grows. Then, we conduct numerical experiments to gain a direct impression on how network lifetime changes with different network parameters like sensor number n, target number m, sensing range SR. For the following experiments, we assume that all targets and nodes are randomly deployed in a 100m × 100m area. Note that though many experiments have been conducted, due to space limitation, only a few of them have been selected and reported here. 7.1. A Case Study First we randomly generate a TQC instance where n, m, SR are set to 50, 10 and 25, respectively. We assume that qk = 1 (k = 1, · · · , 10) and ei = 100 (i = 1, · · · , 50). Network topology is shown in Figure 6, clearly, there is only one sensor located in (69.67, 99.97) that can cover the target with coordinate (87.38, 99.32). Thus UPP1 tells us that network lifetime is bounded by 100. Furthermore, UPP2 also confirms that for this specific instance lifetime upper bound is 100. c 2008 John Wiley & Sons, Ltd. Copyright ° Prepared using wcmauth.cls
100 90 Network Lifetime
7. Numerical Results
Effect of the Predefined Margin (H) over Network Lifetime 110
UPP1 = UPP2 = 100 TH = 10
80 70
H=0.01, T51 = 100
60 50
H=0.05, T26 = 75
40 30 20
H=0.1, T14 = 62.5
10 0 0
10
20 30 40 Number of Iterations
50
60
Fig. 8. The effect of the predefined margin H. We set n = 50,m = 10, SR = 25,ei = 100, {i = 1, · · · , 50} and T H = 10
In the first experiment, we utilize the strict termination criteria: c∗p ≤ 0 and evaluate the effectiveness of BFS. We use the RSA to obtain three initial BFSs: P1 , P2 and P3 containing 1, 5, 10 patterns, respectively, and P1 ⊂ P2 ⊂ P3 . As shown in Figure 7, one of the most important observations is that all initial BFSs lead to the same optimal network lifetime. It means that number of patterns a BFS contains would not affect the final optimal output, this is because for one specific TQC instance, the optimal lifetime is unique and would not be influenced by the initial BFS. However, a BFS containing more patterns tends to have a much faster convergence speed, e.g. P3 with 10 patterns greatly outperforms P1 and P2 with only 1 and 5 patterns, respectively. P3 converges in 29 iterations while P1 , P2 converges in 59, 46 iterations, respectively. This leads to another important Wirel. Commun. Mob. Comput. 00: 1–15 (2008)
DOI: 10.1002/wcm
QOS-AWARE TARGET COVERAGE IN WIRELESS SENSOR NETWORKS
7.2. Performance Evaluation Using network parameters listed in Table IV, in order to study performance of our proposed approach, we run the CG approach and vary the number of sensors from 60 to 100 with an increment of 10 to monitor 10 targets. Sensing range is set to 25. The corresponding results are concluded in Table V. Since a fixed H and T H for all the instances is impractical and with no performance guarantee. Alternatively, we manually select a positive performance factor P F, P F ≤ 1. We stop the iterative procedure only when CG outputs a ‡
Experiments results are consistent and thus omitted due to space limitation. c 2008 John Wiley & Sons, Ltd. Copyright ° Prepared using wcmauth.cls
Lifetime Comparison 300
UPP1 UPP2 && CG−STC CG−80% CG−50%
Network Lifetime
250
200
150
100
50
60
65
70
75
80
85
90
95
100
Number of Sensors
Fig. 9. Illustration of network lifetime achieved
350 300
Computational Time
observation: the more the patterns a BFS contains, the higher the jumping-off point CG approach starts, resulting in a faster convergence speed. This observation will result in a useful idea: since the time complexity of CG lies in iteratively solving master and sub problem, it is preferred to generate a BFS containing as many patterns as possible, which is confirmed by further experiments ‡ . In the second experiment, we study the effect of the predefined margin H on the convergence procedure (T H is set to 10). With the same BFS P0 , first we launch our CG approach using the strict termination criteria to solve this instance and gain the optimal network lifetime: 100 in 59 iterations, and then we run our CG approach three times with different settings of H: H = 0.01,H = 0.05, H = 0.1. The results are concluded in Figure 8. If H = 0.01, CG is terminated at the 51th iteration with an output 100 which is optimal. If H = 0.05, CG stops at the 26th iteration and outputs a lifetime 75. If H = 0.1, CG outputs a lifetime 62.5 at 14th iteration. We can conclude that H does have a great impact on our proposed CG approach and should be carefully tuned to achieve a good balance between computational time and quality of output, e.g. in this case study, if we set H = 0.1, CG runs quite fast (nearly 24% runtime of CG with the strict termination criteria) but outputs badly (only achieve nearly 60% of the optimal value). If we set H = 0.01, CG achieves the optimal value, but the runtime is almost as long as the CG with the strict termination criteria. Thus, in this instance, it is somehow reasonable to set H = 0.05 since it achieves 75% of the optimal value in 44.83% of the total runtime. In the following section, we will further study performance gain of our proposed approach.
11
Computational Time Comparison CG−STC CG−80% CG−50%
250 200 150 100 50 0 60
65
70
75
80
85
90
95
100
Number of Sensors
Fig. 10. Illustration of computational time comparison
lifetime T and T ≤ P F · M in{U P P 1, U P P 2}, . We name this mechanism as CG-PF and we will explain the reason later. Two key observations can be obtained from experimental data, namely, 1. Both UPP1 and UPP2 work quite well, and could be used by other approaches for the problems similar to the TQC problem. 2. Our CG approach performs quite well, e.g. achieving optimal solutions. Moreover, CG-PF can guarantee a performance bound for the TQC problem. For the first observation, it is easy to find that except for certain occasions, e.g. n = 60 for UPP1, both UPP1 and UPP2 are tight and could be used as a performance bound for the CG approach. We also conduct numerous similar experiments with different Wirel. Commun. Mob. Comput. 00: 1–15 (2008)
DOI: 10.1002/wcm
12
YU. GU Table IV. Network Parameters
Parameter m SR ei Q
Value 10 25 100 {2,2,2,2,2,2,2,2,2,2}
Table V. Performance Evaluation. CG-STC: CG with Strict Termination Criteria; CG-P F : CG obtaining P F of Min{UPP1,UPP2};#Sen: number of sensors #Ite: number of iterations; #Pat: number of patterns used in the final iteration; CT: Computational Time; T: network lifetime
#Sen 60 70 80 90 100
UPP1 150.00 150.00 200.00 250.00 250.00
UPP2 100.00 150.00 200.00 250.00 250.00
#Ite 5 45 91 124 171
CG-50% #Pat CT(s) 1 1 19 16 21 65 34 91 30 144
T(s) 50.00 75.00 100.00 125.00 125.00
network parameters and the results also confirm this observation. As described in the previous content, the central ideas of those two bounds are simple but effective, thus they can be applied to other problems similar to the TQC problem, e.g. for the MSC problem [6], we can also relax the coverage constraints and get a tight upper bound. Therefore, others can utilize them as a performance bound and identify the exact performance gain their approach obtains. The reason we develop so called CG-PF is also based on this observation. Assume that if we do not know a tight upper bound for some instance, it is difficult to decide when we should stop the CG approach, because we do not know the exact performance gap between current solution and the optimal one. In this case, we use the improved termination criteria illustrated in Section 6.3 to save computational time while trying to capture certain level of performance. The improved termination works well as shown in the previous section, however, parameters like H and T H need to be cautiously tuned when network parameters change. Moreover, no performance gain can be guaranteed. Now based on the first observation, we can define a new upper bound, e.g. Min(UPP1,UPP2), which helps guide our CG approach to obtain a performance bound. Thus we have the second observation. For the second observation, as shown in Figure 9, CG with strict termination criteria can always achieve the upper bound, and CG with performance guarantee, e.g. 80% of the upper bound, also works quite well. c 2008 John Wiley & Sons, Ltd. Copyright ° Prepared using wcmauth.cls
#Ite 44 77 258 323 398
CG-80% #Pat CT(s) 11 5 31 31 40 91 53 131 50 235
T(s) 80.73 100.00 160.56 200.20 200.01
#Ite 83 218 383 439 544
CG-STC #Pat CT(s) 15 10 43 46 53 137 65 204 62 323
T(s) 100.00 150.00 200.00 250.00 250.00
For the computation time, as illustrated in Figure 10, if we do not want to spend a long time for the optimal lifetime and a solution with a pre-defined performance bound is preferred, then we can employ our CG-PF (performance factor, e.g. 80%) to shorten computational time while maintaining certain level of performance. For example, n = 90, we can acquire 80% of the optimal lifetime within 131 seconds, which saves nearly 36% of computational time. There are still some other important observations about the CG approach. For instance, generally speaking, number of patterns used in the final iterations tends to grow with network lifetime. This phenomena is easy to understand, since for the same network topology, the more patterns we can use, the longer lifetime we can achieve. In the next section, we will study the impact of different network parameters on network lifetime and gain some guidance on designing and maintaining such surveillance systems. 7.3. Network Parameters on Network Lifetime In the first experiment, to study the impact of node density on the network lifetime, we vary the number of sensors from 30 to 75 with an increment of 5 to monitor 5,10,15 targets. Sensing range is set to 20m. The corresponding results are concluded in Figure 11 and Figure 12 where we show how lifetime changes with the increment of sensor density and corresponding time cost. We note that the more the sensors deployed, the longer the network can last. Clearly, that is because Wirel. Commun. Mob. Comput. 00: 1–15 (2008)
DOI: 10.1002/wcm
QOS-AWARE TARGET COVERAGE IN WIRELESS SENSOR NETWORKS Network Lifetime VS Number of Sensors
Network Lifetime VS Sensing Range
450
500 Target Number = 5 Target Number = 10 Target Number = 15
350
SR = 40 SR = 30 SR = 20
450 Network Lifetime
Network Lifetime
400
300 250 200 150 100
13
400 350 300 250 200
30
40
50 60 Number of Sensors
70
Fig. 11. Network lifetime record, N = 30 to 75 and m = 5,10,15
150
#Ite 50 83 103 171 169 201
30 35 40 45 50 55
#Ite 66 98 106 183 207 309
m = 10 #Pat 17 21 18 26 27 41
50 60 Number of Sensors
70
Lifetime Comparison with k−coverage 450 k =1 400
k =2 k =3
350
Network Lifetime
m=5 #Pat 10 18 17 21 24 31
40
Fig. 13. Network lifetime record N = 30 to 75 and SR = 20m,30m,40m
Table VI. Iterations and Number of used Patterns. #Sen: number of sensors #Ite: number of iterations; #Pat: number of patterns used in the final iteration
#Sen
30
300 250 200 150 100 50
Time Cost Observation 0
80
Computational Time (s)
70
35
40
45
50
55
60
65
70
Number of Sensors
Target Number = 5 Target Number = 10 Target Number = 15
60
Fig. 14. Network lifetime comparision when we set q1 = (1 · · · 1),q2 = (2 · · · 2),q3 = (3 · · · 3)
50 40 30 20 10 0
30
35
40
45
50
55
60
65
70
75
Sensor Number
Fig. 12. Computational time observation, N = 30 to 75 and m = 5,10,15
more nodes would results in more candidates for covering targets, thus lifetime increases with sensor density. We can also conclude that if we deploy more target into an existing topology, the lifetime decreases. Because it costs extra energy to maintain TQC coverage for those new added targets, thus the c 2008 John Wiley & Sons, Ltd. Copyright ° Prepared using wcmauth.cls
network lifetime decreases. In Table VI, we show that the number of iterations as well as the final number of patterns that are used in the CG approach, where n = 30, · · · , 55, m = 5, 10, and SR = 25 . It suggests a general trend that both number of iterations and final number of used patterns grow with number of sensor nodes. This phenomenon is due to the fact that the more the sensors are deployed, the more the patterns they can form, thus it takes more iterations for the CG approach to converge. Also, an optimal solution will consist of more patterns. To show how sensing range influences network lifetime, we vary the number of sensors from 30 to 75 with an increment of 5 to monitor 10 targets, the sensing range is 20m,30m,40m. The corresponding results are concluded in Figure 13. Since more sensors Wirel. Commun. Mob. Comput. 00: 1–15 (2008)
DOI: 10.1002/wcm
14
YU. GU
can be used to cover targets with the increment of sensing range, energy consumption for every target could be leveraged within those sensor nodes resulting in the increment of network lifetime. Some applications may require different degrees of coverage while targets have a same priority, therefore, q-coverage here corresponds to k-coverage [4] in area coverage cases. We randomly deployed 5 targets (with 1-coverage, 2-coverage, 3-coverage requirements) and vary sensors from 35 to 70 with an increment of 5; we set SR = 40m. The related results are listed in Figure 14. As expected, network lifetime decreases sharply with the increment of coverage degrees (as shown in Figure 14) since more sensors are involved to cover a target resulting in the increment of energy consumption rates for sensors in a pattern. Generally speaking, simulations demonstrate that our CG based approach can effectively solve the TQC problem. The effect of network parameters on the network lifetime can be concluded as following: 1. For a fixed number of targets, the network lifetime increases with the number of sensors, and sensing range. 2. For a fixed number of sensors, the network lifetime increases as the number of targets to be covered decreases. 3. For a fixed number of sensors and targets with identical priority k(k > 0), the network lifetime decreases as k increases. 8. Conclusion In this paper, we addressed the problem of achieving an optimal network lifetime in surveillance sensor networks with QoS requirements which is proved to be a NP-complete problem. First we formulated the optimization problem utilizing linear programming techniques. However, directly solving this optimization seems very complicated due to the combinatorial complexity. Thus a novel column generation based approach has been developed to solve this formulation, which decomposes the original formulation into suboriginal formulations and solves them iteratively. We have conducted extensive simulations to study the effect of configurable variables, like number of sensors, sensing range, and coverage priority, on the lifetime. Numerical results not only verified the efficiency of our approach, but also gained some insights into the performance aspects in designing such surveillance systems. c 2008 John Wiley & Sons, Ltd. Copyright ° Prepared using wcmauth.cls
References 1. The Crossbow Company. http://www.xbow.com, 2008 2. He T, Krishnamurthy S, Luo L, Yan T, Krogh B, Gu L, Stoleru R, Zhou G, Cao Q, Vicaire P, Stankovic JA, Abdelzaher TF, Hui J, Vigilnet: An integrated sensor network system for energy-efficient surveillance. ACM Transactions on Sensor Networks(TOSN), vol. 2, pp. 1-38, 2006. 3. Desaulniers G, Desrosiers J, Solomon MM, Column Generation. New York, NY: Springer, 2005. 4. Cardei M, Wu J, Energy-efficient coverage problems in wireless ad hoc sensor networks. Computer Communications Journal (Elsevier), vol. 29, pp. 413-420, Feb. 2006. 5. Cardei M, Du DZ, Improving wireless sensor network lifetime through power aware organization. ACM Wireless Networks, vol. 11, pp. 333-340, May 2005. 6. Cardei M, Thai YL, Wu W, Energy-efficient target coverage in wireless sensor networks. in Proc. IEEE INFOCOM 2005, Miami, USA, Mar. 2005. 7. Lu M, Wu J, Cardei M, Li M, Energy-efficient connected coverage of discrete targets in wireless sensor networks. in Proc. IEEE International Conference on Computer Networks and Mobile Computing(ICCNMC05), Aug. 2005. 8. Jaggi N, Abouzeid AA, Energy-efficient connected coverage in wireless sensor networks. in Proc. 4th Asian International Mobile Computing Conference (AMOC), Kolkota, India, Jan. 2006. 9. Liu H, Wan P, Jia X, Maximal lifetime scheduling for k to 1 sensor-target surveillance networks. Computer Networks, vol. 50, pp. 2839-2854, 2006. 10. 10. Liu H, Wan P, Jia X, Maximal lifetime scheduling for sensor surveillance systems with k sensors to 1 target. IEEE Transactions on Parallel and Distributed Systems, vol. 17, pp. 2839-2854, Dec. 2006. 11. Huang CF, and Tseng YC, The Coverage Problem In a Wireless Sensor Network. in Proc. ACM International Conference on Wireless Sensor Networks and Applications, San Diego, USA, pp. 115-121, September 2003. 12. Meguerdichian s and Potkonjak , Low Power 0/1 Coverage and Scheduling Techniques in Sensor Networks. Technical Reports 030001, University of California, Los Angeles, January 2003. 13. Lee JJ, Krishnamachari B, Kuo J, Impact of heterogeneous deployment on lifetime sensing coverage in sensor networks. in Proc. IEEE Conference on Sensor and Ad Hoc Communications and Networks (SECON), Santa Clara, USA, 2004, pp. 367-376. 14. Mhatre V, Rosenberg C, Kofman D, Mazumdar R, A minimum cost heterogeneous sensor network with a lifetime constraint. IEEE Transactions on Mobile Computing, vol. 4, pp. 4-15, Jan. 2005. 15. Liu B, Liu Z, Towsley D, On the capacity of hybrid wireless networks. in Proc. IEEE INFOCOM, San Francisco, CA, USA, 2003, pp. 1543-1552. 14. 16. Margi CB, Petkov V, Obraczka K, Manduchi R, Characterizing energy consumption in a visual sensor network testbed. in Proc. of IEEE/Create-Net Intl. Conf. on Testbeds and Research Infrastructures for the Development of Networks and Communities (TridentCom), Barcelona, Spain, March 2006. 17. Ye Y, An O(n3 · l) potential reduction algorithm for linear programming. Mathematical Programming, vol. 50, pp. 239258, 1991. 18. Vance H, Barnhart C, Johnson E, Solving binary cutting stock problems by column generation and branch-and-bound. Computational Optimization and Applications, vol. 3, pp. 111130, May 1994. 19. Gomes CP, Selman B, Crato N, Kautz HA, Heavytailed phenomena in satisfiability and constraint satisfaction problems. Journal of Automated Reasoning, vol. 24, pp. 67-100, 2000. Wirel. Commun. Mob. Comput. 00: 1–15 (2008)
DOI: 10.1002/wcm
QOS-AWARE TARGET COVERAGE IN WIRELESS SENSOR NETWORKS
15
20. Lubbecke ME, Desrosiers J, Selected topics in column generation, Technical Report G-2002-64, GERAD, Montreal, December 2002. 21. Horst R, Tuy H, Global optimization: deterministic approaches, 3rd ed. Berlin: Springer-Verlag, 1996. 22. The Lindo System Company. http://www.lindo.com,2008
c 2008 John Wiley & Sons, Ltd. Copyright ° Prepared using wcmauth.cls
Wirel. Commun. Mob. Comput. 00: 1–15 (2008)
DOI: 10.1002/wcm