Robust Routing in Communication Networks Walid Ben-Ameur
∗
Adam Ouorou
†
Mateusz otkiewicz
‡
Abstract Starting from the work of the authors, this chapter proposes an overview of robust optimization problems in telecommunications. The optimization parameter considered as uncertain is the trac matrix and the main problem is about the routing of the trac under this uncertainty while minimizing some cost functions. Several robust routing strategies are presented. New results are also proposed including the concept of multipolar routing.
1 Introduction Most of optimization problems involve in practice some parameters that are prone to uncertainty. For instance, in telecommunications, the trac matrix that drives the optimization problems, is in general unknown. Moreover, the present competivity in this sector results in the movement of clients and constant introduction of new services, rendering the exploitation of historical data quite dicult. To handle uncertainty in optimization problems, two general mathematical techniques exist. The rst one, known as stochastic programming, dates back to the 50's and requires some knowledge on the probability distribution of the uncertain parameter [33, 25, 52]. An alternative to this approach, known as chance-constrained programming, is proposed in [29]. It replaces ∗
TELECOM SudParis,
CNRS Samovar UMR 5157,
9 rue Charles Fourier,
91011 Evry,
France.
Email:
[email protected]
†
Orange
Labs,
38-40
rue
du
General
Leclerc,
92794
Issy-les-Moulineaux
Cedex
9,
France.
Email:
[email protected]
‡
Institute of Telecommunications, Warsaw University of Technology, Nowowiejska 15/19, 00-665 Warszawa,
Poland. Email:
[email protected]
1
the deterministic constraint by a constraint in probability. A relatively recent approach is Robust Optimization. It appears in [64, 56] in its simplistic form of scenarios description of the uncertainty. But the rst robust optimization formulations go back to the 70's. The concept proposed by Soyster in [82] has been adapted and developed in the nineties independently and mainly by Kouvelis & Yu [56], El Ghaoui & Lebret [36] and Ben-Tal & Nemirovski [21, 20]. The common feature in these approaches lies in the fact that they do not require any knowledge of the probability distribution and model the uncertainty through an uncertainty set. While the approach proposed by Kouvelis & Yu assumes that the uncertainty set is a nite discrete set, the other approaches consider a more general convex set (polyhedron, ellipsoid, etc.). The goal then is to seek for a solution that is feasible for all the realizations of the uncertain parameters in the uncertainty set. Such a solution is called robust. Robust optimization appears to be an approximation to chance-constrained stochastic programming [19]. Indeed, under a mid assumption on the probability distribution of the uncertain parameters, a bound can be obtained on the probability that the robust solution satises the constraint involving these uncertain parameters [19]. Almost at the same time and in a completely independent way, a lot of work was initiated in 1997 by [41] and [34] about robust routing in telecommunication networks where trac is uncertain. More specically, the trac matrix is supposed to satisfy some constraints related to the total trac entering into (resp. going out of) a node. They studied the problem of designing a tree that can support each trac matrix satisfying these constraints. Several other variants were then studied and developed (see [31] and this chapter). The model of [41, 34] was generalized in 2001 to the polyhedral model by [10] and the concept of robust stable routing was also introduced there. The connection with the general concept of robust optimization was done only very late. In this chapter, we are interested in robust routing in telecommunication networks. Starting from our own work on this topic, we propose an overview of the literature on these problems. The uncertainty involved in these problems concerns the trac matrix. The chapter is organized as follows. In the next section, we give some notation that will be used in the whole chapter. Then, we review in Section 3 the models traditionally proposed to represent trac uncertainty and introduce the recent ones in the framework of robust optimization. In Section 4, dierent robust routing strategies are described, including some novel 2
approaches. In all the cases the goal is to minimize the network cost and to nd a routing pattern/patterns supporting any matrix belonging to the uncertainty set. In Section 5, we show that most of these routing strategies can be considered in a distributed/local context, where each network node has only a limited information about the current trac matrix. Section 6 is devoted to routing with additional constraints such as single-path routing, tree routing and shortest-path routing. Section 7 briey presents some other robust optimization problems in telecommunication networks where either the objective function is dierent to the one used in Section 4, or some other parameters are uncertain. A conclusion follows in Section 8.
2 Notation Let G = (V, A) be a directed graph G = (V, A), where V is the set of nodes and A is the set of arcs. The graph represents a telecommunication network, and the arcs depict unidirectional transmission links. For each arc a ∈ A an installed capacity ca ∈ IR+ and a routing cost wa ∈ IR+ for one unit of trac are given. An arc a ∈ A from i to j will be denoted by (i, j). The number of nodes |V| is generally denoted by n. By δ + (v) we denote a set of all arcs leaving v , while by δ − (v) we denote a set of all arcs entering v .
Let K be the set of commodities, where each commodity is dened by a source/origin ok , a destination/sink sk , and a trac requirement tk that must be sent from ok to sk . For sake of simplicity, we will assume that for each i ∈ V and j ∈ V \ {i}, there is a commodity k such that ok = i and sk = j (so |K| = |V|(|V| − 1)). A set of acyclic paths of G from ok to sk is denoted
by P k . The trac requirement tk will be also denoted by to
k sk
.
trac matrix. The trac matrix is supposed to be variable and can be any point of the uncertainty set D, which can be dened While t = (tk )k∈K is a vector of IR|K| , it will be called a
according to one of the models of Section 3.3. Given any vector or matrix y , we use y ∗ to denote the transpose of y . To express routing problems as mathematical programs we introduce the following variables. xkp
:
proportion of the trac demand k ∈ K carried through a path p ∈ P k . Note that 0 ≤ xkp ≤ 1. For a current trac matrix t ∈ D, the trac carried through p is then given
by tk · xkp . 3
xka
:
proportion of the trac demand k ∈ K owing through an arc a ∈ A. We will also use xa to denote the vector whose components are the numbers (xka )k∈K . Sometimes, it will be
convenient to consider a matrix X having |A| rows and |K| columns, where x∗a is the row corresponding to a ∈ A. fa
:
maximum amount of trac carried on an arc a ∈ A. It depends on the polytope D and the routing pattern. The variable fa can also be considered as the minimum capacity that has to be reserved on an arc a to satisfy all constraints. The vector f is called a reservation
vector. w(D)
:
routing cost. It is given by
P
wa fa . An index will be added to w(D) depending on
a∈A
which routing strategy is considered. Notice that many other routing cost functions can be dened including the congestion function P fa max fcaa or the end-to-end delay function ca −fa [53, 22]. However, for sake of simplicity we a∈A a∈A P wa fa in this chapter. will only consider the function a∈A
We will use k.k∞ , k.k1 and k.k2 to respectively denote the l∞ , l1 and l2 norms.
3 Modeling trac uncertainty One of the important issues is how to model the uncertainty of a trac matrix. There are mainly two sources of trac uncertainty. The rst one is that trac is variable. This variability occurs at dierent time scales. It is known that trac varies in a diurnal way. Some periodicity is also observed over the weeks. This variability is now accentuated by the development of many new telecommunication services and the mobility of users. Trac may also vary if there are some network equipment failures or even some modications in routing between some neighboring networks (see [27, 28, 37, 39, 48, 65, 83] for more details). The second source of uncertainty is in fact the lack of information. Even if we assume that the trac matrix is constant over some period of time, it is generally not possible to measure the trac between each pair of origin-destination in the network. In fact, collecting data related to each pair of nodes can be prohibitively expensive. We will quickly review some of the methods used to infer the trac matrix using a limited information. Then, we introduce the stochastic programming approach. Finally, we present some 4
robust optimization models.
3.1 Trac matrix estimation Since it is easier to obtain link load data, several methods have been proposed to infer the trac matrix from those data. If we assume that a routing matrix X is known, than the trac matrix estimation problem reduces to solving a linear inverse problem y = Xt, where link measurements are represented by y and t is the unknown trac matrix. The challenge in this problem comes from the fact that it is an ill-posed linear inverse problem as there are in general many more origin-destination pairs than links in a network, and consequently the above system has many more unknowns than equations. Other information may also be used to predict the trac matrix. It is sometimes assumed that we know for each node v ∈ V the total trac whose source (resp. sink) is v denoted by tout v (resp. tin v ). The gravity trac model is a classical model based on this information. The trac from v out in P P in to w denoted by tvw is then estimated by Ptv twtout . Using the fact that u∈V tout u = u∈V tu , u∈V u
it is easy to check that the estimated matrix satises the trac constraints of each node. The gravity model has obvious similarities with the Newton's law of universal gravitation. In fact, if we see the proportion of trac from u to v as a probability, the distribution of trac provided by the gravity model is the one maximizing entropy (see, e.g., [79]). If further constraints are added such as the constraints y = Xt mentioned above and an initial matrix is given, then many methods can be used to nd the closest (in a certain sense) matrix to the initial matrix that satises all constraints. This includes some iterative matrix balancing methods such as the Kruithof's algorithm and many variants of projection algorithms. If some assumptions are made about either the variations of each trac demand tvw (for example a gaussian model with unknown parameters) or about the possible measurement errors, then several statistical approaches can be used to nd the best estimator. Details and comparison of these methods can be found in [79] where some algorithms are also provided to nd the best places where one should put measurement equipments (such as the Netow tool) to get a good estimation of a trac matrix. Observe that all these prediction methods try to nd one trac matrix. In other words, the output is only one scenario. This is generally far from reecting the reality, hence more sophisticated models have been proposed in the literature to deal with the issue. 5
3.2 Models based on stochastic programming Stochastic programming, as the former approach, is also applicable to the routing problem. Sen et al. [81] deal with the capacity assignment problem subject to budget constraint, the objective being to minimize the overall capacity cost. A nite number of trac matrix scenarios, with given probabilities, is considered, and a sampling-based decomposition method, termed as stochastic decomposition algorithm is developed and implemented. The approach is then assessed through simulation. A closely related approach is proposed by Lisser et al. [58]. In their work, they aim at least cost capacity assignment as well as minimizing the expectation of demand rejection penalty costs. The solution method developed to solve the resulting stochastic problem, is based on Benders decomposition coupled with the analytic center cutting plane algorithm. A parallel implementation is proposed to speed up the computation time and deal with large instances of the problem. Fortz et al. [43] consider the same model as in [58] but assuming that a demand is a continuous random variable with a known density probability function. The routing is not supposed to depend on the current volume of a demand (i.e., static). A branch and cut and price approach is developed to solve the resulting nonlinear problems. While imposing some probabilistic constraints generally leads to dicult problems, some problems can be handled eciently under some hypotheses. If we assume that trac is distributed according to a normal distribution, then some probabilistic constraints can be replaced by deterministic convex constraints. These are well known results found in stochastic programming books. They were adapted to network routing in many papers including [62, 61, 48, 51]. More precisely, assume that t v N (t¯, Σ), where Σ is a positive semi-denite covariance matrix and t¯ is a known mean value vector. This assumption is generally based on the fact that a trac demand can be seen as a sum of a large number of independent contributions leading to a normal distribution by the central limit theorem. The Cholesky decomposition of Σ allows to write Σ = L∗ L where L is a lower triangular matrix with positive diagonal entries. Using the notation of Section 2, the trac owing on an arc a is given by x∗a t and is distributed according to a normal univariate distribution whose mean value is x∗a t¯ and whose variance is given by ||Lxa ||2 2 . Then, imposing that the constraint x∗a t ≤ fa holds with probability at least 1 − is
clearly equivalent to writing that x∗a t¯ + Φ−1 (1 − )||Lxa ||2 ≤ fa ,
(1)
where Φ−1 is the inverse function of the cumulative distribution function of the standard normal 6
distribution. If ≤ 0.5, constraint (1) is clearly convex. Hijazi and Klopfenstein [51] considered the same gaussian model and imposed single-path routing. The resulting problems are minimax problems which could be solved to optimality provided one is able to solve a sequence of nonlinear convex integer NP-hard problems. The authors propose simplications to avoid such a process.
3.3 Models based on robust optimization Most of new models to handle the trac uncertainty are based on robust optimization. The simplest representation of uncertainty by a nite number of trac scenarios has been considered by many authors including [5, 12, 76, 70]. Dealing with a set of trac vectors is generally equivalent to considering the convex hull of these vectors. However, these approaches are not very suitable when the number of scenarios is very large. The rst more tractable uncertainty model is known as the hose model considered by [34, 41]. It is proposed in [34] to specify the bandwidth requirements of virtual private networks (VPN). The exact demand between all pairs of VPN endpoints is not required and the network capacity should be sucient for every possible trac pattern that is consistent with some bounds on the total trac in each node. In the simplest form of this model (the symmetric case), each node v has an upper bound bv on the cumulative amount of trac that can be sent or received by v at any time. More formally, in the symmetric case tuv and tvu denote the same amount of trac that should be carried between u and v . The trac matrix t belongs to the uncertainty set ( D=
t:
) X
t
uv
≤ bv , v ∈ V
(2)
.
u∈V
In the more general asymmetric model, two bounds for each node are specied, i.e., the maximum total bandwidth bout of trac that node v will send at any time and the maximum v total bandwidth bin v of trac that v will receive from the network at any time. The uncertainty set is then
( D=
t:
) X
tvu ≤ bout v ,
u∈V
X
tuv ≤ bin v , v ∈V
.
(3)
u∈V
The idea behind the hose model is that one can easily measure the trac entering or leaving the network at any node. Observe also that the cumulative trac sent or received by a node u is probably less variable than the amount of trac from u to v . It is then easy to build a hose model allowing some exibility in terms of trac conguration. 7
A generalization of the hose model is the polyhedral model, where the trac can be expressed through a nite set of linear constraints: (4)
D = {t : At ≤ b} ,
where A and b are respectively a given matrix and a given vector with appropriate sizes. This has been proposed by Ben-Ameur & Kerivin in [10]. It was also used in many other papers including [2, 4, 7, 13, 14, 57] to cite a few. The reason justifying the model is that the components of the trac matric are generally not independent. Then, one needs to better exploit information about the trac demand behaviors, and then draw up relationships between the various origindestination trac components. By expressing the latter in terms of linear inequalities, we may obtain a bounded set containing all of the relevant trac demand congurations [13, 14]. For example, if network nodes belong to two dierent regions (such as Europe and North-America), it is reasonable to have a limit related to the total trac going from one region to the other one. This can be expressed through some simple linear constraints. Some upper bounds might also be known for some trac components leading again to more linear constraints. In some other cases, the routing is known and the trac owing on some links can be measured. This can be modeled by constraints Xt ≤ y building up a polyhedral model. As a particular polyhedral model is the one that is derived from the approach proposed by Bertsimas & Sim [24, 23]. In this model, a demand for a given origin-destination pair varies in the range given by the mean value t¯ and a known deviation tˆ . The uncertainty set is such that a number of commodities deviating simultaneously from their mean value is bounded: n o D = t : ∃ξ, tk = t¯k + ξk tˆk , kξk∞ ≤ 1, kξk1 ≤ Γ ,
(5)
where Γ is a given parameter. This uncertainty set has been considered in [71, 8, 72, 6]. Some variants of the above have also been considered in the literature. For instance Koster et al. [55] consider that a demand for a given origin-destination pair varies from zero to the mean value plus a known deviation, in other words, it is required in addition ξ ≥ 0. Other norms have been considered as well in place of the l1 norm leading to less conservative solutions, see for instance [50]. Another set is the budget uncertainty set considered by Atamtürk and Zhang [6]: ( D=
) k
¯k
ˆk
t : ∃ξ, t = t + ξk t , kξk∞ ≤ 1,
X k
8
k
πk t ≤ π0
.
(6)
The references [48] and [9] consider an ellipsoidal uncertainty set. There are many reasons to consider such kind of sets. First, as shown in next section, the robust optimization problems can still be solved in polynomial time using ecient codes for second-order cone programming. Second, ellipsoids appear very naturally when we consider random vectors. More precisely, assume that t ∈ D is a random vector with expected value t¯ and covariance matrix Σ. Then we know from the Chebychev's inequality that P r (t − t¯)∗ Σ−1 (t − t¯) > α ≤
|K| α .
Consequently, if
we want to guarantee that most of the trac scenarios are taken into account, it is enough to consider a set D = {t : (t − t¯)∗ Σ−1 (t − t¯) ≤ α} where α is large enough. Then, if a constraint is satised by all trac vectors of D, it will be globally satised with a probability of at least 1−
|K| α .
Observe that by considering the Cholesky decomposition of Σ−1 ( Σ−1 = L∗ L), D has
the following form. D = {t : ∃ξ, t = t¯ + Lξ, kξk2 ≤ α} .
(7)
The Chebychev's inequality introduced before is very general and can be improved if more information is available about the distribution of t. For example, if t is normally distributed, then the probability bound can be strengthened using the chi-square tables. A slightly more general form of ellipsoidal uncertainty sets is proposed in [20]. Finally, observe that it is possible to consider an uncertainty set that is a union of a reasonable number of convex sets without increasing the complexity of the corresponding robust optimization problems.
4 Dierent robust routing strategies
4.1 Static routing First, we consider the static routing strategy. In this strategy, routing variables xkp should not vary when the trac matrix changes. The problem was rst considered in [10, 13, 14]. Static routing was called stable routing in [10] and oblivious routing in [4, 7]. The problem of computing the minimum cost static routing of an uncertainty domain D can
9
be formulated as follows. Minimize: wstatic (D) =
X
wa fa
a∈A
Subject to: ∀k ∈ K
(8a)
xkp ≤ xka
∀k ∈ K, ∀a ∈ A
(8b)
xka tk ≤ fa
∀a ∈ A, ∀t ∈ D
(8c)
fa ≤ ca
∀a ∈ A
(8d)
∀a ∈ A, ∀p ∈ P k , ∀k ∈ K
(8e)
X
xkp ≥ 1
p∈P k
X p∈P k ,p3a
X k∈K
xka ≥ 0, xkp ≥ 0
The objective is to minimize the total routing cost. Inequalities (8a) express the fact that trac demands between every pair of nodes may be split among many paths. Every variable xka is dened by (8b). For a given trac matrix t, a trac on an arc a is given by the left-hand side of (8c). Thus, the capacity fa that should be reserved on an arc a must be higher than the trac carried in all the situations. In other words, inequalities (8c) must be valid for each trac matrix t in the polytope D. Inequality (8d) indicates that fa is lower than the capacity of an arc a. Positivity of variables is forced by (8e). Note that variables xka can be eliminated from the formulation. However, we keep them for sake of clarity. Presented in this way, the problem seems to be dicult. First, the number of paths of P k can be very high. Second, they have to be satised for each trac matrix in D, and D is generally an innite set. Fortunately, the problem was proved to be easily solvable using an algorithm based on column and constraint generation [10, 13, 14]. A very close algorithm was also proposed in [7]. Let us rst assume that D is a polytope. Routing paths can be generated in an iterative way by solving a shortest path problem for each pair (i, j), where i, j ∈ V and link weights are given by the values of dual variables of (8b). If there exists a path whose reduced cost is negative it has to be added to an appropriate P k . As for the constraint generation, considering the current solution of the relaxation, we only 10
have to check whether there is an arc a and a trac matrix t ∈ D such that (8d) is violated for them. This can be easily done by solving the following linear program. max t∈D
X
xka tk = x∗a t,
(9)
k∈K
where xka assume optimal values for the relaxed problem. If the maximum is larger than fa we add the violated inequality. Notice that the separation problem (9) is easy to solve even if D is given by an oracle. By equivalence of separation and optimization, the static routing problem can be solved in polynomial time (see [14]). Moreover, if D is given by a limited number of extreme points, then (9) can be solved by a simple enumeration. When D is dened by a limited number of constraints D = {t ∈ IR|K| + : At ≤ b}, then the constraint generation procedure can be replaced by introducing dual variables. The strong dual of (9) is given by: min
A∗ u≥xa ,u≥0
u∗ b,
(10)
where u is a vector of dual variables having the same dimension as b. Writing that the result of (10) is less than fa is equivalent to saying that there exists at least one vector ua satisfying the system: ua ∗ b ≤ fa
(11a)
A∗ ua ≥ xa
(11b)
ua ≥ 0
(11c)
In other words, constraints (8c) can be represented in a compact way using a polynomial number of variables and constraints. Observe that variables xkp can also be skipped by using a classical ow-conservation formulation. For sake of completeness we give below the complete compact model for static routing.
11
Minimize: wstatic (D) =
X
wa fa
a∈A
Subject to: X
xka
−
if v 6= ok , sk
1
if v =
∀k ∈ K, ∀v ∈ V \ {sk }
(12a)
ua ∗ b ≤ fa
∀a ∈ A
(12b)
A∗ ua ≥ xa
∀a ∈ A
(12c)
ua ≥ 0
∀a ∈ A
(12d)
fa ≤ ca
∀a ∈ A
(12e)
∀a ∈ A, ∀k ∈ K
(12f)
X
xka
=
a∈δ − (v)
a∈δ + (v)
0
ok
xka ≥ 0
Notice that the variables (xka )a∈A satisfying constraints (12a) and (12f) dene what is gener-
ally called a routing
template for a demand k.
The use of duality in the context of robust optimization was already proposed in [20]. This was also done in [2, 24] and many other papers. This approach is well suited to the case where D is dened by a small number of constraints. In the general case, the constraint generation
approach presented before is more suitable. It is also more adaptable to large size problems. Notice that it is sometimes possible to solve (9) without using linear programming. Let us, for example, consider the following trac polytope corresponding to the hose model and upper bound limits, i.e., D = {t ∈ IR+ : |K|
P
tij ≤ tout i ,
j∈V\{i}
P
tji ≤ tin i , ∀i ∈ V;
j∈V\{i}
tij ≤ tmax ij , ∀i ∈ V, j ∈ V \ {i}}.
The separation problem (9) can be seen as a minimum cost ow problem in a modied graph. We dene a new acyclic directed graph where each vertex i ∈ V is replaced by two vertices i and i0 (see Figure 1). An arc between i and j 0 is considered with a capacity of tmax and a routing ij
cost of −xija . We also add two special vertices, a source s and a sink d. For each i ∈ V , we consider an arc (s, i) with capacity tout and an arc (i0 , d) with capacity tin i i . The routing cost on 12
these arcs is zero. To nd a violated inequality, we have to compute a feasible ow between s and d whose cost is lower than −fa . Figure 1: The separation problem seen as a minimum cost ow problem. The polytope D can also contain some lower bounds for trac components. It is still possible to use ow algorithms to solve the separation problem. Separation over more complicated polytopes can also be done by minimum-cost ow computations [14]. All the approaches presented above can be easily generalized to the case where D is a union of a limited number of polytopes. ∗ ¯ Let us now assume that D is an ellipsoid dened by D = {t ∈ IR|K| + : t + L u, ||u||2 ≤ 1}. The
separation problem (9) consists in computing a vector u maximizing x∗a L∗ u. It is clear that this holds for the vector u =
1 ||Lxa ||2 Lxa .
In other words, constraints (8c) can be replaced by: x∗a t¯ + ||Lxa ||2 ≤ fa
(13)
The static routing problem can then be solved by second-order cone programming [1]. This kind of derivations with an ellipsoidal uncertainty was proposed in [21]. A review of robust optimization techniques is given in [19]. In addition to interior-point algorithms to solve the second-order cone program obtained when D is an ellipsoid, it is also possible to use a cutting-plane algorithm to solve the problem [48]. Given a current routing vector x0a related to arc a, according to the analysis presented above, x0 ∗a t is maximized if t = t¯ + L∗ ||Lx10a ||2 Lx0a . Consequently, if x0 ∗a (t¯ + L∗ ||Lx10a ||2 Lx0a ) > fa , we can add the linear constraint: x∗a (t¯ +
1 Σx0 ) ≤ fa . ||Lx0a ||2 a
(14)
4.2 Dynamic routing In this situation, the problem consists in providing routing schemes (possibly dierent) for all trac matrices t from a trac demand polytope. More specically, the path variables xkp (resp. ow variables xka ) depend on t and will be denoted by xkp (t) (resp. xka (t)). The problem can be
13
formulated as follows. Minimize: wdynamic (D) =
X
wa fa
a∈A
Subject to: ∀k ∈ K, ∀t ∈ D
(15a)
∀k ∈ K, ∀a ∈ A, ∀t ∈ D
(15b)
xka (t)tk ≤ fa
∀a ∈ A, ∀t ∈ D
(15c)
fa ≤ ca
∀a ∈ A
(15d)
∀a ∈ A, ∀p ∈ P k , ∀k ∈ K, ∀t ∈ D
(15e)
X
xkp (t) ≥ 1
p∈P k
X
xkp (t) ≤ xka (t)
p∈P k ,p3a
X k∈K
xka (t) ≥ 0, xkp (t) ≥ 0
Formulation (15) is similar to (8). However, it replaces each constraint of (8) involving variables xkp or xka with an innite (in general) number of constraints involving variables xkp (t) and xka (t). When the graph G is directed and the arc capacities ca are innite, it is easy to show that wstatic = O(n2 )wdynamic [14]. If G is undirected (and capacities are innite), Gupta proved that wstatic = O(log(n))wdynamic . The proof is recalled in [47] and is based on some metric embedding
results. In fact, even if we require that only one path is used for each demand (static single-path
routing ), the gap is still logarithmic:
wstatic−single = O(log(n))wdynamic where wstatic−single is
the minimum cost obtained with the additional requirement of single-path routing in the static mode. As shown in [47], this result is optimal in the sense that there are instances where wstatic = Ω(log(n))wdynamic . The instances are based on a single-sink asymmetric hose polytope.
Another result worth mentioning is that when D is a symmetric hose polytope (with G undirected and innite capacities), then wstatic ≤ 2wdynamic [41, 49]. Notice that it is still unknown wether wdynamic can be computed in polynomial time in this context. However, if G is directed and D is asymmetric, we know from [49, 63] that computing wdynamic is NP-hard (even if capacities are innite). A stronger result is proved in [30], where the problem is proved to be dicult even if G is undirected and D is asymmetric. Notice that the result 14
Figure 2: From undirected graphs to directed graphs proved for undirected graphs directly implies the result when the graph is directed since it is possible to transform any instance with an undirected graph to an instance where the graph is directed. This is shown in Figure 2 where an undirected edge (AB) is transformed into 5 arcs (one arc having the same capacity as (AB) and 4 innite-capacity arcs). Let us now go back to the general case, where G is directed and D is asymmetric. Although all the trac matrices t ∈ D are present in the formulation (15), it is enough to consider only extreme points of D in order to solve the problem. Having the optimal routings for all the extreme points it is possible to compute optimal routings for all t ∈ D by calculating appropriate combinations of the optimal routings for the extreme points. This imposes that the problem is solvable in polynomial time when D is dened as a convex hull of a given set of trac matrices. But this is not the only special case where the problem is simple. The dynamic routing problem can also be solved in polynomial time when D is dened by its facets and the number of demands is less than a constant [16]. The complexity of the problem, when the number of demands is limited by a constant, and the trac demand polytope is dened by an oracle, is still an open question. Some other special cases where dynamic routing is easy to compute are presented in [44, 63]. Constraints (15a), (15b), (15c), and (15e) can be replaced by the very classical semi-metric inequalities u∗ f ≥ π ∗ t for any nonnegative vector (ua )a∈A and a vector (πk )k∈K dened by the length of the shortest path from ok to sk with respect to weights (ua )a∈A . Assume a reservation vector f is given. Then checking whether there exists a matrix t ∈ D and a vector u is generally not easy (a consequence of the hardness of the dynamic routing problem). Since the semi-metric inequalities should be valid for each matrix t, they can be written as follows. u∗ f ≥ max π ∗ t. t∈D
(16)
Computing a vector u minimizing u∗ f −max π ∗ t can be done by solving a quadratic program. t∈D
Using duality and complementarity conditions, this quadratic program can be transformed into a mixed integer problem. Several numerical experiments based on this transformation are provided in [60]. Before closing this section, we should mention that adapting routing to the current trac 15
conditions is not a new subject. A lot of work was already done, for example, in the context of switched networks [5]. Given a certain optimization criterium, some greedy algorithms are generally proposed to iteratively change routing in order to approximately achieve the optimum for the current trac matrix [37]. One of the drawbacks of these iterative algorithms is that a trac matrix may change even before the convergence of the algorithms. Some iterative algorithms (approaching dynamic routing) and some heuristics approaching static routing are compared in [28].
4.3 Domination based approach To deal with uncertainty, a classical approach consists in computing a matrix tworst (D) dominating D and routing this matrix. In other words, we have to compute tkworst (D) = max tk for each k ∈ K. Then, we compute wstatic (tworst (D)).
t∈D
This approach can be naturally generalized by looking for r matrices t1 ,...,tr that globally dominate D. More precisely, we say that a set of matrices {t1 , ..., tr } dominates D if for each matrix t ∈ D, there exists a matrix t0 in the convex hull of t1 ,...,tr such that tk ≤ t0k for each k ∈ K. Then, if each matrix ti (1 ≤ i ≤ r) is routable, all matrices of D can be routed. Notice
that all these matrices can use dierent routing patterns. Let us add the index i to all routing variables corresponding with matrix ti . So the new variables are now xi kp and xi ka . The routing cost is denoted by wdom (where "dom" comes from
16
"domination"). For sake of clarity the optimization problem is given below. Minimize: wdom (D) =
X
wa fa
a∈A
Subject to: ∀k ∈ K, ∀i ∈ {1, ..., r}
(17a)
∀k ∈ K, ∀a ∈ A, ∀i ∈ {1, ..., r}
(17b)
xi ka ti k ≤ fa
∀a ∈ A, ∀i ∈ {1, ..., r}
(17c)
fa ≤ ca
∀a ∈ A
(17d)
∀a ∈ A, ∀p ∈ P k , ∀k ∈ K, ∀i ∈ {1, ..., r}
(17e)
X
xi kp ≥ 1
p∈P k
X
xi kp ≤ xi ka
p∈P k ,p3a
X k∈K
xi ka ≥ 0, xi kp ≥ 0
Notice that wdom can even be larger than wstatic . For example, if r = 1, then we have wdom ≥ wstatic . However, wdom can also be equal to wdynamic . This holds if {t1 , ..., tr } contains
the whole set of extreme points of D. Problem (17) can obviously be solved in polynomial time. An interesting question that was not yet studied in the literature consists in nding an optimal set of r matrices dominating D and minimizing wdom (D). If r = 1, then the problem is already solved by computing the matrix tworst . A heuristic is proposed in [74] to handle the case where D is a nite set containing a large number of matrices. It consists in partitioning the set of matrices into a given number of subsets, computing for each subset a dominating matrix and routing all these dominating matrices. In fact, the denition of domination given above can be slightly weakened. To say that a matrix t0 dominates a matric t, it is enough to assume that each reservation vector (fa )a∈A allowing t0 to be routed allows also t to be routed (with a possibly dierent routing). This denition is formally given in [69] and was also suggested in [10]. Then, it is clear that we can accordingly change the denition of domination of D by {t1 , ..., tr } for each t ∈ D, there exists t0 belonging to the convex hull such that t0 dominates t in the new sense.
When the graph G = (V, A) is complete, it is not dicult to see that t0 dominates t if and only if t can be routed through the network where the capacity of each arc (i, j) is equal to t0ij [69, 10]. However, in the general case, the situation is more complicated. 17
In [15], it is proved that t0 dominates t if and only if for each non-negative vector (ua )a∈A , the vector (πk )k∈K of shortest path lengths (πk is the length of the shortest path from ok to sk with respect to weights (ua )a∈A ) satises π ∗ (t0 − t) ≥ 0. Checking whether this condition holds for each non-negative vector (ua )a∈A does not seem to be easy [15]. However, in some simple cases, like trees or undirected cycles, this condition can be checked in polynomial time. Further developments around the domination concept can be found in [74].
4.4 Multi-static routing To improve the performances of static routing, we can consider several routing patterns instead of only one pattern. One can partition the uncertainty set into dierent subsets and consider a static routing for each subset leading to what can be called a multi-static routing. This approach was proposed in [11] and exploited in [85, 16, 80]. The multi-static approach can be seen as a generalization of periodic routing where we have a routing pattern used for each period. In [11], partitioning of the uncertainty set is done using an hyperplane {t ∈ IR|K| : α∗ t = β}. Let L(D, α, β) (resp. R(D, α, β)) be D ∩ {t ∈ IR|K| : α∗ t ≤ β} (resp. D ∩ {t ∈ IR|K| : α∗ t ≥ β}). The routing variables corresponding to L(D, α, β) (resp. R(D, α, β)) are denoted by x (resp. x).
18
Then the problem can be modeled in the following way. Minimize: wmult−stat (D, α, β) =
X
wa fa
a∈A
Subject to: ∀k ∈ K
(18a)
xkp ≤ xka
∀k ∈ K, ∀a ∈ A
(18b)
xka tk ≤ fa
∀a ∈ A, ∀t ∈ L(D, α, β)
(18c)
∀k ∈ K
(18d)
xkp ≤ xka
∀k ∈ K, ∀a ∈ A
(18e)
xka tk ≤ fa
∀a ∈ A, ∀t ∈ R(D, α, β)
(18f)
fa ≤ ca
∀a ∈ A
(18g)
∀a ∈ A, ∀p ∈ P k , ∀k ∈ K
(18h)
X
xkp ≥ 1
p∈P k
X p∈P k ,p3a
X k∈K
X
xkp ≥ 1
p∈P k
X p∈P k ,p3a
X k∈K
xka ≥ 0, xka ≥ 0, xkp ≥ 0, xkp ≥ 0
Problem (18) can be solved in polynomial when D is a union of some convex sets. It can be done using the same techniques as those of Section 4.1. However, it is NP-hard to nd α and β minimizing wmult−stat (D, α, β) [11]. A related problem consists in computing the best β for a given α: min wmult−stat (D, α, β). Although a 2-approximation algorithm was proposed in β
[11, 16] to solve this problem, it is still unknown whether the problem is NP-hard. An ecient non-polynomial-time algorithm based on a double binary search is proposed in [85, 16]. Another partitioning problem that is related to both the domination approach and the multistatic approach is studied in [16]. Given a vector α and an uncertainty set D, we aim at partitioning D using a hyperplane whose normal vector is α and whose position β is to be determined. We impose that both matrices tworst (L(D, α, β)) and tworst (R(D, α, β)) can be routed (with possibly dierent templates). The goal is of course to nd the best value of β such that the routing cost is minimized. It is proved in [16] that this problem can be solved in polynomial time, if D is a polytope dened by its extreme points. 19
An improvement of static routing was also proposed in [80] by considering dierent routing templates. No assumption is made in [80] about how the set D can be partitioned.
4.5 Ane routing Ane routing was proposed in [71, 8]. It is connected to the concept of ane adjustable robust counterparts introduced in [18]. In fact, we have seen that when routing is static, then the problem is easy to solve. We also observed that the problem is generally dicult to solve when routing is dynamic. Here some restrictions related to routing are introduced to avoid the diculty of dynamic routing and to improve the cost when compared to static routing. Given a trac matrix t ∈ D, let yak (t) be the capacity reserved on arc a and used by demand k when the matrix t is routed.
Writing that t is routable is equivalent to: X
yak (t) −
a∈δ + (v)
X a∈δ − (v)
yak (t) ≥
0 if v 6= ok , sk
∀k ∈ K, ∀v ∈ V \ {sk }, ∀t ∈ D.
tk if v = ok
(19)
The ane routing assumption consists in imposing that yak (t) is an ane combination of the trac components. More precisely, for each arc a and demand k, there are coecients yak0 and (yakh )h∈K such that yak (t) = yak0 +
X
yakh th .
h∈K
For sake of clarity, we write below the whole model corresponding to ane routing.
20
(20)
Minimize: waf f ine (D) =
X
wa fa
a∈A
Subject to: X
yak (t)
X
−
if v 6= ok , sk
tk
if v =
∀k ∈ K, ∀v ∈ V \ {sk }, ∀t ∈ D
(21a)
∀a ∈ A, ∀k ∈ K, ∀t ∈ D
(21b)
∀a ∈ A, ∀k ∈ K, ∀t ∈ D
(21c)
yak (t) ≤ fa
∀a ∈ A, ∀t ∈ D
(21d)
fa ≤ ca
∀a ∈ A
(21e)
∀a ∈ A, ∀k ∈ K, ∀h ∈ K
(21f)
yak (t)
≥
a∈δ − (v)
a∈δ + (v)
0
yak (t) = yak0 +
X
ok
yakh th
h∈K
yak (t) ≥ 0 X k∈K
yak0 ∈ IR, yakh ∈ IR
Observe that ane routing can be seen as a generalization of static routing. Indeed, we get static routing if we impose that yak0 = 0 and yakh = 0 for any arc a ∈ A and demands such that h 6= k .
Problem (21) can be solved using a cutting plane algorithm when D is a convex set. Given the current yak0 , yakh coecients, constraints (21a) can be separated by solving the following convex problem when v 6= ok , sk . (yak0 +
P
min
a∈δ + (v)
yakh th ) −
P h∈K
P a∈δ − (v)
(λka +
h λkh a t ) t ∈ D.
P
(22)
h∈K
Let t0 be the matrix obtaiend by solving (22). If the minimum is less than 0, then we add X
(yak0 +
a∈δ + (v)
X
yakh t0h ) −
h∈K
X
(yak0 +
a∈δ − (v)
X
yakh t0h ) ≥ 0.
h∈K
Note that if v = ok then (22) is modied into the following form. min
P a∈δ + (ok )
(yak0 +
P h∈K
yakh th ) −
P a∈δ − (ok )
(yak0 +
P
yakh th ) − tk
t∈D
(23)
h∈K
Constraints (21c) and (21d) can be separated in the same way by solving some convex programs if D is convex, and some linear programs if D is a polyhedral. Observe that the case when D is a union of a limited number of convex sets can be handled in the same way.
21
Similarly to Section 4.1, one can also introduce duals of problems (22), (23) and the other separation problems to get compact programs. We obtain a compact linear program if D is a polytope or a union of polytopes, while a second-order cone program is obtained when D is an ellipsoid or a union of ellipsoids. Another way of approaching ane routing is studied in [77]. Inequalities (21a) are there replaced by equalities. If D is a full-dimensional polytope it is shown that the coecients (yak0 )a∈A (resp. (yakh )a∈A for h 6= k ) correspond to a circulation. It is also easy to prove that
the coecients (yakk )a∈A correspond to a routing template of demand k ∈ K. However, replacing inequalities (21a) by equalities may add more restrictions and increase the cost. Considering the path formulation, in the presence of uncertainty, the diculty lies in the fact that the routing is not know at the time the network capacity is set. The (non-static) routing is in fact determined (as above for the ow variables) in a second stage, to meet the observed trac matrix. To get tractable approximation to the robust routing problems, the ane routing writes ypk (t) = ypk0 +
X
ypkh th
∀k ∈ K, ∀p ∈ P k , ∀t ∈ D,
(24a)
h∈K
with ypk0 and ypkh being now new variables. Notice that ypk (t) represents here the capacity reserved on path p to route demand k for the current matrix t. If we force variables ypkh to be zero, we recover the static routing. To conform to the previous
22
setting (in the original models minimize the capacity cost), the routing problem is as follows. Minimize: waf f ine (D) =
X
wa fa
a∈A
Subject to: X
X
ypk (t) ≤ fa
∀a ∈ A, ∀t ∈ D
(25a)
ypk (t) ≥ tk
∀k ∈ K, ∀t ∈ D
(25b)
ypkh th ≥ 0
∀k ∈ K, ∀p ∈ P k , ∀t ∈ D
(25c)
fa ≥ 0
∀a ∈ A
(25d)
fa ≤ ca
∀a ∈ A
(25e)
∀k ∈ K, ∀h ∈ K, ∀p ∈ P k
(25f)
k∈K p∈P k ,p3a
X p∈P k
X
ypk (t) = ypk0 +
h∈K
ypk0 ∈ IR, ypkh ∈ IR
This model, proposed in [71], uses fully the concept of an ane decision rule resulting in problems when |K| is large. To get around this diculty, the paper [8] proposes a more rened rule related to the idea of demand proximity based on the possibility to share some links in their routing. A set Vk gathers all the demands that are "close" to k so that the ane routing becomes ypk (t) = ypk0 +
X
ypkh th .
h∈Vk
In this way, the number of variables ypkh is limited to a reasonable size. In [72], it is not required that the solution should be feasible for all the realization of the trac matrix in the uncertainty set. A shortage variable sk expresses the amount of trac that could not be handled and then constraints (25b) become sk (t) +
X
ypk (t) = tk
∀k ∈ K, ∀t ∈ D
(26a)
sk (t) ≥ 0
∀k ∈ K, ∀t ∈ D
(26b)
p∈P k
The total amount of shortage required by the solution is bounded by a parameter µ which is set by a decision-maker and results in an additional constraint: X
sk (t) ≤ µ, ∀t ∈ D.
k∈K
23
The limit could be on the worst shortage as well: sk (t) ≤ µ0 , ∀k ∈ K, ∀t ∈ D. In order the problem to be tractable, variables sk (t) are required to follow the ane decision rule: sk (t) = sk0 +
X
skh th ,
h∈K
where now the new variables are sk0 and skh . This leads to the following program. Minimize: waf f ine (D) =
X
wa fa
a∈A
Subject to: sk (t) ≤ µ
∀t ∈ D
(27a)
ypk (t) ≤ fa
∀a ∈ A, ∀t ∈ D
(27b)
ypk (t) ≥ tk
∀k ∈ K, ∀t ∈ D
(27c)
ypkh th ≥ 0
∀k ∈ K, ∀p ∈ P k , ∀t ∈ D
(27d)
skh th ≥ 0
∀k ∈ K, ∀t ∈ D
(27e)
fa ≥ 0
∀a ∈ A
(27f)
fa ≤ ca
∀a ∈ A
(27g)
∀k ∈ K, ∀h ∈ K, ∀p ∈ P k
(27h)
X k∈K
X
X
k∈K p∈P k ,p3a
X
sk (t) +
p∈P k
ypk (t) = ypk0 +
X h∈K
sk (t) = sk0 +
X h∈K
ypk0 ∈ IR, ypkh ∈ IR, sk0 ∈ IR, skh ∈ IR
A compact formulation is obtained as described above if D is either a polytope or an ellipsoid.
4.6 Multipolar routing Multipolar routing proposed by [17] is a new paradigm merging the simplicity (polynomialtime solvability) of static routing with the eciency of dynamic routing. In this approach, each meaningful trac demand matrix t from the uncertainty set D is projected on a lower-dimensional space and represented as a convex combination of poles (special vectors in the lower-dimensional space) from a given set. Each pole has a routing scheme associated with it, and each t ∈ D is routed using a combination of those routing schemes. To describe the approach, we need a further notation. 24
H
projection matrix that will be used. The number of columns of D is equal to |K| while its
:
number of rows can be much lower than the number of columns. Ω
set of poles. The projection of each matrix t ∈ D dened by Ht should be written as a
:
combination of poles. The number of components of a pole ω ∈ Ω is equal to the number of rows of H . More precisely, for each t ∈ D, the following linear program should have a solution. X
(28a)
λωt ω = Ht
ω∈Ω
X
(28b)
λωt ≤ 1
ω∈Ω
λωt ≥ 0
∀ω ∈ Ω
(28c)
In (28) coecients λωt represent the importance of a pole ω from a point of view of a trac demand matrix t (or its projection Ht). For each t ∈ D the system (28) might have in general an innite number of solutions λt . We will denote the set of those solutions by Λt . Similarly to Section 4.5, we will consider variables related to ows. yω kp
:
capacity reserved for a trac demand k ∈ K on a path p ∈ P k when a pole ω ∈ Ω is considered.
yω ka
:
capacity reserved for a trac demand k ∈ K on an arc a ∈ A when a pole ω ∈ Ω is considered.
Having the variables dened, it is possible to formulate the multipolar routing problem as
25
follows. Minimize: wmultipolar (D) =
X
wa fa
a∈A
Subject to: X
λωt
ω∈Ω
∀k ∈ K, ∀t ∈ D, ∀λt ∈ Λt
(29a)
∀k ∈ K, ∀a ∈ A, ∀ω ∈ Ω
(29b)
yω ka λωt ≤ fa
∀a ∈ A, ∀t ∈ D, ∀λt ∈ Λt
(29c)
fa ≤ ca
∀a ∈ A
(29d)
yω kp ≥ 0
∀p ∈ P k , ∀k ∈ K, ∀ω ∈ Ω
(29e)
yω ka ≥ 0
∀a ∈ A, ∀k ∈ K, ∀ω ∈ Ω
(29f)
X
yω kp ≥ tk
p∈P k
X
yω kp ≤ yω ka
p∈P k :p3a
XX k∈K ω∈Ω
Constraints (29a),(29b), and (29c) guarantee that each matrix t ∈ D is routable. Notice that the problem can also be formulated without variables yω kp , but then we have to add the ow conservation constraints given by: X
λωt (
ω∈Ω
X
a∈δ + (v)
yω ka −
X a∈δ − (v)
yω ka ) ≥
0 if v 6= ok , sk tk if v = ok
∀k ∈ K, ∀v ∈ V\{sk }, ∀t ∈ D, ∀λt ∈ Λt .
(30) In formulation (29), |Ω| independent sets of routing variables are used (one for each pole). Each trac demand matrix t ∈ D has a set of feasible solutions Λt associated with it. The lambda values state how t should be routed, i.e., how the routing should be divided between |Ω| independent routings associated with the poles. It is important to understand that while there is a routing associated with each pole, we do not require that each pole is routable. In fact, poles are generally not even trac matrices since they belong to a lower-dimensional space. Poles are used only to allow for calculating combinations of dierent routing strategies. Observe that in Section 4.3, we also have a set of matrices that are supposed to dominate D. If we take H equal to the identity matrix, our set of poles is also supposed to dominate D. However, in the domination approach, all these matrices must be routed; while in the multipolar approach, the poles are used only to get a routing that 26
is richer than static routing. In fact, condition (28) can be replaced by a more general condition stating that t is dominated by a matrix t0 belonging to D whose projection can be expressed as a combination of poles. In other words, for each t ∈ D, the following system must have a solution. X
(31a)
λωt0 ω = Ht0
ω∈Ω
X
λωt0 ≤ 1
(31b)
t0 ≥ t
(31c)
t0 ∈ D
(31d)
ω∈Ω
λωt0 ≥ 0
∀ω ∈ Ω
(31e)
Notice however that if matrix t satises conditions (31), then it can be replaced by a matrix t0 satisfying conditions (28). Consequently, we can focus on matrices t ∈ D for which conditions
(28) hold. When the number of poles is limited or polynomial in the size of data, then the multipolar routing problem can be solved in polynomial time using the techniques of Section 4.1. More precisely, given the current values of the y variables, we have to check for each arc k ∈ K whether there is a matrix t ∈ D violating constraint (29a). This can be done by solving the following program. Minimize: w=
X ω∈Ω
λωt
X
yω kp − tk
p∈P k
Subject to: X
(32a)
λωt ω = Ht
ω∈Ω
X
(32b)
λωt ≤ 1
ω∈Ω
λωt ≥ 0
∀ω ∈ Ω
(32c) (32d)
t∈D
Program (32) is easy to solve when D is a polytope or a convex set. Constraints (29c) can obviously be separated in a similar way. It is of course possible to introduce dual variables, as 27
done in Section 4.1, to avoid solving the separation problems. Multipolar routing is very general and encompasses a number of interesting special cases. We will briey discuss some of them in this section. We will assume that D is a polytope. Observe that multipolar routing encompasses dynamic routing as a special case. This happens when H is the identity matrix and the set of poles contains the set of extreme points of D. Let us see here another variant of multipolar routing leading to static routing. Assume that H is the identity matrix. One natural way to dene poles consists in considering for each trac
component (i.e., each k ∈ K) a pole ω dened by ω = (0, . . . , 0, wk , 0, . . . , 0)∗ , where only this trac component is dierent to 0. The numbers ω k should be of course large enough to allow for satisfying (28). Since for each one of these poles there is only one nonzero trac component, the routing associated to each pole is equivalent to routing only one demand. Then we can build a static routing just by routing each trac demand similarly to how it is routed when we consider the pole associated to this trac demand. Let HD be the projection of D. HD is of course a polytope if D is a polytope. It is clear that the number of poles should be at least equal to the dimension of HD since conditions (28) require that HD is inside the convex hull of the poles and the zero matrix. There are mainly two solutions to reduce the complexity of the problem. One can choose a matrix H with less rows which allows to choose a smallest set of poles. We can also require that some of these poles have the same routing. If we assume, for example, that the routings corresponding to all poles are exactly the same, then we simply get again static routing. More interesting variants consist in partitioning the set of poles into a small number of subsets and require poles belonging to the same subset to have the same routing. Another question to be addressed in the future is how should we choose the projection matrix H . On the one hand, the number of rows of H inuences the complexity of multipolar since the
number of routings cannot be less than the dimension of HD. On the other hand, if the number of rows of H is too small, then the obtained routing might be very close to static routing. Another thing is that, we do not set vectors λt to specic values, but instead let them assume any values satisfying (28). In such a situation an obtained solution has to be good for all vectors in Λt , for all t ∈ D. The advantage of this approach is that the problem can still be solved using the techniques presented in Section 4.1 as mentioned above. Notice that if the set λt contains many vectors, it would be protable to nd a way to select one/some particular vectors and to 28
impose constraints (29c) and (29a) only for these selected vectors. This would probably decrease the cost wmultipolar (D). However, we should not loose the polynomial-time solvability of the separation problems.
5 Local routing While static routing is easy to implement, the other strategies described in Section 4 can be dicult to use in practice. The main diculty comes from the need to know the whole matrix before deciding which routing must be used. While it may be possible in centralized networks, it is dicult in the context of distributed networks. Then, some modications of the routing strategies of Section 4 might be necessary to overcome these diculties. One way to introduce locality is to assume that each node v is responsible for the routing of demands originating in it. The routing of a demand tvw depends only on the trac values of the other demands originating at v , i.e., {tvu , u ∈ V \ {v}}. In [11], a multi-static approach (Section 4.4) is proposed where the uncertainty set is partitioned according to time (time is supposed to be known by all network nodes). Ane routing (Section 4.5) can also be implemented in a local way. This can be done by imposing that the coecients xkh p in (24) are 0 if k and h do not share the same source. The same can be done with (21). A local version of multipolar routing can also be proposed. For each vertex v , it is possible to consider the projection Dv of the uncertainty set D over the space of trac demands having v as a source: Dv = {(tvu )u∈V\{u} : t ∈ D}. Then, a set of poles Ωv and a projection matrix H v should also be modied for each matrix such that (28) is satised for each vector of Dv .
Formulation (29) should also be modied accordingly. The problem remains polynomial if D is convex. One more local routing strategy is proposed in [86]. It is assumed that a threshold hk is given for each demand k ∈ K and two routing templates x and x are used. If tk ≤ hk then tk is routed using the template x. Otherwise, we route the volume hk using x, while the rest
of the volume, i.e., tk − hk , is routed using x. This strategy is clearly a local one and is very easy to implement. Unfortunately, it is shown in [86] that even if the thresholds, the routing templates and the reservation vectors are given, it is dicult to check whether there is a matrix t 29
belonging to a polytope D that can not be routed according to the proposed strategy. However, it is proved in [86] that the problem becomes easy to solve if we take hk = min tk for each k ∈ K. t∈D
A generalization is also proposed in [86]. Nevertheless, this generalization leads to a special case of ane routing.
6 Routing with additional requirements Most of the routing strategies described before can be considered with additional requirements. As already mentioned in Section 4.2, one can for example require that each trac demand is
routed along a single path: this is single-path routing. We can also require that a union of all used
paths induce a tree: this is tree routing. Tree routing is a special case of single-path routing. We may also require that all demands are routed along shortest paths with respect to some weights
(to be determined): this is shortest-path routing. In fact, many other technical requirements can be added leading to dierent routing strategies. Let us focus on static routing and let wstatic−tree be the optimal cost when utilized paths induce a tree. We already introduced wstatic−single in Section 4.2. When D is a symmetric hose polytope, G is undirected and capacities are innite, then it is proved in [46] that wstatic−tree = wstatic−single . In fact, we already know from [41, 49] that wstatic−tree can be easily computed. The algorithm consists in computing, for each vertex v ,
a shortest path tree rooted at v with respect to weights wa , then capacities are reserved on this tree to satisfy the matrices inside the hose polytope. A tree having the lowest cost will be the optimal tree. The result of [46] implies that an optimal static single-path routing can be computed in polynomial time. The proof is based on several previous works, particularly on the concept of pyramidal routing introduced in [45]. A generalization is proposed in [42] where the linear cost function is replaced by an increasing concave function. So it is proved that we still have wstatic−tree = wstatic−single even with this new cost function. Let us now assume that D is an asymmetric hose polytope. Many approximation algorithms are proposed to compute wstatic−single in this case. Currently, the algorithm of [35] has the best ratio of 3.39 (or more precisely 2 plus the best approximation ratio for the Steiner tree problem). If D is a balanced asymmetric hose polytope, i.e.,
out v∈V bv
P
=
in v∈V bv ,
P
then
= bin the best approximation factor becomes 2 [35]. Moreover, if we assume that bout v b , then
30
wstatic−single is easy to compute and we have wstatic−tree = wstatic−single [66]. In other words,
there is some similarity with the case where D is a symmetric hose polytope. Some other generalizations of an asymmetric hose polytope for which wstatic−single can be approximated within a xed ratio are proposed in literature. One of them is called the tree demand model where a set of feasible demands is determined by a tree with edge capacities: a demand matrix is feasible if it can be routed on the tree [67]. The mentioned paper presents a polynomial-time approximation algorithm of ratio 8 for this problem. In a general case, where D is asymmetric and G is undirected (still with innite capacities), the algorithm of A. Gupta mentioned in Section 4.2 leads to an O(log(n))-approximation algorithm for the single-path routing problem. It is proved in [67] that wstatic−single cannot be approximated within a ratio of Ω(log 1/4− n) for any > 0 under a reasonable complexity assumption. We already said in Section 4.2 that wstatic−single = O(log(n))wdynamic . Some instances where wstatic−single = Ω(log 1/4− n)wstatic are provided in [47]. They also show instances where wstatic−tree = Ω(log(n))wstatic−single and prove that wstatic−tree = O(polylog(n))wdynamic . Fur-
ther results related to this line of research can be found in [31]. In [2] a mixed-integer program is proposed to model the single-path routing problem. It roughly corresponds to model (12) with the additional requirement that the routing variables are integer. Static shortest-path routing was also studied. The case where we require that there is a unique shortest-path between extremities of each demand is studied in [12]. A limited number of trac matrices is considered there. The case where equal-cost shortest paths might be used is studied in [3, 32]. The authors prove there that the trac must be evenly split among all incident arcs to a vertex v that belong to shortest paths can be modeled using mixed integer programming. Paper [32] focuses on the hose model, while paper [3] deals with the more general polyhedral model. Since all these problems are generally dicult to solve, some heuristics are described in [32, 12].
31
7 Other robustness problems Other variants of robust optimization problems in telecommunication networks have also been studied. For example, instead of minimizing the objective function
P
wa fa , one can minimize
a∈A
the congestion dened by max fcaa . This was done in [4, 7]. It is of course easy to compute the a∈A
static routing minimizing congestion using the techniques of Section 4.1. Similarly to the ratio
wstatic wdynamic
introduced in Section 4.2, one can also compare the congestion
when static routing is used to the congestion obtained with dynamic routing. It is shown in [78] that this ratio is O(log(n)) for undirected graphs. This bound is tight in the sense that there are instances for which the ratio is about Ω(log(n)). A slightly dierent objective function is considered in [3, 9]. For each matrix t ∈ D, let Λt be the minimum congestion obtained for this matrix: Λt = max fcaa . Notice that the routing a∈A
used to get Λt depends on t. Let us now consider any static routing dened by variables x. A max
fa (t,x) ca
reasonable performance criterium is max a∈A Λt t∈D
. We wrote fa as a function of the matrix t
and the routing x to insist on the fact that it depends on t and x. The goal is then to nd a routing x minimizing the above criterium. This criterium measures how congestion increases for each matrix t compared to the best congestion that can be obtained for each matrix. While the problem seems to be more complicated, it is not dicult to prove that it can be solved in polynomial time using again the techniques of Section 4.2 [3, 9]. Lemaréchal et al. [57] consider a polytope to represent the trac uncertainty and propose a model which minimizes the cost of the maximum mismatch between capacities and demands. The resulting problem is hardly tractable and the authors propose some means to compute lower bounds (by a column generation approach) and upper bounds (using an algorithm due to Falk and Soland for maximizing a separable convex function over a polytope). Another robustness problem is considered in [6]. First, a demand is modeled by an uncertain supply vector d ∈ IRn (so a demand does not have a unique source and a unique sink). Second, it is assumed that the set of network arcs is partitioned into 2 subsets A and B . The arcs of A are considered as rst-stage arcs on which we should in advance reserve some capacities, while B contains the second-stage arcs for which the amount of reserved capacity varies and depends on the current supply vector d. Observe that there are some similarities with dynamic routing where we have rst-stage variables (the reservation vector) and second-stage variables (the routing vari32
ables). Second-stage variables can also be called recourse variables in the literature of stochastic programming. Assuming that the uncertainty set is dened according to the Bertsimas & Sim model (5), [6] proves that uncertainty can be handled eciently if the graph induced by B is either totally ordered or an arborescence. [68] considers also an uncertain demand-supply vector. Moreover, the coecients dening the objective function are also uncertain. Some simple cases where the problem can be solved in polynomial-time are exhibited in [68]. An exact algorithm is described in [26] to solve a similar problem where some demand-supply vectors are given and we want to design a network such that each demand can be routed. Paper [24] also deals with the uncertainty in an objective function. One of the results of [24] is related to minimum cost ow problems which are equivalent to the static routing problem when D contains only one matrix. They consider uncertainty in terms of the coecients of an objective function: wa belongs to an interval [la , la + ha ] and it is assumed that no more than Γ arcs can simultaneously have wa > la . This is a variation of the Bertsimas & Sim model (5). The goal is then to reserve capacities minimizing
P
la fa +
a∈A
max
P
{S:S⊆A,|S|≤Γ} a∈S
fa ha . One can easily
solve this problem using the techniques of Section 4.2. Moreover, the problem can also be solved as a network ow problem in an extended graph [24]. To close this section, let us mention one contribution of [50] related to robust routing. Here the trac matrix is known, but some uncertain delay constraints should be respected. More specically, for each demand k ∈ K and each path p ∈ P k that is eectively used to route k, the total delay through the path is modeled by
P a∈p
1 ca −fa
+ la + ˆla ζa where la and ˆla are known
constants while ζa is an uncertain coecient belonging to [−1, 1]. For a used path p, let ζ p be a vector whose components are the coecients ζa (one for each arc of p). It is assumed in [50] that ||ζ p ||2 ≤ δ for some positive constant δ in addition to the constraints ||ζ p ||∞ ≤ 1. Imposing that the total delay is less than a constant αk (i.e.,
P a∈p
1 ca −fa
+ la + ˆla ζa ≤ αk ) for each uncertain
vector ζ p can be written as a convex program by using strong duality and adding dual variables. However, it is shown in [50] that there is no need to use duality since an explicit form is given for the maximum of any linear function over the uncertainty set {ζ p : ||ζ p ||∞ ≤ 1, ||ζ p ||2 ≤ δ}.
33
8 Conclusion Due to the stochastic nature of a trac matrix in telecommunications, it is important that the used routing is robust. From our own work, we gave an overview of the approaches proposed in the literature to handle trac matrix uncertainty in routing problems. We started by presenting the various uncertainty models from the classical to the recent ones proposed in the framework of Robust Optimization. Then we discussed all the routing strategies and related problems incorporating robust uncertainty models of the trac matrix. Some variations of the main robust network optimization problem were also briey reviewed.
References [1] A. Alizadeh and D. Goldfarb. Second-order cone programming. Mathematical Programming, Ser.B 95, 3-51, 2003. [2] A. Altin, E. Amaldi, P. Belotti, and M.C. Pinar, Provisioning virtual private networks under trac uncertainty. Networks, 49(1), 100-115, 2007.
[3] A. Altin, P. Belotti, and M.C. Pinar, OSPF routing with optimal oblivious performance ratio under polyhedral demand uncertainty. Optimization
and Engineering, 11(3), 395-422,
2010. [4] D. Applegate and E. Cohen. Making intra-domain routing robust to changing and uncertain trac demands: understanding fondamental tradeos.
Proceeding of ACM SIGCOMM,
2003. [5] G. Ash. Dynamic
routing in telecommunications networks, McGraw-Hill, 1998.
[6] A. Atamtürk and M. Zhang. Two-stage robust network ow and design under demand uncertainty. Operations
Research, 55, 662-673, 2004.
[7] Y. Azar, E. Cohen, A. Fiat, H. Kaplan, and H. Racke. Optimal oblivious routing in polynomial time. Proceedings
of the 35th ACM Symposium on the Theory of Computing, 2003.
[8] F. Babonneau, O. Klopfenstein, A. Ouorou, and J.-P. Vial. Robust capacity expansion solutions for telecommunications networks with uncertain demands. Technical paper, Orange
Labs R&D, 2009. 34
[9] P. Belotti and M.C. Pinar. Optimal oblivious routing under linear and ellipsoidal uncertainty.
Optimization and Engineering, 9, 257-271, 2008.
[10] W. Ben-Ameur and H. Kerivin. Routing of uncertain demands. Proceedings of Informs, 2001. [11] W. Ben-Ameur. Between fully dynamic routing and robust stable routing.
DRCN, 2007.
Proceedings of
[12] W. Ben-Ameur. Multi-hour design of survivable classical IP networks, International Journal
of Communication Systems, 15, 553-572, 2002.
[13] W. Ben-Ameur and H. Kerivin. New economical virtual private networks.
of the ACM, 46(6), 69-73, 2003.
[14] W. Ben-Ameur and H. Kerivin. Routing of uncertain trac demands.
Engineering, 6(3), 283-313, 2005.
Communication
Optimization and
[15] W. Ben-Ameur, P. Pavon-Marino, and M. Pióro. On trac domination in communication networks. Proceedings
of Performance evaluation of computer and communication systems: milestones and future challenges, 2010.
[16] W. Ben-Ameur and M. otkiewicz. Robust routing and optimal partitioning of a trac demand polytope. International Transactions in Operational Research, 18(3), 307-333, 2011.
[17] W. Ben-Ameur and M. otkiewicz. Multipolar routing.
Technical Report, 2011.
[18] A. Ben-Tal, A. Goryashko, E. Guslitzer, and A. Nemirovski. Adjustable robust solutions of uncertain linear programs.
Mathematical Programming , 99(2), 351-376, 2004.
[19] A. Ben-Tal, L. El Ghaoui, and A. Nemirovski. Robust Optimization. Princeton University Press, 2009. [20] A. Ben-Tal and A. Nemirovski. Robust solutions of uncertain linear programs. Operations
Research Letters, 25, 1-13, 1999. [21] A. Ben-Tal and A. Nemirovski. Robust convex optimization. Mathematics of Operations
Research, 23, 769-805, 1998. [22] D. Bertsekas and R.G. Gallager. Data
Networks. Prentice-Hall, 1987. 35
[23] D. Bertsimas and M. Sim. The price of robustness. Operations Research, 52(1), 35-53, 2004. [24] D. Bertsimas and M. Sim. Robust discrete optimization and network ows.
Mathematical
Programming, 98, 49-71, 2003. [25] J.R. Birge and F. Louveaux. Introduction do stochastic programming. Springer-Verlag, 1997. [26] C. Buchheim, F. Liers, and L. Sanità. An exact algorithm for robust network desing. Proceeding of INOC, 2011. [27] T. Carpenter, D. Heyman, and I. Saniee. Studies of random demands on network costs.
Telecommunication Systems, 10, 409-421, 1998.
[28] P. Casas, F. Larroca, J-L. Rougier, and S. Vaton. Robust routing vs dynamic load-balancing a comprehensive study and new directions. Proceedings
of DRCN, 2009. [29] A. Charnes and W.W. Cooper. Chance constrained programming. Management Science, 6, 73-89, 1959.
[30] C. Chekuri, G. Oriolo, M.G. Scutella, and F.B. Shepherd, Hardness of robust network design.
Networks, 50(1), 50-54, 2007.
[31] C. Chekuri. Routing and network design with robustness to changing or uncertain trac demands. SIGACT
News, 38(3), 106-129, 2007.
[32] J. Chu and C.T. Lea. Optimal link weights for IP-based networks supporting hose-model VPNs. IEEE/ACM
Transactions on Networking, 17(3), 778-788, 2009. [33] G.B. Dantzig. Linear programming under uncertainty. Management Science, 1(3-4), 197-206, 1956. [34] N.G. Dueld, P. Goyal, A. Greenberg, P. Mishra, K.K. Ramakrishnan, and J.E. van der Merwe. A exible model for resource management in virtual private networks.
ACM SIGCOMM, 1998.
Proceedings
[35] F. Eisenbrand, F. Grandoni, G. Oriolo, and M. Skutella. New approaches for virtual private network design. SIAM
journal on computing, 37(3), 706-721, 2007.
[36] L. El Ghaoui and H. Lebret. Robust solutions to least-square problems to uncertain data matrices. SIAM
Journal of Matrix Analysis and Applications, 18, 1035-1064, 1997. 36
[37] A. Elwalid, C. Jin, S. Low, and I. Widjaja. Mate: MPLS adaptive trac engineering.
Proceedings of IEEE INFOCOM, 2001.
[38] T. Erlebach and G. Ruegg. Optimal bandwidth reservation in hose-model vpns with multipath routing.
Proceedings of IEEE INFOCOM, 2004.
[39] A. Feldmann, A.C. Gibert, P. Huang, and W. Willinger. Dynamics of IP trac: a study of the role of variability and the impact of control. Proceedings
ACM SIGCOMM, 1999.
[40] A. Feldmann, A. Greenberg, C. Lund, N. Reingold, J. Rexford, and F. True. Deriving trac demand for operational IP networks: methodology and experience.
tions on Networking, 9, 265-279, 2001.
IEEE/ACM Transac-
[41] A.J. Fingerhut, S. Suri, and J. Turner. Designing least-cost nonblocking broadband networks.
Journal of Algorithms, 24(2), 287-309, 1997.
[42] S. Fiorini, G. Oriolo, L. Sanità, and D. O. Theis. The VPN Problem with concave costs.
SIAM Journal on Discrete Mathematics, 24(3), 1080-1090, 2010.
[43] B. Fortz, M. Labbé, and M. Poss. A branch-and-cut-and-price framework for convex MINLP
applied to a stochastic network design problem. Proceedings of European Workshop on Mixed
Integer Nonlinear Programming, 2010.
[44] A. Frangioni, F. Pascali, and M.G. Scutellà. Static and dynamic routing under disjoint dominant extreme demands. Operations
Research Letters, 39, 36-39, 2011.
[45] F. Grandoni, V. Kaibel, G. Oriolo, and M. Skutella. A short proof of the VPN tree routing conjecture on ring networks. Operations
Research Letters, 36(3), 361-365, 2008.
[46] N. Goyal, N. Olver, and F.B. Shepherd. The VPN conjecture is true.
Proceedings of STOC,
2008. [47] N. Goyal, N. Olver, and F.B. Shepherd. Dynamic vs. oblivious routing in network design.
Algorithms - ESA 2009 (LNCS), 5757, 277-288, 2009.
[48] A. Gunnar and M. Johansson. Robust load balancing under trac uncertainty-tractable models and ecient algorithms.
Telecommunication Systems, 2010 (published online). 37
[49] A. Gupta, J. Kleinberg, A. Kumar, R. Rastogi, and B. Yener. Provisioning a virtual private network: a network design problem for multicommodity ows. Proceedings
of ACM STOC,
2001. [50] H. Hijazi. Mixed-integer nonlinear optimization approaches for network design in telecommunications. Ph.D
Thesis, Université de Marseille, 2010.
[51] H. Hijazi and O. Klopfenstein. Optimal routing for minimizing the maximal link congestion.
Electronic Notes in Discrete Mathematics, 36, 1145-1152, 2010.
[52] P. Kall and S.W. Wallace. Stochastic [53] L. Kleinrock. Communication Nets:
Programming, 2nd edition. John Wiley & Sons, 1994.
Stochastic Message Flow and Delay. McGraw-Hill, 1964.
[54] O. Klopfenstein. Single-path routing of stochastic ows in networks.
Letters, 39, 92-98, 2011.
Operations Research
[55] A.M.C.A. Koster, M. Kutschka, and C. Raack. Towards robust network design using integer linear programming techniques. Proceedings
of NGI, 2010.
[56] P. Kouvelis and G. Yu, Robust Discrete Optimization and its Applications, Kluwer Academic Publshers, 1997. [57] C. Lemaréchal, A. Ouorou, and G. Petrou. Robust network design in telecommunications under polytope demand uncertainty.
European Journal on Operational Research, 206, 634-
641, 2010. [58] A. Lisser, A. Ouorou, J-P. Vial, and J. Gondzio. Capacity planning under uncertain demand in telecommunication networks. Technical
Note, France Telecom R&D, 1999.
[59] D. Lorenz and A. Orda. QoS routing in networks with uncertain parameters.
Transactions on Networking, 6, 768-778, 1998.
IEEE/ACM
[60] S. Mattia. The robust network loading problem with dynamic routing. Technical Report n3, University di Roma, 2010. [61] K. Meesublak. Network design under demand uncertainty.
Advanced Network Meeting, 2008.
38
Proceedings of the Asia-Pacic
[62] K. Meesublak. Network design under demand uncertainty. Ph.D Thesis, University of Pittsburgh, 2007. [63] M. Minoux. Robust network optimization under polyhedral demand uncertainty is NP-hard.
Discrete Applied Mathematics, 158, 597-603, 2010.
[64] J.M. Mulvey, R.J. Vanderbei, and S.A. Zenios. Robust optimization of large-scale systems.
Operations Research, 43(2), 264-281, 1995.
[65] M. Nabe, M. Murata, and H. Miyahara. Analysis and modeling of world wide web trac for capacity dimensioning of internet access lines. Performance
Evaluation, 34, 249-271, 1998.
[66] N.K. Olver. Robust network design. Phd [67] N. Olver and F.B. Shepherd.
ACM-SIAM SODA, 2010.
Thesis, McGill University, Montreal, 2010. Approximability of robust network design. Proceedings of
[68] F. Ordonez and J. Zhao. Robust capacity expansion of network ows.
Networks, 50(2),
136-145, 2007. [69] G. Oriolo. Domination between trac matrices. Mathematics of Operations Research, 33(1), 91-96, 2008. [70] A. Ouorou. Robust capacity assignment in telecommunications. Computational Management
Science, 3(4), 285-305, 2006.
[71] A. Ouorou and J-Ph. Vial. A model for robust capacity planning for telecommunications under demand uncertainty. Proceedings
of DRCN, 2007.
[72] A. Ouorou. Tractable approximations to a robust capacity assignment model in telecommunications under demand uncertainty. 2010, submitted. [73] F. Pascali. Chance constrained network design. PhD thesis, Doctorate School in Mathematics for Economic Decisions, 2009. [74] P. Pavón Marino and M. Pióro. On total trac domination in non-complete graphs. Oper-
ations Research Letters, 39, 40-43, 2011.
[75] P. Pavón-Marino, B. Garcia-Manrubia, and R. Aparicia-Pardo. Multi-hour network planning based on domination between sets of trac matrices. Computer 39
Networks, 55(3), 2011.
[76] G. Petrou, C. Lemaréchal, and A. Ouorou. An approach to robust network design in telecommunications. RAIRO-Operations
Research, 41(4), 411-426, 2007.
[77] M. Poss and C. Raack. Ane recourse for the robust network design problem: between static and dynamic routing. Technical
report, ZIB-Report 11-03, 2011.
[78] H. Räcke. Optimal hierarchical decompositions for congestion minimization in networks.
Proceedings of STOC, 2008.
[79] G. Sagnol. Plans d'expériences optimaux et application à l'estimation des matrices de trac dans les grands réseaux. Phd
Thesis, Mines ParisTech, 2010.
[80] M.G. Scutellà. On improving optimal oblivious routing.
Operations Research Letters, 37(3),
197-200, 2009. [81] S. Sen, R.D. Doverspike, and S. Cosares. Network planning with random demand. Telecom-
munication Systems, 3, 11-30, 1994.
[82] A.L. Soyster. Convex programming with set-inclusive constraints and applications to inexact linear programming. Operations
Research, 21(5), 1154-1157, 1973.
[83] K. Thomson, G.J. Miller, and R. Wilder. Wide-area internet trac patterns and characteristics. IEEE
Network, 11(6), 10-23, 1997.
[84] Y. Vardi. Network tomography: estimating source-destination trac intensities from link data. Journal
of the American Statistical Association, 91, 365-377, 1996.
[85] M. otkiewicz and W. Ben-Ameur. More adaptive robust stable routing.
GLOBECOM, 2010.
Proceedings of
[86] M. otkiewicz and W. Ben-Ameur. Volume-oriented routing and its modications. Telecom-
munication Systems, published online.
40