Polynomial time approximation algorithms for multi-constrained QoS routing
We study the multi-constrained quality-of-service (QoS) routing problem where one seeks to find a path from a source to a destination in the presence of K >= 2 additive end-to-end QoS constraints. This problem is NP-hard and is commonly modeled using a graph with n vertices and m edges with K additive QoS parameters associated with each edge. For the case of K = 2, the problem has been well studied, with several provably good polynomial time-approximation algorithms reported in the literature, which enforce one constraint while approximating the other. We first focus on an optimization version of the problem where we enforce the first constraint and approximate the other K - 1 constraints. We present an O(mn log log log n + mn/epsilon) time (1 + epsilon)(K - 1)-approximation algorithm and an O(mn log log log n + m(n/epsilon)(K-1)) time (1 + epsilon) -approximation algorithm, for any epsilon > 0. When K is reduced to 2, both algorithms produce an (1 + c)-approximation with a time complexity better than that of the best-known algorithm designed for this special case. We then study the decision version of the problem and present an O(m(n/epsilon)(K-1)) time algorithm which either finds a feasible solution or confirms that there does not exist a source-destination path whose first weight is bounded by the first constraint and whose every other weight is bounded by (1 - epsilon) times the corresponding constraint. If there exists an W-hop source-destination path whose first weight is bounded by the first constraint and whose every other weight is bounded by (1 - epsilon) times the corresponding constraint, our algorithm finds a feasible path in O(m(H/epsilon)(K-1)) time. This algorithm improves previous best-known algorithms with O((m + n log n)n/epsilon) time for K = 2 and O(mn(n/epsilon)(K-1)) time for K >= 2.
quality-of-service (qos) routing efficient approximation algorithms multiple additive constraints