FLOW ROUTING AIMING LOAD BALANCING AND PATH LENGTH IN MULTI-HOP NETWORKS WITH DIFFERENT LINK QUALITIES

This paper considers an exact bi-objective approach for simultaneously minimizing the total cost of flow routing and the network bottleneck when link qualities and flow weights are relevant. This is useful for wireless multi-hop networks with long-term TCP (Transmission Control Protocol) flows. The introduced proposal can generate a minimal complete set of Pareto-optimal solutions. Our proposal is evaluated through simulation in which are explored different parameter settings and metrics. Mathematics Subject Classification. 90C10, 90C29, 90C35, 90C90. Received December 17, 2020. Accepted August 14, 2021.

In this paper, we revisit the bi-objective formulation, but dealing with networks that have links with different qualities. The link quality affects the effective capacity of the link. Thus, the flow weight on a link is also affected by the link quality. For example, as commented in [16], a path with low bandwidth can have a large weight while a path with large bandwidth can have a low weight. Additionally, we assume the network traffic is dominated by TCP-like flows, i.e., flows that are affected by the path length. As it is well-known, the longer the path of the TCP flow is, the longer is the feedback loop and smaller is the average throughput. As a consequence, the path length of a flow also affects its weight on a link.
Given the links qualities and the flows weights, the approach presented in [15] is not able to solve the problem described above. In order to deal with the different qualities associated with the links, we design a bottleneck function composed of two metrics: the link quality and the network flow weight. In Section 2, we introduce our proposed solution in detail and also describe the problem formulation. In Section 3, we present the evaluation of our proposal through simulation. We present our final considerations in Section 4.

Problem formulation and solution
We consider routing in multi-hop networks in which the links can have different qualities. The network is represented by an oriented connected graph G = (V, E), where V represents the set of nodes (i.e., communication devices), with |V | = n, and E the set of edges (i.e., links), with |E| = m. There is a set of flows F , with |F | = r, which must be routed in G = (V, E). Each flow f ∈ F must be routed through only one path, starting from the source s f ∈ V and ending in the destination d f ∈ V . For each edge (i, j) ∈ E, from i ∈ V to j ∈ V , and flow f ∈ F , we define a binary variable x f ij that indicates whether or not the flow f goes through the edge (i, j). There is also a non-negative cost c f ij associated with the flow f ∈ F while going through the edge (i, j) ∈ E. Let q ij ∈ Z ≥0 be the quality of the edge (i, j) ∈ E, with q ij ∈ {q 1 , q 2 , · · · , q ξ } and q 1 < q 2 < · · · < q ξ , where q 1 represents the best quality and q ξ represents the worst quality. Consider p f ∈ Z ≥0 as the weight of flow f ∈ F . Thus, let w f ij be the weighted sum of p f and q ij , which is given by where the values β 1 , β 2 ∈ Z ≥0 are parameters that allow to control the degree of importance of p f and q ij , respectively. Thus, we formulate the bi-objective integer programming model to this problem, denoted by (P ), as follows: subject to: The network bottleneck represents the load in the edge(s) carrying the proportional largest amount of traffic and is given by The total cost of all flows, i.e., the sum of the lengths of the paths of all flows, is given by In general the objective functions (2.1) and (2.2) may be conflicting, since minimizing the network bottleneck may result in increasing the sum of the path lengths. The constraints ensure that each flow f ∈ F leaves the source s f and arrives at the destination d f , going through exactly one single path. We present some additional relevant definitions in the following. Let X be the set of all feasible solutions of (P ), and let z( where the operators ≤ and = regard vector comparisons. Thus, a feasible solution x ∈ X is a Pareto-optimal solution if there is no other solution in X that dominates x. The set X * ⊆ X, composed of Pareto-optimal solutions, is a minimal complete set if: 1) for any x * ,x ∈ X * we have z(x * ) = z(x); and, 2) for any Pareto-optimal solution x ∈ X there exists x * ∈ X * such that z(x) = z(x * ).
In order to solve the problem (P ), we have adapted the algorithm proposed in [15], as presented in the following: Algorithm 1. An -constraint approach to the problem (P ).
1: X * ← ∅ 2: ← 0 3: while (P ) not infeasible do 4:x ← optimal solution of (P ) 5: end if 10:x ←x 11: end while (P ) is a single-objective zero-one linear programming subproblem which the objective function is (2.2) of (P ). The constraints of (P ) remain in (P ). Additionally, the objective function (2.1) of (P ) is turned into a constraint in (P ), as follows: The Algorithm (1) solves (P ) repeatedly, employing an updated value of in each iteration. As the qualities of the edges and the weights of flows are taken into account in z 1 , then the largest bottleneck occurs when all flows cross an edge with the worst quality, which we denote as the maximum value 0 . Thus, we start (1). After obtaining the optimal solutionx to (P ), we update = z 1 (x) − 1. This makes the bottleneck of the new solutionx smaller than the previous onex. If the value of z 2 is the same for these two solutions, the previous solution is dominated by the new one and it must be deleted. For any feasible solution x for the problem (P ), z 1 (x) ∈ Z ≥0 , since the values of w f ij and x f ij are nonnegative integers. Therefore, there is no feasible solution with z 1 greater than z 1 (x) − 1 and less than z 1 (x). This ensures that, at the end of Algorithm (1), it generates a minimal complete set of Pareto-optimal solutions X * to (P ) (see [5,15]).
Note that the minimum value of is e., f is the minimum possible value to the bottleneck objective function. As decreases by at least one unit in each iteration, (P ) is solved at most forˆ iterations, whereˆ = 0 − f + 1. It follows that the cardinality of X * is limited byˆ , i.e., |X * | ≤ˆ . Therefore, the complexity of Algorithm (1) is O(ˆ .g( )), where g( ) is the complexity of (P ).

Performance evaluation
In order to evaluate the proposal, we have implemented a custom simulator in C++ language. This approach facilitates the integration with the CPLEX optimization solver through the Concert library and the extraction of different metrics related to both the algorithm and the quality of the solutions. We employed a randomly generated network topology with 100 nodes. This topology was generated by the Barabási-Albert model [3], as described in the following. The network starts withn 0 nodes. Each new node establishes a connection withn previously added nodes, such thatn ≤n 0 . The probability p i that a new node will be connected to a node i depends on its connectivity k i , so that pi = ki j∈V kj. Our topology usesn =n 0 = 3 and c f ij = 1, ∀f ∈ F and ∀(i, j) ∈ E.
As previously stated, the link quality affects the effective capacity of the link and, consequently, the flow weight over a link is also affected by the link quality. Thus, in order to represent an estimation of the relative weight of each flow, we consider p f = γ Γ f , where Γ f is the shortest path length of f ∈ F and γ = max f ∈F {Γ f }. The flows were randomly distributed according to two settings: (1) multiple sources and multiple destinations, and (2) multiple sources and a single destination. In each setting, we evaluated two scenarios, one with 40 flows and other with 80 flows, employing 100 simulation runs for each one.
One out three possible values, representing the link qualities, was randomly assigned to each edge. In other words, q ij ∈ {q 1 , q 2 , q 3 }, i.e., ξ = 3. We made β 1 = θ 1 . q ξ p , turning θ 1 into a parameter with the same dimension of β 2 . For the sake of clarity, we use β 2 = θ 2 . We evaluated θ 1 and θ 2 with the following values: (θ 1 ; θ 2 ) = (1; 1), (1; 10), and (10; 1). The evaluation of our proposal is based on three metrics: (i) the cardinality of the minimal complete set of Pareto-optimal solutions (|X * |), (ii) the number of iterations of (P ) in which (P ) was solved, and (iii) the execution time. The evaluation of the quality of the Pareto-optimal solutions returned by our new algorithm is based on the relative decrease in the bottleneck. This metric is computed as the ratio between the last Paretooptimal solution and the first Pareto-optimal solution generated by the algorithm. The ratio is computed over only one vector dimension which corresponds to the bottleneck. Figure 1 presents the cumulative distribution function (CDF) of the cardinality of the minimal complete set of Pareto-optimal solutions with 40 flows. In the setting in which the flows have multiple destinations (and multiple sources), these flows tend to be spread along the network and the load tends to be distributed over several edges. As a consequence, there are few Pareto-optimal solutions. In the setting in which the flows have single destination (and multiple sources), there is high load concentrated over edges with end-point in the sink node. Since there is a large number of edges with end-point in the sink node, this implies on larger cardinality of the minimal complete set of Pareto-optimal solutions, which represent the several non-dominated solutions considering both objectives the bottleneck and the total number of hops. The difference in the ratio between θ 1 and θ 2 has small impact. The results for 80 flows are not presented here, but the general behavior is similar, naturally, with higher values.   Figure 2 shows the CDF of the number of iterations in which (P ) was solved. Given the results related to the cardinality of X * , we already expected the difference between multiple destinations and single destination concerning the number of iterations of (P ). The difference between the number of flows was also expected and it is clearly illustrated in this figure. The impact of the difference in the ratio θ 1 and θ 2 remains small. However, some consistent impact can be noticed with 80 flows and single destination. The number of iterations tend to be higher when θ 1 differs from θ 2 . Figure 3 presents the CDF of the execution time (in seconds) with 80 flows. The difference in the number of iterations of the algorithm between multiple destinations and single destination has influence in the execution time of these settings. However, when θ 1 > θ 2 , there are situations that demand for evaluating a large number of combinations for the generated solutions. The results for 40 flows (not presented here) allows differentiation between multiple destinations and single destination, but not between the ratios involving θ 1 and θ 2 (similarly to the results of the number of iterations).
Figures 4a and 4b present the relative decrease in the bottleneck with 80 flows. While the maximum decrease in both settings, multiple destinations and single destination, is similar, the overall CDFs are very different. In the setting of single destination, all scenarios involve a similar set of links that converge to the sink node. Thus, the difference among the scenarios (i.e., the CDF inclination) comes from the random position of the sources and the destination. In the setting of multiple destinations, the bottlenecks are spread and the distribution of bottleneck decrease is strongly influenced by the topology. In this topology generated by Barabási-Albert model, most of the decrease is between 30% and 50%. In tests with a grid topology, under the same conditions, we observed a different CDF of the bottleneck decrease. In the setting of multiple destinations, becomes clear the difference between θ 1 > θ 2 and other two ratios. As expected, with this parametrization, the bottleneck decrease is the lowest. However, θ 1 = θ 2 and θ 1 < θ 2 have very similar behavior. The results for 40 flows are not presented here, but the general behavior is similar.

Conclusion and Final Remarks
In this work, based on the -constraint approach, we introduced a flow routing proposal that takes into account the link qualities and the flow weights. This exact approach is able to generate a minimal complete set of Pareto-optimal solutions. Through simulation, we evaluate how this approach can be used to route flows whose the performance is affected by the bottleneck and also by the path length, such as long-term TCP flows. As future work, we intend to improve further our model in order to capture the stochastic behavior of wireless multi-hop networks.