Performance Analysis of Dijkstra-Based Weighted Sum Minimization Routing Algorithm for Wireless Mesh Networks

Multiobjective optimizationmethods for routing in static wireless mesh networks (WMNs), withmore than oneQoSmeasure to be optimized, are highly challenging. To optimize the performance for a given end-to-end route in a static network, the most common metrics that need to be optimized or bounded are the path capacity and the end-to-end delay. In this work, we focus on combining desirable properties of these two metrics by minimizing a weighted metrics sum via a Dijkstra-based algorithm. The approach is directed towards fast convergence rather than optimality. It is shown that the resulting algorithm provides more satisfactory results than simple Dijkstra-based pruning algorithms in terms of simultaneously achieving high capacity and small delay. The effect of changing the weighting factor on the proposed algorithm performance is investigated.


Introduction
Wireless mesh networks (WMNs) consist of mesh routers that are mainly stationary and provide wireless access to clients in a multihop environment.They find wide applications as community networks, enterprise networks, and lastmile access networks to the Internet.Being static, they have neither mobility nor power consumption issues [1].Qualityof-service (QoS) routing in WMNs has been attracting considerable research for several years.A variety of routing metrics have been proposed for WMNs providing routing algorithms with high flexibility in best path selection.In general, the routing problem can be viewed as a multiobjective optimization problem with the most common metrics that need to be optimized or bounded being the path capacity or rate and the end-to-end delay.The path rate is the number of bits per second (bps) that can be sent along the sourcedestination path.The QoS metrics are generally optimized by making meaningful trade-offs due to their interconflicting nature.
It is worthwhile to note that minimizing delay and maximizing path capacity or throughput are concerned with individual application performance, that is, to optimize the performance for a given end-to-end path in a static network.
In contrast, there are other metrics to be optimized for nonstatic WMNs such as mobile ad hoc networks, leading to network throughput maximization, energy consumption minimization, and equal distribution of traffic loads.These metrics are system-oriented objectives that focus on the performance of the network as a whole [2].In this work, we focus on static WMNs.
We deal with the routing problem using the dynamic programming (DP) approach [3][4][5].DP is a very powerful algorithmic paradigm, in which a problem is solved by identifying a collection of subproblems and tackling them one by one, smallest first, using the answer to small problems to solve larger ones [5].In this context, the routing concept is closely related to finding the shortest path in a directed graph (DG) via DP techniques.Let (, ) be the DG under consideration, where  is the set of vertices (network nodes) and  is the set of edges (network links) between the vertices.In WMNs, the edges are bidirectional and have costs assigned to them.The shortest path between any two vertices is that consisting of consecutive edges for which the overall cost is minimized.There are various applicable DP algorithms for routing when a single metric is to be minimized or optimized, such as the Dijkstra, Bellman-Ford, and Floyd-Warshall techniques [6,7].These differ in the processing time and the amount of information that needs to be collected from other nodes, making each of them convenient for a specific routing scenario.
Multiconstrained optimization methods for path selection, with more than one metric to be optimized, are highly challenging and have been proved to be NP-complete [5,8].A problem is NP-complete if all decisions can be verified in polynomial time [5].
To achieve single-objective optimization for routing, Dijkstra's algorithm can be applied to a network.This algorithm finds the shortest path between two nodes by developing the path in order of increasing path length.It has the advantage of fast shortest path determination and a computational complexity of ( 2 ), where  is the number of nodes, rendering it efficient for use with relatively large networks.
As a first attempt at multiobjective optimization, one may consider a simple pruning procedure.This consists of optimizing one metric (path capacity for instance) using Dijksta's algorithm and then pruning the graph tree by discarding the branches (paths) that violate a bound set to another metric (delay for instance).There are many other instances of multiobjective optimization for routing in the literature.For example, in [9], a QoS multiconstrained routing algorithm based on simulated annealing (SA-RA) is proposed.This algorithm first uses an energy function to translate multiple QoS metrics into a single metric and then seeks to find a feasible path by simulated annealing.The latter is a general stochastic approximation method capable of handling multiple and conflicting requirements (multiobjective optimization) [10].A genetic-algorithm-based routing method called GAMAN was proposed in [11] to cope with the multiconstrained QoS routing problem.The algorithm, however, suffers from untimely convergence as with most computationally complex GA algorithms, and the SA-RA method of [9] is shown to outperform it.However, even simulated annealing (SA) has the weakness of slow convergence time; typical values are 1 ms for 100 nodes and 20 seconds for 1000-node networks [10].For this reason, we focus in this work on other facets of multiobjective optimization for QoS routing, namely, combining desirable properties of two metrics by minimizing a weighted metrics sum via a Dijkstra-based algorithm.It must be noted, however, that this approach is directed towards fast convergence rather than optimality; it is unable to sufficiently explore the solution space in order to obtain an optimal solution the way powerful GAs can.
The weighted sum method is the most common approach to multiobjective optimization.We will show that Dijkstra's algorithm with a weighted sum metric provides more satisfactory results than the simple pruning algorithm in terms of simultaneously achieving high path capacity and small end-to-end delay.We will also analyze the performance of the algorithm under consideration and study the effect of changing the weighting factor and source-destination pairs on routing optimality.
The rest of the paper is organized as follows: Section 2 discusses Dijkstra's algorithm with one metric (delay or capacity) and explains the concept of pruning as a step towards multiobjective optimization for QoS routing.Section 3 describes the weighted sum method and how to combine it with Dijkstra's algorithm and gives an insightful justification to its feasibility and viability.Various results demonstrating the algorithm performance are presented and discussed in Section 4 and conclusions are drawn in Section 5.

Dijkstra's Algorithm
Although Dijkstra's algorithm for the determination of shortest paths is well established in the literature [6], we find it convenient to give a brief explanation of it as follows.
(1) The set of nodes so far incorporated () consists of only the source node (), and the initial path costs () to neighboring nodes are simply the link costs (): (2) The neighboring node not in  that has the leastcost path from node  is found and then that node is incorporated into .Also incorporated is the edge that is incident on that node and a node in  that contributes to the path Add  to  along with the edge that is incident on  and that contributes the least-cost component to ().
(3) A comparison is made between the path cost from node  to any node in the network and the summation of path costs from node  to node  ( is another node in the network) and the link cost between node  and the node considered, and the minimum is chosen: (4) Steps (2) and (3) are repeated until final paths have been assigned to all nodes in the network.The algorithm ends when all nodes have been taken.The running time of this algorithm is ( 2 ) where  is the number of nodes in the network.
The individual path costs in a path may be additive (as in end-to-end delay) to compute the overall path cost, or they can be compared to find their maximum or minimum value (as in capacity) and assign this value to the overall path.In some cases, where the link costs represent probability of error, for instance, the link costs are multiplied [12] to find the probability of error of the corresponding path.
Algorithm 1 is a pseudocode illustrating how Dijkstra's algorithm finds the optimal route capacity as a QoS measure.(V, ) is the path from node V to , and ((V, )) is its rate.Likewise, V is the link between node  and V and (V) FOR ALL incorporated nodes (12) () = ((V, )) ( 13) END ( 14) Algorithm 1: The Dijkstra-based routing algorithm (optimizing path capacity).is its rate.The asterisk denotes optimality, and ⊕ denotes concatenation.
Delay optimization by Dijkstra's algorithm would be almost identical to the one that optimizes capacity except that the link costs are added rather than compared to find the overall path cost.For delay optimization, the total cost is actually "minimized" conforming with the general shortest path terminology.
As a step towards multiobjective optimization in routing, we may employ Dijkstra's technique to compute highcapacity paths while simultaneously bounding the end-toend delay to an upper limit.This is achieved as follows.Before the decision to include a node in the set of incorporated nodes , the delay of the path up to that node is considered, and if it is found to exceed the bound, this node is disregarded and the other node, that the first was favored to, is incorporated instead.This is called pruning.The paths that violate the delay bound are pruned off by comparing rates to decide between paths as in Algorithm 1 and then comparing delays.The latter comparison may change the decisions resulting from the former.Dijkstra with pruning retains all the corresponding advantages such as fast shortest path computation and relatively small computational complexity.However, its effectiveness in optimizing two metrics is limited as is shown in the section on results.

Dijkstra-Based Weighted Sum Minimization (DWSM) Algorithm
Before presenting the Dijkstra-based weighted sum minimization (DWSM) algorithm, which is the focus of this paper, we first discuss general concepts related to multiobjective optimization.
Modelling and Simulation in Engineering

The Multiobjective Optimization
Problem.This problem is stated as follows: Minimize where  is the number of objective functions,  is the number of inequality constraints, and  is the number of equality constraints.x ∈   is a vector of design variables (also called decision variables), where  is the number of independent variables [13].In a network, the x represent the paths each with  links or  nodes depending on the context.F(x) ∈   is a vector of objective functions   (x) :   →  1 .  (x) are also called objectives or cost functions.In a network, they represent path capacity, end-to-end delay, and so forth.These metrics differ with the paths so they are actually functions of the network paths denoted by the x.The constraints can be thought of as bounds imposed on other metrics such as the number of hops for instance.
In contrast to single-objective optimization, there is no single global solution to multiobjective optimization problems.It is often necessary to determine a set of points that all fit a predetermined definition of an optimum.This is called Pareto optimality [13].A point x (or path) is Pareto optimal if there is no other point that improves at least one objective function without detriment to another function.A point is weakly Pareto optimal if there is no anther point that improves all of the objective functions simultaneously.A Pareto optimal point is also weakly Pareto optimal, but the converse is not true.

The Weighted Sum
Method.This is the most common approach to multiobjective optimization: If all the weights are positive, the minimum of the above equation is Pareto optimal [14].The weights are set such that The relative values of the weights reflect the relative importance or prioritization of the objectives.An a priori selection of the weights does not necessarily ensure that the final solution will be acceptable.The problem may have to be resolved with new weights.

The Proposed DWSM Algorithm.
A routing metric is a function that assigns a cost to any given path and naturally to its individual links.Various combined routing metrics have been introduced in the literature but are tailored to specific application areas such as routing in a multiradio multihop WMNs [15] and routing for cognitive radio ad hoc networks [16].These minimize delay and maximize probability of data delivery in nonstatic WMNs.They are not concerned with maximizing capacity or throughput for a given end-to-end path in a static WMN.Our proposed routing metric that characterizes a link in the network is simply of the form of a weighted sum of the link delay and the inverse of the link capacity.The performance of a metric designed such that the minimization of which minimizes delay and maximizes path throughput at the same time is not often evaluated or studied in the literature owing to the fact that throughput inverse and delay usually have different orders of magnitude [17].In this work, however, we show that this optimization is possible in many cases and at least prove that it is superior to the simple pruning method of multiobjective optimization.The proposed metric is given by  =  (link delay) The weight factor  is a tunable parameter subject to 0 ≤  ≤ 1 in accordance with (6).The above weighted average can be viewed as an attempt to balance delay and capacity providing a tradeoff between the two.When combined with Dijkstra's algorithm, a shortest path is found that minimizes the metric along that path.The metric is additive along a path.If  = 0.5, equal weight is given to capacity and delay.Setting  = 0 selects links based solely upon capacity, whereas setting  = 1 selects links based on delay only; that is, only delay is optimized.Thus, the metric selects paths with less optimized delay (greater delay) and higher capacity (smaller second term) when  is low and vice versa.The total network capacity is maximized by using lower values of  at the expense of increased endto-end delay.However, delay is still optimized though in a less pronounced manner than capacity and the selection is better than the single-metric Dijkstra's routing algorithm with regard to delay when the single-metric algorithm is optimized for capacity.
In the section on results, our simple routing metric of (7) will be experimented with illustrating the impact of varying  on the routing algorithm performance.It is the simplest improvement over the pruning method of multiobjective optimization and provides large diversity in yielding better throughputs and less end-to-end delays in contrast to the restricted nature of the pruning method of optimization.The resulting algorithm also retains the advantages of Dijkstra's technique of fast convergence and relatively small computational complexity, though it still does not provide the conceptual global optimum and only achieves Pareto optimality.
If we assume  = 0, the path metric is the addition of the capacity inverses of the path links.These are each designated by 1/ below.When the Dijkstra shortest path is found, this sum will have been minimized, and its inverse (designated by  below) is maximized: Since  < any ,  = 1, 2, . . ., , the maximum  will be less than the minimum link capacity.So the maximum  is indicative of the optimum path capacity.The latter is maximized in Algorithm 1 by maximizing the minimum link capacity in the path.Rather, in our proposed algorithm, a quantity () is maximized that is less than the minimum link capacity.So it can readily be inferred that our chosen metric will almost also lead to maximization of the minimum link capacity which is the permissible path capacity.Thus, our metric is practically and conceptually feasible regarding path capacity as well as path delay.Minimization of path delay naturally occurs in a straightforward manner when using (7) as a routing metric.

Results
We model our WMN characterizing each link by link rate or capacity and link delay.In all experiments, the simulation program is coded in MATLAB 8.1.The experimental setup of this simulation analysis is based on the generation of 50 nodes randomly distributed on an area of 1000 * 1000 m 2 .The random distribution is fixed, first, for the purpose of comparison among the algorithms and simulation scenarios.
The network topology ensures that the node coverage area is 200 m.Thus some nodes are in the coverage area of others.
The assigned link delay (in ms) and link capacity (in Mbps) follow uniform distributions.This characterization ensures link diversity in the network and does not affect the generality of the conclusions drawn.
For the chosen topology, the result of single-objective Dijkstra optimization described by Algorithm 1 of path capacity is shown in Figure 1, which illustrates the resulting shortest path between source node 1 and destination node 15.The optimized path capacity is 5.7 Mbps and the corresponding end-to-end delay is 86.8771 ms. Figure 2 shows the result of single-objective end-to-end delay optimization using the same algorithm but taking into account the difference in determining the overall metric along a path.The shortest path between nodes 1 and 15 is shown for which the optimized delay is 51.7216 ms and the corresponding path capacity is 1.4 Mbps.
The results for the pruning algorithm which involves optimization of capacity and bounding delay have been obtained for different values of delay bounds and for the same source and destination nodes used above.These are shown in Figures 3 and 4 with the values of path delay and optimized capacity and the delay bound indicated in the figures.As the delay bound decreases, the optimized capacity decreases.
The DWSM algorithm implemented with  = 0 and  = 1 obviously yields the same results as single-objective Dijkstra optimization for capacity and delay, respectively.Intermediate values of  are tried using the same source and destination nodes and the results are tabulated in Table 1 together with all the previous results for the purpose of comparison.We notice that the results obtained with DWSM are far better than those of pruning in terms both delay  and capacity.For example, we obtain the same optimized path capacity as that with pruning under a 75 ms delay bound but with much shorter end-to-end delay.This case is portrayed in Figure 5 in comparison with Figure 4.In addition, we can even obtain better optimized shortest paths with fewer links (number of hops) with DWSM.This is also clear from Figure 5, as well as from Table 1.The minimization of the number of hops ensures reduced waste of network resources such as computational power.The last two rows in Table 1 show results for DWSM with the same previous values of  but with a different source-destination pair.
The values of delay and capacity indicated in the figures are typical of WMNs as may be found in [1,18] to name but a few instances.Delay and capacity inverse values are not of the same order of magnitude, which is why we cannot vary  over  a wide range and yet get different results, even for different paths.The values of  that make a difference are between 0 and 0.3 only.Dividing all link delays of our topology by 5 still provides typical delay values but allows better DWSM performance.It allows us to vary  more freely to investigate more fully its impact on multiobjective optimization.All results are repeated for the delay-modified topology and are shown in Table 2.We find that the values of  that make a difference are between 0 and 0.7 for some paths; that is, the range of possible  variation for better multiobjective optimization has increased.In analogy to the comparison between Figures 4 and 5, the multiobjective pruning and the DWSM algorithms may be compared by inspecting Figures 6 and 7 in which the two algorithms have been applied to a different topology for verification.This new topology has 46 nodes randomly distributed with a different sample realization and different uniformly distributed link capacities and delays.The nodes are also distributed on an area of 1000 * 1000 m 2 .The merits of the DWSM algorithm are even more accentuated in this comparison.In Figure 7, with DWSM and  = 0.2, we obtain larger optimized path capacity, shorter delay, and fewer links or number of hops than with the pruning algorithm manifested in Figure 6 under a delay bound of 70 ms.
Optimal weights are found experimentally with the aid of the tables.It is clear, by appropriately weighting the routing objectives in accordance with the network environment and to their importance with regard to performance, that the WMN routing performance improves significantly compared to single-objective and multiobjective pruning algorithms.The reason is that the mechanisms of the latter algorithms are almost unaware of the multiple performance objectives of interest.

Conclusions
This work dealt with combining desirable properties of path delay and capacity QoS measures by minimizing a weighted metrics sum via a Dijkstra-based algorithm (DWSM) to achieve multiobjective routing in static WMNs.It has been shown that the performance of the DWSM algorithm is far better than that of simple Dijkstra-based pruning in terms of both delay and capacity, in addition to minimizing the number of hops.
For the most typically common values of delay and capacity, the variation of the weighting factor  and its impact on DWSM performance are investigated, and it is found that varying  over a considerably wide range can provide diverse optimization results of both delay and capacity simultaneously.These results counterbalance remarks in the literature on the limited applicability of weighted sum minimization for multiobjective optimization routing due to capacity inverse and delay having different orders of magnitude.
Finally, it is noteworthy that although the DWSM algorithm is readily realizable in WMN environments and has the advantage of computational simplicity and consequently fast convergence, it cannot provide the flexibility and quality of solutions obtained with more powerful but computationally expensive techniques such as GAs.

Figure 4 :
Figure 4: Network topology showing shortest route under Dijkstra's algorithm with pruning subject to delay bound = 75 ms.Optimized capacity = 2.6 Mbps, path delay = 73.2357ms, and number of hops = 12.

Figure 6 :
Figure 6: New network topology showing shortest route under Dijkstra's algorithm with pruning subject to delay bound = 70 ms.Optimized capacity = 2.3 Mbps, path delay = 68.2796ms, and number of hops = 10.

Table 1 :
End-to-end QoS measures for different optimization algorithms (topology as in Figures1-5).

Table 2 :
End-to-end QoS measures for different optimization algorithms (same topology but delay modified).