About this Journal Submit a Manuscript Table of Contents
International Journal of Distributed Sensor Networks
Volume 2012 (2012), Article ID 346163, 13 pages
Research Article

Distributed Algorithm for Real-Time Energy Optimal Routing Based on Dual Decomposition of Linear Programming

Department of Control Engineering, Faculty of Electrical Engineering, Czech Technical University, Technická 2, 16627 Prague, Czech Republic

Received 14 June 2011; Revised 12 September 2011; Accepted 16 September 2011

Academic Editor: Yuhang Yang

Copyright © 2012 Jiří Trdlička and Zdeněk Hanzálek. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.


This work proposes a novel in-network distributed algorithm for real-time energy optimal routing in ad hoc and sensor networks for systems with linear cost functions and constant communication delays. The routing problem is described as a minimum-cost multicommodity network flow problem by linear programming and modified by network replication to a real-time aware form. Based on the convex programming theory we use dual decomposition to derive the distributed algorithm. Thanks to the exact mathematical derivation, the algorithm computes the energy optimal real-time routing. It uses only peer-to-peer communication between neighboring nodes and does not need any central node or knowledge about the whole network structure. Each node knows only the produced and collected data flow and the costs of its outgoing communication links. According to our knowledge, this work is the first, which solves the real-time routing problem with linear cost functions and constant communication delays, using the dual decomposition.

1. Introduction

Our work is focused on a distributed algorithm for data flow routing through multihop ad hoc and sensor networks, where all data has to be delivered to the destinations in time. An example of a target application is a network periodically sensing some consumption variables (like gas consumption, water consumption, etc.) in large objects. Each sensing device produces a data flow of a particular volume, which is supposed to be routed through the network. The objective is to optimize the energy consumption for the data transfer (minimal possible consumption in the whole network), while constrained by the communication capacities (maximum data volume which can be transferred by a device per time unit) and by maximum communication delay.

We assume a time division multiple access (TDMA) protocol (e.g., GTS allocation in IEEE 802.15.4 [1]) which ensures collision-free communication and causes constant communication delay. This approach is used quite often in industry and time-critical systems. Due to the TDMA mechanism assumed, the worst-case delay from the source node to the sink node is the sum of the particular delays for each of the hops, assumed to be an integer (derived from the parameters like TDMA period, worst-case execution time of the communication stack…). In a particular setting, we may assume a unit hop delay (e.g., the same TDMA period). In this paper we assume the unit hop delay (the deadlines are expressed as the number of communication hops between devices) which is very transparent for the reader.

There are many communication protocols designed to find the exact energy optimal data routing in wireless sensor networks. However, to comply with the communication capacities, they usually need a central computational point with the knowledge of the actual network structure and parameters (e.g., [2]). The existence of such a computational point decreases the robustness of the system against the network damage. Furthermore, the routing of information about the actual network structure and parameters has to be solved in the case of the centralized algorithm.

In this paper, we propose a distributed algorithm, which computes the energy optimal real-time data routing without the need of any central computational or data point. The algorithm supposes that each node knows only the cost (energy consumption per transmitted data unit) of its outgoing communication links and the data which is supposed to send and receive. The whole algorithm is mathematically derived using the convex programming theory. The main purpose of this paper is to present the principle of new distributed routing algorithms rather than to present an application-ready algorithm. We believe that the presented approach can lead to new, efficient, and highly adaptive routing algorithms for ad hoc and sensor networks. Moreover, the approach used in this work can be adapted for general distribution of convex optimization problems into the network.

2. Related Works

Traditionally, the routing problems for data networks are formulated as linear or convex multicommodity network flow routing problems, for example [24]. One of the advantages of this method is that several cost functions and constraints can be put together (e.g., different types of capacity and energy consumption constraints and real-time constraints). Using the same underlying model, we can easily combine the solution of different works focused on partial problems.

Several papers have been performed in the area of real-time routing in multihop wireless sensor networks. In [5], a well-known soft real-time communication protocol SPEED is presented. Several works use the relation between the message propagation speed and transmitting energy to balance the trade-off between the energy consumption and communication delay [68]. In [9] the authors deal with real-time communications over cluster-tree sensor networks, where they evaluate the end-to-end communication delay. However, none of these algorithms can ensure real-time and energy optimal data routing especially in high-loaded networks.

There are several works, which focus on the decomposition of network problems described by strictly convex optimization. A systematic presentation and classification of the decomposition techniques for network utility maximization (NUM) is presented in [1012].

In [1315], the authors use dual decomposition to decompose cross-layer optimization problems into the optimization of separated layers. The presented approaches lead to structural decomposition (e.g., to the routing layer, the capacity layer…) which is not suitable for the derivation of the in-network distributed algorithm. In [16], a general distributed algorithm for a strictly convex optimization problem with a common parameter for all nodes is presented. The decomposition of an optimal routing problem is presented, for example, in [17, 18], where the authors focus on the node-path formulation and based on dual decomposition derive an algorithm suitable for networks with a small number of communication paths.

In [19, 20], the authors use the duality theorem and node-link problem formulation to analytically derive the maximum network lifetime for linear networks. In [21], the authors use the node-link problem formulation and derive the distributed routing algorithm with an extension for the queuing delay. However, all these algorithms are limited to strictly convex cost functions and fail in the case of linear cost functions.

This paper also continues our previous work. It joins and extends the results from [22, 23]. In [22], we have derived a distributed in-network routing algorithm based on dual decomposition. The algorithm consists of one iteration loop and is even able to solve problems with a linear objective function. In [23], we have presented a centralized algorithm for energy optimal real-time routing, which is represented as a min-cost multicommodity network flow routing problem with side constraints.

2.1. Contribution and Outline

The main contributions of this paper are(1)introduction of a new mathematically derived, distributed algorithm for energy optimal real-time routing based on network replication and dual decomposition;(2)introduction of a new approach for an in-network distribution of real-time routing problems with constant communication delay and linear objective function;(3)application of a distribution procedure for routing problems presented in [22] on a real-time routing problem [23].

The paper is organized as follows. Section 3 briefly describes the multicommodity network flow model. In Section 4 we define the real-time routing model. In Section 5, the distributed algorithm and its derivation are presented. An example and computational complexity experiments are given in Section 6. Section 7 concludes the paper and mentions the future work. The proof of the algorithm convergence is presented in the Appendix.

3. Multicommodity Network Flow Model

In this section, we briefly summarize the basic terminology and specify the multicommodity network flow model. For more details see, for example, [3, 4].

The network is represented by an oriented graph, where for each device able to send or receive data, a node of the graph exists. The nodes are labeled as 𝑛=1,,𝑁. Directed communication links are represented as ordered pairs (𝑛1,𝑛2) of distinct nodes. The links are labeled as 𝑙=1,,𝐿. We define the set of the links 𝑙 leaving the node 𝑛 as 𝒪(𝑛) and the set of the links 𝑙 incoming to node 𝑛 as (𝑛). The network structure is described with two incidence matrices in node-link form. The matrix of the incoming links is denoted as 𝐴+, and the matrix of the outgoing links is denoted as 𝐴:𝐴+𝑛,𝑙=𝐴1,𝑙(𝑛)(link𝑙entersnode𝑛),0,otherwise,𝑛,𝑙=1,𝑙𝒪(𝑛)(link𝑙leavesnode𝑛),0,otherwise.(1)

By 𝑚 we denote an index of the communication demand and by we denote a set of all communication demands. The communication demands can be seen as the flow of various commodities incoming/leaving the network in some nodes. The flow of each communication demand has to satisfy the flow conservation law at each node (for a given commodity, the sum of the flow incoming to the node is equal to the sum of the flow leaving the node) 𝐴𝑥(𝑚)+𝑠(𝑚)out=𝐴+𝑥(𝑚)+𝑠(𝑚)in𝑚,(2) where the column vector 𝑠(𝑚)in0 denotes the flow coming into the network, the 𝑠(𝑚)out0 denotes the flow leaving the network, and the 𝑥(𝑚)0 denotes the flow routed through the network for demand 𝑚. Notice that a multisource multisink problem can be described in this way (e.g., the data gathering problem).

In this work, the node capacity constraints are used. They are the most common capacity constraint used for wireless networks. The total volume of the flow leaving one node has to satisfy the capacity constraint 𝐷𝑚𝑥(𝑚)𝜇, where 0𝜇 is the column vector of the node capacities and matrix 𝐷 describes the constraint structure (i.e., 𝐷=𝐴).

In summary, the network flow model imposes the following constraints on the network flow variables 𝑥(𝑚): 𝐴𝑥(𝑚)+𝑠(𝑚)out=𝐴+𝑥(𝑚)+𝑠(𝑚)in𝐷𝑚,𝑚𝑥(𝑚)𝜇,𝑥(𝑚)0𝑚.(3)

The task of the total energy minimization is to minimize the cost function 𝑓cost=𝑐𝑇𝑚𝑥(𝑚) by setting the flow vector 𝑥(𝑚) for all 𝑚 subject to the system of inequalities (3). Vector 𝑐>0 is a column vector of the energy consumption per data unit transmitted. The components of vector 𝑐 correspond with the energy consumption for the individual links in the network. Their values are usually determined directly from the transmission energy level in the nodes, which is needed for a reliable connection. This is done by the MAC layer of the communication protocol.

Another target application of this approach is a network, where the energy supplies of the nodes can be recharged with different maintenance costs (e.g., depending on the node reachability). In such an application, the recharge price is included in vector 𝑐, and we minimize the network long-time maintenance cost.

4. Real-Time Multicommodity Network Flow Model

In this section, we extend the multicommodity flow model by real-time constraints, which guarantee a controllable routing delay through the network. Each communication demand has its own deadline, and the communication delay of each demand has to be shorter than its deadline. We model the hop delay as an integer value associated with each communication link. For transparent model derivation, we assume the same communication delay over the entire network (i.e., each communication hop causes a delay equal to one). However, the model can be extended to a more general form, where the communication delays are integers.

4.1. Mathematical Model of Real-Time Routing

Let vector 𝑥(𝑚,𝑤)𝑅𝐿+ denote the flow of the communication demand 𝑚 with an integer communication delay 𝑤 in the network. Then the flow vector 𝑥(𝑚), independent of the flow delay of demand 𝑚, is equal to the sum of the flow vectors over all acceptable delays: 𝑥(𝑚)=𝑑(𝑚)𝑤=1𝑥(𝑚,𝑤), where 𝑑(𝑚) denotes the deadline of the communication demand 𝑚. Using this equation, we can rewrite the capacity constraint from (3) into a new form: 𝐷𝑑𝑚(𝑚)𝑤=1𝑥(𝑚,𝑤)𝜇.(4)

Vector 𝑠(𝑚,𝑤)𝑅𝑁+ stands for the flow of the demand 𝑚 leaving the network with the communication delay 𝑤, and vector 𝑠(𝑚,𝑤)in𝑅𝑁+ denotes the flow of demand 𝑚 coming into the network with the initial delay 𝑤. The flow of each demand may come into the network and leave it in more nodes. If all flow fragments of one demand coming into the network in different nodes have the same initial delay, then 𝑠(𝑚,0)in=𝑠(𝑚)in, and 𝑠(𝑚,𝑤)in=0 for 𝑤>0. The flow of demand 𝑚 leaving the network prior to the deadline is 𝑠(𝑚)out=𝑑(𝑚)𝑤=0𝑠(𝑚,𝑤)𝑚.(5)

Through (4) and (5), we have converted the real-time constraint (i.e., the delay has to be shorter than the deadline) to the structural constraint. Only the flow, whose delay is shorter than the deadline, is represented. The flow, which does not meet the deadline, violates the flow conservation law, and then the network flow constraints are not satisfied; that is, this solution is not feasible.

If the flow is sent through the network, the flow delay is increased by each communication hop. The flow of demand 𝑚 coming into node 𝑛 with communication delay 𝑤 has to either leave the network in node 𝑛 with the same delay 𝑤 or reach the neighbor node with delay 𝑤+1. The flow conservation law from (2) can be rewritten in the delay awareness form as 𝐴𝑥(𝑚,𝑤+1)+𝑠(𝑚,𝑤)=𝐴+𝑥(𝑚,𝑤)+𝑠(𝑚,𝑤)in,𝑚,0𝑤𝑑(𝑚).(6)

In summary, the real-time energy optimal multicommodity flow routing problem can be written asmin𝑥,𝑠𝑐𝑇𝑑𝑚(𝑚)𝑤=0𝑥(𝑚,𝑤)subjectto:𝐴𝑥(𝑚,𝑤+1)+𝑠(𝑚,𝑤)=𝐴+𝑥(𝑚,𝑤)+𝑠(𝑚,𝑤)in,𝑚,0𝑤𝑑(𝑚),𝐷𝑑𝑚(𝑚)𝑤=1𝑥(𝑚,𝑤)𝜇,𝑑(𝑚)𝑤=0𝑠(𝑚,𝑤)=𝑠(𝑚)out𝑚,𝑥(𝑚,𝑑(𝑚)+1)=0,𝑥(𝑚,0)=0,𝑥(𝑚,𝑤)0,𝑠(𝑚,𝑤)0.(7)

Problem (7) describes the problem in a form, which can be solved in centralized way by any linear programming solver.

4.2. Intuitive Presentation of Extended Graph

In this section, we illustrate, in an intuitive way, the graph transformation, which has been discussed in Section 4.1 by mathematical equations. New variables have appeared for each communication link as well as new constraining equations for each node. These variables and constraints can be seen as virtual layers of the network where each layer represents a different communication delay 𝑤. The number of the network layers is equal to the integer deadline of the demand 𝑚 plus one (the number of allowed communication hops plus a zero layer). As consistent with the structure of (6), all communication links are redirected to the nodes in the higher layer, which means that the flow is routed not only in node space but also in delay space. Because the number of layers is limited by the deadline and the flow can leave the network only in virtual nodes of the sink nodes, all possible routings through this transformed network hold the deadlines. An easy example of the graph replication is shown in Figure 1.

Figure 1: Example for the intuitive presentation.

5. Decomposition of the Routing Problem

To decompose the routing algorithm, we use the gradient optimization method to solve its dual problem. However, the linearity of the cost function of the problem (7) would cause oscillations in the gradient algorithm and prevents us finding the optimal solution. Therefore, we use the proximal-point method (for details see [4]) to modify the problem into a strictly convex form, which allows the usage of the gradient method. Moreover, we rewrite the problem into an equality form for a more transparent presentation:min𝑥,𝑧,𝑠min𝑥,𝑧,𝑠𝑔𝑥,𝑥,𝑠,𝑠,𝑧,𝑧subjectto:𝐴𝑥(𝑚,𝑤+1)+𝑠(𝑚,𝑤)=𝐴+𝑥(𝑚,𝑤)+𝑠(𝑚,𝑤)in,𝑚,0𝑤𝑑(𝑚),𝐷𝑑𝑚(𝑚)𝑤=1𝑥(𝑚,𝑤)=𝜇𝑧,𝑑(𝑚)𝑤=0𝑠(𝑚,𝑤)=𝑠(𝑚)out𝑚,𝑥(𝑚,𝑑(𝑚)+1)=0,𝑥(𝑚,0)=0,𝑥(𝑚,𝑤)0,𝑠(𝑚,𝑤)0,(8) where the objective function g(𝑥,𝑥,𝑠,𝑠,𝑧,𝑧) is𝑔𝑥,𝑥,𝑠,𝑠,𝑧,𝑧=𝑐𝑇𝑑𝑚(𝑚)𝑤=1𝑥(𝑚,𝑤)+𝜀𝑧𝑧𝑇𝑧𝑧+𝜀𝑑𝑚(𝑚)𝑤=1𝑥(𝑚,𝑤)𝑥(𝑚,𝑤)𝑇𝑥(𝑚,𝑤)𝑥(𝑚,𝑤)+𝜀𝑑𝑚(𝑚)𝑤=0𝑠(𝑚,𝑤)𝑠(𝑚,𝑤)𝑇𝑠(𝑚,𝑤)𝑠(𝑚,𝑤).(9)

We have added slack variables 0𝑧 into problem (8) to convert the problem into the equality form. The variables 𝑥, 𝑠, and 𝑧 in (9) are the proximal-point variables, which have been added to convert the objective function from a linear form to a strictly convex one. Please notice that the set of optimal solutions for problem (8) is the same as for the problem (7). For the optimal solution of problem (8) it holds 𝑥=𝑥, 𝑠=𝑠, 𝑧=𝑧. In this way the routing problem has been separated into two nested subproblems. The internal subproblem is the minimization over the variables 𝑥, 𝑠, 𝑧, and it is strictly convex. The outer subproblem minimizes the internal one by the proximal-point variables 𝑥, 𝑠, 𝑧.

5.1. Dual Problem

To solve the internal subproblem of (8) (minimization over the variables 𝑥, 𝑧, 𝑠) we present its dual problem, which allows us to derive the distributable gradient algorithm. According to Slater’s conditions (see e.g., [24]) the optimal solutions of the dual and primal problems have the same optimal values in this case.

The Lagrangian function of the problem (8) is𝐿𝑥,𝑥,𝑠,𝑠,𝑧,𝑧,𝜃,𝜆,𝛾=𝑔𝑥,𝑥,𝑠,𝑠,𝑧,𝑧+𝑑𝑚(𝑚)𝑤=0𝜃(𝑚,𝑤)𝑇𝐴𝑥(𝑚,𝑤+1)𝐴+𝑥(𝑚,𝑤)+𝑠(𝑚,𝑤)𝑠(𝑚,𝑤)in+𝜆𝑇𝐷𝑑𝑚(𝑚)𝑤=1𝑥(𝑚,𝑤)+𝑧𝜇+𝛾(𝑚)𝑇𝑑(𝑚)𝑤=0𝑠(𝑚,𝑤)𝑠(𝑚)out,(10) where 0𝑥, 0𝑠, and 0𝑧 are primal variables and 𝜃, 𝜆 and 𝛾 are dual variables. The dual function 𝑊 is𝑊𝑥,𝑠,𝑧,𝜃,𝜆,𝛾=min0𝑥,𝑠,𝑧𝐿𝑥,𝑥,𝑠,𝑠,𝑧,𝑧,.𝜃,𝜆,𝛾(11) The minimizers of the dual function (11) are 𝑥(𝑚,𝑤)min=𝑥(𝑚,𝑤)1𝐴2𝜀𝑇𝜃(𝑚,𝑤1)𝐴+𝑇𝜃(𝑚,𝑤)+𝐷𝑇𝜆+𝑐+,𝑧min=𝑧1𝜆2𝜀+,𝑠(𝑚,𝑤)min=𝑠(𝑚,𝑤)12𝜀𝛾(𝑚)+,(12) where symbol []+ denotes a positive or zero value in each component of vector []+=max(0,..) and 𝑥(𝑚,0)=𝑥(𝑚,𝑑(𝑚)+1)=0.

The dual problem of the internal subproblem of (8) is 𝑈𝑥,𝑠,𝑧=max𝜃,𝜆,𝛾𝑊𝑥,𝑠,𝑧,.𝜃,𝜆,𝛾(13) The gradients of the dual function (11) are𝜃𝑊(𝑚,𝑤)=𝐴𝑥(𝑚,𝑤+1)min𝐴+𝑥(𝑚,𝑤)min+𝑠(𝑚,𝑤)min𝑠(𝑚,𝑤)in,𝜆𝑊(𝑚)=𝐷𝑑𝑚(𝑚)𝑤=1𝑥(𝑚,𝑤)min+𝑧min𝜇,𝛾𝑊=𝑑(𝑚)𝑤=0𝑠(𝑚,𝑤)min𝑠(𝑚)out.(14) The gradients of the dual problem (13) are𝑥𝑈(𝑚,𝑤)=2𝜀𝑥(𝑚,𝑤)min𝑥(𝑚,𝑤),𝑧𝑈=2𝜀𝑧min𝑧,𝑠𝑈(𝑚,𝑤)=2𝜀𝑠(𝑚,𝑤)min𝑠(𝑚,𝑤).(15)

5.2. Dual Gradient Algorithm

Using the dual problem (13) and the dual function (11) we rewrite the routing problem (8) into the form: min𝑥,𝑧,𝑠max𝜃,𝜆,𝛾min0𝑥,𝑠,𝑧𝐿𝑥,𝑥,𝑠,𝑠,𝑧,𝑧,.𝜃,𝜆,𝛾(16) A gradient algorithm created from problem (16) consists of 2 nested loops, and it is described as (17). The internal loop solves the dual problem (13) using the gradients (14). The outer loop minimizes problem (16) over the proximal-point variables using the gradients (15):LOOP1LOOP2Computethe𝑥min,𝑧min,𝑠(𝑚,𝑤)min𝜃accordingtoEquations(13),and(𝑚,𝑤)=𝜃(𝑚,𝑤)+𝛼𝜃𝑊(𝑚,𝑤)𝛾(𝑚)=𝛾(𝑚)+𝛼𝛾𝑊(𝑚)𝜆=𝜆+𝛼𝜆𝑊END2𝑥(𝑚,𝑤)=𝑥(𝑚,𝑤)+𝛼𝑥𝑈(𝑚,𝑤)𝑧=𝑧+𝛼𝑧𝑈𝑠(𝑚,𝑤)=𝑠(𝑚,𝑤)+𝛼𝑠𝑈(𝑚,𝑤)END1(17) The 𝛼>0 is a constant step size of the algorithm.

The important property of algorithm (17) is that it can be distributed as an in-network algorithm. Each node is responsible for the computation of the flow volume of the links leaving the node and for computation of the other corresponding variables. All the components of the variable vectors are a function of the node local variables and of the variables of the neighboring nodes that are within one hop communication distance. Only peer-to-peer communication during the algorithm is needed.

However, the distributed version of such an algorithm would have problems with the termination of the internal loop and with the synchronization of the loops between the nodes. Moreover the nested loops would cause an increase in the iterations.

To overcome these problems, we join both loops of the gradient algorithm into one loop, where we update all the variables simultaneously. Using (12), (14), and (15) we derive the iterative algorithm which is presented in Table 1, where 𝑘 denotes the iteration number.

Table 1: Distributed routing algorithm.

The correctness of such an algorithm is not seen directly from its derivation and has to be proven. The proof of the algorithm convergence is not a trivial problem, and its simplified version is presented in the Appendix. A necessary condition for the algorithm convergence assumed in the proof is 𝛼<1/2𝜀. Moreover, we have performed several simulation experiments to test the algorithm convergence in Section 6.

The initial variables 𝑥0(𝑚,𝑤), 𝑠0(𝑚,𝑤), 𝑧0(𝑚,𝑤), 𝜃0(𝑚,𝑤), 𝜆0, 𝛾0(𝑚) are set to arbitrary initial values. The closer the values are to the final solution, the faster the algorithm converges. This property can be used in the case of minor changes of the network structure during its operation or in case of a precomputed routing, for example, based on Dijkstra’s algorithm.

5.3. Variables Initialization

As we have mentioned in Section 5.2, the number of iterations depends on the initial variables 𝑥0(𝑚,𝑤), 𝑠0(𝑚,𝑤), 𝑧0(𝑚,𝑤), 𝜃0(𝑚,𝑤), 𝜆0, 𝛾0(𝑚). The closer the initial variables are to the final solution the less number of iterations are needed. In this work, we focus only on the dual variables. The proximal-point variables 𝑥0(𝑚,𝑤), 𝑠0(𝑚,𝑤), 𝑧0(𝑚,𝑤) are set to zero. The variables 𝜆0, 𝛾0(𝑚) cannot be estimated without the knowledge of the final routing. We set them to zero.

Let us suppose some initial variable 𝜃0 which satisfies a condition: 𝐴𝑇𝜃0(𝑚,𝑤1)𝐴+𝑇𝜃0(𝑚,𝑤)+𝐷𝑇𝜆0+𝑐0.(18) According to (12), such initial variables do not cause any changes of the algorithm variables on its own (i.e., no variable changes if 𝑠(𝑚)out=𝑠(𝑚)in=0).

According to the complementary slackness condition (for details see, e.g., [4]) for the optimal solution holds for two neighboring nodes: if (𝜃(𝑚,𝑤1)𝑘,𝑙+𝜃(𝑚,𝑤)𝑘,𝑙)<𝑐𝑙 then 𝑥(𝑚,𝑤)𝑘,𝑙=0, if (𝜃(𝑚,𝑤1)𝑘,𝑙+𝜃(𝑚,𝑤)𝑘,𝑙)=𝑐𝑙 then 𝑥(𝑚,𝑤)𝑘,𝑙0, and the link 𝑙 is a part of the shortest path for the demand 𝑚. (We use the index 𝑙 to denote the vector component corresponding to the link 𝑙, 𝑙+ to denote end node of the link, and 𝑙 to denote the start node of the link.) This fact leads us directly to Dijkstra’s algorithm which can be used in a distributed way. If for all sink nodes 𝑛out we set 𝜃(𝑚,𝑤)0,𝑛out=0 for all 𝑚,0𝑤𝑑(𝑚) and for the other nodes 𝑛 we set 𝜃(𝑚,𝑤)0,𝑛=𝑡𝑒𝑠𝑜𝑟𝑡𝑒𝑠𝑡𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑒𝑡𝑜𝑡𝑒𝑠𝑖𝑛𝑘𝑛𝑜𝑑𝑒, we get an initial setting, which satisfies condition (18). Moreover, this initial setting is much closer to the optimal solution than the setting 𝜃(𝑚,𝑤)0,𝑛=0 for all 𝑛,𝑚,𝑤. In Section 6.3, we present several experiments to evaluate the heuristic behavior in comparison with the zero initial setting. Please notice that due to the capacity constraints, the heuristic solution does not need to be equal to the final optimal solution. According to our experiments it rapidly decreases the number of iterations.

6. Experiments

To demonstrate the behavior and the correctness of the distributed routing algorithm, we have performed several experiments in Matlab. We have focused on a basic problem, where for each communication demand one node sends data flow to one sink node (i.e., a multicommodity mono-source, mono-sink problem). Therefore, 𝑠(𝑚)in,𝑛1=1 for the source node 𝑛1 and 𝑠(𝑚)out,𝑛2=1 for the sink node 𝑛2 of the communication demand 𝑚.

The random networks for the experiments have been constructed as follows. We consider a square field of size [size × size], where the size is changing during the experiments. The field is divided into subsquares of size [1×1]. One node is randomly placed into each subsquare, and the communication distance is set to 1.7 (i.e., node 𝑛1 can communicate with node 𝑛2, if and only if their Euclidean distance is less than 1.7). Please notice that our network is close to the “unit-disk network" [2]. The communication costs 𝑐 per transmitted data flow unit have been set as the square power of the distance between the nodes. The link capacities have been set to two 𝜇𝑛=2, and the maximum number of communication hops to 𝑑(𝑚)=6 for all 𝑚. The constants of the algorithm have been set as 𝛼=0.03 and 𝜀=0.3. The initial values 𝑥0(𝑚,𝑤), 𝑠0(𝑚,𝑤), 𝜃0(𝑚,𝑤), 𝜆0, 𝛾0(𝑚) have been set to 0 and 𝑧0,𝑛=𝜇𝑛 for all experiments except for those in Sections 6.2 and 6.4. Only feasible problems are used.

During the experiments we evaluate 𝑘 as a number of iterations needed to achieve less than 1% deviation of the cost function from the optimal value, less than 1% capacity violation, and less than 1% flow conservation law violation during the last 500 iterations. The 500 iterations are included in the statistics. (the optimal value was computed separately by a centralized algorithm for evaluation purposes only).

Unfortunately, as the presented approach of dual decomposition of the routing problems in node-link form is a new technique, there are only few works in this area at this moment. The most similar work can be found in [21]. However, it is focused on slightly different problems. It uses different energy consumption and communication delay models, and it is limited only on problems with strictly convex objective functions. Our work is focused on the problems with linear objective functions and presents different qualities than [21]. Due to the differences in the used models and algorithms derivations the experimental comparison would have a disputable contribution and would be strongly dependent on the chosen problems.

6.1. Example

To present the resulting optimal data flow routing in the network we have performed an experiment based on the network described above. The field size has been set to 9 (i.e., 81 nodes in the network), and the number of communication demands has been set to 8. The link capacities have been set to 𝜇𝑛=4 for this problem. The initial variables 𝜃0 have been set according to Section 5.3.

The optimal data flow routing in the network is shown in Figure 2. The 3D routing model in the node-delay space is presented in Figure 3 where the vertical axis represents the communication delay. No communication demand routing has more than 6 communication hops.

Figure 2: Optimal data flow routing (multicommodity, mono-source, mono-sink problem).
Figure 3: Optimal data flow routing in node-delay space.

The algorithm behavior can be seen in [25] on video. The flow routing in the network and in the node-delay space and the progress of the flow conservation law are presented.

6.2. Algorithm Convergence

We have performed a set of experiments with random initial variables on random networks, and we have evaluated the algorithm convergence. The field size has been set to 7. There are 8 communication demands in the network. The initial values have been set randomly from intervals: 𝑥0(𝑚,𝑤),𝑠0(𝑚,𝑤),𝑧0(𝑚,𝑤)0,2 for proximal-point variables, and 𝜃0(𝑚,𝑤),𝜆0,𝛾0(𝑚)0,20 for dual variables. The intervals have been chosen as the double value of typical optimal values.

The algorithm has been run 2000 times on random networks. The results are presented in Figure 4. There, the number of iterations is placed on the horizontal axis, and the number of experiments, which has been finished before the number of iterations, is on the vertical axis.

Figure 4: Algorithm convergence with random initial variables.

This experiment provides an important practical verification of the theoretical proof of the algorithm convergence. 95% of the experiments have been finished before 14300 iterations.

6.3. Number of Iterations

To demonstrate the statistical behavior of the algorithm, we have gradually increased the number of nodes from 16 to 100 (i.e., the field size from 4 to 10) for 8 communication demands. The computation has been repeated, on random networks 1000 times for each number of nodes.

The results have been evaluated as a maximum, average, and minimum number of iterations needed to achieve the optimal value, and it is presented in Figure 5. There, the experiment progress is presented for the basic algorithm without the initial heuristic in black (the initial variables have been set to zero) and for the algorithm with the initial heuristic according to Section 5.3 in gray.

Figure 5: The number of iterations in relation to the number of nodes. In black, for zero initial variables. In gray, for initialization according to Section 5.3.

Similar experiments have been performed for the iterations dependence on the number of communication demands. We have gradually increased the number of communication demands from 1 to 16 in networks with 49 nodes. The computation has been repeated, on random networks 1000 times for each number of communication demands. The results are presented in Figure 6 for both algorithms with and without the initial heuristic.

Figure 6: The number of iterations in relation to the number of communication demands. In black, for zero initial variables. In gray, for initialization according to Section 5.3.

In Table 2, we present the percentages of infeasible problems for each number of communication demands. The values say how much percent of the generated problems have not been feasible due to the capacity and real-time constraints. From Table 2, it follows that the network has been close to saturation and that the constraints affect the final routings.

Table 2: Percentage of infeasible problems in the experiment for the number of communication demands.

The important outcome of these experiments is the observation that the number of iterations is approximately linear. It follows that the algorithm is easily applied to networks with many nodes. We can see a significant improvement of the initial heuristic in the Figures.

6.4. Network Change

The advantage of the one-loop algorithm presented in this work is that it can automatically adjust the data routing in case of network changes. In order to evaluate the algorithm behavior in this case, we have simulated a dying node in the network as follow.

(1) We generated a random network with communication demands and found the optimal solution. (2) In the original problem from step 1, we removed one node and measured the number of iterations to find the new optimal solution. (3) We repeated step 2 for 15 different nodes with the largest data flow.

The simulation has been performed for 942 random original networks with field size set to 7 and with 8 communication demands (i.e., 942×15=14130experiments).

The results are presented in Figure 7. There, the number of iterations is placed on the horizontal axis, and the number of experiments, which has been finished before the number of iterations, is on the vertical axis.

Figure 7: Algorithm convergence for network change simulation.

95% of the experiments have been finished before 4466 iterations. Moreover, less than 15.0% of the dual variables and 2.0% of the primal variables have been changed during the experiments, which significantly decrease the amount of transmitted data.

Video presentation can be seen in [25].

7. Conclusion

We have presented a distributed algorithm for the real-time energy optimal routing in ad hoc and sensor networks for systems with linear cost functions and constant communication delays. Such networks are used very often in the industrial environment, where TDMA-derived mechanisms or mechanisms with a significant stack computation delay are used. We have described the routing problem as a multicommodity network flow optimization problem, modified it into a time aware form, and used the dual decomposition method to derive the distributed algorithm. The algorithm does not need any central computational node with knowledge about the whole network structure, and it only uses local communication between the neighboring nodes. This rapidly increases the robustness of the algorithm in the case of partial network damage. We have performed several simulations to evaluate the algorithm behavior and to test its convergence. The mathematical proof of the algorithm convergence is available in the Appendix.

The main purpose of this paper was to present the basic concept of a new in-network distributed routing algorithms for real-time data and its derivation. From the experimental section it is seen that the algorithm is not application-ready because of the high number of iterations, which leads to high number of communications. However, the main strength of the algorithm is not to find the whole optimal routing in an unknown network, but to adapt an existing routing in case of local network changes (dead/new node, loss of connection, communication costs, or capacities change, etc.) where the number of data communications could be significantly decreased. Moreover, the algorithm can easily adapt to slow network changes. The algorithm is suitable for static networks with sporadic changes or for networks with slow continuous changes, so the routing can be adjusted.

According to our preliminary experiments the number of iterations can be significantly decreased in future work. The algorithm can be extended by heuristics based on the partial knowledge about the network structure (e.g., node geographical position) and heuristics based on Newton’s method. The results of our preliminary testing indicate that Newton’s method-based heuristics can decrease the number of iterations more than 3 times.

Considering the fact that the algorithm is based on Linear programming formulation, we believe that the principle of the algorithm and the approach used to its derivation can be used to solve many different problems in the sensor networks area, like resource sharing, network localization, object tracking, and so forth.

Appendix A

Proof of the Algorithm Convergence

We prove the convergence of the algorithm presented in Table 1 of the paper for 𝛼0 and for 𝛼<1/(2𝜀) as follows. First, we rewrite the equations of the algorithm into a more transparent form, which significantly simplifies the proof presentation. Then we define a merit function 𝑃𝑘 such that 𝑃𝑘0 and 𝑃𝑘=0 for the optimal solution, and we show that 𝑃𝑘 is nonincreasing during the algorithm computation. Next, we assume the merit function 𝑃𝑘 to be nondecreasing for all 𝑘𝑘0 and show, for feasible problems, that for all 𝑘𝑘0 we have the optimal solution. We use the marking 𝑥𝑘,𝑖, 𝑥𝐿𝑘,𝑖, [𝐴𝑇(𝐴𝑥𝑘𝑏)]𝑖 to denote the 𝑖th component of the vectors. We simplify the notation of 𝐿𝑘, 𝑃𝑘, 𝑑𝑘, and so forth, instead of 𝐿𝑘(𝑥𝑘,𝑦𝑘,𝜃𝑘), 𝑃𝑘(𝑥𝑘,𝑦𝑘,𝜃𝑘), and so forth, for a more compact and transparent description. Let us remind the reader that 𝜀>0, 𝑥𝑘0, 0𝑐> and that according to Slater’s conditions [24] the optimal solutions of the dual and primal problems have the same optimal values in this case.

We rewrite the problem (8) into a more transparent form: min𝑦min𝑥𝑐𝑇𝑥+𝜀𝑥𝑦𝑇𝑥𝑦subjectto:𝐴𝑥=𝑏,𝑥0.(A.1) An example of the matrix and vectors transformation is𝑥𝑘=𝑥𝑘(1,0)𝑥(1,𝑑(1))𝑘𝑥(𝑀,𝑑(𝑀))𝑘𝑠𝑘(1,0)𝑠(1,𝑑(1))𝑘𝑠(𝑀,𝑑(𝑀))𝑘𝑧𝑘,𝑦𝑘=𝑥𝑘(1,0)𝑥(1,𝑑(1))𝑘𝑥(𝑀,𝑑(𝑀))𝑘𝑠𝑘(1,0)𝑠(1,𝑑(1))𝑘𝑠(𝑀,𝑑(𝑀))𝑘𝑧𝑘,𝑐=0000,𝜃𝑐𝑐𝑐𝑘=𝜃𝑘(1,0)𝜃(1,𝑑(1))𝑘𝜃(𝑀,𝑑(𝑀))𝑘𝛾𝑘(1)𝛾𝑘(𝑀)𝜆𝑘,𝑏=𝑠(1,0)in𝑠(1,𝑑(1))in𝑠(𝑀,𝑑(𝑀))in𝑠(1)out𝑠(𝑀)out,𝐵0,𝐵𝜇𝐴=𝐼0𝑆0𝐷0𝐼𝐵=1𝐵0000𝑀,𝐵𝑚=𝐴+𝐴000𝐴+𝐴000𝐴+𝐴,𝑆𝑆=1𝑆0000𝑀,𝑆𝑚=,,𝐼𝐼𝐼𝐷=𝐷𝐷𝐷𝐼=𝐼0000𝐼(A.2) where 𝐼 is an identity matrix. If 𝑀=|| the sizes of new vectors and matrices are𝑥𝑘,𝑦𝑘𝑁,𝑐𝑚𝑑(𝑚),𝜃+𝑀𝑁+𝑁×1𝑘,𝐿𝑏𝑚𝑑(𝑚)+𝑁𝑚𝑑(𝑚),𝐿+𝑁×1𝐴𝑚𝑑(𝑚)+𝑁𝑚𝑑(𝑚)+𝑁×𝑁𝑚𝑑(𝑚),𝐵+𝑀𝑁+𝑁𝑚𝑁𝑑(𝑚)×𝐿𝑑(𝑚),𝑁𝐵𝑚𝑑(𝑚)×𝐿𝑚𝑑(𝑚),𝑆𝑚𝑁×𝑁𝑑(𝑚),𝑆𝑁𝑀×𝑁𝑚𝑑(𝑚),𝐷𝑁×𝐿𝑚𝑑(𝑚),𝑁𝐼𝑚𝑑(𝑚)×𝑁𝑚𝑑(𝑚).(A.3) The Lagrangian function of the problem (A.1) is 𝐿𝑘=𝑐𝑇𝑥𝑘+𝜀𝑥𝑘𝑦𝑘𝑇𝑥𝑘𝑦𝑘+𝜃𝑇𝑘𝐴𝑥𝑘𝑏(A.4) and the algorithm equations from Table 1 can be expressed as 𝑥𝑘=𝑦𝑘1𝐴2𝜀𝑐+𝑇𝜃𝑘+,𝜃𝑘+1=𝜃𝑘+𝛼𝜃𝐿𝑘,𝑦𝑘+1=𝑦𝑘𝛼𝑦𝐿𝑘.(A.5) It can be easily verified, that (A.5) are identical with the equations from Table 1. We define two diagonal matrices 𝐼𝑘 and 𝐼𝑘 as𝐼𝑘,𝑖,𝑗=1,𝑖=𝑗and𝑦𝑘1𝐴2𝜀𝑐+𝑇𝜃𝑘𝑖𝐼>0,0,otherwise,𝑘,𝑖,𝑗=1,𝑖=𝑗and𝑦𝑘1𝐴2𝜀𝑐+𝑇𝜃𝑘𝑖0,0,otherwise.(A.6) Now we can write 𝑥𝑘=𝐼𝑘(𝑦𝑘𝐴(1/2𝜀)(𝑐+𝑇𝜃𝑘)). Then by differentiation of the Lagrangian function (A.4) we get 𝑦𝐿𝑘=2𝜀𝑥𝑘𝑦𝑘=𝐼𝑘𝐴𝑐+𝑇𝜃𝑘+𝐼𝑘2𝜀𝑦𝑘,(A.7)𝜃𝐿𝑘=𝐴𝑥𝑘𝑏,(A.8)2𝑦𝑦𝐿𝑘=𝐼𝑘2𝜀,2𝜃𝑦𝐿𝑘=𝐴𝐼𝑘,2𝑦𝜃𝐿𝑘=𝐼𝑘𝐴𝑇2𝜃𝜃𝐿𝑘1=2𝜀𝐴𝐼𝑘𝐴𝑇.(A.9) We define the merit function 𝑃𝑘 as 𝑃𝑘||=0.5𝑦𝐿𝑘||2||+0.5𝜃𝐿𝑘||2.(A.10) According to the Karush-Kuhn-Tucker conditions (see e.g., [24, 26]) if 𝑃𝑘=0 the solution in the 𝑘th iteration of the algorithm is the optimal solution of the problem (A.1). The gradient of the merit function 𝑃𝑘 is:𝑃𝑘=2𝑦𝑦𝐿𝑘𝑦𝐿𝑘+2𝑦𝜃𝐿𝑘𝜃𝐿𝑘2𝜃𝑦𝐿𝑘𝑦𝐿𝑘+2𝜃𝜃𝐿𝑘𝜃𝐿𝑘=𝐼𝑘2𝜀𝐿𝑘𝑦𝐿𝑘+𝐼𝑘𝐴𝑇𝐴𝑥𝑘𝑏𝐴𝐼𝑘𝑦𝐿𝑘12𝜀𝐴𝐼𝑘𝐴𝑇𝐴𝑥𝑘𝑏.(A.11) We can define a column change vector as 𝑑𝑘=𝛼[𝑦𝐿𝑇𝑘,(𝐴𝑥𝑘𝑏)𝑇]𝑇. For 𝛼0 we can express one iteration step of the merit function (A.10): 𝑑𝑇𝑘𝑃𝑘=𝛼𝑦𝐿𝑇𝑘2𝜀𝐼𝑘𝑦𝐿𝑘𝑦𝐿𝑇𝑘𝐼𝑘𝐴𝑇𝐴𝑥𝑘𝑏+𝐴𝑥𝑘𝑏𝑇𝐴𝐼𝑘𝑦𝐿𝑘12𝜀𝐴𝑥𝑘𝑏𝑇𝐴𝐼𝑘𝐴𝑇𝐴𝑥𝑘𝑏=𝛼𝑦𝐿𝑇𝑘2𝜀𝐼𝑘𝑦𝐿𝑘+12𝜀𝐴𝑥𝑘𝑏𝑇𝐴𝐼𝑘𝐴𝑇𝐴𝑥𝑘𝑏0.(A.12) From (A.12), it results that 𝑑𝑇𝑘𝑃𝑘0, and then the merit function 𝑃𝑘 is nonincreasing during the algorithm. Let us assume that there is a 𝑘0, such that the merit function 𝑃𝑘 is nondecreasing for all 𝑘𝑘0 (i.e., 𝑑𝑇𝑘𝑃𝑘=0 for all 𝑘𝑘0).

From (A.12), we can write for all 𝑘𝑘0: 𝐼𝑘𝑦𝐿𝑘=𝐼0,𝑘𝐴𝑇𝐴𝑥𝑘𝑏=0.(A.13) And it follows that𝐼𝑘𝑦𝑘=0.(A.14) Let us suppose for some 𝑘𝑘0 that 𝐼𝑘𝐼𝑘+1 and for some index 𝑖, it holds:𝑖𝑦𝑘1𝐴2𝜀𝑐+𝑇𝜃𝑘𝑖>0,𝑦𝑘+11𝐴2𝜀𝑐+𝑇𝜃𝑘+1𝑖0.(A.15) Then we can write from  (A.15)𝑦𝑘+11𝐴2𝜀𝑐+𝑇𝜃𝑘+1𝑖=𝑦𝑘1𝐴2𝜀𝑐+𝑇𝜃𝑘𝐴𝛼𝑐+𝑇𝜃𝑘𝑖0.(A.16) Under the condition from (A.16) follows 𝐴𝑐+𝑇𝜃𝑘𝑖>0.(A.17) Under the condition 𝛼<1/(2𝜀) and (A.17) we can write from (A.15), (A.7), and(A.5)0<𝑦𝑘1𝐴2𝜀𝑐+𝑇𝜃𝑘𝑖<𝑦𝑘𝐴𝛼𝑐+𝑇𝜃𝑘𝑖=𝑦𝑘𝛼𝑦𝐿𝑘𝑖=𝑦𝑘+1,𝑖.(A.18) It means 𝑦𝑘+1,𝑖0 which is in contradiction with the conditions (A.14) and (A.13). It follows for all 𝑘𝑘0 that 𝐴𝑐+𝑇𝜃𝑘𝑖0.(A.19) And according to (A.7) for all 𝑘𝑘0, it holds: 𝑦𝐿𝑘0.(A.20) From (A.18), (A.14), and (A.15) follows||𝐼rank𝑘||||𝐼rank𝑘+1||.(A.21) The result of (A.21) is that there are a finite number of changes of the matrices 𝐼𝑘 and 𝐼𝑘 such as 𝐼𝑘𝐼𝑘+1 and 𝐼𝑘𝐼𝑘+1 for 𝑘𝑘0. So for some 𝑘1𝑘0, it holds 𝐼𝑘=𝐼𝑘+1 for all 𝑘𝑘1. Based on this fact we can express from (A.5) 𝑥𝑘+1 using (A.13) for all𝑘𝑘1: 𝑥𝑘+1=𝐼𝑘+1𝑦𝑘+11𝐴2𝜀𝑐+𝑇𝜃𝑘+1=𝐼𝑘𝑦𝑘1𝐴2𝜀𝑐+𝑇𝜃𝑘𝛼𝑦𝐿𝑘𝛼𝐴2𝜀𝑇𝐴𝑥𝑘𝑏=𝑥𝑘𝛼𝑦𝐿𝑘.(A.22) and from (A.13) and (A.22) follows for all 𝑘𝑘10=𝑦𝐿𝑇𝑘𝐴𝑇𝐴𝑥𝑘+1𝑏=𝑦𝐿𝑇𝑘𝐴𝑇𝐴𝑥𝑘𝑏𝐴𝛼𝑇𝐴𝑦𝐿𝑘=𝛼𝑦𝐿𝑇𝑘𝐴𝑇𝐴𝑦𝐿𝑘.(A.23) From (A.23) we get a condition, which says that for all 𝑘𝑘1 the change of variable 𝑦𝑘 is a circulation in the network: 𝐴𝑦𝐿𝑘=0.(A.24) Based on (A.24) and (A.13) we write: 0𝑦𝐿𝑇𝑘𝑦𝐿𝑘=𝑦𝐿𝑇𝑘𝐴𝑐+𝑇𝜃𝑘=𝑦𝐿𝑇𝑘𝑐0.(A.25) And the result of (A.25) for all 𝑘𝑘1 is 𝑦𝐿𝑘=0.(A.26) To express (𝐴𝑥𝑘1𝑏) we use the problem (A.1). According to the Karush-Kuhn-Tucker conditions and (A.26) we can write a dual function of this problem. Please notice that 𝑥𝑘𝑥𝐿𝑘=0 for all 𝑘𝑘1 according to (A.26) and(A.7)𝑔𝜃𝑘=min𝑥0,𝑦𝐿𝜃𝑥,𝑦,𝑘=𝑐𝑇𝑥𝑘1+𝜀𝑥𝑘1𝑦𝑘1𝑇𝑥𝑘1𝑦𝑘1+𝜃𝑇𝑘𝐴𝑥𝑘1𝑏.(A.27) Then for 𝑘+1 iteration it holds: 𝑔𝜃𝑘+1𝜃=𝑔𝑘+𝛼𝐴𝑥𝑘1𝑏𝑇𝐴𝑥𝑘1𝑏.(A.28) From (A.28) it follows that for (𝐴𝑥𝑘1𝑏)0 it holds: if 𝑘 then 𝜃𝑔(𝑘). According to the duality gap theorem (see, e.g., [26]) it holds: max𝜃𝑔(𝜃)min𝑥,𝑦𝑆𝑓(𝑥,𝑦), where 𝑓(𝑥,𝑦) represents the primal function and 𝑆 a set of feasible solutions. It follows that if (𝐴𝑥𝑘1𝑏)0 and the merit function (A.10) is nondecreasing then the original problem is not feasible. It follows for feasible problems𝐴𝑥𝑘𝑏=0𝑘𝑘1.(A.29) We have presented a merit function 𝑃𝑘 which is nonincreasing during the algorithm for some 𝛼0 and which is equal to zero 𝑃𝑘=0 for an optimal feasible solution. Next, we have shown for feasible problems that if the merit function 𝑃𝑘 is nondecreasing for all 𝑘𝑘1 then according to (A.26) and (A.29) the merit function 𝑃𝑘=0, and the solution (𝑥𝑘,𝑦𝑘,𝜃𝑘) is an optimal solution of the original problem (A.1).


This work was supported by the Ministry of Education of the Czech Republic under the Project P103/10/0850 and the Project ME 10039.


  1. A. Koubaa, M. Alves, and E. Tovar, “GTS allocation analysis in IEEE 802.15.4 for real-time wireless sensor networks,” in Proceedings of the 14th International Workshop on Parallel and Distributed Real-Time Systems, vol. 2006, Rhodes, Greece, 2006.
  2. M. G. C. Resende and P. M. Pardalos, Handbook of Optimization in Telecommunications, Springer, New York, NY, USA, 20006.
  3. D. P. Bertsekas and R. Gallager, Data Networks, Prentice Hall, New York, NY, USA, 2004.
  4. D. P. Bertsekas, Network Optimization: Continuous and Discrete Models, Athena Scientific, Belmont, Mass, USA, 1998.
  5. T. He, J. A. Stankovic, C. Lu, and T. Abdelzaher, “SPEED: a stateless protocol for real-time communication in sensor networks,” in Proceedings of the International Conference on Distributed Computing Systems (ICDCS '03), pp. 46–55, May 2003.
  6. O. Chipara, Z. He, G. Xing et al., “Real-time power-aware routing in sensor networks,” in Proceedings of the 14th IEEE International Workshop on Quality of Service (IWQoS '06), pp. 83–92, June 2006. View at Publisher · View at Google Scholar · View at Scopus
  7. G. Bravos and A. G. Kanatas, “Integrating power control with routing to satisfy energy and delay constraints in sensor networks,” European Transactions on Telecommunications, vol. 20, no. 2, pp. 233–245, 2009. View at Publisher · View at Google Scholar · View at Scopus
  8. X. Kai and Y. Zeng, “A distributed cross-layer real-time routing in wireless sensor networks,” in Proceedings of the 2nd International Conference on Signal Processing Systems (ICSPS '10), vol. 1, pp. V159–V162, Dalian, China, 2010. View at Publisher · View at Google Scholar
  9. P. Jurčík, R. Severino, A. Koubǎa, M. Alves, and E. Tovar, “Real-time communications over cluster-tree sensor networks with mobile sink behaviour,” in Proceedings of the 14th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA '08), pp. 401–412, Kaohsiung, Taiwan, 2008. View at Publisher · View at Google Scholar
  10. D. P. Palomar and M. Chiang, “A tutorial on decomposition methods for network utility maximization,” IEEE Journal on Selected Areas in Communications, vol. 24, no. 8, Article ID 1664999, pp. 1439–1451, 2006. View at Publisher · View at Google Scholar · View at Scopus
  11. D. P. Palomar and M. Chiang, “Alternative decompositions for distributed maximization of network utility: framework and applications,” in Proceedings of the 25th IEEE International Conference on Computer Communications, pp. 1–13, Barcelona, Spain, April 2006. View at Publisher · View at Google Scholar
  12. M. Chiang, S. H. Low, A. R. Calderbank, and J. C. Doyle, “Layering as optimization decomposition: a mathematical theory of network architectures,” Proceedings of the IEEE, vol. 95, no. 1, Article ID 4118456, pp. 255–312, 2007. View at Publisher · View at Google Scholar · View at Scopus
  13. B. Johansson, P. Soldati, and M. Johansson, “Mathematical decomposition techniques for distributed cross-layer optimization of data networks,” IEEE Journal on Selected Areas in Communications, vol. 24, no. 8, pp. 1535–1547, 2006. View at Publisher · View at Google Scholar · View at Scopus
  14. B. Johansson and M. Johansson, “Primal and dual approaches to distributed cross-layer optimization,” in Proceedings of the 16th IFAC World Congress, pp. 113–118, Prague, Czech Republic, 2005.
  15. H. Nama, M. Chiang, and N. Mandayam, “Utility-lifetime trade-off in self-regulating wireless sensor networks: a cross-layer design approach,” in Proceedings of the IEEE International Conference on Communications (ICC '06), vol. 8, pp. 3511–3516, June 2006. View at Publisher · View at Google Scholar · View at Scopus
  16. B. Johansson, C. M. Carretti, and M. Johansson, “On distributed optimization using peer-to-peer communications in wireless sensor networks,” in Proceedings of the 5th Annual IEEE Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and Networks (SECON '08), pp. 497–505, San Francisco, Calif, USA, June 2008. View at Publisher · View at Google Scholar
  17. J. N. Tsitsiklis and D. P. Bertsekas, “Distributed asynchronous optimal routing in data networks,” IEEE Transactions on Automatic Control, vol. 31, no. 4, pp. 325–332, 1986. View at Google Scholar · View at Scopus
  18. S. H. Low and D. E. Lapsley, “Optimization flow control—I: basic algorithm and convergence,” IEEE/ACM Transactions on Networking, vol. 7, no. 6, pp. 861–874, 1999. View at Publisher · View at Google Scholar · View at Scopus
  19. W. Hui, Y. Yuhang, M. Maode, and W. Xiaomin, “Network lifetime optimization by duality approach for multi-source and single-sink topology in wireless sensor networks,” IEEE International Conference on Communications, pp. 3201–3206, 2007. View at Publisher · View at Google Scholar
  20. H. Wang, Y. Yang, M. Ode, and D. Wu, “Network lifetime optimization by duality approach for single-source and single-sink topology in wireless sensor networks,” in Proceedings of the 4th IEEE and IFIP International Conference on Wireless and Optical Communications Networks (WOCN '07), pp. 1–7, Singapore, July 2007. View at Publisher · View at Google Scholar
  21. M. Zheng, W. Liang, H. Yu, and Y. Xiao, “Cross layer optimization for energy-constrained wireless sensor networks: joint rate control and routing,” Computer Journal, vol. 53, no. 10, pp. 1632–1642, 2010. View at Publisher · View at Google Scholar · View at Scopus
  22. J. Trdlička and Z. Hanzálek, “Distributed algorithm for energy optimal multi-commodity network flow routing in sensor networks,” in Proceedings of the International Conference on Wireless Communications and Signal Processing (WCSP '10), pp. 1–6, Suzhou ,China, October 2010. View at Publisher · View at Google Scholar
  23. J. Trdlička, Z. Hanzálek, and M. Johansson, “Optimal flow routing in multi-hop sensor networks with real-time constraints through linear programming,” in Proceedings of the IEEE Symposium on Emerging Technologies and Factory Automation (ETFA '07), pp. 924–931, September 2007. View at Publisher · View at Google Scholar
  24. S. Boyd and L. Vandenberghe, Convex Optimization, Cambridge University Press, Cambridge, UK, 2004.
  25. J. Trdlička, “Video presentation,” 2011, http://www.trdlicka.cz/research/distributed-routing.
  26. D. P. Bertsekas, Nonlinear Programming, Massachusetts Institute of Technology, Boston, Mass, USA, 1999.