$SSOLFDWLRQVDQG,QQRYDWLRQVLQ0RELOH&RPSXWLQJ$,0R&
Integer linear programming formulation of optimal beacon placement problem in WSN Sarbani Roy
Nandini Mukherjee
Department of Computer Science and Engineering Jadavpur University Kolkata, India Email:
[email protected]
Department of Computer Science and Engineering Jadavpur University Kolkata, India Email:
[email protected]
Abstract—In wireless sensor networks (WSNs) localization systems are required to provide position information of sensor nodes. Location information of sensor nodes with unknown physical coordinates is acquired with the help of beacons or anchors. Beacon placement is one of the prominent factors that shape the localization performance in sensor networks. Placing more beacons in a network is generally not a cost-effective idea. However, a carefully designed technique can increase the accuracy by placing a limited number of beacons. This paper presents an integer linear programming(ILP) formulation of optimal beacon placement (OBP) and also prove that the OBP problem is NP-hard. Requirement based beacon placement algorithm is proposed to optimize number of beacons to cover the entire WSN. Simulation result shows that the proposed beacon placement scheme is effective in a sensor network with high node density.
I.
I NTRODUCTION
Deployment of sensor nodes in WSN is application reliant and directly determines the topology of the network, which further influences the location estimation process. Generally, two deployment strategies are considered in WSN: (1) planned deployment- Sensor nodes are deployed in a region by placing them in predetermined locations.(2) unplanned deploymentsensors are deployed in large numbers by randomly placed them in a region, where no a priori knowledge of location exists. Numerous sensor network applications using unplanned infrastructure require location awareness. Thus, a node must know its location in such applications. Generally, using a global positioning system (GPS) position is an immediate solution. However, it is typically too expensive to incorporate a GPS receiver into a sensor node. Moreover, GPS, has an inherent problem of accurately determining the location of objects located inside buildings. Localization is the process of estimating the location of a node and it is important when there is an uncertainty of the exact location of sensor nodes in the deployed area. This would lead to proper identification of significant event locations. In addition, accurate location estimation could also aid in sensor network services such as routing, information processing. Hence, localization schemes for sensor networks typically use a small number of beacons or anchors that know their location. Beacons act as reference in estimating the location of sensor nodes whereby sensors estimate their location based on the messages they receive. Theoretically, an unknown sensor node within the coverage of more beacons bring higher location accuracy. However, too many beacons cause high energy consumption and calculation ,(((
complexity. The simplest method for a two dimensional localization is trilateration using distance measurements from an unknown sensor node to three non-linear beacons with known positions [1]. Multilateration algorithms with more than three beacons also used to reduce the influence of distance errors on localization accuracy. An alternative approach is to use normal nodes, once they have estimated their positions, just like beacon nodes in a multilateration algorithm [2]. According to the basic property of radio propagation, signal strength value decreases as distance between beacon and sensor nodes increases. However, dense placement of beacons is not suitable for two reasons namely cost and self interference. Cost of the entire system increases as the number of beacons increases. Therefore uniform beacon (but not dense) placement is a suitable option which has motivated us to design a new beacon placement algorithm. This paper studies the problem of determining the beacon locations and optimizing their ranges in sensor networks. In this paper, we present an integer linear programming (ILP) formulation for the optimal beacon placement (OBP) problem in which the goal is to minimize the network cost by appropriately placing the beacons in the sensor field. This paper presents a requirement based beacon placement algorithm for a given sensor network and also optimize their ranges for low energy loss. The remainder of this paper is organized as follows. Problem statement is presented in Section II. Section III presents the ILP formulation of the OBP problem. The proposed algorithm for beacon placement in network is discussed in Section IV. In Section V, we evaluate our scheme. Section VI reviews related work. Concluding remarks are given in Section VII. II.
P ROBLEM STATEMENT
The localization problem can be formulated as follows: given an area in which sensor nodes are deployed, determine the optimal number of beacons required for complete coverage and the locations in which they are to be placed. Here, complete coverage denotes that all the sensor nodes in the network must be connected to at least k number of beacons to determine their location. Determining the minimum number of beacons, to cover the entire network is an optimization problem. The goal is to provide the localization solution for the entire network while minimizing the total number of beacons used.
Given a sensor network, represented by a graph G, and a set of beacon nodes B = {B1 , B2 , ..., Bk } , their positions (Bxi , Byi ) for all Bi ∈ B, i = 1..k, we want to find the position (Sxu , Syu ) for all unknown nodes Su ∈ S. Some assumptions to illustrate the sensor field are listed below: (i) Total number of sensor nodes is n and the sensors are randomly distributed across the area. (ii) Each sensor should be reachable by at least k beacons in order to compute their spatial coordinates. The minimum value of k is three (trilateration technique). (iii) Beacons are of higher capability nodes than sensor nodes in the network. III.
The notation is composed of sets, decision variables, parameters and constants. A. Sets
5)
1) 2) 3)
1)
2)
3)
4) 5) 6) 7)
S: set of sensor nodes B: set of beacon nodes LB : set of locations for the beacon nodes to be placed LS : set of locations of the sensor nodes already placed R: set of communication ranges of beacons a) νr : value of communication range r ∈ R
8) 9) 10)
B. Decision variables 1) 2) 3) 4) 5) 6) 7) 8) 9)
βkr : A 0-1 variable such that βkr = 1 if and only if a beacon is placed at location k ∈ LB and has a communication range r ∈ R αi : A 0-1 variable such that αi = 1 if and only if a sensor is active at location i ∈ LS σik : A 0-1 variable such that σik = 1 if and only if a sensor located at i ∈ LS is covered by a beacon positioned at k ∈ LB ζ1ik : A 0-1 variable such that ζ1ij = 1 if and only if a sensor at location i ∈ LS can communicate with a sensor at location j ∈ LS \ {k} ζ2ik : A 0-1 variable such that ζ2ik = 1 if and only if a sensor at location i ∈ LS can communicate with a beacon at location k ∈ LB ζ3kl : A 0-1 variable such that ζ3kl = 1 if and only if a beacon at location k ∈ LB can communicate with a beacon at location l ∈ LB \ {k} τ1ij : the traffic flow from a sensor at location i ∈ LS to a sensor at location j ∈ LS \ {i} τ2ik : the traffic flow from a sensor at location i ∈ LS to a beacon at location k ∈ LB τ3kl : the traffic flow from a beacon at location k ∈ LB to a beacon at location l ∈ LB \ {k}
cb: base cost of a beacon node cr : cost of 1m of communication range of a beacon cs: cost of a sensor node
D. Constants
T HE OPTIMAL BEACON PLACEMENT PROBLEM
In the OBP problem, the network cost is determined by the number of beacons and their configuration (mainly communication range). In this section, we present an integer linear programming ILP formulation for the OBP problem. We first introduce the notation used in the formulation. Then, the ILP model is described and its complexity is discussed.
1) 2) 3) 4)
C. Parameters
11)
Π: Adjacency matrix between location of sensors where πij = 1 if the Euclidean distance between two locations i, j ∈ LS ; i = j is less than or equal to the communication range of sensor nodes Γ: Adjacency matrix for sensors and beacons where γik = 1 if the Euclidean distance between a beacon at k ∈ LB and a sensor at location i ∈ LS is less than or equal to the communication range of the beacon Δ: Adjacency matrix between location of beacons where δkl = 1 if the Euclidean distance between two locations k, l ∈ LB ; k = l is less than or equal to the uniform communication range of beacon nodes Λ: Distance matrix [dki ] where dki is the distance between a beacon at k ∈ LB and a sensor at location i ∈ LS νu : Uniform communication range for all beacons Cij : Capacity of the wireless link between a sensor node at location i ∈ LS and a sensor at location j ∈ LS \ {i} Cik : Capacity of the wireless link between a sensor node at location i ∈ LS and a beacon at location k ∈ LB Ckl : Capacity of the wireless link between a beacon node at location k ∈ LB and a beacon at location l ∈ LB \ {k} RDi : Rate of data generation by a sensor placed at location i ∈ LS SDmax : Maximum amount of data that a sensor node can send and/or receive per time unit i.e., sensor capacity BDmax : Maximum amount of data that a beacon node can send and/or receive per time unit i.e., beacon capacity
E. The objective function used in the ILP formulation The objective function of the OBP problem is given by the following equation: F = min{CS + CB } where, CS = cs CB =
(1)
αi
(2)
βkr
(3)
{i∈LS }
(cb + cr νr )
{r∈R}
{k∈LB }
The first term (CS ) is the cost of sensor nodes which is determined by their number and base cost (cs). The second term (CB) is the cost of beacon nodes which is determined by their number, communication range (r) and the beacon base cost (cb). The goal is to minimize this function subject to the following set of constraints and requirements.
F. Placement constraints
I. Traffic flow constraints
The following two constraints ensure that at most one beacon can be placed at any beacon location and one sensor can be placed at any sensor location. βkr ≤ 1, ∀ k ∈ LB (4)
Traffic flow constraints are introduced into the model to ensure that the resulting WSN is connected. Here, we consider (a) traffic flow between sensor nodes (b) traffic flow between sensor and beacons (c) traffic flow between beacon nodes. Since beacon nodes does not generate any traffic, so the following constraint is generated for every sensor node. RDi αi + τ1ij =
{r∈R}
αi ≤ 1,
∀
i ∈ LS
(5)
G. Coverage constraints A sensor i ∈ LS is covered by a beacon placed at k ∈ LB if the following constraints is satisfied. νr βkr ≥ dki σik , ∀ k ∈ LB ; i ∈ LS (6) {r∈R}
Constraint (7) states that the communication range assigned to the beacon must be greater than or equal to the Euclidean distance between the beacon and sensor node. Trilateration method is used to determine the location of a sensor based on simultaneous distance measurements from three beacons located at known locations. So, each sensor node must be covered by at least three beacons. This is ensured by the following two constraints. σik ≥ 3, ∀ i ∈ LS (7) {k∈LB }
σik ≤
βkr ,
∀
i ∈ L S ; k ∈ LB
(8)
{r∈R}
H. Wireless link constraints A wireless link can be established between two nodes (sensors or beacon) if the Euclidean distance between the locations of these two nodes (sensors or beacon) is less than or equal to their communication range. The following two constraints ensure the wireless link and its capacity between sensors. πij (9) (αi + αj ), ∀ i, j ∈ LS ; i = j ζ1ij ≤ 2 τ1ij ≤ Cij ζ1ij , ∀ i, j ∈ LS ; i = j (10) The following two constraints ensure the wireless link and its capacity between sensor and a beacon node. γik βkr ), ∀ i ∈ LS ; k ∈ LB (11) ζ2ik ≤ (αi + 2 {r∈R}
τ2ik
≤ Cik ζ2ik ,
∀
i ∈ LS ; k ∈ LB (12)
The following two constraints ensure the wireless link and its capacity between beacons. δkl r βk + βlr ), ∀ k, l ∈ LB ; k = l (13) ζ3kl ≤ ( 2 {r∈R}
{r∈R}
τ3kl ≤ Ckl ζ2kl , ∀
k, l ∈ LB ; k = l
(14)
τ1ji
+
{j∈LS ;j=i}
{j∈LS ;j=i}
τ2ik
+
{k∈LB }
τ3kl , ∀i ∈ LS (15)
{l∈LB ;l=k}
J. Data send/recv constraints The following constraints ensure that the data send/recv capacity of sensors and beacons are not exceeded. τ1ij + τ2ik ≤ SDmax αi , ∀i ∈ LS (16) {i∈LS }
{j∈LS ;j=i}
{k∈LB }
τ2ik
τ3kl ≤ BDmax
+
{l∈LB ;l=k}
βkr , ∀k ∈ LB (17)
{r∈R}
The last two constraints respectively indicate that decision variables are binary and traffic flow variables are positive integer. βkr , αi , σik , ζ1ij , ζ2ik , ζ3kl ∈ {0, 1}, ∀k, l ∈ LB ; k = l; i, j ∈ LS ; i = j; r ∈ R τ1ij , τ2ik , τ3kl ∈ N + , ∀i, j ∈ LS ; i = j; k, l ∈ LB ; k = l
(18) (19)
The problem of placing beacon nodes in an optimum manner for maximizing network utilization is NP-hard. Reduction from set cover problem to beacon placement problem is discussed below. K. Optimal Beacon Placement Problem is NP-hard Let us consider a set of elements, denoted as S, and a collection of n sets (whose union comprises the set S), denoted as B. The set cover problem is to identify the smallest number of sets from B whose union still contains all elements in the S. In the set covering optimization problem, the input is a pair (S, B), and the objective is to find a set covering that uses the fewest sets. This problem is reduced to the optimization version of beacon placement problem as: Given a set S that represents the sensors and a set B that is a collection of n beacon sets. The objective is to find the minimum number of beacons to provide the localization solution of all sensors. The reduction from set cover problem to the above problem is as follows: For each element i in S, we create a sensor node Si . Sensor node Si should be with in the range of at least three beacons (beacon triangle) to compute its location. For each subset X ∈ B, we create a beacon triangle tX . If an element i belongs to X, then we consider that beacon triangle to provide the localization solution of the sensor node Si . It is easy to see
that we can choose minimum beacons by selecting beacon triangles from B if and only if all sensors from S are covered by selected beacon triangles. Since solving the set cover problem is NP-hard, determining the answer to the optimization version of beacon placement problem is also NP-hard. In the next section, we present a greedy approach to solve the beacon placement problem that ensures the localization requirements. The proposed algorithm follows the problem solving heuristic of making the locally optimal choice at each stage with the hope of finding the global optimum. IV.
P ROPOSED A PPROACH
In this section, proposed beacon placement algorithm is explained in detail. Proposed beacon placement algorithm consists of two phases namely, (i) initial placement phase and (ii) optimization phase. A. Beacon Placement In the initial placement phase an initial topology of beacons is formed with a uniform density. We assume that the transmission power of beacon nodes is greater than sensor nodes and that it is adjustable. The proposed algorithm ensures that each sensor node is within the coverage of at least three sensors. Ranking a group of sensor nodes based on the beacon coverage is essentially a way of deciding the requirement of further beacon for that group of nodes. A rank is assigned to each sensor node. For example, rank(Si ) = k means sensor Si is within the coverage of k beacons. The rank of any sensor in the given network will be maximum three. The left most point in the polygon area is selected to place the first beacon B1 ∈ B. Next two beacons B2 , B3 ∈ B of the first beacon triangle are placed in a manner such that they form a equilateral triangle. After the placement of first beacon triangle, rank of sensors which are under the coverage of these beacons are modified. Sensors which are with in the range of all or any of these three beacons (first beacon triangle) modifies their rank. Next beacon is placed according to its requirement in remaining sensor nodes. This process repeats until all sensors are under the coverage of at least three beacons. After the initial placement of beacons, the communication range of each beacon is adjusted without hampering the localization solution. These steps are discussed below in detail. Algorithm 1 shows the algorithm of beacon placement. During the initial placement phase, each beacon broadcasts a beacon packet containing the beacon ID and its position (coordinates), which is received by the sensors which are within its range. Each sensor maintain a beacon table contains all the information necessary to estimate its location. The estimated location of a sensor node based on known beacon nodes is computed using the solution of a set of equations. The most common localization algorithm is the trilateration [1]. Thus each beacon table has at most three rows as we consider the trilateration technique for localization. The beacon ID and its position (coordinates) are obtained from the beacon packet. RSSI (Received Signal Strength Indicator) measures
ALGORITHM 1: Algorithm of beacon placement /* randomly deploy set of sensors S in a polygon region P */ randon deploy(S, P ); /* Initialize the rank of all sensor nodes */ for each sensor node si ∈ S do rank(Si ) = 3; end /* calculate the positions of first three beacons i.e., first beacon triangle (Bx1 , By1 ) is the left most point in P */ Bx2 = Bx1 + br ∗ cos0◦ ; By2 = By1 + br ∗ sin0◦ ; Bx3 = Bx1 + br ∗ cos60◦ ; By3 = By1 + br ∗ sin60◦ ; /* update the rank of sensor nodes which are within the coverage of all three or any beacon of this first beacon triangle */ modif y rank(); /* insert the first beacon triangle in the beacon list B list */ for i = 1to3 do SN list(Bi ) = {∅}; /* SN list(Bi ) is the neighbor list of Bi */ for all Sj from which Bi receives ack packet do SN list(Bi ) = SN list(Bi ) ∪ {Sj }; update beacon list(B list, Bi ); range(Bi ) = br ; end /* next beacon position is calculated and B list is updated */ for all Bi ∈ B list do next beacon placement(Bi ); end /* communication range of Bi is adjusted */ for all Bi ∈ B list do range optimization(Bi ); end end
the strength (power) of the signal for the packet. The RSSI value is used to estimate the distance between the sensor node and the beacons [1]. A sensor node will discard a beacon packet if its rank is already zero. That means it already has three beacon entries in its beacon table. Otherwise, it checks its beacon table and if needed updates the beacon table and modifies its rank and also broadcasts a ack packet containing the sensor ID and its corresponding beacon Id (which is stored in its beacon table). When a beacon receives a ack packet containing its own ID, it will add that sensor Id in its SN list (list of sensor neighbors). The beacon table is updated if the rank of the sensor node is not zero and there is no previous entry of that beacon. The modif y rank method is presented in Algorithm 2. Next beacon position is calculated using the next beacon placement procedure. All possible beacon positions from the currently placed beacons are calculated. A new beacon position is not considered if a beacon is already placed there. That means, if Bj is the new beacon position then Bj is ignored if Bj ∈ lis(Bi ) and Bj ∈ B list, where B list is the list of already placed beacons. For each new beacon, its requirement is checked. If the new beacon covers any sensor whose rank is greater than zero then the beacon is accepted and added to the beacon list B list, otherwise next possible position need to find out for the new beacon. If the beacon position is accepted then the rank of the sensors those are covered by the new beacon and also
ALGORITHM 2: modif y rank method
ALGORITHM 4: range optimization method
for all currently placed beacons Bi ∈ B list do send beacon pkt(Bi ); for all Sj receives beacon packet from Bi do if (rank(Sj ) > 0) then flag = chk beacon table(Sj ); /* chk beacon table(Sj ) returns true if Bi is not in its beacon table*/ if (flag == True) then update beacon table(Sj ); rank(Sj ) = rank(Sj ) − 1; send ack pkt(Sj ); end end end end
range(Bi ) = range(Bi ) − v; /* range adjustment */ send beacon pkt(Bi ); for all Sj receives beacon packet from Bi do if (Bi ∈ B table(Sj )) then /* B table(Sj ) is the beacon table of Sj */ send ack pkt(Sj ); end tmp list(Bi ) = {∅}; /* temporary neighbor list */ for all Sj from which Bi receives ack packet do tmp list(Bi ) = tmp list(Bi ) ∪ {Sj }; end if (tmp list(Bi ) ∩ SN list(Bi ) == {∅}) then range optimization(Bi ); else exit; end end
have rank greater than zero, are decremented by one and they add the new beacon in their beacon table as discussed earlier. The next beacon placement procedure will continue until there is no sensor whose rank is greater than zero. The next beacon placement method is presented in Algorithm 3. ALGORITHM 3: next beacon placement method list(Bi ) = possible beacon position(Bi ); /* list of next possible beacon positions from the current beacon position Bi */ for all Bk ∈ list(Bi ) do flag=check requirement(Bk ); /* check requirement(Bk ) returns true if beacon Bk is required */ if (flag == TRUE) then modif y rank(); SN list(Bk ) = ∅; /* SN list(Bi ) is the sensor neighbor list of Bi */ for all Sj from which Bk receives ack packet do SN list(Bk ) = SN list(Bk ) ∪ {Sj }; update beacon list(B list, Bk ); /* new beacon Bk is added in the beacon list B list */ range(Bk ) = br ; /*update the rank of sensor nodes which are within the coverage of this new beacon*/ end end end
In initial placement phase, communication range of all beacons are same i.e., br . The optimization phase is used to adjust the communication range of beacons such that it will not affect the localization solution. By reducing the communication range of beacons, energy consumed by the network is decreased. The range optimization method is presented in Algorithm 4. V.
R ESULT
We evaluated the proposed algorithm using ILP formulation in Section III versus grid placement technique for the deployment of beacons in a given area. For this evaluation, we used the ILP solver glpk 4.35 . The topology construction phase has been tested in a simulation environment in order
to demonstrate its functioning and its effectiveness. The simulation environment is generated by using MATLAB version 7.11.0. Topology construction process of WSN for a given application and the performance evaluation of the framework are presented in the following subsections. It is assumed that beacon nodes have known positions either by being placed at known positions, or by using GPS. So, the GPS-less nodes are referred as unknown sensor nodes. The sensor field of simulation is 300m x 300m area, where 50 unknown sensor nodes are randomly placed. Each node has same transmission power corresponding to a communication range of 30m. Each node has a received signal strength indicator and it is able to determine the range to the source of the packet within 30m. When sensors are deployed in complicated environments, radio communication links may be blocked by obstructions and the network topology will have a concave shape. A typical example is that sensors are deployed in streets of urban areas where sensors may be separated from each other by buildings, which results in concave network topologies. The other scenario is in habitat monitoring, sensors are deployed to complex areas such as valleys or rivers, which may have concave shapes. We choose the C shape and the S shape as the representative of concave topologies, since concave scenarios in the real world are the combinations of C-shapes and S-shapes. Figure 1 shows the results of experiments when ILP formulation is solved using ILP solver glpk 4.35. Proposed beacon placement algorithm is compared with grid placement technique. Random, C-shape and S-shape networks are considered here. We can define density of sensor nodes in the network as a function of the number of sensors (denoted by ns ) in the polygon P (area of the polygon is denoted by A), as shown in equation 20. Similarly, beacon density δb is defined as a function of the number of beacons (denoted by nb ) in the given area, as shown in equation 21. ns A nb δb = A
δs =
(20) (21)
Beacon density δb and beacon sensor ratio (BSR = δb δs ) are used to evaluate the performance of the proposed algorithm. In proposed strategy, less number of beacons are required then Grid placement. The table also shows the percentage of reduction in cost with respect to the grid placement.
Fig. 4. Comparison of requirement based and grid based beacon placement in S-shape topology
Fig. 1.
Comparison of requirement based and grid based beacon placement
Figure 2 compares the proposed requirement based beacon placement algorithm with grid based placement by varying node density in the random network topology. Figure 3 and Figure 4 compare the same for C-shape and S-shape network topology.
triangles is calculated in which a node resides to determine its estimated position. SeRLoc [4] is another range free localization. Sensor nodes are equipped with omnidirectional antennas, while beacons are equipped with directional antennas and the locations of beacons are known a priori. In SeRLoc, a sensor estimates it location based on the information transmitted by the beacons. Besides the schemes discussed here, some other similar type of schemes have been proposed, for example DVHop [5], MDS-MAP [6], MSP [7], APL [8], StarDust [9], and Rendered Path [10]. In [11], an approach to perform localization by placing beacon nodes uniformly around the perimeter of a network is proposed. This technique gives the best results in the absence of any other relevant information about the sensor node positions. Though, the methodology only applies to rectangular network area. A technique of choosing beacon node locations to achieve a specific accuracy level using RSSI is proposed in [12].
Fig. 2. Comparison of requirement based and grid based beacon placement in random topology
The novel aspect of the work described in this paper is applying the concept of requirement based beacon placement. In this paper, we focus on the design of a beacon placement algorithm. The paper makes the following contributions: (i) An integer linear programming (ILP) formulation is provided to determine the optimal number of beacons for a given WSN. (ii) Novel algorithm is proposed that optimizes the number of beacon placed in the given monitoring area. (iii) Communication range of beacons are incrementally optimized, which helps to reduce the energy consumption of the WSN.
VII.
Fig. 3. Comparison of requirement based and grid based beacon placement in C-shape topology
VI.
R ELATED W ORK
In [3] an area-based approach to perform location estimation by separating the environment into triangular sections between beacon nodes is proposed. In this methodology, the center of gravity (COG) of the intersection of all of the
C ONCLUSION
In this paper, we studied the problem of determining the beacon locations and optimizing their ranges in sensor networks. An integer linear programming (ILP) formulation for the optimal beacon placement (OBP) problem is proposed. Here, the objective is to minimize the network cost by appropriately placing the beacons in the sensor field. The optimization version of beacon placement problem is NP-hard. A greedy approach to solve the beacon placement problem is also proposed. An improvement in accuracy was observed with the proposed beacon placement algorithm compared to grid placement through simulations.
R EFERENCES [1] [2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
K. Holger and W. Andreas, Protocols and Architectures for Wireless Sensor Networks. John Wiley and Sons, 2005. C. Savarese, J. M. Rabaey, and K. Langendoen, “Robust positioning algorithms for distributed ad-hoc wireless sensor networks,” in Proceedings of the General Track of the annual conference on USENIX Annual Technical Conference, ser. ATEC 2002. USENIX Association, pp. 317–327. T. He, C. Huang, B. M. Blum, J. A. Stankovic, and T. Abdelzaher, “Range-free localization schemes for large scale sensor networks,” in Proceedings of the 9th annual international conference on Mobile computing and networking, ser. MobiCom 2003. ACM, pp. 81–95. L. Lazos and R. Poovendran, “Serloc: secure range-independent localization for wireless sensor networks,” in Proceedings of the 3rd ACM workshop on Wireless security, ser. WiSe 2004. ACM, pp. 21–30. N. Bulusu, J. Heidemann, and D. Estrin, “Gps-less low cost outdoor localization for very small devices,” IEEE Personal Communications Magazine, vol. 7, no. 5, pp. 28–34, 2000. Y. Shang and W. Ruml, “Improved mds-based localization,” in Proceedings of the 23rd Annual Joint Conference of the IEEE Computer and Communications Societies, ser. INFOCOM 2004, pp. 2640–2651. Z. Zhong and T. He, “Msp: multi-sequence positioning of wireless sensor nodes,” in Proceedings of the 5th International Conference on Embedded Networked Sensor Systems, ser. SenSys 2007, pp. 15–28. J. Jeong, S. Guo, T. He, and D. Du, “Apl: autonomous passive localization for wireless sensors deployed in road networks,” in Proceedings of the 27th Annual Joint Conference of the IEEE Computer and Communications Societies, ser. INFOCOM 2008, pp. 1256–1264. R. Stoleru, P. Vicaire, T. He, and J. A. Stankovic, “Stardust: a flexible architecture for passive localization in wireless sensor networks,” in Proceedings of the 4th International Conference on Embedded Networked Sensor Systems, ser. SenSys 2006, pp. 57–70. M. Li and Y. Liu, “Rendered path: range-free localization in anisotropic sensor networks with holes,” in Proceedings of the 13th annual ACM international conference on Mobile computing and networking, ser. MobiCom 2007. ACM, pp. 51–62. J. N. Ash and R. L. Moses, “On optimal anchor node placement in sensor localization by optimization of subspace principal angles,” in Proceedings of the IEEE International Conference on Acoustics, Speech, and Signal Processing, ser. ICASSP 2008. IEEE, pp. 2289–2292. S. Hara and T. Fukumura, “Determination of the placement of anchor nodes satisfying a required localization accuracy,” in IEEE International Symposium on Wireless Communication Systems, ser. ISWCS 2008, pp. 128–132.