**Abstract**

Industrial Wireless Sensor Networks (IWSN) are the special class of WSN where it faces many challenges like improving process efficiency and meet the financial requirement of the industry. Most of the IWSNs contains a large number of sensor nodes over the deployment field. Due to lack of predetermined network infrastructure demands, IWSNs to deploy a minimum number of sink nodes and maintain network connectivity with other sensor nodes. Capacitated Sink Node Placement Problem (CSNPP) finds its application in the Industrial wireless sensor network (IWSN), for the appropriate placement of sink nodes. The problem of placing a minimum number of sink nodes in a weighted topology such that each sink node should have a maximum number of sensor nodes within the given capacity is known as Capacitated Sink Node Placement Problem. This chapter proposes a heuristic based approach to solve Capacitated Sink Node Placement Problem.

**Keywords:** industrial wireless sensor networks, sink node, capacitated sink node, node placement, wighted topology

### **1. Introduction**

Traditionally, the industries are automating their system using wired communications. The wired communication requires quite expensive communication channels and also it needs to be monitored regularly. Due to the high cost incurred in maintaining the wired system, most of the industries not implementing it. Therefore, cost-effective and alternative to wired system needs to be implemented in the industries. Due to recent growth of wireless sensor network (WSN), demands improvement of product development and service provisioning process for the industrial applications. Due to recent enhancement in the wireless sensor network (WSN), the realization of industrial automation can be feasible using WSN. **Figure 1** shows a simple structure of wireless sensor network. In WSN, a small sensor unit is attached to every industrial equipment to monitor the environmental parameters like humidity, temperature, pressure etc., Since all the nodes are not actively participating in the data collection process only some the nodes will be used to gather the data from different sources and these nodes are known as *sink node*. This measured information is transmitted to the sink node and the to the common

nodes are said to be near to each other. If both sensor and sink node are far away, then it takes more time to interact with one another. The core objectives of load

*An Algorithmic Approach to the Node Selection Problem in Industrial Wireless Sensor…*

• Every sensor node has a restriction on memory and processing of each action,

• As the load of the sink node increases, it fails to handle the request more than its maximum capacity. This will leads to increase of sink node and sensor

The sink node and sensor node communication time plays an essential parameter in the deployment of sink node. A simple approach is, the sensor node is said to be connected with the nearest selected sink node. But this method fails to work properly due to the limitation of load on each sink node. To overcome this issue, the sensor node connecting to the sink node should be stopped as long as it maximum load is reached. The main objective here is to place a minimum number of sink node in the network. This work also focused on reducing the interaction time between sink node and sensor node. This work proposes an efficient heuristic method to

IWSNs brings several advantages over wired industrial automation like monitoring and control [4–6]. In order to utilize the benefits of IWSNs, effective communication system needs to be maintained. Such system should address the unique challenges in the IWSNs. In this regard, many researchers working hard to find the solution to the IWSNs challenges especially establishing and maintaining network connectivity. In a large-scale network, identifying the minimum number of sink nodes and its appropriate placement becomes NP-Hard problem [3, 7–12].

Assume a simple connected topology be *T* with non-empty node of set *V T*ð Þ and the edge set be *E T*ð Þ= {{*u*, *v*} ∣ *u*, *v*∈*V T*ð Þ and *u* is adjacent to *v* in *T* and *u* 6¼ *v*}.The *neighborhood* of a node *v* of *T*, *NT*(*v*), is the set of vertices adjacent to *v* in *T*. The degree of the vertex *v* is *dT*ð Þ¼ *v* ∣*NT*ð Þ*v* ∣. Δð Þ *T* denotes the maximum degree of a

Capacitated Sink Node Placement Problem (CSNPP) is defined as follows: Given a weighted topology *T* with weighted nodes *V T*ð Þ¼ f g *v*1, … , *vn* , and the weighted edges *E T*ð Þ. Here, the objective is to find *S*⊆f g *v*1, … , *vn* such that ∣*S*∣ is minimum and for each node in *S*, say *x*, covers the maximum subset *R*⊆ *NT*ð Þ *x*

only limited number of requests are processed by the sink node.

• If single sink node fails then it may affect another sink node.

consideration for every sink node are as follows:

*DOI: http://dx.doi.org/10.5772/intechopen.93692*

resolve Capacitated Sink Node Placement Problem.

interaction time.

**2. Literature survey**

**3. Problem statement**

**3.2 Problem description**

subject to the constraint given in Eq. (1),

**3.1 Prefaces**

topology *T*.

**59**

**Figure 1.** *Simple wireless sensor network.*

gateway. Finally, the data will be sent the users through Internet where gateway is connected. In this regard, WSN is widely used to create industrial wireless sensor network (IWSN) that rapidly responses to the real-time events.

Recently, there are many research activities mainly focusing on developing a method to address the challenges like Quality-of-Service (QoS [1, 2]), data redundancy, resource constraints, security, large-scale deployment in the IWSN. In a large-scale network, having single sink node has some disadvantages related to performance and scalability. In such case, the amount of sink nodes in the network has to be increased to overwhelm sink node failure. Hence a better solution for this problem is the usage of multiple sink nodes. Most of the researches are also not focused on the task of multiple sink nodes in the sensor network. So in this chapter, we are concentrated on deploying and handling multiple node in the sensor network.

The sink node deployment problem impacts in flow *set-up time, fault tolerance* and *reliability*. These issues include deployment of sink nodes in the specified topology and decide the minimum number of sink nodes required for the same topology. Each node in the topology is connected with weight value known as capacity and each edge is said to be connected with weight value called processing request to the sensor. Deployment of least number of sink node in a specified network topology *will reduce the sink nodes and interaction time between the sensor nodes become* an NP-Hard problem [3]. Thus defining the optimal number of sink nodes is a challenging problem in the Industrial Wireless Sensor Networks (IWSN) because this affects many metrics in the network. In early, sink node placement problems use interaction time between the sensor node and the sink node as metric for each sink node. Those approaches do not consider the situation when the sink node failure happens. So, each sink node has been assigned a maximum (request processing) load apart from considering interaction time. The load applied to process the real-time actions determine the availability as well as the efficiency of the network. Hence the sink node offer the satisfactory resources to implement such actions. The load for the sink node is considered based on the number of actions arrived. Due to insufficient capacity of sink node, to manage resources like processor, bandwidth and memory. In this chapter, the sink node is defined as capacitated which denotes the maximum number of actions are to be processed by the sink node. While choosing the sink node to control different sensor node, the communication time among sensor node and sink node should be reduced in case, if the

*An Algorithmic Approach to the Node Selection Problem in Industrial Wireless Sensor… DOI: http://dx.doi.org/10.5772/intechopen.93692*

nodes are said to be near to each other. If both sensor and sink node are far away, then it takes more time to interact with one another. The core objectives of load consideration for every sink node are as follows:


The sink node and sensor node communication time plays an essential parameter in the deployment of sink node. A simple approach is, the sensor node is said to be connected with the nearest selected sink node. But this method fails to work properly due to the limitation of load on each sink node. To overcome this issue, the sensor node connecting to the sink node should be stopped as long as it maximum load is reached. The main objective here is to place a minimum number of sink node in the network. This work also focused on reducing the interaction time between sink node and sensor node. This work proposes an efficient heuristic method to resolve Capacitated Sink Node Placement Problem.

#### **2. Literature survey**

gateway. Finally, the data will be sent the users through Internet where gateway is connected. In this regard, WSN is widely used to create industrial wireless sensor

Recently, there are many research activities mainly focusing on developing a method to address the challenges like Quality-of-Service (QoS [1, 2]), data redundancy, resource constraints, security, large-scale deployment in the IWSN. In a large-scale network, having single sink node has some disadvantages related to performance and scalability. In such case, the amount of sink nodes in the network has to be increased to overwhelm sink node failure. Hence a better solution for this problem is the usage of multiple sink nodes. Most of the researches are also not focused on the task of multiple sink nodes in the sensor network. So in this chapter,

we are concentrated on deploying and handling multiple node in the sensor

The sink node deployment problem impacts in flow *set-up time, fault tolerance* and *reliability*. These issues include deployment of sink nodes in the specified topology and decide the minimum number of sink nodes required for the same topology. Each node in the topology is connected with weight value known as capacity and each edge is said to be connected with weight value called processing request to the sensor. Deployment of least number of sink node in a specified network topology *will reduce the sink nodes and interaction time between the sensor nodes become* an NP-Hard problem [3]. Thus defining the optimal number of sink nodes is a challenging problem in the Industrial Wireless Sensor Networks (IWSN) because this affects many metrics in the network. In early, sink node placement problems use interaction time between the sensor node and the sink node as metric for each sink node. Those approaches do not consider the situation when the sink node failure happens. So, each sink node has been assigned a maximum (request processing) load apart from considering interaction time. The load applied to process the real-time actions determine the availability as well as the efficiency of the network. Hence the sink node offer the satisfactory resources to implement such actions. The load for the sink node is considered based on the number of actions arrived. Due to insufficient capacity of sink node, to manage resources like processor, bandwidth and memory. In this chapter, the sink node is defined as capacitated which denotes the maximum number of actions are to be processed by the sink node. While choosing the sink node to control different sensor node, the communication time among sensor node and sink node should be reduced in case, if the

network (IWSN) that rapidly responses to the real-time events.

*Wireless Sensor Networks - Design, Deployment and Applications*

network.

**58**

**Figure 1.**

*Simple wireless sensor network.*

IWSNs brings several advantages over wired industrial automation like monitoring and control [4–6]. In order to utilize the benefits of IWSNs, effective communication system needs to be maintained. Such system should address the unique challenges in the IWSNs. In this regard, many researchers working hard to find the solution to the IWSNs challenges especially establishing and maintaining network connectivity. In a large-scale network, identifying the minimum number of sink nodes and its appropriate placement becomes NP-Hard problem [3, 7–12].

#### **3. Problem statement**

#### **3.1 Prefaces**

Assume a simple connected topology be *T* with non-empty node of set *V T*ð Þ and the edge set be *E T*ð Þ= {{*u*, *v*} ∣ *u*, *v*∈*V T*ð Þ and *u* is adjacent to *v* in *T* and *u* 6¼ *v*}.The *neighborhood* of a node *v* of *T*, *NT*(*v*), is the set of vertices adjacent to *v* in *T*. The degree of the vertex *v* is *dT*ð Þ¼ *v* ∣*NT*ð Þ*v* ∣. Δð Þ *T* denotes the maximum degree of a topology *T*.

#### **3.2 Problem description**

Capacitated Sink Node Placement Problem (CSNPP) is defined as follows: Given a weighted topology *T* with weighted nodes *V T*ð Þ¼ f g *v*1, … , *vn* , and the weighted edges *E T*ð Þ. Here, the objective is to find *S*⊆f g *v*1, … , *vn* such that ∣*S*∣ is minimum and for each node in *S*, say *x*, covers the maximum subset *R*⊆ *NT*ð Þ *x* subject to the constraint given in Eq. (1),

$$\sum\_{\mathbf{y}\in\mathcal{R}} weight(\mathbf{x},\mathbf{y}) \le weight(\mathbf{x})\tag{1}$$

Let *eij* denotes the weight of the edge *vi*, *v <sup>j</sup>*

Mark *vi* and mark the nodes assigned to *vi*.

*after placing sink node with node weight 20.*

Unmark all the nodes *vi*, 1≤*vi* ≤ *n*.

*DOI: http://dx.doi.org/10.5772/intechopen.93692*

ciated to the *v <sup>j</sup>*'s in *S*. *Node*\_*Assignment(wi*, *S*, *N).*

**if** *vi* is unmarked **then.**

**for** *i* ¼ 0 to *n* **do.**

**end if. end for.**

**Figure 2.** *The topology T*<sup>0</sup>

**Figure 3.**

**61**

*Given topology T with weights.*

0

.

*An Algorithmic Approach to the Node Selection Problem in Industrial Wireless Sensor…*

Let *<sup>S</sup>* <sup>¼</sup> *eij*j*<sup>v</sup> <sup>j</sup>* <sup>∈</sup> *NT*ð Þ *vi* and*<sup>v</sup> <sup>j</sup>*isunmarked . Let *<sup>N</sup>* be the set of nodes asso-

**4. Illustration of the proposed capacitated sink node placement problem**

Algorithm 2 is traced as follows by using the topology *T* as shown in **Figure 2**. The node with weight value 21 has the highest degree so it is chosen for locating the initial sink node. This first node then occupy its neighborhood nodes with weighted values 19, 11, 13 since sum of its edge weight value is fewer than or equal to node with value 21 (15< 21) as given in **Figure 3**. Likewise, the next node with higher weight value is 20 and it can occupy it neighborhood nodes 16, 8, 9 since the summation of edge value is smaller (14< 20) as shown in **Figure 4**, which illustrates

where, *weight x*ð Þ denotes the weight of the node *x* and *weight x*ð Þ , *y* denotes the weight of the edge between *x* and *y*.

#### **3.3 The solution for the capacitated sink node placement problem (CSNPP)**

The node placement problem in the network becomes NP-hard [3]. An efficient heuristic method is applied to provide a solution to this problem. The proposed method implements a novel algorithm with the time complexity of *O n*ð Þ log *n* þ *n*Δ log Δ , where *n* is the number of nodes and Δ is the maximum degree of the topology *T*.This method choose the node that had maximum node weight value and started assigning the neighborhood nodes with its associated edge weight. Once the sum of edge weight value is larger than the node weight value, then the node is terminated. Furthermore this method does not consider the maximum degree of a node. The sorted nodes are find first and unmarked the rest of the nodes in topology *T*. Then, for every unmarked node *x* in the sorted node list, this algorithm requests one more algorithm 1, which allocate sensor node for node *x*. Next process, the node is marked as *x* and all nodes assigned to it, and finally node *x* is added to the necessary set of sink nodes. This step is repeated until all the nodes are marked. The performance measures to the Node\_Assignment(*W*, *S*, *N*), where *W* denote the maximum capacity of the node, *S* denote the set of weighted edge value incident on a node, and *N* represents set of nodes connected with those node. The new node assignment procedure is described in Algorithm 1.

**Algorithm 1** Node\_Assignment(*W*, *S*, *N*).

**Require:** Consider a set *N* consists of *m* weighted nodes, say *n*1, *n*2, … , *nm* and a set *S* of *m* weighted edges, say *e*1,*e*2, … ,*em* and the maximum capacity *W*. **Ensure:** The set *M* ⊆ *N* such that ∣*M*∣ is maximum subject to the constraint

$$\sum\_{n\_i \in M} e\_i \le W$$

Let *M* ¼ 0. Sort the edge weights in increasing order, say *e*<sup>1</sup> ≤*e*2, … , ≤*em*. **for** *i* ¼ 1 to *m* **do. if** P*<sup>i</sup> <sup>j</sup>*¼<sup>1</sup>*ej* <sup>≤</sup>*<sup>W</sup>* **when.** *M* ¼ *M*∪f g *ni M* **end if. end for. return** *M.*

**Algorithm 2** Placing\_Sink\_Nodes.


*An Algorithmic Approach to the Node Selection Problem in Industrial Wireless Sensor… DOI: http://dx.doi.org/10.5772/intechopen.93692*

Let *eij* denotes the weight of the edge *vi*, *v <sup>j</sup>* . Unmark all the nodes *vi*, 1≤*vi* ≤ *n*. **for** *i* ¼ 0 to *n* **do. if** *vi* is unmarked **then.** Let *<sup>S</sup>* <sup>¼</sup> *eij*j*<sup>v</sup> <sup>j</sup>* <sup>∈</sup> *NT*ð Þ *vi* and*<sup>v</sup> <sup>j</sup>*isunmarked . Let *<sup>N</sup>* be the set of nodes associated to the *v <sup>j</sup>*'s in *S*. *Node*\_*Assignment(wi*, *S*, *N).* Mark *vi* and mark the nodes assigned to *vi*. **end if. end for.**

#### **4. Illustration of the proposed capacitated sink node placement problem**

Algorithm 2 is traced as follows by using the topology *T* as shown in **Figure 2**. The node with weight value 21 has the highest degree so it is chosen for locating the initial sink node. This first node then occupy its neighborhood nodes with weighted values 19, 11, 13 since sum of its edge weight value is fewer than or equal to node with value 21 (15< 21) as given in **Figure 3**. Likewise, the next node with higher weight value is 20 and it can occupy it neighborhood nodes 16, 8, 9 since the summation of edge value is smaller (14< 20) as shown in **Figure 4**, which illustrates

#### **Figure 2.**

X *y*∈*R*

*Wireless Sensor Networks - Design, Deployment and Applications*

weight of the edge between *x* and *y*.

where, *weight x*ð Þ denotes the weight of the node *x* and *weight x*ð Þ , *y* denotes the

The node placement problem in the network becomes NP-hard [3]. An efficient heuristic method is applied to provide a solution to this problem. The proposed

*O n*ð Þ log *n* þ *n*Δ log Δ , where *n* is the number of nodes and Δ is the maximum degree of the topology *T*.This method choose the node that had maximum node weight value and started assigning the neighborhood nodes with its associated edge weight. Once the sum of edge weight value is larger than the node weight value, then the node is terminated. Furthermore this method does not consider the maximum degree of a node. The sorted nodes are find first and unmarked the rest of the nodes

**Require:** Consider a set *N* consists of *m* weighted nodes, say *n*1, *n*2, … , *nm* and a set

**Ensure:** The set *M* ⊆ *N* such that ∣*M*∣ is maximum subject to the constraint

Sort the edge weights in increasing order, say *e*<sup>1</sup> ≤*e*2, … , ≤*em*.

Sort the weights of nodes in decreasing order, say *w*<sup>1</sup> ≤ … ≤ *wn*. Let *v*1, … , *vn* be

*S* of *m* weighted edges, say *e*1,*e*2, … ,*em* and the maximum capacity *W*.

in topology *T*. Then, for every unmarked node *x* in the sorted node list, this algorithm requests one more algorithm 1, which allocate sensor node for node *x*. Next process, the node is marked as *x* and all nodes assigned to it, and finally node *x* is added to the necessary set of sink nodes. This step is repeated until all the nodes are marked. The performance measures to the Node\_Assignment(*W*, *S*, *N*), where *W* denote the maximum capacity of the node, *S* denote the set of weighted edge value incident on a node, and *N* represents set of nodes connected with those node.

**3.3 The solution for the capacitated sink node placement problem (CSNPP)**

method implements a novel algorithm with the time complexity of

The new node assignment procedure is described in Algorithm 1.

**Algorithm 1** Node\_Assignment(*W*, *S*, *N*).

X *ni* ∈ *M*

*ei* ≤ *W*

**for** *i* ¼ 1 to *m* **do.**

**Algorithm 2** Placing\_Sink\_Nodes.

the corresponding labels of the nodes.

Let *T* has *n* weighted nodes.

**60**

*<sup>j</sup>*¼<sup>1</sup>*ej* <sup>≤</sup>*<sup>W</sup>* **when.** *M* ¼ *M*∪f g *ni M*

**Require:** The weighted topology *T* with weighted nodes.

**Ensure:** Subset of *V T*ð Þ to be placed as sink node.

Let *M* ¼ 0.

**if** P*<sup>i</sup>*

**end if. end for. return** *M.* *weight x*ð Þ , *y* ≤ *weight x*ð Þ (1)

*The topology T*<sup>0</sup> 0 *after placing sink node with node weight 20.*

**Figure 3.** *Given topology T with weights.*

**Proof:** The algorithm is proceeds by marking a node as sink node and also label all the nodes covered by the marked sink node. If unmarked nodes are found, then the algorithm is terminated. Henceforth, in a given topology all nodes are covered completely. Furthermore, the proposed solution 1, does not allow the node capacity beyond its maximum defined capacity. Hence, it is proved that the proposed algo-

*An Algorithmic Approach to the Node Selection Problem in Industrial Wireless Sensor…*

The proposed approach uses greedy strategy and gives the approximate solution. For a given instance of proposed approach *Node*\_*Assignment()*, it always provides

**Proof:** Let *x*1, *x*2, … , *xs* be the set of nodes of the sorted weights *w*1, *w*2, … , *ws* in the given topology *T* and let the maximum capacity be *W*. Thus, *w*<sup>1</sup> ≤ *w*<sup>2</sup> ≤ … ≤ *ws*. Let *A* ¼ ð Þ *a*1, … , *as* be the output of the algorithm and *B* ¼ ð Þ *b*1, … , *bs* be any feasible solution, *ai*, *bi* ∈f g 0, 1 , 1≤*i*≤ *s*. Note that, *ai* ¼ 1 (as well as *bi* ¼ 1) denotes the presence of *wi* in the solution and *ai* ¼ 0 (as well as *bi* ¼ 0) denotes the absence

*s* in any feasible solution. Thus the above claim is true. **Observation 1:** There exists a *k*∈ f g 1, … , *n* such that *ai* ¼ 1, 1≤ *i*≤*k* � 1 and

Proof for claim 2 is by mathematical induction on *m* bits, where *m* is the number

**Observation 2:** Since, *A* and *B* differ in ð Þ *m* þ 1 -places there exists *j*, 1≤*j*≤ *k* � 1

Find the least *j*∈f g 1, … , *k* � 1 such that *a <sup>j</sup>* ¼ 1 and *b <sup>j</sup>* ¼ 0. Clearly, it can not be

*B* ¼ ð Þ 1, 1, 0, 0, 0, 1, … , 0 , then the modified *B* is *C* ¼ ð Þ 1, 1, 1, 0, 0, 1, … , 0 ). By doing this, it is concluded that either the modified *B*, say *C*, is feasible or *C* is not

Number of positions in which *A* and *C* differs is *m*. By hypothesis, P*ai* ≥ P*ci*.

Since *C* is not feasible, there exists a *j*∈ f g *k*, … , *n* such that *a <sup>j</sup>* ¼ 0 and *cj* ¼ 1. Now, set *cj* ¼ 0. This implies, *A* and the modified *C*, say *D*, differs at ð Þ *m* � 1 -places

From the above said claims, it is concluded that <sup>P</sup>*ai* <sup>¼</sup> <sup>P</sup>*bi*. Hence, the Algo-

Theorem 1.3 The Algorithm 2 runs in *O n*ð Þþ log *n O n*ð Þ Δ log ð Þ Δ , where *n* is the

Note that, P*ci* ≥ P*bi*. Thus, P*ai* ≥ P*bi*. Hence, the sub claim is true if *C* is

and by the induction hypothesis, <sup>P</sup>*ai* <sup>≥</sup> <sup>P</sup>*di*. Observe that <sup>P</sup>*di* <sup>¼</sup> <sup>P</sup>*bi*

*Induction Hypothesis:* Consider, the claim is true if they differ in less than *m*-

Thus, to show that the algorithm is *OPTIMUM*, it is required to establish *ai* ≥ P*bi*. Towards this end, it is proved that the following sub claim.

*s* in *OPTIMUM*

. Thus,

Theorem 1.2 The solution to the Algorithm 1 is optimum.

The algorithm outputs a feasible solution since the number of 1<sup>0</sup>

**Claim 2:** If *B* is any feasible solution, then P*ai* ≥ P*bi*.

*Induction Step:* Let *A* and *B* differ in ð Þ *m* þ 1 -places, *m* ≥ 0.

the case that *j*∈f g *k*, … , *n* . If so, then *B* is not a feasible solution. Now, set *b <sup>j</sup>* ¼ 1 (For example, if *A* ¼ ð Þ 1, 1, 1, 1, 0, 0, … , 0 and.

**Claim 1:** If *B* is *OPTIMUM*, then P*bi* ≥ P*ai*.

rithm is feasible.

the optimal solution.

*DOI: http://dx.doi.org/10.5772/intechopen.93692*

of *wi* in the solution.

≥ number of 1<sup>0</sup>

*a <sup>j</sup>* ¼ 0, *k*≤*j*≤*n*.

places, *m* ≥ 0.

feasible.

feasible.

*ai* ≥ P*bi*.

P

**63**

of bits in which *A* and *B* differ.

such that *a <sup>j</sup>* ¼ 1 and *b <sup>j</sup>* ¼ 0.

**Case 1:** *C* is feasible.

**Case 2:** *C* is not feasible.

rithm 1 provides an optimal solution.

number of nodes in the topology *T*.

*Base Case: m* <sup>¼</sup> 0. Clearly, <sup>P</sup>*ai* <sup>≥</sup> <sup>P</sup>*bi*.

P

#### **Figure 4.**

*The topology T*<sup>0</sup> *after placing sink node with node weight 21.*

the result after 20 is chosen as a sink node and the final topology is shown in **Figure 5**.The node spotted in the final topology represents the position of the sink nodes in topology *T*.

## **5. Theoretical analysis of proposed approach**

For any given output sink node, the maximum capacity is satisfied according the constraint (max. capacity) defined and also all the nodes in the given topology is covered completely.

Theorem 1.1 The solution to the Algorithm 2 is feasible.

*An Algorithmic Approach to the Node Selection Problem in Industrial Wireless Sensor… DOI: http://dx.doi.org/10.5772/intechopen.93692*

**Proof:** The algorithm is proceeds by marking a node as sink node and also label all the nodes covered by the marked sink node. If unmarked nodes are found, then the algorithm is terminated. Henceforth, in a given topology all nodes are covered completely. Furthermore, the proposed solution 1, does not allow the node capacity beyond its maximum defined capacity. Hence, it is proved that the proposed algorithm is feasible.

The proposed approach uses greedy strategy and gives the approximate solution. For a given instance of proposed approach *Node*\_*Assignment()*, it always provides the optimal solution.

Theorem 1.2 The solution to the Algorithm 1 is optimum.

**Proof:** Let *x*1, *x*2, … , *xs* be the set of nodes of the sorted weights *w*1, *w*2, … , *ws* in the given topology *T* and let the maximum capacity be *W*. Thus, *w*<sup>1</sup> ≤ *w*<sup>2</sup> ≤ … ≤ *ws*.

Let *A* ¼ ð Þ *a*1, … , *as* be the output of the algorithm and *B* ¼ ð Þ *b*1, … , *bs* be any feasible solution, *ai*, *bi* ∈f g 0, 1 , 1≤*i*≤ *s*. Note that, *ai* ¼ 1 (as well as *bi* ¼ 1) denotes the presence of *wi* in the solution and *ai* ¼ 0 (as well as *bi* ¼ 0) denotes the absence of *wi* in the solution.

**Claim 1:** If *B* is *OPTIMUM*, then P*bi* ≥ P*ai*.

The algorithm outputs a feasible solution since the number of 1<sup>0</sup> *s* in *OPTIMUM* ≥ number of 1<sup>0</sup> *s* in any feasible solution. Thus the above claim is true.

**Observation 1:** There exists a *k*∈ f g 1, … , *n* such that *ai* ¼ 1, 1≤ *i*≤*k* � 1 and *a <sup>j</sup>* ¼ 0, *k*≤*j*≤*n*.

Thus, to show that the algorithm is *OPTIMUM*, it is required to establish

P *ai* ≥ P*bi*. Towards this end, it is proved that the following sub claim.

**Claim 2:** If *B* is any feasible solution, then P*ai* ≥ P*bi*.

Proof for claim 2 is by mathematical induction on *m* bits, where *m* is the number of bits in which *A* and *B* differ.

*Base Case: m* <sup>¼</sup> 0. Clearly, <sup>P</sup>*ai* <sup>≥</sup> <sup>P</sup>*bi*.

*Induction Hypothesis:* Consider, the claim is true if they differ in less than *m*places, *m* ≥ 0.

*Induction Step:* Let *A* and *B* differ in ð Þ *m* þ 1 -places, *m* ≥ 0.

**Observation 2:** Since, *A* and *B* differ in ð Þ *m* þ 1 -places there exists *j*, 1≤*j*≤ *k* � 1 such that *a <sup>j</sup>* ¼ 1 and *b <sup>j</sup>* ¼ 0.

Find the least *j*∈f g 1, … , *k* � 1 such that *a <sup>j</sup>* ¼ 1 and *b <sup>j</sup>* ¼ 0. Clearly, it can not be the case that *j*∈f g *k*, … , *n* . If so, then *B* is not a feasible solution.

Now, set *b <sup>j</sup>* ¼ 1 (For example, if *A* ¼ ð Þ 1, 1, 1, 1, 0, 0, … , 0 and.

*B* ¼ ð Þ 1, 1, 0, 0, 0, 1, … , 0 , then the modified *B* is *C* ¼ ð Þ 1, 1, 1, 0, 0, 1, … , 0 ). By doing this, it is concluded that either the modified *B*, say *C*, is feasible or *C* is not feasible.

**Case 1:** *C* is feasible.

Number of positions in which *A* and *C* differs is *m*. By hypothesis, P*ai* ≥ P*ci*. Note that, P*ci* ≥ P*bi*. Thus, P*ai* ≥ P*bi*. Hence, the sub claim is true if *C* is feasible.

**Case 2:** *C* is not feasible.

Since *C* is not feasible, there exists a *j*∈ f g *k*, … , *n* such that *a <sup>j</sup>* ¼ 0 and *cj* ¼ 1. Now, set *cj* ¼ 0. This implies, *A* and the modified *C*, say *D*, differs at ð Þ *m* � 1 -places and by the induction hypothesis, <sup>P</sup>*ai* <sup>≥</sup> <sup>P</sup>*di*. Observe that <sup>P</sup>*di* <sup>¼</sup> <sup>P</sup>*bi* P . Thus, *ai* ≥ P*bi*.

From the above said claims, it is concluded that <sup>P</sup>*ai* <sup>¼</sup> <sup>P</sup>*bi*. Hence, the Algorithm 1 provides an optimal solution.

Theorem 1.3 The Algorithm 2 runs in *O n*ð Þþ log *n O n*ð Þ Δ log ð Þ Δ , where *n* is the number of nodes in the topology *T*.

the result after 20 is chosen as a sink node and the final topology is shown in **Figure 5**.The node spotted in the final topology represents the position of the sink

For any given output sink node, the maximum capacity is satisfied according the constraint (max. capacity) defined and also all the nodes in the given topology is

**5. Theoretical analysis of proposed approach**

Theorem 1.1 The solution to the Algorithm 2 is feasible.

nodes in topology *T*.

*Final topology after placing all the sink nodes.*

**Figure 5.**

**Figure 4.**

*The topology T*<sup>0</sup> *after placing sink node with node weight 21.*

*Wireless Sensor Networks - Design, Deployment and Applications*

covered completely.

**62**

**Proof.** According to the degree of nodes, the nodes are arranged in decreasing order and it takes *O n*ð Þ log *n* as the worst case complexity. The first maximum degree node is passed as input to the Algorithm 1. The same way the algorithm proceeds with the next maximum degree which is not marked and so on which takes the complexity of *O*ð Þ Δ log ð Þ Δ . The Algorithm 1 follows by taking local minimum value and adds to the global sum which satisfies the constraints. The algorithm terminates when it breaks the constraints. Thus, the algorithm produce an optimal solution. So the proposed solution takes the complexity of *O n*ð Þþ log *n O n*ð Þ Δ log ð Þ Δ for identifying and assigning the sink node.

### **6. Results and discussion**

The simulation is done with test data taken from the Internet Topology Zoo Archive [13]. There are 261 topologies are available in the data set which indicates a large diversity of network structure. These data sets are gathered from different vendors of networking services. We have made a self written python script to convert Graphical Mark-up Language into adjacency list. The data set contains edge and node informations for the given topology. For a given network, capacity is considered as node value and load is considered as edge weight values. Based on the proposed method, the sink is selected in such a way that the summation of edge weight loads fewer than the total capacity of sink node. The simulation of proposed approach gives us total number of sink nodes required for given topology as shown in the **Table 1**. It is observed that the average number of sink nodes required to manage the given topology is 5 � 6.


**Author details**

**65**

Veeramani Sonai\* and Indira Bharathi

provided the original work is properly cited.

Department of Computer Science and Engineering, Vignan's Foundation for

*An Algorithmic Approach to the Node Selection Problem in Industrial Wireless Sensor…*

*DOI: http://dx.doi.org/10.5772/intechopen.93692*

© 2021 The Author(s). Licensee IntechOpen. This chapter is distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/ by/3.0), which permits unrestricted use, distribution, and reproduction in any medium,

Science, Technology and Research, Guntur, Andhra Pradesh, India

\*Address all correspondence to: veeramanicse@gmail.com

**Table 1.**

*Number of sink nodes vs topology.*

#### **7. Conclusion and future work**

This chapter proposes an efficient algorithm to place the sink node for the given topological network. This algorithm reduces cost by reducing the number of the sink node being used in the network. Moreover, the placed sink node can serve a maximum number of sensor nodes. The future work is to enhance this approach when a sink node fails in the given topology.

*An Algorithmic Approach to the Node Selection Problem in Industrial Wireless Sensor… DOI: http://dx.doi.org/10.5772/intechopen.93692*
