1.. Introduction
================

With the capability of sensing, computing and communication embedded on the sensor node, the wireless sensor network (WSN) is a promising technology to probe and collect environmental information. Without the necessity of expensive wiring cost for constructing the sensor network, the WSN could deploy sensor nodes at any location more efficiently \[[@b1-sensors-09-04766]\]. A representative WSN is shown in [Figure 1](#f1-sensors-09-04766){ref-type="fig"}. Sensor nodes are usually scattered in a *sensor field*. When any event occurs, such as surging irradiation or temperature declining below certain threshold, sensor nodes within specific *sensing range* (data source nodes) detect this event and collect data which would be transmitted to the sink node for taking further processing.

The application scenario described above is called *event-driven* that sensors are assigned to detect a particular event, which is shown in [Figure 1(a)](#f1-sensors-09-04766){ref-type="fig"}. There are two other different applications of wireless sensor networks, which are namely *periodic* and *query-based*. These two applications could be classified as *random-source*, which is shown in [Figure 1(b)](#f1-sensors-09-04766){ref-type="fig"}. Periodic scenario sensors probe environmental information periodically and report their measurements back to the sink node. All sensors in this kind of networks are necessitated to be synchronized such that all sensors sense information and report it simultaneously. Query-based scenario is applied to user-oriented applications. User can query information from certain area of sensors to require measurements that he is interested in. As can be seen in [Figure 1(b)](#f1-sensors-09-04766){ref-type="fig"}, the data source nodes in random source model are not clustered as in event driven model.

Power efficient communication in the WSN is an interesting and blooming research area \[[@b2-sensors-09-04766]\]. It is almost impossible to replace the battery in the sensor node due to the limited energy power in the sensor node. In traditional wireless network, the data transmission is unicasting (one to one) or multicasting (one to many). In the WSN, multiples data source nodes sense the data and send them back to only one sink node. Hence, the data communication in the WSN is a kind of *reverse multicasting* (*many to one*), also known as *data aggregation routing*. This makes power efficient communication in the WSN different from traditional wireless network.

For data aggregation routing, raw data from multiple children sensor nodes are collected and processed before transmission. Data aggregation can minimize the number of transmission by eliminating redundant data from different source nodes \[[@b3-sensors-09-04766]-[@b5-sensors-09-04766]\]. [Figure 2](#f2-sensors-09-04766){ref-type="fig"} gives an example of data aggregation routing and address centric routing where the maximum temperature is reported to a sink node. Label *x(y)* at each node represents the local temperature measurement is *x* while the aggregated (maximum) value so far is *y*. For example, at node 27(30), the maximum temperature up to now is MAX (27, 30) = 30. Assume the transmission cost on each link is equal to 1.0. In traditional address centric routing shown in [Figure 2(b)](#f2-sensors-09-04766){ref-type="fig"}, each Origin-Destination (OD) pair follows the shortest path. Then the total cost for these three OD pairs is 4.0. However, with the capability of data aggregation at each sensor node, a more power efficient transmission is shown in [Figure 2(a)](#f2-sensors-09-04766){ref-type="fig"} via data aggregation routing where the total cost is 3.0.

Although data aggregation in the WSN could reduce the number of transmissions to save transmission cost, it could introduce additional MAC layer retransmission energy loss. Based on the CSMA/CA protocol, data transmission from multiple sensor nodes to the same sensor node for data aggregation will incur *collision*. When there is collision, retransmission is required to ensure that the data is successfully received at the aggregation node and this will incur additional energy consumption. Basically, the more flows are aggregated at the sensor node, the higher probability that the senders will incur data retransmission. In [Figure 3(a)](#f3-sensors-09-04766){ref-type="fig"}, a node *n~5~* (with three children nodes) will suffer severe collisions which results in more retransmission times as compared to a node *n~5~* (with two children nodes) in [Figure 3(b)](#f3-sensors-09-04766){ref-type="fig"}. Besides extra energy consumption, retransmission also incurs additional latency, which is unacceptable in delay sensitive applications. The extra energy consumption and additional latency from retransmission will jeopardize the advantage from data aggregation.

By assigning different *channels* to the sensor nodes that are within each other\'s interference range, the retransmission problem caused by collision could be circumvented. If there is sufficient number of channels, then we could assign a different channel to every sensor node on the aggregation tree such that there is no extra energy loss from retransmission. In the meantime, the latency could also be minimized. However, the number of channels is a limited and valuable resource in wireless networks. For instance, in IEEE 802.11b, there are only three non-overlapping channels \[[@b6-sensors-09-04766]\]. Hence, the question is how to assign the limited channels to the sensor nodes on the aggregation tree such that the total transmission power could be minimized.

Besides limited number of available non-overlapping channels, *number of radios* on each sensor node is also a limited resource. If two children sensor nodes use two different channels transmit data back to the same sensor node, then this sensor node will need two radios to receive data simultaneously. Otherwise, it will incur larger latency for a single radio sensor node to switch different channel to receive from its children nodes. Hence, from the *latency* point of view, for any sensor node that is on the data aggregation tree, the number of radios equipped on this node must be greater than or equal to the number of children nodes. In [Figure 3](#f3-sensors-09-04766){ref-type="fig"}, I illustrate an example where the sensor nodes are randomly placed in a 15 × 15 area. In this example, the transmission cost is equal to the square of the Euclidean distance of the transmission radius. The sensor nodes with the same color are assigned with the same channel (e.g., *n~1~* and *n~3~*). To prevent collision, any two sensor nodes that are within each other\'s transmission range could not assign the same channel (e.g., *n~2~* and *n~5~*). In addition, even though *n~3~* and *n~4~* are not within each other\'s transmission range, *n~3~* still could not reuse *n~4~\'s* channel because of *n~5~*. This is referred to as the hidden node problem. In this case, we say *n~3~* and *n~4~* are within each other\'s interference range. It is important to note that interference range is larger than the transmission range because of the hidden node problem. If every sensor node has the same transmission radius, then interference range is equal to the twice of transmission range in order to capture the co-channel interference from hidden nodes. In [Figure 3(a)](#f3-sensors-09-04766){ref-type="fig"}, when the number of channels and radio is unlimited, the minimum total transmission cost is 21.84. The total number of channels required is 4 and the number of radios required for a node *n~5~* is 3. If the total number of channels is limited to 3 or the number of radios on each node is limited to 2, then [Figure 3(a)](#f3-sensors-09-04766){ref-type="fig"} is not a feasible solution. In [Figure 3(b)](#f3-sensors-09-04766){ref-type="fig"}, it shows the data aggregation tree for channel and radio aware data aggregation routing when the total number of channels is limited to be 3 and the number of radios on each sensor node is limited to 2. The transmission cost is 25.68, which is slightly larger than [Figure 3(a)](#f3-sensors-09-04766){ref-type="fig"}.

To perform Channel and Radio Constrained Data Aggregation Routing (CRDAR) in the WSN is even more challenging than pure data aggregation routing in the WSN. The channel assignment in wireless network could be modeled as a graph coloring problem in graph theory where adjacent nodes could not be assigned with the same color. This graph coloring problem is proven to be a NP-hard problem \[[@b7-sensors-09-04766]\]. CRDAR that contains the channel assignment problem is also an NP-hard problem. In this paper, for the first time, I first model the CRDAR problem as a mixed integer linear programming (MILP) problem. Then I relax some of the constraints and derive a set of independent subproblems. By optimally solving each independent subproblem and adjusting the Lagrangean multipliers at each iteration by the subgradient method, we get the tightest lower bound of the CRDAR problem. By utilizing the solution to the Lagrangean dual problem and the information from the Lagrangean multipliers, a getting primal heuristic algorithm (LGR) is devised to identify the channel and radio constrained minimum transmission cost data aggregation tree.

Note that this integrated channel assignment and routing problem is also an important issue in multi-radio wireless networks. Hence, the proposed optimization-based algorithm could also be applied to general wireless networks. The reason that I specifically focus on the WSN is because the nature of "many-to-one" communication from multiple data source nodes to one sink in the WSN is different from "one-to-many" communication in the wireless networks. This many-to-one communication will increase the probability of co-channel interference so as to make the integrated channel assignment and routing problem in the multi-radio WSN more challenging than the traditional wireless network.

The remainder of this paper is organized as follows. In Section 2, existing literature on data aggregation routing and channel assignment problem in wireless networks is surveyed. In Section 3, I formulate the CRDAR problem as the MILP mathematical problem. In Section 4, Lagrangean relaxation scheme is applied to relax some constraints and algorithms are proposed to solve the Lagrangean dual problem optimally. In Section 5, the novel optimization-based heuristics are devised to get the primal feasible solution. In Section 6, the numerical results and performance comparisons are demonstrated. Finally, concluding remarks are summarized in Section 7.

2.. Related Works
=================

In wireless network, if the transmission radius of a node is *r*, then the power consumption is measured as *r^α^* + *c*, where *α* is a signal attenuation constant (usually between 2 to 4) and *c* is a positive constant that represents signal processing \[[@b3-sensors-09-04766]\]. In \[[@b8-sensors-09-04766]\], they study the tradeoff between power consumption transmission radius and coverage of the transmission node. For long transmission radius, more sensor nodes could be covered so that the total number of transmission could be reduced. However, long transmission radius incurs significant power consumption, especially for large *α*, that would sacrifice the gain from reduced total number of transmission.

Pure data aggregation routing problem in the WSN has been studied by several works. In \[[@b8-sensors-09-04766]\], they propose centralized heuristic based on Prim\'s shortest path algorithm to construct a data aggregation tree. However, as shown in \[[@b9-sensors-09-04766]\], the data aggregation tree constructed by shortest path algorithm (shortest path tree, SPT) does not facilitate the data aggregation advantage. In \[[@b5-sensors-09-04766]\], three interesting suboptimal aggregation heuristics, Shortest Paths Tree (SPT), Center at Nearest Source (CNS), and Greedy Incremental Tree (GIT), are proposed. It is shown that GIT could get the best results. The idea of GIT scheme is initially the only member in the tree is the sink node. Each data source find the shortest hop path to this tree and the data source with the minimum hop along with the intermediate nodes on this path are included in this tree. This process is repeated until all source nodes are included in the tree.

In \[[@b3-sensors-09-04766],[@b9-sensors-09-04766]\], they propose a rigorous MILP formulation for data aggregation routing problem and propose solution approaches based on Lagrangean relaxation. Optimization-based heuristic are proposed to solve the pure data aggregation routing problem. From the computational experiments, their optimization-based algorithm is superior to the SPT, CNS and GIT \[[@b5-sensors-09-04766]\] in both random-source model and event-driven model. In \[[@b4-sensors-09-04766]\], they consider the MAC aware data aggregation routing in the WSN. They capture the energy consumption tradeoffs between the data aggregation and retransmission in the CSMA/CA MAC protocol by proposing an interesting optimization-based heuristics. It is shown that proposed algorithms could construct more energy efficient data aggregation tree with considering MAC layer retransmission mechanism than existing data aggregation algorithms.

In \[[@b11-sensors-09-04766]\], the channel assignment problem is modeled as a graph coloring problem and proposes an optimization-based heuristics to tackle this issue. However, the hidden node problem is not addressed in \[[@b11-sensors-09-04766]\]. Joint channel assignment and routing in multi-hop wireless networks has been studied in \[[@b12-sensors-09-04766],[@b13-sensors-09-04766]\]. They address the interference problem in wireless network by jointly channel assignment and routing algorithm in order to achieve maximum throughput/system capacity. However, power efficient communication is not addressed in \[[@b12-sensors-09-04766],[@b13-sensors-09-04766]\]. In addition, they addressed the unicasting routing problem which is not applicable to data aggregation routing problem in the WSN.

In \[[@b14-sensors-09-04766]\], they study the tradeoff between data aggregation and latency in the WSN. Data aggregation tree is constructed by using the earliest-first, randomized, nearest-first and weighted-randomized to identify the parent node to relay the data from the data source node back to the sink node. Basically, by assigning different time slot (i.e., channel) to every sensor node on data aggregation tree that has the same parent node, there will be no collision but introducing large latency. Hence, there is a tradeoff between data aggregation and latency. In \[[@b15-sensors-09-04766]\], they consider the latency issue in constructing a minimum energy data aggregation tree. A data aggregation tree is a balanced binary tree where initially the sink node finds the nearest two sensor nodes as its children, and each children node identifies another two nearest nodes as its children node. This process is repeated until all data source nodes are included in this balanced data aggregation tree. After the data aggregation tree is determined, channel assignment is performed to minimize latency and transmission power. This two-phase approach is also shown in \[[@b16-sensors-09-04766]\]. However, restricting the data aggregation tree to be the balanced binary tree might lead to long data aggregation tree that has larger transmission cost.

In \[[@b17-sensors-09-04766]\], they show how to minimize energy consumption by using the prioritized channel assignment and scheduling the listen and sleep time. Sensor nodes with less residual power are assigned with higher priority for channel assignment. Sensor nodes with low priority are scheduled to sleep to save energy loss. However, data aggregation routing is not addressed in \[[@b17-sensors-09-04766]\]. In \[[@b18-sensors-09-04766]\], sensor networks are partitioned into clusters and each sensor node sends its data to its cluster head before transmitting outside the cluster. All inter-cluster communication is done by the cluster head. However, channel reuse for better channel utilization is not addressed in \[[@b18-sensors-09-04766]\].

In \[[@b19-sensors-09-04766]\], they propose four interesting heuristic algorithms (SPT, GIT, CAGIT and ICADAR) to solve the channel constrained data aggregation routing problem. The first three heuristics are first to identify the data aggregation tree and then perform channel assignment to satisfy the channel constraint, which is a one-shot algorithm. The fourth algorithm is is an iterative procedure where routing and channel assignment may perform several times to identify a feasible and energy efficient data aggregation tree. However, the radio constraint is not addressed in \[[@b19-sensors-09-04766]\] such that it might not be feasible in the radio-constrained WSN.

3.. Problem Formulation
=======================

The CRDAR is formulated as a MILP problem. The objective function is to minimize the total transmission cost. The constraints include the data aggregation tree, co-channel interference constraint, and channel and radio resource constraint. I consider the case where multiple events occur simultaneously and send back to the sink node via different data aggregation trees and each event is modeled as one multicast group. Each event carries different data such that data aggregation could not be performed between different data aggregation trees. If any sensor node is on two different data aggregation tree, then this sensor node needs two channels/radios to transmit the data on different tree respectively. Hence, more channels/radios will be needed as compared to single data aggregation tree.

3.1.. Notations in the Formulation
----------------------------------

The notations used in the formulation are as follows.

Input variables: *N* : the set of sensor nodes in the WSN;*L* : the set of possible communication links in the WSN;*G* : the set of multicast groups;*D~g~* : the set of data source nodes of multicast group *g* ∈ *G*;*F* : the set of non-overlapping channels in the WSN;*a~l~* : unit power transmission cost on link *l* ∈ *L*;*P~gd~* : the set of candidate paths from the sink node of multicast group *g* to its data source node *d*;*h~g~* : The minimum number of hops to the farthest destination node in multicast group *g*;δ~pl~ : = 1, if link *l* is on the path *p*; = 0, otherwise;ε~jk~ : = 1, if a sensor node *j* can not use the same channel with a sensor node *k*; = 0, otherwise;*ρ~lk~* : = 1, if a sensor node *k* is the termination node of link *l*; = 0, otherwise;*σ~lk~* : = 1, if a sensor node *k* is the source node of link *l*; = 0, otherwise;*ω* : the number of available non-overlapping channels, i.e., *ω* = \|*F*\|;*R~j~* : the number of radios equipped on a node *j* ∈ *N*.

Decision variables: *x~gpd~* : = 1, if the sink node of multicast group *g* use path *p* to reach its data source node *d*; = 0, otherwise;*y~gl~* : = 1, if link *l* is on the data aggregation tree of multicast group *g*; = 0, otherwise;*C~l~* : aggregate flow on link *l*;*m~ij~* : = 1, if channel *i* is assigned to a data source node *j*; = 0, otherwise;*n~i~* : = 1, if channel *i* is assigned to any data source node; = 0, otherwise.

Basically, the size of *P~gd~* will grow exponentially with number of sensor nodes (i.e., \|*N*\|.). So it is almost impossible to enumerate all possible paths at large network size. I will show in Sec. 4 that we do not need to enumerate all possible paths for *P~gd~*. The Lagrangean multipliers associated with decision variable *x~gpd~* enable us to identify the shortest path for every data source node *d* of multicast group *g* by using the Dijkstra\'s shortest path algorithm. Hence, unlike commercial optimization package (e.g., CPLEX) that we need identify all the values for *P~gd~, P~gd~* is just a notation for our proposed Lagrangean relaxation scheme.

Another important parameter is *ε~jk~*, which captures the co-channel interference. Recall from the example shown in [Figure 3](#f3-sensors-09-04766){ref-type="fig"}, interference range is larger than the transmission range due to the hidden node problem. Without loss of generality, I assume wireless links are symmetrical and the interference range is twice of the transmission range. In other words, if a sensor node *k* is a two-hop neighboring node for a sensor node *j*, then *ε~jk~* = 1 and *ε~kj~* = 1.

3.2. MILP for CRDAR Problem
---------------------------

### Problem (P)

Objective function: $$Z_{IP} = \min\sum\limits_{l \in L}{a_{l}C_{l}}$$subject to : $$\begin{matrix}
{\sum\limits_{g \in G}y_{gl}} & \leq & C_{l} & {\forall l \in L} \\
\end{matrix}$$ $$\begin{matrix}
C_{l} & \in & \left\{ {0,1,2,3,.\ldots,{|G|}} \right\} & {\forall l \in L} \\
\end{matrix}$$ $$\begin{matrix}
{\sum\limits_{p \in P_{gd}}{x_{\textit{gpd}}\delta_{pl}\mspace{7mu}}} & \leq & y_{gl} & {\forall g \in G,l \in L,d \in D_{g}} \\
\end{matrix}$$ $$\begin{matrix}
y_{gl} & = & {0\ \textit{or}\ 1} & {\forall g \in G,l \in L} \\
\end{matrix}$$ $$\begin{matrix}
{\sum\limits_{l \in L}y_{gl}} & \geq & {\max\left\{ {h_{g},{|D_{g}|}} \right\}} & {\forall g \in G} \\
\end{matrix}$$ $$\begin{matrix}
{\sum\limits_{d \in D_{g}}{\sum\limits_{p \in P_{gd}}{x_{\textit{gpd}}\delta_{pl}\mspace{7mu}}}} & \leq & {{|D_{g}|}y_{gl}} & {\forall g \in G,l \in L} \\
\end{matrix}$$ $$\begin{matrix}
{\sum\limits_{p \in P_{gd}}{x_{\textit{gpd}}\mspace{7mu}}} & = & 1 & {\forall g \in G,d \in D_{g}} \\
\end{matrix}$$ $$\begin{matrix}
x_{\textit{gpd}} & = & {0\ \textit{or}\ 1} & {\forall p \in P_{gd},g \in G,d \in D_{g}} \\
\end{matrix}$$ $$\begin{matrix}
{\sum\limits_{g \in G}\sum\limits_{l \in L}y_{gl}\rho_{lj}} & \leq & {\mspace{7mu}\sum\limits_{i \in F}m_{ij}} & {\forall j \in N} \\
\end{matrix}$$ $$\begin{matrix}
{\sum\limits_{g \in G}\sum\limits_{l \in L}y_{gl}\sigma_{lj}} & \leq & {\mspace{7mu}\sum\limits_{i \in F}m_{ij}} & {\forall j \in N} \\
\end{matrix}$$ $$\begin{matrix}
{\left( {m_{ij} + m_{ik}} \right)ɛ_{jk}} & \leq & 1 & {\forall i \in F,j \in N,k \in N} \\
\end{matrix}$$ $$\begin{matrix}
m_{ij} & = & {0\ \textit{or}\ 1} & {\forall i \in F,j \in N} \\
\end{matrix}$$ $$\begin{matrix}
m_{ij} & \leq & n_{i} & {\forall i \in F,j \in N} \\
\end{matrix}$$ $$\begin{matrix}
n_{i} & = & {0\ \textit{or}\ 1} & {\forall i \in F} \\
\end{matrix}$$ $$\begin{matrix}
{\sum\limits_{i \in F}n_{i}} & \leq & \omega & \\
\end{matrix}$$ $$\begin{matrix}
{\mspace{7mu}\sum\limits_{i \in F}m_{ij}} & \leq & R_{j} & {\forall j \in N.} \\
\end{matrix}$$

The objective function is to minimize the total transmission cost. For instance, in [Figure 4](#f4-sensors-09-04766){ref-type="fig"}, there are two data aggregation trees for two events and each event is referred to as one multicast group. So at a sensor node *n~7~*, it needs to send two data (one from multicast group 1 and the other from multicast group 2) back to the sink node. Then on link *l* between a node *n~7~* and a node *n~8~, C~l~* = 2. However, on link *l* between a node *n~5~* and a node *n~7~, C~l~* = 1, because the data are aggregated for the same multicast group at a node *n~5~*. The unit power transmission cost on link (*a~l~*) here is *d^α^*, where *d* is the Euclidean distance of link *l* and *α* is the signal attenuation constant (usually between 2 to 4). By this definition, the total cost of the reverse multicast tree from the data source nodes back to the sink node is identical to the total cost of the multicast tree from the sink node to the data source nodes. Hence, the total transmission cost for *multicast tree* (e.g., [Figure 4(b)](#f4-sensors-09-04766){ref-type="fig"}) is identical to the *data aggregation tree* (e.g., [Figure 4(a)](#f4-sensors-09-04766){ref-type="fig"}) except the transmission is in opposite direction. By this observation, in the following constraints, I constructs a *minimum cost multicast tree* for each multicast group from the sink node to all its data source nodes and in the meantime to satisfy the co-channel interference, channel and radio resource constraints.

Note that in considering the total power consumption, energy consumption in the idle mode is significant such that the sleep/awake mechanism for sensor nodes plays an important role to minimize the total power consumption. In this paper, I only addresses the transmission cost instead of total power consumption for the CRDAR problem. Therefore, the sleep/awake mechanism is outside the scope of this paper.

Constraints [(1)](#FD2){ref-type="disp-formula"}, [(2)](#FD3){ref-type="disp-formula"} and [(4)](#FD5){ref-type="disp-formula"} enforce that the aggregate flows on link *l* must be larger than or equal to the number of data aggregation tree adopts link *l*. In [Figure 4(b)](#f4-sensors-09-04766){ref-type="fig"}, link *n~8~→n~7~* is included in two multicast trees, then *C~n~*~8→~*~n~*~7~ must be at least two. Since the objective function is to minimize the *C~l~*, then *C~n~*~8→~*~n~*~7~ will be equal to two at the optimal solution. Hence, it should be an equality at Constraint [(1)](#FD2){ref-type="disp-formula"}, by changing it to smaller than or equal to is a kind of relaxation. From the above argument, the equality will be hold at the optimal solution. Hence, the data aggregation property in the WSN is also implicitly enforced in these three constraints.

In Constraint [(3)](#FD4){ref-type="disp-formula"}, it enforce that if any multicast group *g* adopts a path to reach its data source node *d*, then this path must be included by the multicast tree of multicast group *g*. Constraint [(5)](#FD6){ref-type="disp-formula"} enforces that the number of links on the data aggregation tree of multicast group *g* must be at least *h~g~* and \|*D~g~*\|. Hence, *h~g~* and \|*D~g~*~1~\| are the legitimate lower bound. For example, in [Figure 4](#f4-sensors-09-04766){ref-type="fig"}, there are three data source nodes for multicast group 1, then \|*D~g~*~1~\| = 3. The minimum hop count for each data source node could be obtained by running the Bellman-ford algorithm. Then minimum hop count for *n~1~, n~2~* and *n~3~* is 4, 5 and 3 respectively. In this case, *h~g~*~1~ = 5. Then the number of selected links (i.e., $\sum\limits_{l \in L}y_{g_{1}l}$) on the multicast tree of multicast group 1 must be at least 5.

On the left hand side of Constraint [(6)](#FD7){ref-type="disp-formula"}, it calculates the number of paths that traverse over link *l* for each multicast group. This number is at most \|*D~g~*\|. If there is a cycle on the union of the routing paths to every data source node and link *l* is on the cycle, then Constraint [(6)](#FD7){ref-type="disp-formula"} will not be satisfied because there will be unlimited number of paths traversing over link *l*. Hence, Constraint [(6)](#FD7){ref-type="disp-formula"} is to enforce that there will be no cycle on the union of the routing paths to every data source node. Constraints [(7)](#FD8){ref-type="disp-formula"} and [(8)](#FD9){ref-type="disp-formula"} enforce that the sink node selects exactly one routing path to every data source node. In addition, the objection function is to minimize the total transmission cost, so more than one incoming link traversing over a sensor node will incur larger cost. This guarantees that every sensor node has at most one incoming link. Hence, Constraints [(6)](#FD7){ref-type="disp-formula"}, [(7)](#FD8){ref-type="disp-formula"} and [(8)](#FD9){ref-type="disp-formula"} in conjunction with the objective function enforce the union of the routing path to every data source node of the multicast group shall be a tree. For example, in [Figure 4](#f4-sensors-09-04766){ref-type="fig"}, the multicast tree for multicast group 1 is the union of routing paths to three data source nodes (i.e. *S→n~9~→n~8~→ n~7~→n~1~, S→n~9~→n~8~→ n~7~→n~1~→n~2~, S→n~9~→n~8~→ n~7~→n~3~*).

In Constraint [(9)](#FD10){ref-type="disp-formula"}, it enforces that the number of assigned channels on a sensor node must be no less than the number of multicast groups selecting this node to transmit data. Recall that the data aggregation tree is the same as multicast tree except in opposite transmission direction. The number of multicast links terminated at this node indicates the number of multicast groups include this node on the routing path to transmit data back to the sink. For example, in [Figure 4(b)](#f4-sensors-09-04766){ref-type="fig"}, a sensor node *n~2~* is the termination node of link *n~1~→ n~2~*, so a node *n~2~* must be assigned with a channel to transmit data back to *n~1~*. Sensor node *n~7~* is the termination node of link *n~8~→ n~7~*, and link *n~8~→ n~7~* is selected by both group 1 and 2, so a node *n~7~* must be assigned with two channels to transmit data to each group respectively. In Constraint [(10)](#FD11){ref-type="disp-formula"}, it enforces that the number of assigned channels on a sensor node must be no less than the number of its children nodes. This is to insure that the sensor node is assigned with enough channels to receive data from its children nodes. For example, in [Figure 4(b)](#f4-sensors-09-04766){ref-type="fig"}, a sensor node *n~7~* is the source node of three selected links (*n~7~→ n~5~, n~7~→ n~1~, n~7~→ n~3~*). Because of the hidden node interference, these three nodes (*n~1~, n~3~* and *n~5~*) will be assigned with different channel to transmit data back to a node *n~7~*. So a node *n~7~* must also be assigned with three channels to receive. In summary, *Constraint* [(9)](#FD10){ref-type="disp-formula"} *enforces the channel assignment for transmitting and Constraint* [(10)](#FD11){ref-type="disp-formula"} *enforces the channel assignment for receiving*.

Constraint [(11)](#FD12){ref-type="disp-formula"} is the co-channel interference constraint. When *ε~jk~* = 1 (i.e., nodes *j* and *k* are within each other\'s interference range), we can not assign the same channel (say channel *i*) to nodes *j* and *k*. In this case, *m~ij~* and *m~ik~* can not be equal to 1 at the same time. Recall that interference range affects two-hop neighbors. Hence, for a sensor node *j*, every within two hops neighboring node *k* has *ε~jk~* = 1. In this case, nodes *j* and node *k* could not be assigned with the same channel. For example, in [Figure 4](#f4-sensors-09-04766){ref-type="fig"}, a node *n~4~* is a two-hop neighbor of *n~6~*, so they can not be assigned with the same channel because of *n~5~*. Hence, the *hidden node co-channel interference is also addressed in this constraint*. In Constraint [(15)](#FD16){ref-type="disp-formula"}, it enforces that the total number of used channels should not exceed ω. In Constraint [(16)](#FD17){ref-type="disp-formula"}, it enforces that the number of channels assignment on any node should not exceed the number of radios equipped on this node. Hence, *radio resource* constraint is enforced in Constraint [(16)](#FD17){ref-type="disp-formula"}.

In problem (P), there is total number of $\left( {{|G|} + 1} \right){|L|} + \left( {{|N|} + 1} \right){|F|} + \sum\limits_{g \in G}{\sum\limits_{d \in D_{g}}{|P_{gd}|}}$ decision variables. Besides extremely large number of decision variables, problem (P) contains channel, radio assignment and multicast routing problem. Since channel assignment problem is a coloring problem in the graph theory, which is proven to be a NP-hard problem, this makes problem (P) also be a NP-hard problem. I propose an optimization-based heuristic based on Lagrangean relaxation scheme to tackle this problem.

4.. Solution Approach---Lagrangean Relaxation
=============================================

Constraints [(1)](#FD2){ref-type="disp-formula"}, [(3)](#FD4){ref-type="disp-formula"}, [(6)](#FD7){ref-type="disp-formula"}, [(9)](#FD10){ref-type="disp-formula"}, [(10)](#FD11){ref-type="disp-formula"}, [(11)](#FD12){ref-type="disp-formula"} and [(13)](#FD14){ref-type="disp-formula"} in (P) are relaxed to get the following Lagrangean relaxation problem, where ( $u_{l}^{1} \sim u_{ij}^{7}$) represents the Lagrangean multiplier. Basically, the more constraints are relaxed, the looser duality gap between the solutions to the dual problem and the primal problem. Loose duality gap might indicate that the solution to the primal problem might be too far from the optimal solution. On the other hand, if too little constraints are relaxed, we might not be able to solve the Lagrangean dual problem optimally. Then the solution to the dual problem is not the true lower bound of the primal problem. As I will show in the following paragraph that by relaxing these seven constraints in (P) guarantee that the dual problem is optimally solved and in the meantime to obtain a tighter duality gap.

Problem (LR)
------------

$$\begin{array}{l}
{Z_{LR} = \min\sum\limits_{l \in L}{a_{l}C_{l}} + \sum\limits_{l \in L}{u_{l}^{1}\left( {\sum\limits_{g \in G}{y_{gl} - C_{l}}} \right)} + \sum\limits_{g \in G}{\sum\limits_{d \in D_{g}}{\sum\limits_{l \in L}u_{\textit{gdl}}^{2}}\left( {\sum\limits_{p \in P_{gd}}{x_{\textit{gpd}}\delta_{pl} - y_{gl}}} \right)}} \\
{+ \sum\limits_{g \in G}{\sum\limits_{l \in L}{u_{gl}^{3}\left( {\sum\limits_{d \in D_{g}}{\sum\limits_{p \in P_{gd}}{x_{\textit{gpd}}\delta_{pl} - {|D_{g}|}y_{gl}}}} \right)}} + \sum\limits_{j \in N}{u_{j}^{4}\left( {\sum\limits_{g \in G}\sum\limits_{l \in L}y_{gl}\rho_{lj} - \sum\limits_{i \in F}m_{ij}} \right)} + \sum\limits_{j \in N}{u_{j}^{5}\left( {\sum\limits_{g \in G}\sum\limits_{l \in L}y_{gl}\sigma_{lj} - \sum\limits_{i \in F}m_{ij}} \right)} +} \\
{\sum\limits_{i \in F}{\sum\limits_{j \in N}{\sum\limits_{k \in N}{u_{\textit{ijk}}^{6}\left( {\left( {m_{ij} + m_{ik}} \right)ɛ_{jk} - \mspace{7mu} 1} \right)}}} + \sum\limits_{i \in F}{\sum\limits_{j \in N}{u_{ij}^{7}\left( {m_{ij} - \mspace{7mu} n_{i}} \right)}}} \\
\end{array}$$subject to Constraints [(2)](#FD3){ref-type="disp-formula"}, [(4)](#FD5){ref-type="disp-formula"}, [(5)](#FD6){ref-type="disp-formula"}, [(7)](#FD8){ref-type="disp-formula"}, [(8)](#FD9){ref-type="disp-formula"}, [(12)](#FD13){ref-type="disp-formula"}, [(14)](#FD15){ref-type="disp-formula"}, [(15)](#FD16){ref-type="disp-formula"} and [(16)](#FD17){ref-type="disp-formula"}. (LR) is decomposed into the following five independent subproblems.

Subproblem 1: for *C~l~*

min

∑

l

∈

L

(

a

l

−

u

l

1

)

C

l

subject to [(2)](#FD3){ref-type="disp-formula"}.

Subproblem 2: for *y~gl~*.

min

∑

l

∈

L

∑

g

∈

G

u

l

1

y

g

l

−

∑

g

∈

G

∑

d

∈

D

g

∑

l

∈

L

u

gdl

2

y

g

l

−

∑

g

∈

G

∑

l

∈

L

u

g

l

3

\|

D

g

\|

y

g

l

\+

∑

g

∈

G

∑

l

∈

L

∑

j

∈

N

u

j

4

y

g

l

ρ

l

j

\+

∑

g

∈

G

∑

l

∈

L

∑

j

∈

N

u

j

5

y

g

l

σ

l

j

subject to [(4)](#FD5){ref-type="disp-formula"} and [(5)](#FD6){ref-type="disp-formula"}.

Subproblem 3: for *x~gpd~*.

min

∑

g

∈

G

∑

d

∈

D

g

∑

l

∈

L

∑

p

∈

P

g

d

(

u

gdl

2

\+

u

g

l

3

)

x

gpd

δ

p

l

subject to [(7)](#FD8){ref-type="disp-formula"} and [(8)](#FD9){ref-type="disp-formula"}.

Subproblem 4: for *m~ij~*.

min

−

∑

j

∈

N

∑

i

∈

F

(

u

j

4

\+

u

j

5

)

m

i

j

\+

∑

i

∈

F

∑

j

∈

N

∑

k

∈

N

u

ijk

6

(

m

i

j

\+

m

i

k

)

ɛ

j

k

\+

∑

i

∈

F

∑

j

∈

N

u

i

j

7

m

i

j

subject to [(12)](#FD13){ref-type="disp-formula"} and [(16)](#FD17){ref-type="disp-formula"}.

Subproblem 5: for *n~i~*.

min

−

∑

i

∈

F

∑

j

∈

N

u

i

j

7

n

i

subject to [(14)](#FD15){ref-type="disp-formula"} and [(15)](#FD16){ref-type="disp-formula"}.

Subproblem 1 is to determine decision variable *C~l~*. It can be further decomposed into \|*L*\| independent problems. For each link *l* ∈ *L*, when the coefficient of *C~l~* (i.e. $a_{l} - u_{l}^{1}$) is positive, let *C~l~* = 0. When the coefficient of *C~l~* (i.e. $a_{l} - u_{l}^{1}$) is negative, let *C~l~* = \|*G*\|. The computational complexity for this algorithm is *O*(1) for each link.

Sub-problem 2 is to determine decision variable *y~gl~*. It can be further decomposed into \|*G*\| independent problems. For each multicast group *g* ∈ *G*, $$\min\sum\limits_{l \in L}{u_{l}^{1}y_{gl}} - \sum\limits_{l \in L}{\left( {u_{gl}^{3}|D_{g}| + \sum\limits_{d \in D_{g}}u_{\textit{gdl}}^{2}} \right)y_{gl}} + \sum\limits_{l \in L}{\sum\limits_{j \in N}{\left( {u_{j}^{4}\rho_{lj} + u_{j}^{5}\sigma_{lj}} \right)y_{gl}}}$$subject to: $$y_{gl} = 0\ \textit{or}\ 1\ \forall l \in L\ \text{and}\ \sum\limits_{l \in L}{y_{gl} \geq \max\left\{ {h_{g},{|D_{g}|}} \right\}}$$

The algorithm to optimally solve [(SUB2.1)](#FD24){ref-type="disp-formula"} is shown as follows.

**Step1.** For every link *l* where its termination node is sensor node *j*, the coefficient for *y~gl~* on this link *l* is $u_{l}^{1} - u_{gl}^{3}{|D_{g}|} - \sum\limits_{d \in D_{g}}{u_{\textit{gdl}}^{2} + u_{j}^{4}}$. For every link *l* where its source node is the sensor node *j*, the coefficient for *y~gl~* on this link *l* is $u_{l}^{1} - u_{gl}^{3}{|D_{g}|} - \sum\limits_{d \in D_{g}}{u_{\textit{gdl}}^{2} + u_{j}^{5}}$.Then calculate the number of links whose coefficient is negative.

**Step2.** For each multicast group *g∈ G*, if the number of negative coefficient links is greater than ore equal to max{*h~g~*, \|*D~g~*\|}, then for these negative coefficient links, assign the corresponding *y~gl~* = 1 and let other *y~gi~* = 0.

**Step3.** If the number of negative coefficient links (assume the number is *θ*) is smaller than max{*h~g~*, \|*D~g~*\|}, assign the corresponding *y~gl~* = 1 for these negative coefficient links. Then sort those links that have positive coefficient in ascending order. Assign {max{*h~g~*, \|*D~g~*\|}-*θ*} number of smallest positive coefficient and let *y~gl~* = 1. Finally, let the other *y~gl~* = 0.

The computational complexity of above algorithm is *O*(\|*L*(\|*D~g~*\|+log\|*L*\|)) for each multicast group.

Subproblem 3 is to determine decision variable *x~gpd~*. It can be further decomposed into $\sum\limits_{g \in G}{|D_{g}|}$ independent shortest path problems with non-negative arc weights $\left( {u_{\textit{gdl}}^{2} + u_{gl}^{3}} \right)$. They can be effectively solved by the Dijkstra\'s algorithm. The computational complexity of the Dijkstra\'s algorithm is *O*(\|*N*\|^2^) for each data source node of the multicast group.

Sub-problem 4 is to determine decision variable *m~ij~*. It could be further decomposed into \|*N*\| independent subproblems. For each node *j* ∈ *N*, $$\min - \sum\limits_{i \in F}{\left( {u_{j}^{4} + u_{j}^{5}} \right)m_{ij}} + \sum\limits_{i \in F}{\sum\limits_{k \in N}{\left( {u_{\textit{ijk}}^{6} + u_{\textit{ikj}}^{6}} \right)ɛ_{jk}m_{ij}}} + \sum\limits_{i \in F}{u_{ij}^{7}m_{ij}}$$subject to: $$\begin{matrix}
{m_{ij} = \ 0\ \textit{or}\ 1} & {\forall i \in F} \\
\end{matrix}$$ $$\mspace{7mu}\sum\limits_{i \in F}{m_{ij} \leq R_{j}}.$$

In the objective function of [(SUB4.1)](#FD26){ref-type="disp-formula"}, the coefficient for *m~ij~* is $u_{ij}^{7} - u_{j}^{4} - u_{j}^{5} + \sum\limits_{k \in N}{\left( {u_{\textit{ijk}}^{6} + u_{\textit{ikj}}^{6}} \right)ɛ_{jk}}$. Because of Constraint [(17)](#FD28){ref-type="disp-formula"}, at most *R~j~* number of channels could be selected for a node *j*. If the number of negative coefficient is smaller than *R~j~*, then assign *m~ij~* = 1 for those channels that have negative coefficient. If the number of negative coefficient is greater than or equal to *R~j~*, then assign *m~ij~* = 1 for those *R~j~* channels that have smallest negative coefficient. Then assign *m~ij~* = 0 for the rest of the channels. The computational complexity is *O*(\|*F*\|log\|*F*) for each node *j* ∈ *N*.

Sub-problem 5 is to determine decision variable *n~i~*. For each channel *i* ∈ *F*, since the Lagrangean multiplier $u_{ij}^{6}$ is positive, so the coefficient of *n~i~* (i.e. $- \sum\limits_{j \in N}u_{ij}^{6}$ is negative.Constraint [(14)](#FD15){ref-type="disp-formula"} enforce that we can at most select *ω* number of *ni* such that *ni* = 1. First, we initialize every *ni* = 0. Then by sorting these coefficient for each niin ascending order, we select *ω* number of *ni* whose correspond coefficient are the smallestand let these *ni* = 1. In this way, we could have minimum objective value in [(SUB5)](#FD23){ref-type="disp-formula"}. The computational complexity is O(\|F\|log\|F).

Applying the above algorithms, we can solve the Lagrangean dual problem (LR) optimally. According to weak duality theorem, that is, the objective value of LR is a legitimate lower bound to the original problem (P). One can calculate the tightest lower bound and solve the dual problem by using the subgradient method \[[@b20-sensors-09-04766]\]. Note that the solutions to the dual problem may not be feasible to the primal problem due to several constraints are relaxed. In the sequel, I propose the heuristic for getting the primal feasible solution.

5.. Obtaining Primal Feasible Solutions
---------------------------------------

The basic idea of getting primal feasible solution (LGR-Primal) is first to identify the energy efficient data aggregation and then adjust the routing path to meet the channel/radio resource constraint. This is a kind of iterative algorithm which is particularly useful under stringent resource constraint (i.e., limited channels and radios). In order to facilitate this idea, the LGR-Primal algorithm is first to identify efficient data aggregation tree by using the GIT algorithm. Then perform the channel and radio assignment algorithm. If the channel and radio constraint is satisfied, then report the data aggregation tree. Otherwise, identify another data aggregation routing path such that the channel and radio constraint could be satisfied, this process is repeated until feasible data aggregation tree is identified.

In [Figure 5](#f5-sensors-09-04766){ref-type="fig"}, the data aggregation tree is first determined by the GIT algorithm, and then performs channel/radio assignment for every sensor node on the data aggregation tree. The channel/radio assignment order has significant impact on the solution quality. According to \[[@b19-sensors-09-04766]\], the data source node with shorter hop count on the data aggregation tree to the sink is more likely to aggregate data than the data source node with longer hop count. Then by first assigning the channel to the data source node with shorter hop count, the data source node with longer hop count could reuse the channel more efficiently without violating the co-channel interference constraint. Leverageon this observation, at Step 3 of [Figure 5](#f5-sensors-09-04766){ref-type="fig"}, the data source node with shorter hop count to the sink has higher priority for channel and radio assignment than the data source node with longer hop count.

At Step 5, it specifies that if we could not assign feasible channel orradio to any sensor node along the routing path of the data source node, then we identify another routing path which bypasses the sensor nodes that violate the channel or radio constraint for this data source node. By assigning the very large arc weight (Z) to the links incident to these sensor nodes, the data source node could bypass these sensor nodes by running GIT algorithm again. If the total arc weight for the data source node exceeds Z, then we could conclude that there is no feasible channel/radio constrained routing path for this data source node. Note that, by assigning the very large arc weight (Z) to the links incident to the sensor nodes that violate the channel/radio constraint, the maximum number of traversed routing paths for any data source node is limited to be \|*N*\|-2, where \|*N*\|-2 represent the number of sensor nodes in the network besides the sink node and the data source node. In other words, at Step 7, the times of negative decision to go back to Step 3 is bounded to be \|*N*\|-2. Hence, we do not have an infinite looping problem.

At step 1 of [Figure 5](#f5-sensors-09-04766){ref-type="fig"}, the link arc weight for multicast group *g* on each link *l* is setting to be: $$Arc_{gl} = \frac{\sum\limits_{d \in D_{g}}u_{\textit{gdl}}^{2}}{|D_{g}|} + u_{gl}^{3} + a_{l} + \sum\limits_{j \in N}{u_{j}^{4}\rho_{lj}} + \sum\limits_{j \in N}{u_{j}^{5}\sigma_{lj}} + \sum\limits_{i \in F}{\sum\limits_{j \in N}{\sum\limits_{k \in N}{u_{\textit{ijk}}^{6}ɛ_{jk}\rho_{lj}}}}.$$

The first two terms are from the subproblem 3 where the physical meaning for these two multipliers is the tree constraint violation cost for multicast group *g*. Note that I do a summation of $u_{\textit{gdl}}^{2}$ with all the data source nodes of multicast group *g*. By this summation, we could ensure the link arc weight is the same for every data source node *d*. As a consequence, the union of the routing paths for every data source node becomes a tree. The third term is the power transmission cost. The forth term is cost of violating the transmitting and receiving channel assignment.

The fifth term is the cost of violating the co-channel interference for the termination node of link *l*. If *j*″ is the termination node of link *l*, then $\sum\limits_{i \in F}{\sum\limits_{j \in N}{\sum\limits_{k \in N}{u_{\textit{ijk}}^{5}ɛ_{jk}\rho_{lj}}}} = \sum\limits_{i \in F}{\sum\limits_{k \in N}{u_{ij''k}^{5}ɛ_{j''k}}}$. $\sum\limits_{k \in N}{u_{ij''k}^{5}ɛ_{j''k}}$ calculates the channel violation cost of the sensor nodes that are within sensor node *j*″ interference range (i.e., *ε~j~*~″~*~k~* = 1) that use the same channel *i*. By summation over all the available channels, $\sum\limits_{i \in F}\sum\limits_{k \in N}{u_{ij''k}^{5}ɛ_{j''k}}$ is the cost of violating the co-channel interference for the termination node of link *l*. In other words, if the termination node of link *l* violates the co-channel interference constraint, the $\sum\limits_{i \in F}{\sum\limits_{j \in N}{\sum\limits_{k \in N}{u_{\textit{ijk}}^{5}ɛ_{jk}\rho_{lj}}}}$ cost will be high enough such that this link *l* will be unlikely to be selected again in the next iteration of the Lagrangean solution process. To summarize, by this link arc weight setting, I try to identify the multicast tree not only from minimizing transmission power point of view but also considering the channel assignment and co-channel interference.

An illustrative example is given in [Figure 6](#f6-sensors-09-04766){ref-type="fig"}. In [Figure 6](#f6-sensors-09-04766){ref-type="fig"}, each sensor node is assumed to be equipped with two radios. The transmission cost on each link is assumed to be 1. In [Figure 6(a)](#f6-sensors-09-04766){ref-type="fig"}, it shows the final data aggregation tree and the channel assignment when *ω* = 3. If we have only two available non-overlapping channels, then data aggregation tree in [Figure 6(a)](#f6-sensors-09-04766){ref-type="fig"} is not a feasible solution. According to Step 5 in [Figure 5](#f5-sensors-09-04766){ref-type="fig"}, all the five incident links to a node *G* will be assigned with arc weight *Z* such that the new routing path will skip a node *G*. Similarly, the next routing path traverse via a node *F* or a node *H* will also be infeasible due to channel constraint. This is because for the node *F* or node *H*, there are two incident data source nodes such that there is no feasible channel for the node *F* or node *H* under two available channels. So all the incident links to the nodes *F* and *H* will be assigned with arc weight *Z* such that the next routing path will skip the node *F* or node *H*. Finally, we could have a feasible data aggregation tree that traverse a node *I* as indicated in [Figure 6(b)](#f6-sensors-09-04766){ref-type="fig"}. Note that if a node *I* is taken away from [Figure 6](#f6-sensors-09-04766){ref-type="fig"}, then we will not have a feasible solution since the total arc weight on the data aggregation tree will exceed *Z* as shown in Step 7 in [Figure 5](#f5-sensors-09-04766){ref-type="fig"}. In this case, after traversing three routing paths (i.e., traversing via *G, F* or *H*), we can conclude that there is no feasible solution when a node *I* is taken away from [Figure 6](#f6-sensors-09-04766){ref-type="fig"}.

The computational complexity for the GIT algorithm is *O*(\|*N*\|^2^) for each data source node. The channel assignment (i.e., step 3 of [Figure 5](#f5-sensors-09-04766){ref-type="fig"}) for any sensor node on the data aggregation tree needs to identify the channel assignment for the other sensor nodes that are within its interference range. Hence, the computational complexity is *O*(\|*F*‖*N*\|) for each data source node. Note that, for any data source node, the maximum number of iterations (Step 7 to Step 3 in [Figure 5](#f5-sensors-09-04766){ref-type="fig"}) to identify the channel/radio constrained routing paths is limited to be \|*N*\|-2, where \|*N*\|-2 represent the number of sensor nodes in the network besides the sink node and data source node. In other words, at Step 7, the times of negative decision to go back to Step 3 is bounded to be \|*N*\|-2. The computational complexity is *O*(\|*F*‖*N*\|^2^) for each data source node.

In the following, I show the complete algorithm (denoted as LGR) to solve Problem (P). The computational complexity of the above LGR algorithm is $O\left( {{|F|}\log{|F|}} \right. + \left. {\sum\limits_{g \in G}{{|D_{g}|}{|F|}{|N|}^{2}}} \right)$ for each iteration.

**Algorithm 1:** LGR Algorithm.**Begin** ***Input***: Network topology, data source nodes ***Output***: Data aggregation tree ***Initialize*** Lagrangean multiplier vectors *u^i^*(0) = 0, ∀*i* = 1,....,6.  $\text{UB} = \left| G \right| \times \sum\limits_{l \in L}a_{l}$ and LB = a very large negative number (e.g., −∞) //upper and lower bounds, respectively *quiescence_age* = 0, and *step_size* = 2. **For***iteration* = 1 to *Max_Iteration_Number*, perform the following:  ***Solve*** subproblem 1, subproblem 2, subproblem 3, subproblem 4, subproblem 5.  ***Compute****Z~LR~* in (LR).  **If***Z~LR~* (*u*) \> *LB*   *LB* = *Z~LR~*(*u*) and *quiescence_age* = 0.  **Else***quiescence_age* = *quiescence_age* + 1.  **If***quiescence_age* = *Quiescence_Threshold*   *step_size* = *step_size/2* and *quiescence_age* = 0.  **Run***LGR-Primal* algorithm ([Figure 5](#f5-sensors-09-04766){ref-type="fig"}).  **Compute** the new upper bound *ub*.  **If***ub* \< UB then UB = *ub*.  **Update** the *step_size*.  **Update** the Lagrangean multiplier vectors. **End ForEnd**

6.. Computational Experiments
=============================

The sensor nodes are randomly placed in a 1 × 1 area. Sensor nodes are uniformly distributed on the deployment area. If there are 100 sensor nodes, the deployment area will be partitioned into 100 grids with the same size and each sensor node is placed in the center of the grid. The most top left node is selected as the sink node such that we could have a data aggregation tree with larger depth. The transmission cost is equal to the square of the Euclidean distance of the link (i.e., signal attenuation constant *α* = 2). Two different types of data source nodes are simulated. The first one is event-driven where neighboring sensor nodes beside the event will become the data source nodes. The second one is random-source where data source nodes are determined in random. Hence, the data source nodes in event-driven are clustered but the data source nodes in random-source are randomly placed in the deployment area.

For LGR, *Max_Iteration_Number* and *Quiesceince_Threshold* are set to 1,000 and 30, respectively. The *step_size_coefficient* is initialized to be 2 and will be halved when the objective function value of the dual problem does not improve for iterations up to *Quiesceince_Threshold*. The experimental results are within minutes of computation time. All of the experiments were running in a PC with INTEL™ P4 1.8 GHz CPU. In order to evaluate the solution quality of LGR algorithm, I compare LGR with the other four algorithms proposed in \[[@b19-sensors-09-04766]\] under different varieties of parameters.

In [Figure 7](#f7-sensors-09-04766){ref-type="fig"}, it shows the results under increasing number of multicast groups with respect to loose channel and radio constraints. There are two important observations. First observation is that the LGR algorithm is superior to the other four algorithms with respect to total transmission cost. Second observation is that in random source model, the solution quality of LGR is constantly superior to ICADAR in random source model for both light and heavy traffic demands. In event-driven model, the LGR outperforms ICADAR especially in heavy traffic demands. Recall that in event-driven model, the data source nodes are clustered so that it will consume more radios and channels as compared to random-source model. In event-driven model, the channel and radio constraint will be more stringent at heavy traffic demands (e.g., 9 multicast groups). This indicates that to incorporate penalty cost for violating channel assignment and co-channel interference constraint on the arc weight, the selected data aggregation trees are resilient to more stringent channel and radio constraints than the other four algorithms.

In [Figure 8(a)](#f8-sensors-09-04766){ref-type="fig"}, it shows the transmission cost with respect to number of available channels under loose number of radios. It is expected that the total transmission cost will be increased at small available channels due to more stringent channel constraint. It is interesting to observe that, for SPT, GIT and CAGIT algorithms, the total transmission cost remains the same when *ω* is decreasing. It is because that they belong to an one shot algorithm, which will not alter its routing decision with respect to different *ω*. On the other hand, ICADAR and LGR algorithms could choose its routing decision not to aggregate under stringent channel constraint. Such kind of behavior is also observed in [Figure 8(b)](#f8-sensors-09-04766){ref-type="fig"}. In addition, it is interesting to observe that stringent radio constraint incurs even significant increasing in transmission cost as compared to stringent channel constraint. It is because the maximum number of predecessor (i.e., incoming links) for each sensor node is limited by the number of radios on the sensor node. Then in stringent radio constraint, it results in longer data aggregation tree which makes it difficult to perform data aggregation. LGR algorithm is superior to the other four heuristics in both [Figure 8(a) and Figure 8(b)](#f8-sensors-09-04766){ref-type="fig"}, and it is significant in stringent channel and radio constraint.

In [Figure 9](#f9-sensors-09-04766){ref-type="fig"}, it shows the performance comparison with respect to the channel and radio in random-source. As compared to [Figure 8](#f8-sensors-09-04766){ref-type="fig"}, the solution quality of LGR over the other four heuristics is more significant. In [Figure 9(a)](#f9-sensors-09-04766){ref-type="fig"}, besides LGR could get much lower transmission cost data aggregation tree, LGR could locate feasible data aggregation tree under stringent channel constraint (4 channels). We also observe the same performance improvement of LGR in [Figure 9(b)](#f9-sensors-09-04766){ref-type="fig"}. As compared to ICADAR could only locate feasible data aggregation tree with at least 4 radios, LGR could locate the feasible solution even with 2 radios. By carefully examine the difference between [Figure 8](#f8-sensors-09-04766){ref-type="fig"} and [Figure 9](#f9-sensors-09-04766){ref-type="fig"}, we could conclude that LGR outperforms the other heuristics under stringent channel and radio constraint, especially in random-source model.

Institutively, in the dense WSN (i.e., large network size), the number of feasible data aggregation trees will also be increasing. In [Figure 10](#f10-sensors-09-04766){ref-type="fig"}, we could observe that the total communication cost is decreasing with respect to increasing network size. Recall that transmission cost is defined to be the square of the Euclidean distance of the link. From the objective function point of view, a concatenation of multiple links with shorter distance is preferable than a single link with longer distance. However, co-channel interference will be more significant such that it is not easy to identify feasible solutions.

When network size is above a certain threshold, we could not get feasible solutions due to the co-channel interference constraint will not be satisfied. LGR and ICADAR algorithms could identify feasible solution even when the number of sensor nodes is 196. In addition, LGR could locate lowest cost aggregation tree. This reveals that with capturing the penalty cost of co-channel interference to construct the multicast tree, LGR algorithm is superior to the other four heuristics under variety of network size. From the comparison between event-driven and random-source model, it indicates that it is not easy to identify another routing path for a randomly distributed data source node under stringent channel constraint. As compared to *ω* = 8 in [Figure 10(a)](#f10-sensors-09-04766){ref-type="fig"}, we have *ω* = 10 in [Figure 10(b)](#f10-sensors-09-04766){ref-type="fig"}. In other words, we need more channels to have feasible solutions for sparse and dense sensor network in random-source model.

In [Figure 11](#f11-sensors-09-04766){ref-type="fig"}, it investigates the total transmission cost under different communication radius. It could be expected that with increasing the communication radius, it increases the probability of co-channel interference. Hence, it will be more difficult to identify the feasible channel assignment on the data aggregation tree. It might need to identify another routing path not to violate channel constraint (i.e., longer routing path that is out of the interference range of the other paths) under larger communication radius. We could observe that LGR algorithm outperforms the other heuristic algorithms in event-driven and random-source. As compared to ICADAR algorithm will rapidly increase the total transmission cost, we have more mild increase total transmission cost for LGR algorithm at large communication radius. This indicates that by incorporating penalty cost for violating the co-channel interference on the arc weight of each link, LGR could identify more cost efficient data aggregation tree to meet the co-channel interference under large communication radius.

From [Figure 7](#f7-sensors-09-04766){ref-type="fig"} to [Figure 11](#f11-sensors-09-04766){ref-type="fig"}, we observe that LGR algorithm outperforms the other four heuristics. Besides more efficient transmission cost, LGR algorithm can locate feasible solutions at high network load, stringent channel/radio constraint, dense sensor network, and stringent co-channel interference. We define an *improvement ratio* = ((L-M)/M × 100%)to be the performance metric, where *M* stands for the total transmission cost from LGR and *L* stands for the transmission cost from the other four heuristics. When there are no feasible solutions for the other heuristics (e.g., in [Figure 8(a)](#f8-sensors-09-04766){ref-type="fig"} no feasible solution when the number of multicast groups is larger than 6 for SPT, GIT and CAGIT), *L* stands for the largest feasible X-axis value from LGR and *M* stands for the largest feasible X-axis value from the other three heuristics. Note that in [Figure 9(a)](#f9-sensors-09-04766){ref-type="fig"}, smaller *ω* indicate stringent channel constraint, *L* stands for the smallest feasible X-axis value from four heuristics and *M* stands for the smallest feasible X-axis value from the LGR. I summarize the computational experiments in [Table 1](#t1-sensors-09-04766){ref-type="table"}. The first number in the parenthesis is LGR improvement ratio in event-driven and the second number is in random-source.

7.. Conclusions
===============

Data aggregation that could eliminate redundant data transmission is particularly useful in the limited power WSN. However, data aggregation also incurs collisions such that it produces extra energy loss from retransmission. By assigning different channels to sensor nodes that are within each other\'s interference range, it could eliminate the problem of retransmission. This requires sophisticated data aggregation routing and the channel assignment strategies. Besides channel assignment, sensor equipped with multi-radios could transmit/receive from multiple sensor nodes simultaneously to minimize the latency. However, channel and radio are limited resources in the WSN that need to be planned carefully to minimize the total transmission cost without violating the co-channel interference constraint. This paper studies the channel and radio constrained data aggregation routing problem in the WSN. I model this CRDAR problem as a mixed integer and linear programming problem and proposed Lagrangean relaxation technique (LGR) to tackle this problem. Unlike the existing heuristics (SPT, GIT, CAGIT and ICADAR), the data aggregation tree is based on the transmission power. The proposed optimization-based heuristics could identify the data aggregation tree from the perspective of transmission power and channel/radio resources simultaneously. The proposed LGR outperforms the other four heuristics in terms of total transmission cost with respect to all kinds of traffic load, available channels/radio resources constraints, network size, and communication radius.

This work is supported (in part) by the National Science Council, Taiwan, under Grant No. NSC 94-2213-E-128-002.

![Typical wireless sensor networks.](sensors-09-04766f1){#f1-sensors-09-04766}

![Data aggregation in data aggregation routing and address centric routing.](sensors-09-04766f2){#f2-sensors-09-04766}

![Channel, radio and rata aggregation routing.](sensors-09-04766f3){#f3-sensors-09-04766}

![Data aggregation trees and the corresponding multicast trees in the WSN.](sensors-09-04766f4){#f4-sensors-09-04766}

![LGR-Primal Algorithm.](sensors-09-04766f5){#f5-sensors-09-04766}

![Illustrative example for LGR-Primal algorithm.](sensors-09-04766f6){#f6-sensors-09-04766}

![Performance comparison with respect to traffic loads.](sensors-09-04766f7){#f7-sensors-09-04766}

![Performance comparison with respect to the channel and radio in event-driven.](sensors-09-04766f8){#f8-sensors-09-04766}

![Performance comparison with respect to the channel and radio in random-source.](sensors-09-04766f9){#f9-sensors-09-04766}

![Performance comparison with respect to the network size.](sensors-09-04766f10){#f10-sensors-09-04766}

![Performance comparison with respect to communication radius.](sensors-09-04766f11){#f11-sensors-09-04766}

###### 

Performance comparison between LGR and the other four heuristics.

  **Heuristic**   **Network load (No. of groups)**                                **Channel Constraint (*ω*)**   **Radio Constraint**   **Network Size**   **Communication Radius**
  --------------- --------------------------------------------------------------- ------------------------------ ---------------------- ------------------ --------------------------
  SPT             (200%, 200%)[\*](#tfn1-sensors-09-04766){ref-type="table-fn"}   (175%, 150%)                   (400%, 350%)           (300%, 142%)       (180%, 175%)
  GIT             (200%, 125%)                                                    (175%, 100%)                   (400%, 250%)           (16%, 96%)         (180%, 83%)
  CAGIT           (50%, 125%)                                                     (125%, 100%)                   (300%, 250%)           (16%, 142%)        (100%, 175%)
  ICADCR          (31%, 13%)                                                      (17%, 25%)                     (50%, 100%)            (7%, 7%)           (61.4%, 92%)

(Event-driven, Random-source)
