2.7 Multiple Sink Placement Algorithms
2.7.2 Fixed Number of Sinks
Cluster-Based Sampling (CBS)
Cambazard et al. [28] propose the Cluster-based Sampling (CBS) algorithm to find the optimal positions to deploy a given number of sinks to minimise the total Eu- clidean distance from all nodes to the two nearest sinks. CBS uses the concept of the k-means clustering algorithm. In the k-means clustering algorithm, a network is divided into disjoint clusters and each sink is placed in the centre of a cluster. CBS applies a variant of the k-means clustering algorithm to compute overlapping clusters. It starts by selecting the positions of k sinks randomly from the available nodes. Then, the overlapping clusters are formed, where each node joins two clus- ters, i.e. the clusters of its nearest and second nearest sinks. The centroid of each cluster is calculated and each sink is moved to the node’s location near the new centroid. The iteration stops when no further improvements can be made in terms of the total distance of all nodes to two nearest sinks. CBS results are compared to the optimal solution found using mixed integer linear programming, where in all scenarios, CBS’s total distances are not more than 0.05% longer.
Cluster Balancing
Mahmud et al. [73] present heuristic algorithms for partitioning the networks into k disjoint clusters and place one sink for each cluster to minimise and balance the total energy consumption of all clusters. They find the optimal location of the sink such that the total shortest hop distance of the cluster is minimised. It is basically constructing the connectivity graph and computing the total shortest hop distance by trying to deploy a sink in each possible location between two nearby nodes. The heuristic works in two phases. In the first phase, it creates k initial clusters by using a greedy approach. Initially, there are n clusters with one node in each cluster. Then, the algorithm repeatedly finds a cluster with the smallest total shortest hop distance and merges it with the best neighbouring cluster that minimises the total shortest hop distance of the resulting merged cluster. In the second phase, the algorithm keeps moving one node from the largest total shortest hop distance cluster to a neighbouring cluster with the smallest total shortest hop distance until the balance is reached.
Maximally Balanced Connected Partition (MBCP)
Slama et al. [103] extend the problem of Maximally Balanced Connected Partition
(MBCP) to deploy multiple sinks. The MBCP algorithm partitions a network
into connected sub-networks of equal size. It firstly divides the network into two connected sub-networks with equal number of nodes. To have more sub-networks, MBCP divides the sub-networks again. In each sub-network, a sink is randomly deployed. The simulation results show that this technique can prolong the network lifetime around 10%–20% longer compared to the random deployment.
Iterative Decomposition (DECOMP)
Ning and Cassandras [82] address the problem of optimally determining the location of sinks to minimise communication power of nodes which are directly connected
to the sinks. For reliability, each node is required to connect to at least p sinks but each sink can only accept at most q connections. The problem is formulated as a Mixed Integer Non-linear Programming (MINLP) problem. It tries to minimise the total transmission power of the nodes. Since the MINLP solver has the scal- ability issue and the optimal solution depends on the initial feasible solution, the authors propose the Iterative Decomposition (DECOMP) algorithm and use ran- dom placement for initial locations. The iteration consists of two steps: optimise the node-sink connections by finding the minimum power of each node to connect to p sinks and optimise each sink’s location by moving it to the centre of mass of all nodes connecting to it. This process stops when no further improvements on the sinks’ locations can be made. The simulation results show that DECOMP finds the same best solution with 10%–60% shorter runtime compared to the MINLP solver for small network cases, i.e. up to 75 nodes. MINLP is not scalable and thus it cannot find solutions for large cases.
Global and 1hop
Vincze et al. [115] present two algorithms for multiple sink deployment, namely Global and 1hop. Global is a centralised iterative algorithm, where in each step the sinks form clusters by grouping nodes which are closer to them. Then, they find their new positions by finding the centroid of the clusters, i.e. locations where the sinks’ resultant vector is zero. 1hop is the distributed version of the algorithm, where the sinks only know location information of neighbouring nodes. After collecting messages for t time period, the sinks can approximate the locations of distant nodes using the number of nodes that actually send packets through the sinks’ neighbour- ing nodes. Based on this assumption, the authors extend the two algorithms to Global Relocation and 1hop Relocation. Both algorithms relocate the sinks from time to time during the network operation to extend the lifetime. In the simula- tion, 1hop Relocation can prolong around 30% of the network lifetime compared to Global Relocation, and about 50% compared to Global and the random deployment.
Coverage and Latency Aware Actor Placement (COLA)
Akkaya and Younis [8] propose Coverage and Latency Aware Actor Placement (COLA), a heuristic algorithm that considers both delay requirement and cover- age by deploying a number of sinks. COLA initially distributes the sinks evenly in the region for maximising coverage. The region is divided into equal sized cells as many as the number of sinks. Each sink is then placed at the centre of one cell. After that, all nodes select their nearest sinks to form clusters. Each sink then reposition itself at a location that enables minimum latency in data collection. COLA uses vertex 1-centre formulation to pick new locations for sinks. Firstly, it creates the minimum distance matrix of all nodes within a cluster. Then for each node, it finds the longest path from that node to any other nodes by searching in the corresponding row of the matrix. Finally, the smallest value is picked among the list of the longest path. The vertex 1-centre will be the location of the node which has this smallest value in its row. Simulation results show that COLA has about 30% increase in coverage and up to 40% delay reduction compared to the random deployment.
Genetic Algorithm for Hop Count Optimisation (GAHO) and Genetic Algorithm for Distance Optimisation (GADO)
Youssef and Younis [124] propose two algorithms, namely Genetic Algorithm for Hop Count Optimisation (GAHO) and Genetic Algorithm for Distance Optimisa- tion (GADO), using genetic algorithms. The two algorithms deploy a given number of sinks to reduce packet latency. GAHO tries to minimise the number of hops be- tween a node and one of the sinks, while GADO uses distances as the cost factor for optimisation instead of hop counts. The sink placement problem is viewed as a cluster assignment problem where a sink is placed at or close to the geometric centroid of all nodes in the same cluster. For a small number of sinks, GADO’s topologies achieve the lowest delivery latency compared to topologies of GAHO,
COLA [8] and random deployment, which are higher by 12.5%, 75% and 125%, re- spectively. The simulations also indicate that the latency decreases as the number of sinks increases and for a large number of sinks, the algorithms perform very close to each other.
P-Median Problem (PMP)
Luo et al. [72] present a heuristic algorithm to deploy a given number of sinks to improve energy efficiency by shortening the distance between nodes and sinks. The algorithm deploys multiple sinks and optimises the total minimum weighted distance by taking into account the demand generated at nodes. Firstly, it will find the best position for one sink by moving it across all candidate positions. The initial deployment set is constructed by placing all sinks at the best identified position. Then, the algorithm tries to find the best positions for them one by one by keeping the other sinks untouched. The heuristic algorithm is proved to be applicable to large scale WSNs as the simulation time increases linearly with the increment of the number of sinks.
Greedy and Local Search Algorithms for Sink Positioning
Bagdanov et al. [22] study the problem of sink positioning for maximising the data rate while minimising the energy consumption of the network. By assuming that the sinks are located only at node positions, they propose two heuristics: a greedy algorithm and a local search algorithm. The greedy algorithm deploys sinks incre- mentally. That is selecting the sinks one by one to improve the data rate as much as possible, while keeping the positions of the deployed sinks fixed. The local search algorithm, on the other hand, starts with a random placement of sinks. Then, it tries to relocate any of the sinks to improve the data rate. After several iterations with random initial configuration, the deployment with the highest data rate is
picked as the best solution. The simulation results show that the local search al- gorithm produces a better sink positioning that yields a better power consumption than the greedy algorithm. The power consumption of both algorithms is similar for up to five sinks, but for a larger number of sinks, i.e. up to 20, the local search algorithm only consumes about half as much power as the greedy one.
Multi-hop Traffic-flow Weight Placement (MTWP)
Zhou et al. [128] propose the Multi-hop Traffic-flow Weight Placement (MTWP) algorithm to choose some nodes as sinks to maximise the throughput of the network. MTWP is an iterative algorithm to determine the best location of a given number of sinks. In each iteration, the node with the highest traffic-flow weight will be selected as a sink. MTWP is computed by taking into account the number of nodes and sinks, traffic demand, locations of sinks and interference from existing sinks. In the simulation, MTWP has been shown to achieve around 10%–30% more throughput than the random deployment.
2.7.3
Discussion
Table 6 shows the comparisons of the existing algorithms for the multiple sink placement problem. We compare the algorithms based on their objectives, the deployment locations and the constraints assumed. In the constrained deployment, sinks can only be placed at candidate locations. If the deployment locations are unconstrained, sinks can be placed anywhere. Co-located deployment means nodes and sinks’ locations are overlapping. In this literature study, most of the algorithms use a linear programming method for small cases, where a network only consists of several nodes, and a heuristic or local search algorithm for bigger cases.
To be robust to sink failure, it is necessary for each node to be able to commu- nicate with more than one sink. Among all existing algorithms, only CBS [28], 2-Connectivity [58] and DECOMP [82] address the fault-tolerant issue in multiple
Table 6: Comparison of existing multiple sink placement algorithms
Algorithms Objectives Deployment Additional
Locations Constraints Minimise the Number of Sinks
HOMP [122] ↓, balance energy constrained hop count
2-Connectivity [58] fault-tolerance (2-connected) unconstrained –
Greedy Placement [91] ↑ bandwidth, co-located link, node, sink capacity Negative Selection [120] ↓ delay, ↓ hop count co-located –
OPEN/CLOSE [89] ↓ cost, load balancing constrained node capacity
Iter. Greedy DS [17] QoS (delay, load, capacity) co-located hop count, load, capacity Weighted Recursive [14] QoS (delay, load, capacity) co-located hop count, load, capacity Incr. Clustering [111] QoS (delay, load, capacity) co-located hop count, load, capacity MSPOP [85] required lifetime unconstrained minimum required lifetime Fixed Number of Sinks
BSL [85] efficient clustering unconstrained –
CBS [28] ↓ distance, fault-tolerance co-located – Cluster Balancing [73] ↓, balance energy unconstrained –
MBCP [103] ↑ lifetime unconstrained –
DECOMP [82] ↓ energy, fault-tolerance unconstrained –
Global, 1hop [115] ↓ energy unconstrained –
COLA [8] ↓ delay, ↑ coverage co-located –
GAHO, GADO [124] ↓ delay unconstrained –
PMP [72] ↑ lifetime constrained node demand
Greedy, Local Search [22] ↑ data rate, ↓ energy co-located –
MTWP [128] ↑ throughput co-located –
sink placement. With an assumption that the communication to sinks is within one hop, CBS and DECOMP require each node to be able to communicate to two sinks for fault-tolerance. Unlike CBS and DECOMP, 2-Connectivity assumes multi-hop communication among sinks and deploys sinks to make the network of sinks become 2-connected. Research opportunities arise as these three algorithms do not consider hop count limit in the algorithm designs. Therefore, there is a gap in the research literature for a multiple sink placement algorithm to design multi-hop networks where each node can communicate to multiple sinks with constrained path length. In addition, since the problems of deploying sinks and relays are solved separately in the literature, the second research opportunity is to minimise the total com- bined cost of sink and relay deployment by taking into account the fault-tolerant requirements. Our designed algorithms in Chapter 7 address these problems.
Algorithm 1: GRASP Input : max iterations, seed Output: best solution
1: Read-Input()
2: for k ←1 to max iterations do
3: solution ← Greedy-Randomised-Construction(seed) 4: solution ← Local-Search(solution)
5: Update-Solution(solution, best solution) 6: end for
7: return best solution