Abstract

Link scheduling is important for reliable data communication in wireless sensor networks. Previous works mainly focus on how to find the minimum scheduling length but ignore the impact of energy consumption. In this paper, we integrate them together and solve them by multiobjective genetic algorithms. As a contribution, by jointly modeling the route selection and interference-free link scheduling problem, we give a systematical analysis on the relationship between link scheduling and energy consumption. Considering the specific many-to-one communication nature of WSNs, we propose a novel link scheduling scheme based on NSGA-II (Non-dominated Sorting Genetic Algorithm II). Our approach aims to search the optimal routing tree which satisfies the minimum scheduling length and energy consumption for wireless sensor networks. To achieve this goal, the solution representation based on the routing tree, the genetic operations including tree based recombination and mutation, and the fitness evaluation based on heuristic link scheduling algorithm are well designed. Extensive simulations demonstrate that our algorithm can quickly converge to the Pareto optimal solution between the two performance metrics.

1. Introduction

A wireless sensor network usually consists of a large number of tiny sensor nodes with sensing, data processing, and communication components. In general, it is formed by these sensor nodes in a self-organized manner [1]. Recently, wireless sensor network is playing an increasingly important role in many application fields, such as medicine, outer space exploration, volcano surveillance, intelligence applications, intrusion detection, and border surveillance [2, 3].

MAC access is one of the key issues in designing wireless sensor networks [4]. Many performance metrics, such as network lifetime, the accuracy of information perception, the delay of transmission, and location accuracy, are all closely related to the MAC technology [5]. Generally speaking, Carrier Sense Multiple Access with Collision Avoidance (CSMA/CA) and Time Division Multiple Access (TDMA) are two widely used MAC access technologies for wireless networks [6]. As to the former one, due to its competitive channel access mode, the access fairness cannot be supported. In addition, some strategies applied in the technology, such as idle channel listening and communication conflict avoidance, consume additional energy, which cannot satisfy the demands of large-scale applications. In contrast, in TDMA based MAC access technology, by allocating time slot for each wireless terminal, we can eliminate collisions, guarantee link bandwidth with scheduled access, and support a more reliable data transmission for WSNs. In addition, sensor nodes in TDMA protocols can operate in a low duty cycle if their allocated time slots is not come, thus to save energy and extend network lifetime [7]. For example, in a traffic monitoring application, sensor nodes with TDMA technology can achieve a lifetime of 1,200 days compared with ten days using CSMA/CA technology [8].

How to efficiently allocate time slots to satisfy all routing requirements is the main task in designing TDMA schedule for WSNs. Since the number of scheduling periods is limited, some sensor nodes close to each other may be assigned to the same time slot by random slot allocation. This will cause interference and capacity reduction. Therefore, interference-free link scheduling algorithm should be designed. Besides, since transmission latency depends on the scheduling period, the longer scheduling period, the larger transmission latency. TDMA scheduling algorithm therefore should minimize the number of time slots required. In addition, due to the power-constrained batteries in each sensor node, link scheduling algorithm with energy consumption optimization should also be considered, thus to prolong network survival time.

Recently, link scheduling for wireless networks has received a great attention [912]. As wireless conflicts can be modeled as interference (conflict) graphs [9, 10], with the assumption that each node has the same packet arrival rate, some works use graph coloring based heuristic algorithms [11, 12] to find the interference-free link scheduling schemes. However, because of the relay characteristics in WSN, each sensor node has to transmit its own packet as well as to forward its children’s; thus the above-mentioned scheduling mechanism with the same slot demands cannot be directly applied to WSN applications. The time complexity in finding an interference-free link scheduling solution for wireless multihop networks is analyzed in [13], and a graph coloring solution with polynomial time complexity is proposed. In order to reduce the message load caused by acquiring the entire network topology, literatures [14, 15] propose a distributed scheduling mechanism based on local topology. However, these scheduling algorithms both are based on the assumption that there are some independent point-to-point routing sessions among the network. In [16], fast slot allocation for linear duty-cycled wireless sensor networks is researched, and centralized optimal as well as distributed scheduling algorithms are proposed. In WSNs, however, data are often transferred from some sensor nodes to one sink node; therefore, the specific many-to-one communication nature is not considered. For this reason, scheduling and routing mechanisms are designed together in some literatures. In [17], the authors used AODV routing protocol to generate multiple paths satisfying the demands of all routing sessions, and the scheduling algorithm is executed only on the best route. Similarly, the literature [18] first used the existed routing algorithm to determine the traffic demand of each node, and then the genetic algorithm and particle swarm algorithm are hybridized to find the optimal slot allocation. However, the route optimization is not considered in their approach. In literature [19], the tree based link scheduling algorithm combined with power control is proposed, which can improve the communication reliability as well as reduce data gathering latency. In literature [20], the authors have established a cross layer optimization model including physical layer, MAC layer, and the network layer problems, and a convex optimization method is proposed. In [21], link scheduling for a converge-cast routing tree is researched, and a slot allocation algorithm joint with channel assignment is proposed. However, these algorithms discussed above did not take energy consumption into account, which may easily lead to shorter network survival time than expected.

The original contributions of this paper are shown as follows: First, we formulate the joint optimization of sensor network scheduling problem including both route selection and energy consumption as a multiobjective optimization problem. Second, by coding the specific many-to-one routing tree as an individual for evolution, we propose a novel link scheduling scheme based on NSGA-II (Non-dominated Sorting Genetic Algorithm II). Third, with the given routing tree and link slot requirement, we propose a heuristic slot allocation algorithm to evaluate the fitness of each individual. Finally, we conduct extensive simulations to demonstrate the effectiveness of our proposed method. The rest of the paper is organized as follows. Section 2 presents the assumptions, network model, and design considerations. NSGA-II based link scheduling algorithm is proposed in Section 3. Section 4 gives the simulation results, and Section 5 concludes our paper.

2. Network Model and Problem Formulation

2.1. Network Model

Assume a WSN is composed of a single sink node and sensor nodes which periodically generate data with different rate. The sink node and sensor nodes are labeled as . Without loss of generality, each node in the network has a fixed communication radius . The entire network can be represented as a directed topology graph , where is the set of nodes, is the directed edge set, and represents the distance between nodes and . Due to the broadcast transmission nature of the wireless radio, a pair of nodes t within interference range may interfere with each other’s communication, even if they cannot directly communicate. To schedule two links at the same time slot, we must ensure that the schedule will avoid the interference. Two different types of interference have been imported in the literature, namely, primary interference and secondary interference [22], as shown in Figure 1.

Primary interference happens when a node transmits and receives packets at the same time, as shown in Figures 1(a), 1(b), and 1(c). The transmitter-transmitter (t-t) interference is caused by two parallel transmissions that garble each other at the same receiver, while a single transmitter cannot separate packets intended for two different receivers, which will result in the receiver-receiver (r-r) conflict; the transmitter-receiver (t-r) conflict occurs because the nodes cannot transmit and receive at the same time. Secondary interference, such as transmitter-receiver-transmitter (t-r-t) interference model, occurs when a node receives two or more separate transmissions, but only one transmission is intended for this node, as shown in Figure 1(d). Here, we should note that another secondary interference model, the receiver-transmitter-receiver (r-t-r) interference model, can cause unnecessary delay of transmission in RTS/CTS handshake in 802.11 protocols. However, in TDMA based MAC protocols, by assigning different time slot for each link, the r-t-r conflict does not exist.

We employ a matrix to represent link schedule for all the links in , where is the total number of slots and is the total number of links in . For each element in matrix , we have

Let denote the sets of links which will cause interference with . In order to achieve conflict-free scheduling, these mutual interference links should be assigned to different time slots, and we have

Define as the routing sessions, where and represent the source sensor node and slot demand of session , respectively. Define as the traffic flow traveling from to (and from to ) for session on slot , and we have

When , , thus we get

In order to achieve conflict-free scheduling, we have

Let denote the end-to-end routing session , to sink node, where represent the source sensor node and its slot demand, respectively. Define as the flow travelling from node to node (and from node to node ) for session , where . And the routing constraints can be defined as follows:where (6) states that the amount of incoming flow in all slots is equal to the amount of outgoing flow for each node, except the source and sink node; (7) represents that the outgoing flow in all slots from the source is equal to its traffic demand; (8) states that the incoming flow in all slots to the sink node is equal to its traffic demand; and (9) states that the sum of the flows over all sessions traversing a link cannot exceed the total allocated slots on this link.

On the basis of the scheduling period , the variable and the length of routing path of session , can be calculated as

Assume that the energy consumption is only dominated by communication costs, as opposed to sensing and processing costs. A sensor consumes units of energy when sending data in one slot, while it depletes units of energy when receiving data in one slot. If we ignore the energy consumed in the sink node, therefore, for each routing session , given its length of routing path , its energy consumption can be calculated as

Figure 2 shows a simple example of network energy consumption when node A transmits one unit of sensing data to sink node. According to Figure 2, we can get the length of the route path as 3. Based on the energy consumption model defined in (11), the route has to send the data 3 times and receive the data twice; we can get the total energy consumption of this route as .

2.2. Problem Formulation

Now we are ready to define the joint optimization problem: given the topology graph and the number of routing sessions , our goal is to find an interference-free link scheduling scheme to satisfy all routing requirements, and the scheduling length and the total energy consumption are minimized. Formally, this problem can be expressed as the following multiobjective problem: where are input parameters. Note that and are optimization variables to determine network slot allocation and route selection. By convention, the optimization problem is in the form of bicriteria-objective integer programming (MOIP) problem, which is NP-hard [13] in general and cannot be solved by CPLEX. In the next section, we will develop a nested optimization framework based on NSGA-II to solve this problem.

3. Multiobjective Optimization Based on NSGA-II

In this section, we first briefly review the fundamentals of multiobjective optimization. Then, we give the description of our approach based on NSGA-II. The mathematical description of multiobjective optimization can be given aswhere is a solution to the MOP and the number of objective functions . is the feasible set, which is subjected to the equality and inequality constraints denoted as and and explicit variable bounds . In a multiobjective minimization problem, a solution dominates another solution () if and only if

For such a multiobjective optimization problem, a solution is called a Pareto optimal solution if and only if there is no that dominates . A well-known technique for solving MOPs is the weighting method, which converts the original MOP into a single optimization problem for forming a linear combination of the objectiveswhere , is the weight for the th objective . Usually, and . However, the weighting method in solving MOP suffers from two main disadvantages [23]. First of all, it cannot find Pareto optimal solutions in MOPs with a nonconvex Pareto optimal front, which may reduce the number of design alternatives. As shown in Figure 3, the weighting method can only find the Pareto optimal solutions of point A and point D; however, other three solutions B, C, and E cannot be found. Second, it needs to choose appropriate weights for each optimization function in priori; the decision on preferences may not be clear to the user until the solution is generated.

Recently, multiobjective genetic algorithms (MOGAs) are recognized to be better qualified to tackle multiobjective optimization problems. Compared with weighting method, MOGA can capture multiple Pareto optimal solutions in a single run and exploit similarities of solutions by genetic operation. In addition, MOGA is less susceptible to the shape of continuity of the Pareto optimal front. Therefore, in our paper, we apply the most popular studied MOGA, Non-dominated Sorting Genetic Algorithm II (NSGA-II) [24], to find the Pareto optimal solution.

MOGA algorithms cannot deal with the variables of the optimization problem directly. They work with chromosome-like codes representing the solutions. Thus, the first issue is how to represent solutions of the problem, that is, how to use a data structure that is appropriate for the problem [25]. From the description of the optimization problem described in (12), we could notice that the difficulty of the optimization problem comes from the determination of the routing tree. Specifically, if the routing tree can be obtained by some techniques, the energy consumption can also be obtained. Therefore, in our paper, we use the routing tree as the problem representation. In this representation, the path of each routing session is coded as a string of positive integers. Since there are routing paths and the many-to-one communication nature, these routing paths are further combined to a reverse multicast tree and are represented as an integer array, in which row lists node IDs routing from to sink node. Figure 4 illustrates an example of 3 routing paths and their chromosome representation, where the sink node is denoted as node 0. In order to explore the genetic diversity, the routing path for any routing session is randomly generated. For each source node , we first randomly select a node from , the neighborhood of . Then we randomly select a node from . This process is repeated until the sink node is reached. Thus, we get a random path . Since no loop is allowed on the reverse multicast tree, the nodes that are already included in the tree should be excluded, thereby avoiding reentry of the same node.

Generally, MOGA begins with an initial population, which is composed of randomly generated channel assignment schemes. This initial population will execute selection, crossover, and mutation operators to generate new individuals in a search space. For each channel assignment scheme in the population, namely, an individual, a fitness value is applied to reflect the goodness degree for solving the problem. During each cycle of genetic evolution, chromosomes with better fitness values will have a higher chance of surviving in the subsequent generations, emulating the survival-of-the-fittest phenomenon in nature. Therefore, the first important aspect in designing MOGA is how to calculate the individual fitness. In our algorithm, the fitness is defined as the minimum scheduling period and total energy consumption. When the routing tree is represented in a chromosome, we can calculate its total length of all routing paths. Therefore, the total energy consumption of a chromosome can be directly calculated. Since finding the minimum scheduling period with the given chromosome representation is NP-hard [14], a heuristic based link scheduling algorithm for fitness evaluation is proposed, as shown in Algorithm 1.

Input: Routing graph , and the slot demands of the th link ()
Output: The scheduling period T and slot allocation
() Construct the conflict graph (,   ) from
() while   is not empty do
()  find the vertex with the smallest degree in ;
()  remove this vertex from and all its incident edges;
()  Let denote the ()th removed vertex.
() end while
() Let ;
() for each link
()  let assign = false and ;
() for slot
() if   do not conflict its neighbors in in slot t
() assign with slot t;
() if ( ++ ==
()  assign  = true;
()  break;
() end for
() if  assign  == false
();
() assign slot ;
() end for

From Algorithm 1, we can see that our heuristic link scheduling algorithm mainly includes two parts, the link scheduling order selection and time slot allocation. In the link scheduling order selection part, one link with the least interference degree will be served first, as shown in line (2)~line (6). In the slot allocation part, we first allocate as many as possible time slots in scheduling period to satisfy its slot demands for each being served link, as shown in (8) to (16); if we cannot allocate enough slots to meet its slot demands, the scheduling period of the network will be updated, and more will be allocated to this link, which can be shown in lines (17) to (20).

Crossover and mutation are two other fundamental operations involved in the evolution process of GA. The purpose of crossover operation is to generate offspring chromosomes (new individuals) by performing certain genetic recombination on parent chromosomes. These offspring chromosomes share genetic similarities with their parents but from a different generation. As to the crossover operation, considering that the chromosomes are expressed by tree data structure, we adopt single-point crossover to exchange partial chromosome, as shown in Figure 5. For two chromosomes and for crossover, we first find at least one common node (node 11) between these two chromosomes of the same source node (node 7). And then one common node, denoted as , is randomly selected. For example, in , there is a path consisting of two parts: () and (). In , there is also a path consisting of two parts: () and (). The crossover operation then exchanges the paths () and () with the crossover probability . The population will undergo the mutation operation after the crossover operation is carried out. With the mutation probability , each time we select one chromosome in which one source node is randomly selected. On the path () one node is selected as the mutation point, denoted as . The mutation will replace the path () by a new random path. Since the new generated chromosomes after crossover and mutation may be infeasible, an additional repair execution to eliminate the loops will be executed, which can help to speed up the convergence.

Unlike traditional GA, NSGA-II is built on nondomination in each front. Each individual in the population is assigned two fitness evaluations (scheduling length and energy consumption). In addition, if two solutions have the same fitness values, they will further be measured by the crowding distance, which can be calculated by the distance between its neighboring solutions along each of the objectives (see [24] for details). Algorithm 2 describes the detailed procedures of NSGA-II link scheduling algorithm. From Algorithm 2, we can see that after the generation of initial population (shown in step 1), the fast nondominated sorting operation is executed first to generate nondominated fronts of the initial generation , as shown in step 2. Then, the initial population is combined with new generated population , and controlled elitism operation is executed, which can update by selecting the solutions starting from the first front. If the number of solutions in the remaining allowable front is larger than the available places in the population, then the solutions with larger crowding distance are selected first. These procedures can be seen in step 3. Finally, similar to link GA, crossover and mutation operation is also applied to generate new population , as shown in step 4. After several iterations, the entire population only containing the solutions near or at the Pareto optimal front will be selected.

Input: Routing graph , the slot demands of the th link (), the given number of generation , the
population size , the recombination probability , the mutation probability , and the reduction rate of the controlled
elitism
Output: Non-dominated solutions in
() Step  1. (initialization)
()  Set , ;
()  Generate an initial population using coding and initialization strategy;
()  Calculate using Algorithm 1 and for each individual;
() Step  2. (Non-dominated sorting)
()  ;
()  Do  fast non-dominated sorting algorithm, resulting non-dominated fronts ()
() Step  3. (controlled elitism)
()  Set , ;
() While    do
() Calculate according to the controlled elitism scheme;
() Sort in descending order using crowded comparison;
() Put the first members of in , that is, ;
() ;
() Step  4. (Reproduction)
() Generate an offspring (with size of ) from according crossover and mutation operation;
() Calculate and for each individual in ;
() Step  5. (Termination)
() ;
() if   or the required and are met then terminate;
() else go to Step

4. Performance Evaluation

In this section, we present the simulation results of our algorithm. All simulations are executed in Matlab 7.0. Two metrics, including the total energy consumption and scheduling length, are imported to evaluate the performance of our proposed algorithm. For all the simulations, we set the energy consumption for receiving and transmitting one unit data and as 1 and 2, respectively. The size of the population is set as 100; the crossover probability and mutation probability are set as 0.9 and 0.1. The controlled elitism is set as 0.5. In our simulations, two types of node distributions are adopted: random distribution and hotspot distribution, as shown in Figure 6. In random distribution, all nodes are randomly scattered in the target area, while in hotspot distribution, all nodes are scattered in a Gaussian random distribution.

First, 50 nodes are randomly deployed in a target area, as shown in Figure 9. The sink node (with ID 37) is located in the center of the area. The transmission range and interference range of each sensor node are equal to 20. Assume each sensor node has a unit slot demand routed to sink node. Figure 7 shows the initial solution distribution of the randomly generated population. Figure 8 shows Pareto optimal solutions obtained after running the algorithm for a number of generations. From Figures 7 and 8, we can see that many more nondominated solutions are found after 30 generations. And after 600 generations, we can find the Pareto optimal solution with the minimum scheduling length and energy consumption. Figure 9 shows the topology graph of the routing tree in the last generation, where the number beside each link is the link number. The final slot allocation of each link is shown in Table 1. From the description of routing tree and the slot allocation, we can get the conclusion that any mutual interference links in the routing tree are assigned different time slots, and the total number of slots assigned to any link also satisfies its routing requirement, which demonstrate the effectiveness of our algorithm.

Further, we test the performance of our algorithm under various node densities and compare the performance of the proposed algorithms with existing routing trees combined with link scheduling algorithm proposed in [14]. The comparison is executed with different node densities, where the number of sensor nodes is increased from 10 to 100. For each deployment, we have generated 10 instances and applied our algorithm on each instance with 20 independent tests. The simulation results of random hotspot distribution are shown in Figures 10 and 11, which record the average solution of these 20 tests. In this simulation, the routing tree generation and link scheduling algorithms are performed jointly in our algorithm. Since the routing optimization is not considered in [14], first the routing tree is generated by Dijkstra and MST algorithms separately, and then the scheduling algorithm is applied with the given routing tree. As shown from Figures 10 and 11, it is clear to see that more traffic loads lead to an increase in scheduling period and energy consumption as expected. And we also can see that the Dijkstra routing algorithm can achieve the minimized energy consumption, which is mainly because when the Dijkstra routing algorithm is applied, the minimized length of the routing tree can be achieved. However, the largest node degree in the routing tree of Dijkstra routing algorithm results in the longest scheduling period. Compared with the above two algorithms, our algorithm can achieve the shortest scheduling period, and the energy consumption is almost the same as that of Dijkstra routing algorithm, regardless of the node distribution, which further testifies the effectiveness of our algorithm.

5. Conclusion and Future Work

In this paper, we have investigated the challenging problem of joint optimization on link scheduling and energy consumption for wireless sensor networks. By considering route selection and link scheduling together, we have carried out the analysis of energy consumption and link scheduling for wireless sensor network and formulated it as a bicriteria-objective integer problem. Considering the specific many-to-one nature of WSNs, we have proposed an efficient optimization scheme based on NSGA-II to solve this problem. In order to ensure the individual validity and fast convergence, the routing tree based representation scheme as well as the corresponding crossover and mutation rules is also designed to satisfy the constraints in the problem. Through extensive simulations, we have demonstrated that our optimization framework based on NSGA-II is quite promising for solving complex multiobjective design models for WSNs.

Conflict of Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.

Acknowledgments

This work is supported by the National Natural Science Foundation of China under Grants no. 61402096, no. 61173153, and no. 60903159 and the Fundamental Research Funds for the Central Universities under Grant nos. N110318001, N130504007, and N140407001.