• No results found

Approximation Methods for the MCP Problem

10.2.1 Objective of the Approximation

An MCP algorithm is a (1 + ǫ)-approximation if it fulfills the two following conditions: (1) it guarantees that the value of a specific objective function c for the returned path is at most (1 + ǫ) times the optimum value of this function among the feasible paths, and (2) its running time is bounded by a polynomial in the encoding size of the problem instance [185, 82]. Fully polynomial-time approximation schemes (FPTASs) are methods that provide a (1 + ǫ)- approximation algorithm, whose time complexity is bounded by a polynomial in the encoding size of the problem instance and in 1

108 CHAPTER 10. APPROXIMATION ALGORITHMS: GOOD PATHS, FASTER

In concrete terms, approximation algorithms provide a solution that is as close as desired to the optimum for a given problem. In the context of the MCP problem, various definitions of optimality have been proposed [109, 185]. The most common one involves the definition of a path-length function, as explained in Section 8.4, and the computation of a path that simultaneously minimizes this function and fulfills a set of constraints. For example, this approach can lead to the following problem definition, in which we use the notations in Table 7.1.

Problem (MCP (optimization version)). Given an instance of the MCP problem and a cost function c : Ps→t → R, find a feasible path p∗ ∈ Ps→t such that any feasible path p ∈ Ps→t

verifies c(p)≤ c(p).

10.2.2 Approximation Techniques

In Section 8.4.2, we have explained that quantizing the link metric values enables reducing significantly the complexity of the MCP problem. In fact, Yuan [188] shows that MCP problem instances with one real-valued and K −1 integer-valued link weights can be solved in polynomial time. Therefore, several researchers propose techniques to transform general MCP problem instances into specific ones with integer weights. For example, Fast-Dmcp [185] transforms the MCP decision problem into the Mcpp (Multi-Constrained Path with Positive rounding) problem that is defined below.

Problem(Mcpp(G, s, t, K, D, C, ~w)). We consider an MCP problem instance such that (1) for every link l ∈ E, w1(l) is a positive real number and wk(l) is a positive integer for k in [2..K],

and (2) the constraint W1 takes a positive real value denoted as D, whereas the constraints

Wk, k∈ [2..K] are equal and verify Wk=C where C is a positive integer. Is there a feasible

s-t path?

The translation of an MCP problem into an Mcpp problem uses a parameter θ ∈ R, which determines the accuracy of the approximation. The translation consists in changing the original link weights ~winto:

~ wθ =  w1, w 2· θ W2  + 1, . . . , w K· θ WK  + 1 T (10.1) and the path constraints ~W into:

~

Wθ = (W1,⌊θ⌋, . . . , ⌊θ⌋)T. (10.2)

For instance, if θ = 10, ~w = (3.11, 1.4, 2.23)T, and ~W = (11.01, 16.1, 15.02)T, then, the translation outputs the following values: ~wθ = (3.11, 1, 2)T and ~Wθ = (11.01, 10, 10)T. The

interest of the translation is to reduce the weight granularity: this operation enables solving the Mcpp problem in polynomial time [188], instead of considering the original N P-complete MCP problem.

The Mcpp problem and the original MCP problem are not equivalent. Their resolution can lead to different solutions. However, both problems are closely related: solving the Mcpp problem instead of the original MCP problem introduces a quantifiable performance loss that depends on the value of the translation parameter θ [119, 188, 185].

Several researchers [83, 119, 185] have described the same algorithm, which is depicted in Figure 10.1, to solve Mcpp problem instances in polynomial time. Xue et alii [185] name

10.2. APPROXIMATION METHODS FOR THE MCP PROBLEM 109

1: # Initialization

2: for all (c2, . . . , cK)∈ [0..C]K−1 do

3: d(t; c2, . . . , cK) = 0

4: d(v; c2, . . . , cK) =∞ and π(v; c2, . . . , cK) =∅ for all v in V such that v 6= t

5: end for

6: # Computations

7: for all (c2, . . . , cK)∈ [0..C]K−1, in increasing lexicographic order do

8: for all link (u, v) in E do

9: bk≡ ck− wk(u, v)

10: if bk≥ 0 for all 2 ≤ k ≤ K and d(v; c2, . . . , cK) > d(u, b2, . . . , bK) + w1(u, v) then

11: d(v, c2, . . . , cK)← d(u, b2, . . . , bK) + w1(u, v)

12: π(v, c2, . . . , cK)← u

13: end if

14: end for

15: end for

16: # Extraction of the results 17: if d(t,C, . . . , C) > D then

18: Mcpp is infeasible

19: else

20: find the smallest integer c ≤ C such that d(t, c, . . . , c) ≤ D

21: return a feasible s − t path π such that w1(π)≤ D and wk(π)≤ c for 2 ≤ k ≤ K

22: end if

Figure 10.1: Pseudo-code of PseudoMcpp [185]

this algorithm PseudoMcpp. For every node u in V and for every integer constraint values c2, . . . , cK with 0 ≤ ck ≤ C, k ∈ [2..K], PseudoMcpp finds the path p∗c2,...,cK from s to u that

minimizes the weight w1 and that fulfills the constraints wk(p∗c2,...,cK)≤ ck, k∈ [2..K]. In the

algorithm, the quantity d(u, c2, . . . , cK) denotes the value of the first weight w1(p∗c2,...,cK) for

this path. The function π returns the predecessor of every node on the shortest path in terms of w1, for given constraint values (c2, . . . , cK). If the Mcpp problem admits some solutions,

then, PseudoMcpp returns a feasible path that solves Mcpp(G, s, t, K, D, c, ~w), where c ≤ C is the smallest non-negative integer such that Mcpp(G, s, t, K, D, c, ~w) is feasible [185]. In concrete terms, this means that PseudoMcpp returns a feasible path (p) whose weights wk(p) minimize maxk∈[2..K] w k(p) Wk  .

Previous work (e.g., [185]) uses the PseudoMcpp algorithm to return a single s − t path for a given source-destination pair. However, the operations of PseudoMcpp at lines 1 to 15 provide much more information: the algorithm maintains the shortest feasible path in terms of w1from the considered source s to any intermediate node and for every value of the constraint

vector (W1, c2, . . . , cK) with (c2, . . . , cK) ∈ [0..C]K−1. In the next section, we will show that

we can take advantage of this feature in the scope of inter-domain MCP computations. Reducing the granularity of the link weights is probably the most-common approxima- tion technique for approaching optimal MCPs. Nevertheless, the literature describes a few additional methods. For example, Xue et alii [183, 184] introduce a simple K-approximation algorithm that uses shortest-path algorithms (e.g., Dijkstra’s algorithm) to compute a short- est path for a single link weight function w′(l) that they define as w(l) = max

k∈[1..K]

w

k Wk



110 CHAPTER 10. APPROXIMATION ALGORITHMS: GOOD PATHS, FASTER

gorithm for an optimization version of the MCP problem: the value of the cost function c : p → maxk∈[1..K]wk(p)

Wk



for the computed path is at most K times the minimum value of c for a path between the considered source and target. We think that the approximation provided by their method is too coarse: for example, with K = 3, the K-approximation can return a feasible path with cost eleven whereas there is a feasible path with cost four.

PseudoMcpp requires operations with a polynomial worst-case time complexity in O(|E| · CK−1) [185]. This worst-case time complexity is prohibitive in some situations: it

increases rapidly when the number of links, the number of considered constraints, and the constraint values (i.e. the approximation accuracy) rise. In conclusion, we think that the complexity of approximation schemes represents a significant drawback of these methods when the network must determine a constrained path rapidly. Kuipers [110] arrives to the same con- clusion and asserts that the complexity of approximation algorithms for the MCP problem is necessarily high compared to the complexity of simple heuristics. Because of this limitation of approximation algorithms, we must study heuristic solutions that enable faster computations.