Routing Algorithm for Maximizing Lifetime of Wireless Sensor Network for Broadcast Transmission

In the article we discuss solutions of the maximum lifetime broadcasting problem in wireless sensor networks. Due to limited energy resources of the network nodes to find an optimal transmission route of the broadcasted data we minimize the maximum energy consumed by the nodes. We give an analytical solution of the problem in one dimensional regular sensor network for the point-to-point and point-to-multipoint data transmission scheme. We show that in such a network, when the cost of data transmission is a polynomial function of distance between transmitter and receiver, there exist solutions with an equal energy, i.e., all nodes of the network consume the same amount of energy. We assume that in the networks with sensors evenly distributed over some d-dimensional area there always exists an equal energy solution of the problem. To solve the maximum lifetime broadcasting problem in such networks we propose two algorithms. By means of the first algorithm the set of minimum node weight spanning trees in a given network is determined. The second algorithm allows to balance the energy consumption of the sensors for data transmitted along given minimum node weight spanning tree. We show, that the proposed algorithms find an approximate solution of the discussed problem in polynomial time.


Introduction
Sensor network is a type of wireless ad-hoc network with the nodes of limited hardware, system and power resources. Usually, sensors collect data in order to perform simple computational tasks and to transmit the resulting data to a set of data collectors. Another type of sensors behavior, important in network management, diagnostics, routing is retransmission of data broadcasted over the network. Collecting, processing and transmitting data is energy absorbing and therefore it requires a sensor cooperation, which relies on shearing the energy between the sensors. Most of the sensor's energy is utilized during the data transmission, this energy requirement grows with the size of the network and the amount of data transmitted over the network. Efficient use of energy by the network nodes becomes crucial to extend their operating time and the lifetime of the whole network. By a sensor network lifetime we mean the period of time until the first node runs out of energy [1][2][3][4][5]. The network lifetime can be defined as the number of cycles the network can perform its functions. Namely, if each node of the network has a battery with the initial energy E 0 , then by finding the optimal energy utilization of each node in one cycle of network lifetime E opt i we can determine the number of cycles N cycles ¼ ½ E 0 E opt i 0 the network can perform its functions until the most overloaded node i 0 runs out of its energy. Various aspects of the lifetime problem in wireless sensor networks were discussed in the literature [6][7][8][9][10][11][12]. In [6] the maximum lifetime broadcasting problem in sensor networks with mobile nodes was analyzed. For several mobility models of the nodes distributed algorithms for energy-efficient broadcasting was defined and evaluated. Two algorithms, designed based on trees with minimum highest cost edges and the minimum cost paths trees were compared against the algorithm for broadcast data transmission which utilizes the methods for determining the connected dominating set [7]. In [8] where analyzed polynomial time approximation algorithms for solving the set of rooted maximum network lifetime problems, defined by Nutov and Segal [9]. The objective of the problems is to find the maximum-size collection of routing trees rooted at a given node. The analysis of Nutov and Segal's algorithms allows the authors to improve the approximations ratios for these problems. In [10] the broadcast tree lifetime problem was presented for two models of receiver energy utilization, the model in which the receiver consumes a fixed amount of energy per unit of received data, and the model in which the energy consumed by a receiver is a function of the transmitter signal power. The lifetime of a broadcast tree is the duration until the first node in the tree fails due to battery energy exhaustion. The authors proposed two algorithms which solve the problem and the solutions were proved to be optimal.
In this article we investigate sensor networks in which the solution of the maximum lifetime broadcasting problem is an equal energy, i.e., the energy consumed by the network is evenly distributed over the sensors. We assume that the sensors are static, they utilize the energy only for sending the data and use the point-to-point or point-to-multipoint data transmission. For the point-to-point data transmission scheme the sender transmits the data to a unique receiver. For the point-to-multipoint transmission the transmitter sends in parallel the same data to some set of receivers. Important future of the point-to-multipoint data transmission is the wireless multicast advantage property (the WMA property) [13,14]. For such transmission the nodes, which are in the range of the transmitting node, can receive the data without additional costs of the transmitter. In the paper we give the solution of the maximum lifetime problem for the point-to-point and point-to-multipoint broadcast data transmission in one dimensional regular sensor networks L N . To solve the problem in networks for arbitrary dimension we propose two algorithms which allow to construct the set of trees for data broadcasting and balance the energy consumed by the network nodes. The first algorithm determines the minimum node weight spanning trees in a given network. The second algorithm allows construct the set of trees to balance the energy consumed by the network nodes transmitting data along given minimum node weight spanning tree. Similar algorithms, to discussed in this article, are proposed by Kang and Poovendran [15] and by Wieselthier et al. [13,14]. The Kang and Poovendran algorithm is based on the transmission along the minimum spanning tree (MST) in equally distributed energy network (EDEN). The Wieselthier et al. broadcast incremental power (BIP) algorithm is similar in principle to the Prim's algorithm for searching the MSTs, but contrary to our algorithm which uses the point-to-point transmission, it exploits the wireless multicast advantage in the construction of the broadcast tree [13]. In some special cases of graphs the minimum node weight spanning trees and the MSTs coincide, which means that to a certain extent our algorithms are a generalization of the Kang and Wieselthier algorithms.
The original contribution of this article is the application of the minimum node weight spanning trees to solve the network lifetime problems for broadcast transmission. To find such trees in a complete graph is an NP-hard problem [16]. Two polynomial time algorithms for searching the minimum node weight spanning trees in a network graph, based on the function generating trees, are defined in [16]. In this article we propose the new one which is a modification of the minimum degree spanning tree algorithm proposed by Fürer and Raghavachari [17]. In the following chapters we show that the minimum node weight spanning tree searching algorithm inherits many features of the Fürer and Raghavachari algorithm and together with the load balancing broadcast algorithm it allows efficiently find the approximation of an equal energy solutions of the maximum network lifetime broadcasting problem.

Definition of the Problem
Let us denote by S N a one dimensional sensor network build of N nodes. We assume that the nodes are located at the points x i , i 2 ½1; N of a real line and the k-th node generates and broadcasts the amount Q k of data. By Eðx i ; x j Þ we denote the data transmission cost energy matrix, which defines the cost of transmission of one unit of data between i-th and jth node. We assume that the matrix Eðx i ; x j Þ is an arbitrary function which satisfies the inequality where x i is the location of the network nodes on the line R. The data transmission flow matrix q k ðx i ; x j Þ q k i;j defines the amount of data which is sent by the i-th node to the j-th node in the process of data broadcasting. If the k-th node broadcasts the amount Q k of data then the energy consumed by the i-th node to retransmit the data is given by the formula where E i;j Eðx i ; x j Þ. The requirement, that each node must receive Q k of data can be written in the form Routing Algorithm for Maximizing Lifetime of Wireless Sensor… 253 Our objective is to find a data transmission flow matrix q k i;j , such that the function reaches its minimum. The maximum lifetime broadcasting problem, later referred to as MLB problem, is defined by the set of the parameters: the number of nodes jS N j ¼ N, the amount of data Q k which is broadcasted by the k-th node, k 2 ½1; N and the data transmission cost energy matrix E i;j . If the matrix E i;j is a function of a distance dðx i ; x j Þ between two nodes, then instead of defining the matrix elements E i;j we can give the location of network nodes in the space and determine the values of E i;j from the metric dðx i ; x j Þ, i; j 2 ½1; N. We assume that E i;j is an arbitrary polynomial function of the distance dðx i ; x j Þ and satisfies (1). We define a sensor network S N as a directed, weighted graph G N ¼ fS N ; V; Eg in which S N is the set of graph nodes, V is the set edges and E set of weights. Each directed edge t i;j 2 V defines a communication link between i-th and j-th node of the network. To each edge t i;j we assign a weight E i;j , which is the cost of transmission of one unit of data between the i-th and j-th node. By U ðoutÞ i S N we denote the set of the network nodes to which the i-th node can send the data The set U ðoutÞ i defines the maximum transmission range of the i-th node. In the paper we assume, that each node of S N can send the data to any other nodes of the network except to itself, i.e., The set of all spanning trees, which begin in the k-th node we denote by G T k , k 2 ½1; N. If the assumption (5) is satisfied, then G N is a complete graph and the number of spanning trees rooted at k-th node jG T k j it is equal to N NÀ2 [18]. We will identify a tree T k;r with the set of its graph edges. Because tree T k;r defines the data flow from the broadcasting node it is a directed tree with ordered edges in the sequence the data is transmitted along that tree. We assume, that edges of the tree T k;r 2 G T k have the natural orientation from the root node to the root child, etc., and are arranged with some fixed, initial sequence For a point-to-point data transmission the solution of maximum lifetime broadcasting problem does not depend on the ordering of the edges. The ordering is important for the point-to-multipoint broadcast data transmission, where different orderings of the edges in the tree T k;r define different wireless multicast data transmission scheme. By q k;r i;j we denote the amount of data transmitted along the edge t k;r i;j . The amount of data q k i;j sent by the i-th node to the j-th node along all trees is given by the formula We require, that along each tree the transmitted data is the same, which means that for fixed k and r the data flows along each edge t k;r i;j are equal, 8 i;j;i 0 ;j 0 q k;r i;j ¼ q k;r i 0 ;j 0 . We denote it by q k r , i.e., The objective function of the MLB problem (4) can be rewritten using the variables q k r and the trees T k;r in the following formula for the energy of each sensor The requirement (3) written in terms of T k;r and q k r has the form X Using the relation (9) and (10) the maximum network lifetime broadcasting problem can be defined by the set of the following formulas where q k ¼ ðq k 1 ; . . .; q k N NÀ2 Þ. A solution of the MLB problem (11), when the data is broadcasted by the k-th node, will be given by an optimal set of trees fT k;r g N 0 r¼1 & G T k , N 0 N, and N 0 non-negative numbers q k;opt r , which satisfy (10) and minimize the objective function (4). The following lemma describes relation between the local minima of the objective function (4) and global solutions of (11).
Lemma 1 Any minimum of the objective function (4) is a solution of the maximum lifetime broadcasting problem.
Proof The feasible set where R þ is a set of non-negative real numbers and is a domain of the objective function Eðq k Þ. From the linearity of the set Uðq k Þ it follows, that any two points q k 0 ; q k 1 2 Uðq k Þ can be connected by a line segment and 8 t2½0;1 tq k 0 þ ð1 À tÞq k 1 2 Uðq k Þ: The objective function (4) of the maximum lifetime broadcasting problem (11) is piecewise linear in the q k variable, which means that Eðtq k 0 þ ð1 À tÞq k 1 Þ ¼ tEðq k 0 Þ þ ð1 À tÞEðq k 1 Þ: Let us assume, that q k 0 is a minimum of Eðq k Þ and there exists another local minimum q k 1 such that Eðq k 0 Þ\Eðq k 1 Þ; then from the linearity of Eðq k Þ it follows that 8 t2½0;1 Eðtq k 0 þ ð1 À tÞq k 1 Þ ¼ tEðq k 0 Þ þ ð1 À tÞEðq k 1 Þ\tEðq k 1 Þ þ ð1 À tÞEðq k 1 Þ and 8 t2½0;1 q k ðtÞ, the inequality Eðq k ðtÞÞ\Eðq k 1 Þ holds, which means that q k 1 cannot be a minimum of Eðq k Þ in Uðq k Þ and q k 0 is a global minimum. h If we assume that Q k ; q i;j 2 Z þ in (11), then we get the mixed integer linear programming problem for the network lifetime. The following lemma describes the complexity of the problem.

Lemma 2 The maximum lifetime broadcasting problem is NP-hard.
Proof We reduce the partition problem to the MLB problem (11). To solve the MLB problem in Z þ 0 we must find the set of integer numbers fq k r g r2½1;N NÀ2 for all trees from G T k , satisfying the constraint P r q k r ¼ Q k and which minimizes the objective function (4). Finding such set of numbers q k r 2 Z þ 0 is equivalent to solving the partition problem [19]. h

Solution of the MLB Problem in One Dimensional Network
In one dimensional networks, the property (1) of the data transmission cost energy matrix E i;j means that, the lowest cost of delivery of a given amount of data from the i-th node located at x i to the j-th node located at x j is reached when the data is transmitted between nearest neighbors along the shortest path. By a shortest path we mean a distance between two nodes, dðx i ; x j Þ ¼ jx i À x j j. It can be easily shown that in one dimension for (1) is satisfied for any a ! 1. From the above it follows that any function of the form E i;j ð a; kÞ ¼ P 1 n¼0 k n jx i À x j j an , where k n ! 0, a n ! 1 also satisfies (1). Nodes of a regular network L N are placed at the points x i ¼ i of a line and the distance between neighboring nodes is equal to one, d i;iAE1 ¼ 1. We can assume, without losing the generality of the problem (11) that, E i;iAE1 ð a; kÞ ¼ 1, which is equivalent to the requirement that P 1 n¼0 k n ¼ 1. By E r we denote the cost of transmission of one unit of data between nodes which distance is d i;iþr ¼ r, i; r 2 ½1; N. The function E r defines weight for all edges t i;iþr of a given transmission tree T in G T k and it has the form where P 1 n¼0 k n ¼ 1, k n ! 0 and a n ! 1. We show that for one dimensional, regular sensor network L N with the data transmission cost energy matrix of the form (12) there exists an equal energy solution of the maximum lifetime broadcasting problem for the nodes which are inside the network, i.e. i 2 ½2; N À 1, and non equal energy solution for the border nodes, i ¼ 1; N of L N . The next lemma describes the solution of the MLB problem for the first and last node of the L N network.

Lemma 3
The solution of the maximum lifetime broadcasting problem (11) with E i;j satisfying (1), for the first and last node of the L N network is given by the transmission graphs ðt 1;2 ; . . .; t NÀ1;N Þ and ðt N;NÀ1 ; . . .; t 2;1 Þ with the data flow Q 1 and Q N respectively.
Proof From the property (1) of the data transmission cost energy matrix E i;j it follows that, the nodes consume minimal energy when they send all of their data to the nearest node. Because the distance between the neighboring nodes of the regular network L N is the same, then the energy spent by each node to transmit a given amount of data to its neighbor is also the same. From this it follows that, when the broadcasted data Q 1 is transmitted along the edges t i;iþ1 , i 2 ½1; N À 1, then each node i 2 ½1; N À 1 spends the same, minimal amount of energy. This means that the optimal transmission graph, the solution to the MLB problem, for the first node is given by the set of graph edges ðt 1;2 ; . . .; t i;iþ1 ; . . .; t NÀ1;N Þ with the data flow Q 1 . In a similar way we can find the solution of (11) for the last node of the L N network. It is given by the transmission graph ðt N;NÀ1 ; . . .; t i;iÀ1 ; . . .; t 2;1 Þ and the data flow Q N . h The next theorem describes the solution of (11) for the one dimensional, regular sensor network L N , when the data is broadcasted by the internal nodes, k 2 ½2; N À 1 of the network.
Theorem 1 The solution of the maximum lifetime broadcasting problem (11), with the data cost energy matrix of the form (12), when the data is broadcasted by the k-th node, k 2 ½2; N À 1, is an equal energy solution and it is given by the N transmission trees T r , r 2 ½1; N ðt r k;kÀ1 ; . . .; t r 2;1 ; t r r;kþ1 ; t r kþ1;kþ2 ; . . .; t r NÀ1;N Þ; r 2 ½1; k À 1; with the data flows where Proof We assume that the formulas (13) and (14) are solution to the MLB problem for N and show that it is also true for ðN þ 1Þ. After adding the ðN þ 1Þ-th node at the end of the network, the nodes from the L N subnetwork can transmit data to the ðN þ 1Þ-th node by the trees T r 0 ðL Nþ1 Þ, r 0 2 ½1; N 0 such, that T r 0 ðL Nþ1 Þj L N ¼ T r and T r are given by (13). Because all Q k of data must be delivered to the ðN þ 1Þ-th node by the nodes from the L N subnetwork, then for data transmission cost energy matrix satisfying (1) the lower costs of delivery of these data is when the N-th node passes all Q k of data to the ðN þ 1Þ-th node by the 'next hop' data transmission, consuming the amount of energy. The trees T r 0 ðL Nþ1 Þ for optimal data transmission from the L N subnetwork are given by the ordered set of edges where the edges of the T r tree are given by (13). Because, the ðN þ 1Þ-th node takes part in data retransmissions, we must find set of trees which are rooted in the k-th node such that the ðN þ 1Þ-th node is not a leaf. From (16) we know that all Q k of data is transmitted to the ðN þ 1Þ-th node from the L N subnetwork by the next hop data transmission graph, starting from the ðk þ 1Þ-th node. It means that the first ðN þ 1 À kÞ edges of the optimal trees T r 00 , r 00 2 ½N þ 1; N 0 are T r 00 ¼ t r 00 k;kþ1 ; . . .; t r 00 N;Nþ1 ; . . . : The nearest node to which the ðN þ 1Þ-th node can send the q k r 00 data, without transmitting data in a loop, is the ðk À 1Þ-th node. It means that next edge, which we must add to the set (17) is t r 00 Nþ1;kÀ1 . The next edges in the trees (17), which define the most efficient data transmission for E i;j satisfying (1), are t r 00 kÀi;kÀiþ1 , i 2 ½1; k À 1. From the above it follows, that the optimal data transmission tree for the ðN þ 1Þ-th node to retransmit part of the broadcasted data in the L Nþ1 network is given by the formula which is the ðN þ 1Þ tree in (13) in the L Nþ1 network. We show that, to obtain the set of trees which forms the solution of MLB problem in L Nþ1 it is enough to add a one tree T Nþ1 to the solution of the problem in L N network. For the set of trees fT r ; T Nþ1 g N r¼1 given by (13) and (18) and the transmitted data fq k r ; q k Nþ1 g N r¼1 an equal energy requirement can be written in the form where By a direct computation we can check that the solution of the equations (19), with the requirement P Nþ1 r¼1 q k r ¼ Q k , is given by (14) for the L Nþ1 network. h The Fig. 1 shows the optimal set of N trees for a solution of the MLB problem in L N when the data is broadcasted by the k-th node, k 2 ½2; N À 1.
The next lemma shows that for a sufficiently large network L N , when the number of nodes grows, the energy E k i , k 2 ½2; N À 1 of each node decreases. Lemma 4 For the solution of the MLB problem given by (13)-(15) the energy of each node E k i ðL 1 Þ, i ! 1, k ! 2 is given by Proof The solution (13)-(15) is an equal energy solution with the energy of each node ; N, k 2 ½2; N À 1, where q k k ðL N Þ is given by (14). For N ! 1 the energy E k i ðL N Þ has the limit (20). h

Broadcast Transmission with Wireless Multicast Advantage
In the first section we defined G T k as the set of all spanning trees of the graph fL N ; V; Eg rooted at the k-th node and we assumed that edges of each tree T k;r were arranged in some fixed sequence. Because any WMA transmission along given tree T k;r is defined by some ordering of its edges t k;r i;j , we extend the set G T k and add to it ða r À 1Þ trees T k;r;a obtained by reordering edges of the tree T k;r . Any ordered tree T k;r;a , a 2 ½1; a r , where T k;r;1 ¼ T k;r is an initial ordering (6), defines the method of WMA data transmission. We denote the set of all trees T k;r;a , a 2 ½1; a r , r 2 ½1; N NÀ2 rooted at the k-th node by G T k . In Fig. 2 there are two different orderings of a tree rooted at the second node of the L 6 network shown, which define different WMA data transmissions.
The numbers on the edges denote the sequence the data is transmitted along the tree and the doted lines indicate the costless transmission.
Let us denote by E i;j ðqÞ the energy consumed by the i-th node to transmit the amount q of data to the j-th node. By U i;j we denote the set of network nodes which are in the transmission range of the i-th node, when the data is transmitted to the j-th node, and can receive the transmitted data without additional cost of the transmitter From the definition of U i;j it follows, that the data transmitted by the i-th node to the j-th node and nodes from U i;j is parallel and is performed along the edges ft i;j ; t i;n g n2U i;j of some tree T. Definition of the a set Uðt k;r i;j Þ U k;r i;j for each edge of a tree T k;r 2 G T k is equivalent to the definition of some ordered tree T k;r;a 2 G T k , a 2 ½1; a r and some WMA data transmissions along T k;r . It may happen that different trees T k;r;a and T k;r 0 ;a 0 from G T k define equivalent WMA data transmissions. Figure 3 shows an ordered tree which defines WMA data transmission equivalent to the transmission along the first tree in Fig. 2.
By q k r;a we denote the data transmitted along the ordered tree T k;r;a 2 G T k . The WMA set U ðt k;r;a i;j Þ U k;r;a i;j for the data transmission along the tree T k;r;a we define as follows We also assume that E m;n ðq k r;a Þ ¼ 0 ) U k;r;a m;n ¼ ;: In other words the WMA property cannot be applied to the data transmission for which E m;n ðqÞ ¼ 0. Note, that 21 is a non-trivial assumption for the directional antennas. The data Fig. 2 Two nonequivalent WMA data transmissions along the same tree in L 6 transmission cost energy matrix for each edge of the tree T k;r;a , E i;j ðT k;r;a Þ E k;r;a i;j having the WMA property and satisfying (21) can be defined by the following formulas E k;r;a i n ;j n ¼ E i1;j1 ; n ¼ 1; E i n ;j n ; j n 6 2 S nÀ1 s¼1 U k;r;a i s ;j s ; n 2 ½2; N À 1; 0; j n 2 S nÀ1 s¼1 U k;r;a is;js : The energy consumed by the i-th node, written in terms of E k;r;a i;j , equals The objective function of the MLB problem with WMA property has the form (4), where the node energy E i ðq k Þ is given by (23). The following lemma describes a solution of the MLB problem with WMA property when the nodes of the L N network use the bidirectional antennas.
Lemma 5 For the bidirectional antenna the solution of the MLB problem with the wireless multicast advantage property and E i;j satisfying (1) is given by the transmission tree t k k;kÀ1 ; . . .; t k 2;1 ; t k k;kþ1 ; . . .; t k NÀ1;N ð24Þ and the data flow Q k , k 2 ½2; N À 1.
Proof Since the distance between the neighboring nodes in the L N network is equal to one, then for a bidirectional antenna the data transmitted by the k-th node, k 2 ½2; N À 1 to the ðk À 1Þ-th node is delivered to the ðk þ 1Þ-th node without costs. In other words, the amount Q k of data transmitted along the edges ðt k k;kÀ1 ; t k k;kþ1 Þ are delivered to the both nodes ðk AE 1Þ 2 L N with the minimal costs E k k ¼ Q k of the k-th node. From Lemma 3 we know that, the optimal tree to transmit the amount Q k of data from the ðk À 1Þ-th node to the nodes i 2 ½1; k À 2 of the L N network is given by the sequence of edges ðt k kÀ1;kÀ2 ; . . .; t k 2;1 Þ and the energy consumed by each node is qual E k i ¼ Q k , i 2 ½2; k À 2 and E k 1 ¼ 0. Similarly, the optimal tree to transmit the amount Q k of data from the ðk þ 1Þth node to the nodes i 2 ½k þ 2; N of the L N network is given by the sequence of edges ðt k kþ1;kþ2 ; . . .; t k NÀ1;N Þ and the energy utilized by each node is qual E k i ¼ Q k , i 2 ½k þ 2; N À 1 and E k N ¼ 0. This optimal transmission tree up to an ordering is given by (24). h The next theorem states that for the directional antennas and for the internal nodes of the network L N , i.e. k 2 ½2; N À 1, the solution of the MLB problem with WMA property coincides with the solution given in (13)-(15). Theorem 2 For a directional antenna the solution of the MLB problem with the wireless multicast advantage property and E i;j satisfying (1), for k 2 ½2; N À 1, N ! 3 is an equal energy solution and it is given by (13)- (15).
Proof The proof is basically the as the proof of Theorem 1. h The solutions of MLB problem with the wireless multicast advantage property for the first and the last node of the L N network and for both types of antennas, the bidirectional and directional is given by Lemma 3.

The Maximum Lifetime Broadcasting Algorithms
In sensor networks in which the nodes are evenly distributed on some area of the plane, we can expect that the solution of the MLB problem is an equal energy, i.e. 8 i2S N E Sol For such problem we propose two algorithms which allow to find a set of trees to broadcast the data with balancing the energy consumed in the network nodes. The purpose of the first algorithm is to construct in S N the set of minimum node weight spanning trees G MnwST k rooted at the broadcasting node. The second algorithm allows to construct, for a given tree T from G MnwST k , the set of trees G LBB k ðTÞ which is used to balance the energy consumed by nodes of the network S N . To find an approximate solution of the MLB problem we define the objective function (4) over the set G LBB k ¼ S T2G MnwST k G LBB k ðTÞ and find its minimum with respect to the variables qðT r Þ, T r 2 G LBB k . In Sect. 1 we defined the weight of an edge t i;j as the cost of transmission of one unit of data between i-th and j-th nodes E i;j . We define the weight of a node for in given tree T as the sum of weights of its outgoing edges The minimum node weight spanning tree algorithm (the M nw ST algorithm) allows find in the weighted graph fS N ; V; Eg a tree whose node with maximum weight is minimal among spanning tress. In [17] Fürer and Raghavachari proposed an approximation algorithm allowing to determine the minimum degree spanning tree for a directed graph. We modify this algorithm, such that it allows to construct a spanning tree with minimum node weight. In the Fürer-Raghavachari algorithm one can start with arbitrary spanning tree in the graph.
To solve the MLB problem in sensor networks we start constructing the M nw ST tree with some minimum spanning tree in S N rooted at the broadcasting node. The set of minimum spanning trees G MST k in S N rooted at the k-th node can be determined by standard polynomial time algorithms like Prim's or Kruskal's algorithm [20].
The minimum node weight spanning tree algorithm.
Step 1 For a directed, weighted graph G N ¼ fS N ; V; Eg determine the set G MST k of minimum outgoing spanning trees rooted at the broadcasting node.
Step 2 Select a tree T from the set G MST k and determine in T the node with the maximum outgoing weight. To decrease the weight of this node select a local subtree T 0 in T rooted at that node and replace it by another subtree T 00 attached to some node with lower weight in S N , such that the inequality maxfEðTÞ À EðT 0 Þ þ EðT 00 Þg\ maxfEðTÞg ð25Þ is satisfied. The leaf nodes of the subtree T 00 attach to the nodes of T 0 .
In the inequality (25) EðTÞ ¼ ðE 1 ðTÞ; . . .; E N ðTÞÞ and E i ðTÞ, i 2 ½1; N are weight of the nodes. This algorithm allows us to find a spanning tree which approximates the M nw ST tree in S N .
The purpose of the second algorithm, called the load balancing broadcast algorithm, is to find the set of trees G LBB k ðTÞ rooted at the broadcasting node which allow to split data transmitted along given M nw ST tree T in such a way, that the consumed energy by the network nodes is evenly distributed. To state whether the energy of a node should be decreased or increased we define the average energy consumed by network nodes for given tree T. If we assume, that the k-th node broadcasts Q k of data, then the average energy utilized by nodes of the S N network we calculate by means of the following formula where N 0 ðTÞ is the number of relay nodes in the tree T. For the nodes which consumed energy is greater than the average EðTÞ E i ðTÞ we decrease the energy and for nodes which consumed energy is less than the average E i ðTÞ\ EðTÞ we increase the energy level. By V e i ðTÞ ¼ ft i;j g j we denote the set of outgoing edges of the i-th node in given tree T 2 M nw ST. The following procedure is applied in the LBB algorithm to decrease the energy consumed by the node. Procedure 1. Spanning tree graph construction for decreasing energy consumed in the node. To decrease the energy consumed by the i-th node remove one outgoing edge t i;r from the set V e i ðTÞ and construct the minimum node weight spanning tree T 0 for the graph ðS N ; V 0 ; EÞ, where V 0 ¼ V n ft i;r g, such that the inequality is satisfied. Repeat the process of constructing the minimum node weight spanning tree in S N with removed one, two and finally all the edges from the given non-broadcasting node. For the broadcasting node we leave at least one outgoing edge. h The requirement (27) allows not only to remove edges from the node but also to add to the i-th node a set of edges ft i;s g s satisfying the inequality P s t i;s E i;s \t i;r E i;r . If the constructed tree T 0 is not unique, we can select one tree from the equivalent trees or add all equivalent trees to the objective function of the MLB problem.
The second procedure is applied in the LBB algorithm to increase the energy consumed by nodes of the network. Procedure 2. Spanning tree graph construction for increasing energy consumed in the node. To increase the energy consumed by the i-th node add to the set of outgoing edges V e i ðTÞ a new edge t i;r and construct the minimum node weight spanning tree T 0 in S N , such that Repeat the process of constructing the minimum node weight spanning trees T 0 with added one, two and finally all ðN À 2Þ edges to the non-broadcasting node and ðN À 1Þ edges to the broadcasting node. h The requirement (28) means, that we construct the tree T 0 with a fixed set of outgoing edges of a given node. The weight of the i-th node in T 0 is given by the formula E i ðT 0 Þ ¼ E i ðTÞ þ Q k t i;r E i;r . The two procedures we use to define the LBB algorithm.
The load balancing broadcast algorithm.
Step 1 Select a minimum node weight spanning tree T from the set G M nw ST k . The formula (26) is used to determine the average energy EðTÞ utilized by nodes of the network S N for the tree T.
Step 2 For the nodes which energy is greater than the average EðTÞ\E i ðTÞ apply the Procedure 1, i.e. construct the set of trees for decreasing the energy consumed by that nodes G LBB k ðTÞ. For the nodes which the consumed energy along the tree T is less than the average E i ðTÞ\ EðTÞ apply the Procedure 2, construct the set of trees for increasing the energy consumed by that nodes. h To each minimum node weight spanning tree T in S N we apply the LBB algorithm to construct the set of trees G LBB ðTÞ to balance the energy consumed by the nodes of the network in the process of data broadcasting. In the final stage of solving the MLB problem we define the objective function (4) over the set of trees G LBB and determine its minimum with respect to the set of variables qðT r Þ, T r 2 G LBB k .

Applications of the Maximum Lifetime Broadcasting Algorithms
In this section we apply the proposed algorithms to find an approximate solution of the MLB problem in sensor networks S 5 build of five nodes. We assume, that the nodes of network S 5 are located at the points x 1 ¼ ð0; 2Þ, x 2 ¼ ð2; 2Þ, x 3 ¼ ð3; 0Þ, x 4 ¼ ð4; 3Þ, x 5 ¼ ð5; 2Þ of the plane, where x i ¼ ðx 1 i ; x 2 i Þ 2 E 2 and the second node broadcasts the amount Q 2 ¼ 1 of data. The cost of transmission of one unit of data in the graph S 5 is given by the function E i;j ¼ dðx i ; x j Þ 4 , where dðx i ; x j Þ is Euclidean distance in E 2 .
In the network S 5 there is one minimum spanning tree rooted at the x 2 node. It is given by the set of edges T MST ¼ ðt 2;1 ; t 2;3 ; t 2;4 ; t 4;5 Þ with weights of the nodes EðT MST Þ ¼ ðE 1 ; E 2 ; E 3 ; E 4 ; E 5 Þ ¼ ð0; 66; 0; 4; 0Þ. To construct the minimum node weight spanning tree in S 5 we start the M nw ST algorithm from the tree T MST . The maximum weight in the tree T MST has the broadcasting node, located at x 2 . We reduce its weight by defining the local subtree T 0 ¼ ðt 2;3 Þ rooted at x 2 and ending at the x 3 node. By moving the root of T 0 to the x 5 node and leaving the end at x 3 we obtain a new subtree T 00 ¼ ðt 5;3 Þ. We can easily check that for T 0 and T 00 the inequality (25) is satisfied. By replacing in T MST the subtree T 0 by T 00 we obtain the first minimum node weight spanning tree T 1 ¼ ðt 2;1 ; t 2;4 ; t 4;5 ; t 5;3 Þ, with weights of the nodes EðT 1 Þ ¼ ð0; 41; 0; 4; 64Þ. The second minimum node weight spanning tree in S 5 we obtain by replacing in T MST the subtree T 0 ¼ ðt 2;4 ; t 4;5 Þ by T 00 ¼ ðt 3;5 ; t 5;4 Þ. Also in this case the inequality (25) is satisfied. As a result, we obtain the M nw ST tree given by the edges T 2 ¼ ðt 2;1 ; t 2;3 ; t 3;5 ; t 5;4 Þ and weights of the nodes EðT 2 Þ ¼ ð0; 41; 64; 0; 4Þ. Figure 4 shows two constructed minimum node weight spanning trees in S 5 .
We construct the set G LBB 2 ðT i Þ, i ¼ 1; 2, to balance the energy consumed by the nodes for the data transmitted along the two minimum node weight spanning tree T 1 and T 2 The average energy utilized by the nodes of the network S 5 transmitting broadcasted data along the tree T 1 is equal to EðT 1 Þ ¼ 36:33. Because the weights of the nodes for T 1 are EðT 1 Þ ¼ ð0; 41; 0; 4; 64Þ and EðT 1 Þ\E i ðT 1 Þ for i ¼ 2; 5, we decrease the energy consumed by the x 2 and x 5 nodes and increase the energy consumed by the x 1 , x 3 , x 4 nodes of the network.
To decrease the energy consumed by the x 5 node we remove the edge t 5;3 from the set VðS 5 Þ and construct the M NW ST tree T 0 in S 5 , such that the inequality E i ðT 0 Þ\E i ðT 1 Þ is satisfied. In this way we obtain T 0 ¼ T 2 , the second minimum node weight spanning tree in S 5 . We can decrease the energy consumed by the x 2 node by removing from VðS 5 Þ the edge t 2;1 or t 2;4 . If we remove the edge t 2;4 , then the minimum node weight spanning tree constructed in S 5 with the smaller set of edges VðS 5 Þ n ft 2;4 g is T 3 ¼ ðt 2;1 ; t 1;3 ; t 3;5 ; t 5;4 Þ with weights of the nodes EðT 3 Þ ¼ ð169; 16; 64; 0; 4Þ. The M nw ST tree constructed in S 5 with removed edge t 2;1 give us the tree T 4 ¼ ðt 2;4 ; t 4;5 ; t 5;3 ; t 3;1 Þ with weights of the nodes EðT 4 Þ ¼ ð0; 25; 169; 4; 64Þ.
To increase the energy consumed by the first node in S 5 we attach to x 1 the edge t 1;3 and fix it in the new tree T 0 , i.e. V e 1 ðT 0 Þ ¼ ft 1;3 g. Construction of the M nw ST tree T 0 in S 5 , with fixed set V e 1 ðT 0 Þ, gives us the tree T 0 ¼ T 5 ¼ ðt 2;1 ; t 1;3 ; t 2;4 ; t 4;5 Þ with the weights of the nodes EðT 5 Þ ¼ ð169; 41; 0; 4; 0Þ. Applying the LBB algorithm to increase the energy consumed by the x 3 node we obtain T 2 , the second M nw ST in S 5 . To increase the energy consumed by the fourth node we attach to x 4 the edge t 4;3 and fix the node outgoing edges in T 0 , i.e. V e 4 ðT 0 Þ ¼ ft 4;5 ; t 4;3 g. For a fixed set V e 4 ðT 0 Þ constructed M NW ST tree T 0 has the form T 0 ¼ T 6 ¼ ðt 2;1 ; t 2;4 ; t 4;5 ; t 4;3 Þ with the nodes weights EðT 6 Þ ¼ ð0; 41; 0; 104; 0Þ.
We would like to apply the maximum lifetime broadcasting algorithms to solve the MLB problem in L N network. We show, that the algorithms can find all the trees from the exact solution of the MLB problem (11) in OðN 2 Þ time.

Lemma 6
The minimum node weight spanning tree and the load balancing broadcast algorithms find the solution of the maximum lifetime broadcasting problem in the L N network in OðN 2 Þ time.
Proof The minimum node weight spanning trees for the weighted graph ðL N ; V; EÞ are the minimum spanning trees. They can be found in OðN 2 Þ time by the standard algorithms. For the border nodes of the L N network the minimum spanning trees rooted at these nodes form the solution of the MLB problem, see Lemma 3. When the data is broadcasted by the internal node of the network, then the M NW ST tree in L N is the T k tree, k 2 ½2; N À 1, defined in (13). The weights of the nodes in the T k tree are E k ¼ 2, E 1 ¼ E N ¼ 0 and 8 i6 ¼1;N;k E i ¼ 1. The average energy consumed by the nodes of the network L N transmitting the amount Q k ¼ 1 of data along the tree T k is equal to EðT k Þ\E k ðT k Þ and 8 i6 ¼k E i ðT k Þ\ EðT k Þ we should decrease the energy consumed by the broadcasted node and increase the energy consumed by all other nodes. Applying the LBB algorithm to decrease the load of the broadcasting node we obtain two trees, the T kÀ1 and T kþ1 tree from (13). In the first iteration, when the LBB algorithm is applied to increase the energy consumed by the non-broadcasting nodes of the L N network, i 2 ½1; N, i 6 ¼ k, we add to each node one additional outgoing edge and construct the M NW ST tree. For the i-th node, i 2 ½2; k À 1, we fix the existing outgoing edge t i;iÀ1 and add the t i;j edge, j 6 ¼ k; i; i þ 1. For i 2 ½k þ 1; N À 1 we fix the edge t i;iþ1 , add the new edge t i;j , j 6 ¼ k; i; i þ 1, j 6 ¼ k; i; i À 1 and construct the M NW ST tree in L N . In general, for each node i 2 ½2; N À 1, i 6 ¼ k, there are ðN À 3Þ ways to add the additional edge. Among ðN À 3Þ trees rooted the i-th node, i 2 ½2; N À 1, i 6 ¼ k there is always one tree from the solution (13). Because the border nodes of the L N network in the tree T k are the leaf nodes we can attach to them a one edge in ðN À 2Þ ways. Also in this case among constructed ðN À 2Þ trees rooted at the border nodes there is one tree from the solution (13). Constructed by the LBB algorithm set G LBB k ðT k Þ is composed of ðN À 3Þ 2 þ 2ðN À 2Þ þ 1 trees. Because in this set there are all trees from the solution of the MLB problem in L N then the algorithm finds them in OðN 2 Þ time. h In the last step of solving the MLB problem in L N by means of the maximum lifetime broadcasting algorithms we have to build the objective function (4) over the set G LBB k ðT k Þ with q r , r 2 ½1; ðN À 3Þ 2 þ 2ðN À 2Þ þ 1 variables and calculate its minimum. Because the MLB problem (11) is equivalent to the linear programming problem to find a minimum of the objective function we can apply the Dantzig simplex algorithm or the Khachian ellipsoid algorithm [21]. In the worst case the complexity of the Dantzig algorithm is exponential and the Khachian algorithm has polynomial time complexity with the bound OðN 6 L 2 Þ, where N is the number of variables and L is the number of bits required to represent the input data.

Conclusions
In the paper we investigated the equal energy solutions of the maximum lifetime broadcasting problem in sensor networks. We solved the maximum lifetime problem for the point-to-point and point-to-multipoint broadcast data transmission in one dimensional regular sensor network L N . Based on the analytical solution of the problem in one dimension we proposed two algorithms which allow to find an approximate solution of the problem in sensor networks in any dimension. The first algorithm determines the minimum node weight spanning trees in a given network. The second algorithm, called the load balancing broadcast algorithm, allows construct the set of trees to balance the energy consumed by the network nodes transmitting data along given minimum node weight spanning tree. As a sample application of the proposed algorithms we solved the maximum lifetime broadcasting problem in sensor network build of five nodes. Two solutions found by means of these algorithms were E alg ðT 1 Þ E sol ¼ 1:0032 and E alg ðT 2 Þ E sol ¼ 1:01682 times worse than the exact solution. We also showed, that by means of these algorithms we can find all trees from the exact solution of the MLB problem in L N network in OðN 2 Þ time.
There are several unsolved problems related to the proposed algorithms. For example, it would be interesting to modify the load balancing broadcast algorithm in such a way that the unequal energy solutions of the maximum lifetime broadcasting problem can be efficiently found. Knowledge about the number of minimum node weight spanning trees in given network, the cardinality of the set jG MnwST k ðS N Þj, could help to find better approximation of the solution for the MLB problem. Also the minimum number of the trees necessary to solve the MLB problem for arbitrary network and broadcasting node is not known. It seems, that the solution of the MLB problem in network build of N nodes requires no more than N routing trees.