Exact and approximation algorithms for joint routing and ﬂow rate optimization

—This paper addresses the comparison of algorithms for a version of the Network Utility Maximization (NUM) problem. The joint formulation of routing and transmission rate control within the multi-user and single-path setting is assumed within the NUM. Since the problem is NP-hard, the efﬁcient heuristics are designed, implemented and compared experimentally with other existing heuristics and exact linear programming solver. The linear approximation is applied for a nonlinear utility function. The results of the experiments demonstrate a trade-off between computing time and precision of goal value.


I. INTRODUCTION
The Network Utility Maximization (NUM) problem was introduced by Kelly et al. in 1998 [10].Within the problem a single route is associated with a user (constant to the problem) and the goal is to maximize aggregate utility of all user rates (variable to the problem).Such a basic NUM problem is known to be polynomial-time solvable [17].We refer to such a problem as the basic NUM.
This article addresses an extended problem where both user rates and routes are variable to the problem.We refer to such a problem as the extended NUM problem or simply, the NUM problem.Wang et al. prove such a problem to be NP-hard [17].As a consequence, efficient heuristics are needed for larger networks.
Such a joint formulation of the problem is useful since path selection determines link congestion and the problem can be solved efficiently.Efficiency is becoming a critical problem in many application areas, e.g. in multimedia WSN (Wireless Sensor Networks).Multimedia data producing wireless sensor nodes require higher bandwidth, higher energy usage, and strict quality of service (QoS) requirements [13].Additionally, we are interested in techniques to achieve fairness of multistream allocations [10] [11] [3].
We designed and implemented several heuristics and compared their performance with other existing heuristics and the exact linear programming solver.Due to the fact that our utility function was nonlinear, we applied linear approximation within optimization procedure.The results of the experiments demonstrate a trade-off between computing time and precision of algorithms.
Since our approach is centralized, it cannot be used directly in multi-rate networks operating in a distributed way.However, there are certain applications where our heuristics can be found useful.Firstly, in applications where centralized network controllers are applied, e.g.SDN.Secondly, to estimate a gap between single and multiple path solutions [18].

A. The complexity of various versions of network utility maximization problem
The complexity of the basic and the extended NUM was stated in the introduction.However, for various problem modifications it may differ.The decision version of m-commodity flow problem with fixed rates and single-path setting is NPcomplete [4].It is proved by reduction from the decision version of the bin-packing problem.In [5] it is shown that even the decision version of two-commodity integral flow problem is NP-complete, by reduction from the SAT problem.

B. Distributed models
Since the work of Kelly et al. [10] was published, there have been many works on price-based distributed network utility maximizing methods.Chiang et al. [3] present the TCP/IP joint optimization example and solve it through distributed decomposition.Horizontal decomposition of TCP-AQM Congestion Control to share link capacities among competing users is described.Vertical decomposition of TCP/IP Joint Congestion Control and Routing is described.

C. Centralized control in SDN networks
Amokrane el al. [1] propose an online energy efficient flowbased routing approach for SDN controller, which allows for dynamic reconfiguration of existing flows (paths and rates).Huang et al. [8] solve utility-optimized flow-level bandwidth allocation in hybrid SDNs.

D. Importance of single-path routing
Single-path routing is still important from the practical point of view in the following areas: hybrid SDN networks [8], energy-aware networks [1] [9], IP networks [3]  MANETs (Mobile Ad hoc NETworks) [16] and WSNs [13].It imposes a smaller overhead in implementation and is less expensive to support, as opposed to the multi-path [18].Multipath routing, as opposed to single-path routing has several disadvantages/challenges: data packet reordering, route maintenance, route discovery and a computational overhead.

E. Fairness and Efficiency
In literature there are various definitions of fairness.Two of them are most common: Max-min fairness [14], and proportional fairness [10] [14] [19] [11] [3].The proportional fair vector comes as a solution to maximization of aggregate utility given by the equation (11) .Utility functions can be interpreted as the level of elasticity of application traffic, user satisfaction, optimality of resource allocation efficiency, as well as fairness [3].If α = 0, the NUM problem reduces to system throughput maximization.If α = 1, proportional fairness among competing users is attained.And finally, if α = ∞, then max-min fairness is achieved (Lee et al. [11]).The improvement in fairness is achieved by sacrificing the network efficiency.As the value of α increases, the total rate decreases.Our problem formulation assumes α = 1/2 for heuristics testing purpose.

F. Multicommodity flow problem and its heuristics
Our problem belongs to a class of more general flow problems, namely the multicommodity flow problem (MFP) (Leighton et al. [12]).However, our formulation is single-path, as opposed to the multi-path formulation in MFP.Additionally, we do not assume a fixed demand for each source-destination pair, but express such a demand with utility function.MFP heuristics may be found in many works e.g.Garg and Konemann [7], Fleisher [6].

G. Heuristics for NUM with single-path routing
Drwal [4] defines Utility-Maximizing Network Design problem understood as joint optimization over rates and paths (single-path).The work introduces Maximum Spanning Tree based algorithm, which gives a solution not less than a factor O( 1 m ) of an optimal solution, where m is the number of pairs.Wang et al. [18] introduce several upper-bounds to estimate the performance gap between multi-and single-path solutions of joint optimization of transmission rates and paths.They introduce two heuristics: vertex-projection and greedy-branchand-bound.
Our main contribution is the design of two heuristics: IterativeMstNum (an iterative procedure based on maximum spanning tree) and IterativeLPBestPathNum (an iterative procedure based on LP solver).
All the algorithms are implemented and compared experimentally with MilpNum (see alg 6), which gives an optimal solution.

IV. PROBLEM DEFINITION
Let's assume: 1) G = (V, E) an undirected graph representing a network, where V is a set of nodes and E a set of edges (this model could also be defined for a directed graph) where x k is a non-negative transmission rate assigned to the user (2), P k is a transmission path in the graph G from s k to t k , assignments do not exceed (altogether) the edge capacity (3) and rates are maximized (1).Such an extended NUM problem is a generalization of the basic NUM formulated by Kelly [10].
For the purpose of the article we assume ∀ i,j,∈S u i = u j .
MILP formulation: In MILP each flow f k takes a single path P k from the source s k to the target t k .We introduce a real variable f kuv which indicates the amount of flow f k passing via edge (u, v).The variable f kuv is defined to indicate u → v flow direction and f kvu reverse.We rewrite the constraint (3) as (4).We set a requirement that the flow is balanced (5), except source and terminal nodes (6) (7).
∀ k∈S w:{s k ,w}∈E(G) We introduce a binary variable y kuv which indicates whether flow f k is passing via edge (u, v) (8) We bind the variable y kuv with the variable f kuv using two additional constraints (9) (10).
where M is a large number.
In practice, fair allocations of capacity are needed.This can be obtained by choosing the utility function properly.In literature [3] [10] [4] most common is a family of functions: For the experiment purpose, we have chosen α = 1/2, which gives the function (12).We assume flow value to be non-negative (2).
We approximate the function ( 12) with three linear functions over range x ∈ [0, 1] (see fig 1).Such a choice stems from our assumption ∀{u, v} ∈ E(G) c(u, v) = 1.If links differ in terms of capacity, approximation function could range from 0 to max edge capacity.For the approximation purpose, an additional equation is introduced (14).The goal function (1) is rewritten as (13).

V. ALGORITHMS
To solve the NUM problem we have implemented the algorithms below.Some of them have been designed by us and some taken from literature (see chapter III Main results). 1) All the algorithms assume the following input parameters: • G graph representing a network • c capacity function • F st a set of demands for transmission and output parameters: are satisfied • U aggregate utility function value.

A. MST based NUM
The algorithm MstNum is based on [4].It uses single MST (Maximum Spanning Tree) run (line 1).All flow paths belong to the MST (line 3).If competing flows pass the same edge, the edge capacity is shared among the flows proportionally with the use of min function (line 11).
In the worst case (having a network with |E| = m parallel edges spanned between two vertexes), assuming ∀ e∈E c(e) = k, and |S| = m, the heuristics MstNum gives a ratio of a solution to an optimal solution equal to 1/m.It is shown in [4] that the algorithm never returns a solution that is less than a factor O( 1 m ) of an optimal solution.

B. Iterative MST based NUM
The algorithm IterativeMstNum offers a large improvement over MstNum with respect to maximization of the goal function.It consists of two phases (init phase and iterative phase).The first phase (init) runs MstNum (line 1).The second phase runs an iterative utility improvement procedure (lines 3-28).Within each iteration (a single while loop), |S| solutions are found (line 4-21), compared and the best one is selected (line 22) to produce the input flow allocation set (FAS) for the next iteration (line 26).To find an i-th solution (within an iteration) the algorithm produces i-th MST (line 16) taking c ′ as the • c(e))  graph edge capacity (lines 6-15), which equals c decreased by the capacity used by the other users, and re-routes i-th flow to a possibly better location within the i-th MST (the new route may be the same as the previous one) (line 17).The ∆ i is computed as the aggregated sum of i-th flow utility difference and all j-th flow utility difference (line 20).The best solution is selected ∆ max (line 22).If the objective improvement is less or equal to ∆ ε , the stop condition is satisfied (line 24).
In the worst case (see fig 2), assuming |S| = m, a ratio of a solution to an optimal solution is determined by the equation (16).For m ≫ 1 the ratio approximates to 1/2.The algorithm IterativeMstNum never returns a solution that is less than a factor O( 12 ) of an optimal solution.sol opt However, for practical networks the heuristics exposes a solid ratio (see chapter VI Computational results).

C. Linear program relaxation and rounding NUM
The algorithm LPRoundingNum (a slight improvement of the one given in [4]) begins with solving linear program relaxation in phase1 (line 3).Subsequently in phase2 (lines 5-14) a rounding is done by random selection of the single path for each user.Finally, in phase3 (line 16) the LP problem is for i ∈ S do 5: end for end for 16: Let x ∀ j∈S,j =i recalculate x ′′ j using the idea given in alg 1 (lines 2-14) 20: (12) 21: end for 22: end if 28: end while 29: return (F AS, k∈S u(x k )) solved again taking fixed single paths identified in the previous phase as a constraint.

D. LP Best Path NUM
The algorithm LPBestPathNum begins with solving linear program relaxation (line 3).Within the relaxed LP solution, for each k ∈ S the single max path (max min y kuv on the path) is identified as P k (line 6).The procedure is using the BFS (Breadth First Search) for that purpose.Finally, the LP problem is solved again taking fixed single paths identified (line 9) as a constraint.The algorithm is similar to the vertex projection method given in [18].

E. Iterative LP Best Path NUM
The algorithm IterativeLPBestPathNum constitutes |S| + 1 iterations.In each {1, .., |S|} iteration, linear program relaxation is solved (line 7).Within the relaxed LP solution, for each i ∈ S \ S ′ the single max path P i (max min y iuv on the path) is selected (line 10).Among the |S \ S ′ |-paths, the best (max) P i is selected and added to the model (line 14) as 21 were transit nodes.The third, grid network Net64 with 8x8 nodes.The fourth network Net42 with 40 disjoint paths spanned between node 1 and 42.Finally, the fifth, grid network Net400 with 20x20 nodes.In all the networks above each link had a capacity equal to 1.
In each experiment, the algorithms: LPRoundingNum, LPBestPathNum and IterativeLPBestPathNum were run 20 times and the average values of objective U avg and execution time T avg are presented.
2) Verification of algorithm performance for different number of users: Additional 10 experiments (on Net64) were conducted to demonstrate an increase in utility and time upon an increase in the number of users: S12 -10, S13 -20, ... , S21 -100 users 2 .
1 50% of the pairs constitute internal traffic (between nodes 1-8), and 50% of the pairs constitute external traffic (between nodes 1-8 and T) 2 Traffic sources and targets were located on the grid edge, and were randomly selected.Each smaller user set was a subset of a larger set.3) -efficiency (utility) was even several times higher as high.
IterativeMstNum vs LPRoundingNum.The utility values of IterativeMstNum observed in S1 − 5, 9 were not as high as the average ones achieved by LPRoundingNum (utility of LPRoundingNum was higher by 4% − 51% (Fig. 3)).On the other hand, in S6 − 8, S10 − 11 the results were in favor of IterativeMstNum (utility of IterativeMstNum was higher by  4% − 31% (Fig. 3)).When it comes to the observed execution time, the algorithms IterativeMstNum and LPRoundingNum exposed similar performance, slightly in favour of LPRoundingNum (Fig. 4).
IterativeMstNum vs MilpNum.The objective values of IterativeMstNum observed in the experiments S6, S11 were very close to the ones achieved by MilpNum.In the experiment S6 the value of MilpNum, lower than the value of IterativeM-stNum, can be explained by an approximation error (Fig. 3).For a small number of users (S1, S2) the observed distance from the optimum (MilpNum) was not more than 12% , for a larger number of users (S3 − S5, S7 − 10) it ranged between 11% and 80%.
2) Different number of users -experiments S12 − S21: It-erativeMstNum vs LPBestPathNum.In general, the observed utility of IterativeMstNum increased when the number of users grew, however the function was not monotonic.The utility was comparable with the one achieved by LPBestPathNum when the number of users was not high, up to 40 users for Net64 (Fig. 5).Then, the utility difference was not higher than 35%.When the number of users was 10, for Net64, the utility of IterativeMstNum was higher by 11%.This number of users was correlated with the number of user-disjoint paths.
The time of execution of IterativeMstNum was comparable with the one achieved by LPBestPathNum regardless of the number of users (Fig. 6).
3) Large network -experiments S22 − S24: IterativeMst-Num vs LPBestPathNum.The utility of IterativeMstNum was comparable with the one achieved by LPBestPathNum when the number of users was not high (TABLE I).When number of users was 20, for Net400, the utility of IterativeMstNum was higher by 5.8%.The same remark on user-disjoint paths applies, as above.
The time of execution of IterativeMstNum was much smaller than the one achieved by LPBestPathNum (an order of magnitude when the number of users was high -TABLE I).

VII. CONCLUSIONS
Since our problem is NP-hard, search for optimum (Milp-Num) may not be practically attainable even for medium-sized grid networks (8x8 nodes) and a small number of users (∼ 20).
The experiments show that the algorithm LPBestPathNum demonstrates a reasonably good trade-off between computing time and precision of the utility value.
As observed, our LP-based heuristics IterativeLPBestPath-Num demonstrates up to ∼ 15% higher utility, on networks with up to 64 nodes and 50 users, but it is slower, in comparison to LPBestPathNum.The difference in utility may be a few percent bigger for large grid networks (20x20 nodes) and a high number of users (∼ 50), and even more for a special type of network -parallel edges.The bigger difference is caused by the edge allocation conflict.The IterativeLPBestPathNum reduces the probability of such conflicts by iterative path fixing (a single path fixed for each iteration).The utility values of IterativeLPBestPathNum, on network with up to 64 nodes and 50 users, are lower than MilpNum by only ∼ 2% on average.The successful IterativeLPBestPathNum computations were conducted for grid networks with up to 20x20 nodes and 50 users.For comparison, the successful and not terminated MilpNum computations were conducted for grid networks with up to 8x8 nodes and 20 users.
As observed, our MST-based heuristics IterativeMstNum ensures reasonably good utility in certain cases.When the number of users is not high (the number is correlated with the number of user-disjoint paths), the IterativeMstNum utility is lower than MilpNum by not more than ∼ 10%.With such an assumption it has efficiency comparable to LPBestPathNum.When the number of users grows, the gap between IterativeM-stNum and LPBestPathNum increases.The IterativeMstNum has utility which is equal to optimal for a special type of network -parallel edge network, since it avoids allocating the same edge to competing streams if alternative ones are available.In such networks, it may be much more efficient than LPBestPathNum (e.g.S11 − 30%).On average, for the observed cases, the IterativeMstNum utility value is lower than MilpNum by ∼ 25%.Additionally, IterativeMstNum has computing time comparable to LPBestPathNum for small and medium-sized networks.For large networks and a high number of users, it may be an order of magnitude faster than LPBestPathNum.Finally, it does not use LP solver but a simple MST-based iterative procedure.

TABLE I UTILITY
AND TIME FOR A LARGE NETWORK (EXPERIMENTS S22 − S24)