This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Toward Scalable Algorithms for the Unsplittable Shortest Path Routing Problem

Amal Benhamiche Data &\& Artificial Intelligence,
Orange Labs,
Châtillon, France,
[email protected]
   Morgan Chopin Data &\& Artificial Intelligence,
Orange Labs,
Châtillon, France,
[email protected]
Abstract

In this paper, we consider the Delay Constrained Unsplittable Shortest Path Routing problem which arises in the field of traffic engineering for IP networks. This problem consists, given a directed graph and a set of commodities, to compute a set of routing paths and the associated administrative weights such that each commodity is routed along the unique shortest path between its origin and its destination, according to these weights. We present a compact MILP formulation for the problem, extending the work in [5] along with some valid inequalities to strengthen its linear relaxation. This formulation is used as the bulding block of an iterative approach that we develop to tackle large scale instances. We further propose a dynamic programming algorithm based on a tree decomposition of the graph. To the best of our knowledge, this is the first exact combinatorial algorithm for the problem. Finally, we assess the efficiency of our approaches through a set of experiments on state-of-the-art instances.

Index Terms:
Traffic engineering, IP networks, Mixed Integer Linear Programming, Dynamic Programming, Treewidth, Algorithms

I Introduction

In spite of the promises of the MPLS111MultiProtocol Label Switching forwarding scheme, most IP networks still heavily rely on shortest path rules where weights are assigned to links by network administrators and the routers are then able to compute shortest routing paths [14]. At the same time, the growing interest for content and user services driving even more traffic stresses the need to optimize the utilization of the available resources and maintain a high level of QoS on operational networks. On another hand, the arising of Network Virtualization will be a key enabler for the deployment of virtualized components capable of performing efficient path computation on behalf of the routers, thus allowing the optimization of operational IP networks. This perspective change draws again the traffic engineering community’s attention to classical problems related to IP network optimization and raises the question of finding effective algorithms allowing to solve those problems for large scale networks.

The problem of finding routing weights inducing shortest paths that minimize the network congestion has been widely studied in the literature for both its splittable and unsplittable versions. Some early works addressing shortest path routing issues in an IP network optimization include [6]. The authors of this paper study the problem of designing a survivable VPN-based network using OSPF222Open Shorest Path First routing protocol and propose a compact MILP formulation and several heuristics to solve the problem. In [9], the authors investigate the OSPF weights optimization problem with splittable traffic and a piecewise approximation of the load function. They show that the problem is NP-hard for a given set of demands and provide a local search heuristic to solve it. The problem is also shown NP-hard to approximate for both splittable and unsplittable versions (see [9] and [3]). The authors in [1] and [2] adress the unsplittable shortest path routing problem and study the properties of path sets that induce shortest path routing with compatible weights. Approaches based on Mixed Integer Linear programming for the problem include the work in [13], [5], [4]. In particular, compact formulations are proposed in [13] and [5] for the splittable version of the problem. Bley propose in [5] the so-called two-phase algorithm, an exact approach based on a decomposition of the problem into a master subproblem and a client subproblem. The former subproblem generates routing paths while the latter returns compatible weights if any, or conflict inequalities forbidding incompatible routing paths otherwise.

In this paper, we consider a variant of the Unsplittable Shortest Path Routing (USPR) problem with end-to-end delay constraints motivated by practical QoS requirements for the traffic. Our work extends the results proposed by [5] and [4]. Our main contributions are (i)(i) a compact MILP formulation for the problem along with two classes of valid inequalities to strengthen its linear relaxation, (ii)(ii) a MILP-based heuristic that iteratively reroutes a portion of the traffic fixed by the decision-maker and reduces the network load and (iii)(iii) a dynamic programming algorithm based on a tree decomposition of the graph. To the best of our knowledge, this is the first exact combinatorial algorithm for the problem.

Our algorithms are designed with the two following objectives

  • \bullet

    scalability: they can be used to push back the limits of existing approaches for the problem in terms of size of instances treated,

  • \bullet

    flexibility: they can be parameterized to provide solutions that modify only part of the traffic routing, which is highly desirable in practice.

In addition, they can be either integrated in a centralized entity capable of computing intra-domain routing strategies that optimize the network load like a Path Computation Element (PCE) or SDN controller, or used as an off-line tool by the decision-makers for network planning operations.

The remainder of the paper is organized as follows. Section II is devoted to preliminaries and basic definitions. In Section III, we introduce some necessary notations and give a formal definition of the problem along with a compact MILP formulation. We further present two families of inequalities valid for the problem. We describe our MILP-based iterative solving approach in Section V and a dynamic programming algorithm in Section VI. Finally, Section VII is devoted to present some early experiments to show the efficiency of our algorithms for state-of-the-art instances while some concluding remarks are given in Section VIII.

II Preliminaries

In this section, we give the graph notations and notions used throughout this paper

Graph terminology

Let G=(V,A)G=(V,A) be a (un)directed graph. We also use the notation V(G)V(G) and A(G)A(G) (resp. E(G)E(G)) to denote the vertex set and arcs set (resp. edges set) of GG respectively Let XVX\subseteq V, we denote by G[X]G[X] the subgraph of GG induced by XX. We denote by N(v)N(v) the set of adjacent vertices of vv and δ+(v)\delta^{+}(v) (resp. δ(v)\delta^{-}(v)) the set of outgoing (resp. ingoing) arcs of vv. A path or v1vv_{1}v_{\ell}-path is a sequence of vertices v1v2vv_{1}-v_{2}-\ldots-v_{\ell} such that vivi+1Av_{i}v_{i+1}\in A for each i=1,,1{i=1,\ldots,\ell-1}. If no vertices appear more than once in a path then it is elementary. The two vertices v1v_{1} and vv_{\ell} are the endpoints of the path and the others are called internal vertices. A subpath is defined as any subsequence vjvj+1vj+kv_{j}-v_{j+1}-\ldots-v_{j+k} for some jj and kk. Unless stated otherwise, all the paths considered in this paper are elementary. We use the notation p[vi,vj]p[v_{i},v_{j}] to denote a subpath of pp with viv_{i}, vjv_{j} being any two vertices of pp. We denote by 𝒫(G)\mathcal{P}(G) the set of all elementary path in GG.

We say that GG is bidirected if uvAuv\in A and vuAvu\in A for all u,vVu,v\in V. The underlying undirected graph GuG^{u} of GG is the undirected graph obtained from GG by taking the same set of vertices, and with the set of edges defined as follows. There is an edge between any pair of vertices uu and vv, if the directed graph has an arc uvuv or vuvu.

Tree decomposition and treewidth

A tree decomposition 𝒯=(T,)\mathcal{T}=(T,\mathcal{B}) of an undirected graph G=(V,E)G=(V,E) consists of a tree T=(X,F)T=(X,F) with node set XX and edge set FF, and a set 2V\mathcal{B}\subseteq 2^{V} whose members BxB_{x}\in\mathcal{B}, called bags, are labeled with the node xXx\in X, such that the following conditions are met:

  1. 1.

    xXBx=V\bigcup_{x\in X}B_{x}=V.

  2. 2.

    For each uvEuv\in E there is an xXx\in X with u,vBxu,v\in B_{x}.

  3. 3.

    For each vVv\in V, the node set {xX:vBx}\{x\in X:v\in B_{x}\} induces a subtree of TT.

The third condition is equivalent to assuming that if vBxv\in B_{x^{\prime}} and vBx′′v\in B_{x^{\prime\prime}} then vBxv\in B_{x} holds for every node xx of the (unique) xx′′x^{\prime}x^{\prime\prime}-path in TT. The width of a tree decomposition 𝒯\mathcal{T} is w(𝒯)=maxxX|Bx|1w(\mathcal{T})=\max_{x\in X}|B_{x}|-1 and the treewidth of GG is defined as tw(G)=min𝒯w(𝒯)\operatorname*{tw}(G)=\min_{\mathcal{T}}w(\mathcal{T}) where the minimum is taken over all tree decompositions 𝒯=(T,)\mathcal{T}=(T,\mathcal{B}) of GG. The “1-1” in the definition of w(𝒯)w(\mathcal{T}) is included for the convenience that trees have treewidth 11 (rather than 22).

Any tree decomposition 𝒯=(T,)\mathcal{T}=(T,\mathcal{B}) of a graph can be transformed in linear time into a so-called nice tree decomposition 𝒯=(T,)\mathcal{T}^{\prime}=(T^{\prime},\mathcal{B}^{\prime}) with w(𝒯)=w(𝒯)w(\mathcal{T}^{\prime})=w(\mathcal{T})||=O(||)|\mathcal{B}^{\prime}|=O(|\mathcal{B}|) and with BxB_{x}\neq\emptyset for all BxB_{x}\in\mathcal{B} where TT^{\prime} is a rooted tree satisfying the following conditions (see [12] for more details):

  1. 1.

    Each node of TT^{\prime} has at most two children.

  2. 2.

    For each node xx with two children y,zy,z, we have By=Bz=BxB_{y}^{\prime}=B_{z}^{\prime}=B_{x}^{\prime} (xx is called join node) with Bx,By,BzB_{x}^{\prime},B_{y}^{\prime},B_{z}^{\prime}\in\mathcal{B}^{\prime}.

  3. 3.

    If a node xx has just one child yy, then BxByB_{x}^{\prime}\subset B_{y}^{\prime} (xx is called forget node) or ByBxB_{y}^{\prime}\subset B_{x}^{\prime} (xx is called insert node) and ||Bx||By||=1||B_{x}^{\prime}|-|B_{y}^{\prime}||=1 with Bx,ByB_{x}^{\prime},B_{y}^{\prime}\in\mathcal{B}^{\prime}.

One can see that the subtree TxT_{x} of TT rooted at node xx represents the subgraph GxG_{x} induced by precisely those vertices of GG which occur in at least one ByB_{y} where yy runs over the nodes of TxT_{x}. When the graph is directed, the tree decomposition applies for the underlying undirected graph.

Parameterized complexity

The parameterized complexity theory is a framework that provides a new way to express the computational complexity of optimization problems. We briefly recall here the main ideas behind this theory, the reader is referred to [8] for more background on this subject. A problem parameterized by kk is called fixed-parameter tractable (fpt) if there exists an algorithm, called an fpt algorithm, that solves it in time f(k)nO(1)f(k)\cdot n^{O(1)} (fpt-time) where nn is the size of the input. The function ff is typically super-polynomial and only depends on kk. In other words, the combinatorial explosion is confined into ff. If the values of kk are small in practice, then the algorithm adopts a polynomial behavior.

III Description of the problem

III-A Notations and definitions

In terms of graphs, the problem can be presented as follows. We consider given a bidirected graph GG = (VV, AA) that represents an IP network topology. Every node vVv\in V corresponds to a router while an arc aa = uvAuv\in A represents a logical link between router nodes uu and vv. Every arc uvuv is associated a capacity (bandwidth) denoted by cuvc_{uv}\geqslant 0 and a latency value denoted δuv\delta_{uv}\geqslant 0. We let KK denote a set of commodities (traffic demands) to be routed over the graph GG. Every commodity kk is defined by a pair (sks^{k}, tkt^{k}) with sks^{k}, tkt^{k} being the origin and destination of kk, respectively, along with the traffic volume DkD^{k}\geqslant 0 to be routed from sts^{t} to tkt^{k} and a a maximum delay value Δk\Delta^{k}\geqslant 0.

Definition 1 (Partial routing (sub)path)

A partial routing path for a commodity kKk\in K in a graph GG is a pair (p,k)(p,k) denoted by pkp^{k} where pp is a path. A partial routing subpath of pkp^{k} is a routing path qkq^{k} such that qq is a subpath of pp.

Definition 2 (Complete routing path)

A routing path pkp^{k} is said to be complete for a commodity kKk\in K in a graph GG if the endpoints of pp are exactly the origin and destination of kk.

Definition 3 (Routing configuration)

A routing configuration for a set of commodities KK in a graph GG is a subset RG,K{pk:p𝒫(G),kK}R_{G,K}\subseteq\{p^{k}:p\in\mathcal{P}(G),k\in K\} of routing paths.

The set of all possible routing configurations of KK in GG is denoted by (G,K)\mathcal{R}(G,K).

Definition 4 (Feasible routing configuration)

A routing configuration R(G,K)R\in\mathcal{R}(G,K) is said to be feasible if there exists a weight function w:A+w:A\to\mathbb{Z}_{+} such that (i)(i) for each pkR{p^{k}\in R} the path pp is the unique shortest path between its endpoints according to ww and (ii)(ii) the delay constraint is satisfied i.e pkRuvpδuvΔk\sum_{p^{k}\in R}\sum_{uv\in p}\delta_{uv}\leqslant\Delta^{k}.

Definition 5 (Complete routing configuration)

A routing configuration R(G,K)R\in\mathcal{R}(G,K) is said to be complete if it is feasible and there exists a (necessarily unique) complete routing path in RR for each kKk\in K.

Definition 6 (Conflicting paths)

Two paths p1p_{1} and p2p_{2} are said to be conflicting if they share two vertices uu and vv and p1[u,v]p2[u,v]p_{1}[u,v]\neq p_{2}[u,v] with p1[u,v]p_{1}[u,v]\neq\emptyset and p2[u,v]p_{2}[u,v]\neq\emptyset. Otherwise, they are said to satisfy Bellman property.

Finally, we provide the following two metrics:

Definition 7 (Load)

The load load(R,u,v)\mbox{{load}}(R,u,v) of an arc uvA{uv\in A} given a routing configuration R(G,K){R\in\mathcal{R}(G,K)} is defined as

load(R,u,v)=1cuvpkR:uvpDk\mbox{{load}}(R,u,v)=\displaystyle{\frac{1}{c_{uv}}\sum_{p^{k}\in R:uv\in p}D^{k}}

The load is the ratio between the total flow that goes through an arc and the arc’s capacity.

Definition 8 (Congestion)

The congestion cong(R)\mbox{{cong}}(R) of a routing configuration R(G,K)R\in\mathcal{R}(G,K) is defined as

cong(R)=maxuvAload(R,u,v)\mbox{{cong}}(R)=\displaystyle{\max_{uv\in A}\mbox{{load}}(R,u,v)}

The congestion is then the maximum load over all arcs.

III-B Properties

In this section, we will state two lemmas that will be useful in the rest of the paper.

Lemma 1

Let R(G,K)R\in\mathcal{R}(G,K) if RR is feasible then it contains no conflicting routing paths.

Proof:

Suppose, on the contrary, that RR is feasible and yet contains two routing paths p1k,p2kp_{1}^{k},p_{2}^{k^{\prime}} such that they share two vertices uu and vv and p1[u,v]p2[u,v]p_{1}[u,v]\neq p_{2}[u,v] with p1[u,v]p_{1}[u,v]\neq\emptyset and p2[u,v]p_{2}[u,v]\neq\emptyset. Since RR is feasible then there exists a weight function such that p1p_{1} (resp. p2p_{2}) is the unique shortest path between its endpoints with respect to ww. By the Bellman principle, the subpath p1[u,v]p_{1}[u,v] is a shortest between uu and vv. For the same reason, the subpath p2[u,v]p_{2}[u,v] is a shortest between uu and vv which is different from p1[u,v]p_{1}[u,v] by assumption. Hence, there are two different shortest paths to join the endpoints, denoted ss and tt, of p1p_{1} i.e the path p1p_{1} itself and the one formed by the subpaths p1[s,u]p_{1}[s,u]p2[u,v]p_{2}[u,v] and p1[v,t]p_{1}[v,t]. This contradicts the unicity of p1p_{1}. ∎

The next lemma shows that feasibility can checked in polynomial time.

Lemma 2 (Benameur and Gourdin [1])

Determining whether a routing configuration is feasible and returning the corresponding weight function, if any, can be done in polynomial time.

III-C Problem statement

We are now in position to state the problem studied in this paper. The Delay Constrained Minimum Congestion (D-USPR) problem is to find a set of weights to assign to the arcs of GG and a set of routing paths induced by those weights such that (i)(i) there is a unique shortest path satisfying the delay constraints for each commodity according to the identified weights and (ii)(ii) the network congestion is minimum. Formely, the problem is defined as follows.

D-USPR

Input: A bidirected graph G=(V,A,c,δ)G=(V,A,c,\delta) where each arc uvAuv\in A has a capacity value cuv0c_{uv}\geqslant 0 and a latency value δuv0\delta_{uv}\geqslant 0, a set KK of commodities where each commodity kKk\in K is defined as (sk(s^{k}, tkt^{k}, DkD^{k}, Δk)\Delta^{k}).

Output: A complete routing configuration RG,KR_{G,K} with minimum congestion value.

In this paper, we will also make use of this slightly more general version of the above problem

Pre Routed D-USPR

Input: A bidirected graph G=(V,A,c,δ)G=(V,A,c,\delta) where each arc uvAuv\in A has a capacity value cuv0c_{uv}\geqslant 0 and a latency value δuv0\delta_{uv}\geqslant 0, a set KK of commodities partitioned into two sets KfreeK_{free} (free demands) and KfixedK_{fixed} (fixed demands) and a complete routing configuration RG,KfixedR_{G,K_{fixed}}.

Output: A complete routing configuration RG,KfreeR_{G,K_{free}} such that RKfreeRKfixedR_{K_{free}}\cup R_{K_{fixed}} is feasible and has minimum congestion value.

Observe that if Kfixed=K_{fixed}=\emptyset, we end up with the D-USPR problem.

It is worth noting that, even if they look similar at first glance, the Edge Disjoint Paths (edp) problem (resp. Node Disjoint Paths (ndp) problem) is not a particular case of D-USPR with unit demands and unit capacities (see Fig. 1). Recall that the edp (resp. ndp) problem asks, given an undirected graph and a set of kk demands, to find kk edge-disjoint (resp. node-disjoint) paths joining the demands. Consequently, the negative and positive results for edp or ndp do not directly transfer to D-USPR.

bacedfbaced
Figure 1: In the graph on the left, the two paths acdf{a-c-d-f} and bcef{b-c-e-f} form the unique valid solution for the Edge Disjoint Paths problem where the demands are (b,f)(b,f) and (a,f)(a,f). However, this is not a feasible routing configuration since these two paths are conflicting. In the graph on the right, it is not possible to find two node-disjoint paths satisfying the demands (b,e)(b,e) and (a,d)(a,d), yet it is easy to see that the routing paths acda-c-d and bceb-c-e form a feasible routing configuration.

IV MILP formulation

IV-A Notations and formulation

Let xakx^{k}_{a} be a binary variable that takes the value 1 if commodity kk is routed along a path using arc aa and 0 otherwise. We define the binary variables uatu^{t}_{a} that takes the value 1 if aa belongs to a shortest path towards destination tt and 0 otherwise. We further let wuvw_{uv} denote the weight assigned to the arc uvuv and ruvr^{v}_{u} be the potential of node uu, that is the distance between node uu and node vv. The D-USPR problem is then equivalent to the following MILP formulation:

minL\displaystyle\min L (1)
s.t.\displaystyle s.t. aδ+(v)xakaδ(v)xak={1if v=sk,1if v=tk,0otherwise.vV,kK,\displaystyle\sum_{a\in\delta^{+}(v)}x^{k}_{a}-\sum_{a\in\delta^{-}(v)}x^{k}_{a}=\left\{\begin{array}[]{ll}1&\mbox{if $v=s^{k}$,}\\ -1&\mbox{if $v=t^{k}$,}\\ 0&\mbox{otherwise.}\end{array}\right.\begin{array}[]{l}\forall v\in V,\\ \forall k\in K,\end{array} (7)
kKDkxakcuvL,aA,\displaystyle\sum_{k\in K}D^{k}x^{k}_{a}\leqslant c_{uv}L,\forall a\in A, (8)
aAδaxakΔk,kK,\displaystyle\sum_{a\in A}\delta_{a}x^{k}_{a}\leqslant\Delta^{k},\forall k\in K, (9)
aδ+(v)uat1,vV,tT,\displaystyle\sum_{a\in\delta^{+}(v)}u^{t}_{a}\leqslant 1,\forall v\in V,\forall t\in T, (10)
xakuatk,aA,kK,\displaystyle x^{k}_{a}\leqslant u^{t^{k}}_{a},\forall a\in A,\forall k\in K, (11)
uatkK,tk=txak,aA,tT,\displaystyle u^{t}_{a}\leqslant\sum_{k\in K,t^{k}=t}x^{k}_{a},\forall a\in A,\forall t\in T, (12)
wuvrut+rvt1uuvt,uvA,tT,\displaystyle w_{uv}-r^{t}_{u}+r^{t}_{v}\geqslant 1-u^{t}_{uv},\forall uv\in A,\forall t\in T, (13)
wuvrut+rvtM(1uuvt),uvA,tT,\displaystyle w_{uv}-r^{t}_{u}+r^{t}_{v}\leqslant M(1-u^{t}_{uv}),\forall uv\in A,\forall t\in T, (14)
xak{0,1},kK,aA,\displaystyle x^{k}_{a}\in\{0,1\},\forall k\in K,\forall a\in A, (15)
uat{0,1},aA,tT,\displaystyle u^{t}_{a}\in\{0,1\},\forall a\in A,\forall t\in T, (16)
wuv0,uvA,\displaystyle w_{uv}\geqslant 0,\forall uv\in A, (17)
ruv0,u,vV×V.\displaystyle r^{v}_{u}\geqslant 0,\forall u,v\in V\times V. (18)

The objective (1) is to minimize the load of the most loaded link, denoted LL. Inequalities (7) ensure that a unique path is associated to each commodity kk and (8) express the load over an arc aa. Inequalities (9) are the delay constraints over the routing paths while (10) and (11)-(12) are anti-arborescence and linking constraints, respectively. In particular, inequalities (10) ensure that there is at most one path traversing any node vv towards a given destination tT{t\in T}, which is necessarily implied by Bellman property. Constraints (13) and (14) guarantee that the weight of any arc used by a shortest path towards a destination tt corresponds to the difference of potentials between the end nodes of this arc and larger otherwise. Finally, (15)-(18) are the trivial and integrity constraints.

Proposition 1

The formulation (7)-(16) is valid for the D-USPR problem.

Proof:

It is easy to see that any solution of D-USPR satisfies inequalities (7)-(16). To show the converse, let (x,u,w,r)(x,u,w,r) denote a solution of (7)-(16) and consider two sets, say QkQ^{k} and StS^{t} defined as follows: QkQ^{k} = {aA:xak=1}\{a\in A:x^{k}_{a}=1\}, for each kKk\in K, with QQ = kKQk\cup^{k\in K}Q^{k} and StS^{t} = {aA:uat=1}\{a\in A:u^{t}_{a}=1\}, for every tTt\in T. Since x{0,1}K×Ax\in\{0,1\}^{K\times A} satisfies the flow conservation constraints (7), QkQ^{k} clearly contains a unique routing sktks^{k}t^{k}-path for commodity kk, which by (9) also satisfies the delay constraints. Inequalities (7), (10), (11) and (12) ensure that the elements of StS^{t} form an anti-arborescence rooted at destination tt and consequently, contains paths that satisfy Bellman property. Moreover, since w+w\in\mathbb{R}^{+} and r+r\in\mathbb{R}^{+} satisfy inequalities (13) and (14), every set QkQ^{k}, kKk\in K, consists of arcs which are tight with respect to the weights ww, thus containing a shortest sktks^{k}t^{k}-path.

Now suppose that there are two conflicting paths in QQ, say p1p^{1} and p2p^{2} and let s1t1s^{1}t^{1} and s2t2s^{2}t^{2} be their respective endpoints. Denote by uu and vv two internal nodes of p1p^{1} and p2p^{2} such that p1[u,v]p2[u,v]p^{1}[u,v]\neq p^{2}[u,v]. Further assume that

vivjp1wvivj=uiujp2wuiuj,\sum_{v_{i}v_{j}\in p^{1}}w_{v_{i}v_{j}}=\sum_{u_{i}u_{j}\in p^{2}}w_{u_{i}u_{j}},

then the inequalities (13) and (14) with t{t1,t2}t\in\{t_{1},t_{2}\} summed over vivjp1[u,v]v_{i}v_{j}\in p^{1}[u,v] and uiujp2[u,v]u_{i}u_{j}\in p^{2}[u,v] yields a contradiction. Consequently, every stst-path used for routing is a unique shortest path according to the weights ww and hence (x,u,w,r)(x,u,w,r) is a solution of the D-USPR problem. ∎

IV-B Valid inequalities

In what follows, we present two families of inequalities valid for the D-USPR problem.

(i) Subpath consistency constraints

The first family is the so-called subpath consistency constraints and has been introduced in different versions in

Proposition 2 ([4])

The following inequalities

xas,vxas,t+eδ(v)xes,t1,(s,t),(s,v)K,aA,x^{s,v}_{a}-x^{s,t}_{a}+\sum_{e\in\delta^{-}(v)}x^{s,t}_{e}\leqslant 1,\quad\forall(s,t),(s,v)\in K,\forall a\in A, (19)
xav,txas,t+eδ(v)xes,t1,(s,t),(v,t)K,aA,x^{v,t}_{a}-x^{s,t}_{a}+\sum_{e\in\delta^{-}(v)}x^{s,t}_{e}\leqslant 1,\quad\forall(s,t),(v,t)\in K,\forall a\in A, (20)

are valid for the D-USPR problem.

Those inequalities ensure that two paths p1p^{1}, p2p^{2} with a common endpoint viVv_{i}\in V, that intersect at a second node vjv_{j} are necessarily such that p1[vi,vj]p^{1}[v_{i},v_{j}] = p2[vi,vj]p^{2}[v_{i},v_{j}]. In other words, any pair of commodities having the same origin (respectively destination) node are necessarily routed along two paths that satisfy Bellman property.

(ii) Node precedence constraints

The second family of inequalities has been introduced by Garcia [10] for the resource constrained shortest path problem and later extended by Horvath et al. [11]. They arise directly from the maximum delay requirement of the D-USPR problem and express the fact that any feasible routing stst-path using an arc a=uvAa=uv\in A should leave this arc through an arc a=uvδ+(v)a^{\prime}=u^{\prime}v^{\prime}\in\delta^{+}(v) satisfying the following condition

σs,u+δa+δa+σv,tΔs,t,\sigma_{s,u}+\delta_{a}+\delta_{a^{\prime}}+\sigma_{v^{\prime},t}\leqslant\Delta^{s,t},

where σs,u\sigma_{s,u} (respectively σv,t\sigma_{v^{\prime},t}) is the length of the shortest path between nodes ss and uu (respectively between nodes vv^{\prime} and tt) with respect to the delay metric. In other words, σuv\sigma_{uv} = epuvδe\sum_{e\in p^{uv}}\delta_{e}, for (u,v)V×V(u,v)\in V\times V. For each arc a=uvAa=uv\in A and each commodity kKk\in K originating from node sks^{k} and going to node tkt^{k}, denote by Φa,kout\Phi^{out}_{a,k}, the set of arcs defined as follows

Φa,kout={a=uvδ+(v) with vu:σst,u+δa+δa+σv,tkΔk}.\begin{split}\Phi^{out}_{a,k}=\{a^{\prime}=u^{\prime}v^{\prime}\in\delta^{+}(v)\text{ with }v^{\prime}\neq u:\\ \sigma_{s^{t},u}+\delta_{a}+\delta_{a^{\prime}}+\sigma_{v^{\prime},t^{k}}\leqslant\Delta^{k}\}.\end{split}

Similarly, we let Φa,kin\Phi^{in}_{a,k} denote the set of arcs entering into node uu that can belong to a feasible routing path:

Φa,kin={a=uvδ+(u) with uv:σst,u+δa+δa+σv,tkΔk}.\begin{split}\Phi^{in}_{a,k}=\{a^{\prime}=u^{\prime}v^{\prime}\in\delta^{+}(u)\text{ with }u^{\prime}\neq v:\\ \sigma_{s^{t},u^{\prime}}+\delta_{a^{\prime}}+\delta_{a}+\sigma_{v,t^{k}}\leqslant\Delta^{k}\}.\end{split}
Proposition 3

The following inequalities

xakaΦa,koutxa,kk,aA,kK,x^{k}_{a}\leqslant\sum_{a^{\prime}\in\Phi^{out}_{a,k}}x^{k}_{a,k},\forall a\in A,\forall k\in K, (21)
xakaΦa,kinxa,kk,aA,kK,x^{k}_{a}\leqslant\sum_{a^{\prime}\in\Phi^{in}_{a,k}}x^{k}_{a,k},\forall a\in A,\forall k\in K, (22)

are valid for the D-USPR problem.

Proof:

Let kk be a commodity of KK with origin sks^{k} and destination tkt^{k} and let a=uva=uv be an arc of AA such that vsk,tkv\neq s^{k},t^{k}. Denote by (x¯\overline{x}, u¯\overline{u}, w¯\overline{w}, r¯\overline{r}, L¯\overline{L}) and let pkp^{k} = {eA:x¯ek=1}\{e\in A:\overline{x}^{k}_{e}=1\} be the sktks^{k}t^{k}-path associated with the routing of commodity kk. It is easy to see that inequality (21) is trivially satisfied if x¯ak\overline{x}^{k}_{a} = 0. Now if x¯ak\overline{x}^{k}_{a} = 1, then, by (7), there exists an arc, say aa^{\prime} = uvu^{\prime}v^{\prime} in δ+(v)\delta^{+}(v) such that eδ+(v)x¯ak\sum_{e\in\delta^{+}(v)}\overline{x}^{k}_{a} = 1. Denote by p[sku]p[s^{k}u] = {eA:x¯esku=1}\{e\in A:\overline{x}^{s^{k}u}_{e}=1\} (respectively p[vtk]p[v^{\prime}t^{k}]= {eA:x¯evtk=1}\{e\in A:\overline{x}^{v^{\prime}t^{k}}_{e}=1\}) the subpath with endpoints sk,us^{k},u (respectively, v,tkv^{\prime},t^{k}. Suppose that aa^{\prime} is in δ+(v)Φa,kout\delta^{+}(v)\setminus\Phi^{out}_{a,k}, that is to say,

ep[sk,u]δe+δa+δa+ep[v,tk]δe\sum_{e\in p[s^{k},u]}\delta_{e}+\delta_{a}+\delta_{a^{\prime}}+\sum_{e\in p[v^{\prime},t^{k}]}\delta_{e}\geqslant
σsk,u+δa+δa+σv,tk>Δk,\sigma_{s^{k},u}+\delta_{a}+\delta_{a^{\prime}}+\sigma_{v^{\prime},t^{k}}>\Delta^{k},

which, by (9), yields a contradiction. Thus (21) are valid for D-USPR problem. We use similar arguments to show that inequalities (22) are valid for the problem. ∎

V An effective iterative algorithm

In this section, we introduce an effective iterative algorithm for solving the D-USPR problem. Consider given a graph GG with a capacity vector CC and a set of demands KK with a latency vector Δ\Delta. The idea of this algorithm is to iteratively decrease the load by constructing feasible routing configurations and the associated weight vectors. To this end, we perform the following initialization steps:

Step 1 We first solve the minimum congestion spanning tree with delay constraints in GG. Let HH denote the spanning tree obtained.

Step 2 We set an arbitrary weight value wuv0w^{0}_{uv} on each arc uvuv of A(H)A(H) and a infinite weight on the remaining arcs uvA(G)A(H){uv\in A(G)\setminus A(H)}.

Step 3 We associate with each commodity of KK a path, say pkp^{k}, in HH between sks^{k} and tkt^{k}.

We will denote by R0R_{0} the complete routing configuration obtained at the end of the initialization phase. Note that R0R_{0} obviously defines a feasible solution for the D-USPR problem.

We let aA(G)a^{*}\in A(G) be the most loaded arc with respect to R0R_{0}, that is to say aa^{*} = argmaxuvAload(R,u,v)\arg\max_{uv\in A}\mbox{{load}}(R,u,v). At each iteration, we then apply the following procedure. We consider a partition of the demands set KK into two subsets KfixedK_{fixed} and KfreeK_{free}, where KfreeK_{free} is the subset of (congesting) demands whose routing path in R0R_{0} uses the arc aa^{*} and KfixedK_{fixed} contains the remaining demands. We fix the routing paths of the demands in KfixedK_{fixed} along with the associated weights. Let TfixedT_{fixed} (resp. TfreeT_{free}) denote the destination nodes of the demands in KfixedK_{fixed} (resp. KfreeK_{free}) and RtRKfixedR^{t}\subseteq R_{K_{fixed}} denotes this fixed routing toward destination tTfixed{t\in T_{fixed}}. We determine a feasible routing configuration by rerouting the demands of KfreeK_{free}, all other demands remaining equal. This can be done by solving the formulation (1)-(18) with the following changes. Inequalities (7), (9)-(14) are written over KfreeK_{free} and TfreeT_{free} instead of KK and TT while (8) is replaced by the following inequality

kKfreeDkxak+kKfixedDkx¯akcuvL,aA,\sum_{k\in K_{free}}D^{k}x^{k}_{a}+\sum_{k\in K_{fixed}}D^{k}\overline{x}^{k}_{a}\leqslant c_{uv}L,\forall a\in A, (23)

Finally, we add the following inequalities

wuvrut+rvt=0,uvRt,tTfixed,\displaystyle w_{uv}-r^{t}_{u}+r^{t}_{v}=0,\quad\forall uv\in R^{t},\forall t\in T_{fixed}, (24)
wuvrut+rvt1,uvARt,tTfixed,\displaystyle w_{uv}-r^{t}_{u}+r^{t}_{v}\geqslant 1,\quad\forall uv\in A\setminus R^{t},\forall t\in T_{fixed}, (25)

to ensure that the paths fixed in each set RtR^{t} define shortest paths towards the destination tTfixedt\in T_{fixed}. This procedure is summarized in Algorithm 1.

Data: An instance (GG, KK, CC, Δ\Delta) of the problem
Result: A complete routing configuration RR
Initialization:  R0R^{0}\leftarrow a complete routing configuration obtained by performing Step1-Step3
aargmaxaAcong(R0,a)a^{*}\leftarrow\arg\max_{a\in A}\mbox{{cong}}(R^{0},a)
iteriter\leftarrow 0
      
while iter<itermaxiter<iter_{max} do
       find the demands in KfreeK_{free} and KfixedK_{fixed}
       find a complete routing configuration RG,Kfixediter{R^{iter}_{G,K_{fixed}}}
       RiterR_{iter}\leftarrow complete routing configuration obtained by solving (1)- (25)
       aargmaxaAload(Riter,a)a^{*}\leftarrow\arg\max_{a\in A}\mbox{{load}}(R_{iter},a)
       iter \leftarrow iter + 1
return RiterR_{iter} with cong(R)cong(R0){\mbox{{cong}}(R)\leqslant\mbox{{cong}}(R_{0})};
Algorithm 1 Iterative algorithm

VI A dynamic programming algorithm

In this section, we introduce a dynamic programming algorithm based on a tree decomposition for solving the Pre Routed D-USPR problem. Observe that the problem is trivial in the case where the input graph is a tree since there can only be one path to route any demand. However, it is not possible to generalize this positive result to graphs of bounded treewidth since the problem is NP-complete even on bidirected rings [3]. This negative result rules out the possibility of having an fpt algorithm parameterized only by the “treewidth”. However, we prove in what follows that the problem is fixed-parameter tractable for the combined parameter “treewidth” and “number of demands”.

Proposition 4

Given a nice tree decomposition of GuG^{u} of width ω\omega, the Pre Routed D-USPR problem can be solved in at most 2|K|ω8+Δlog|K|nO(1)2^{|K|\omega^{8}+\Delta\log|K|}\cdot n^{O(1)}-time where Δ=maxkKΔk{\Delta=\max_{k\in K}\Delta^{k}}.

Proof:

Let I=(G=(V,A,c,δ),Kfree,Kfixed,RKfixed){I=(G=(V,A,c,\delta),K_{free},K_{fixed},R_{K_{fixed}})} be an instance of Pre Routed D-USPR . Let 𝒯=(T=(X,F),)\mathcal{T}=(T=(X,F),\mathcal{B}) be a nice tree decomposition of GuG^{u} rooted at node rXr\in X. We denote by ω\omega the width of 𝒯\mathcal{T} and by nn the order of GG i.e n=|V|{n=|V|}. We start the proof by introducing some extra notations and definitions.

Notations. Recall that TxT_{x} is the subtree of TT rooted at node xx and Gx=(Vx,Ax){G_{x}=(V_{x},A_{x})} is the subgraph of GG induced by the vertices of GG which occur in at least one bag ByB_{y} where yy runs over the nodes of TxT_{x}. In this proof, we will also use the subgraph G¯x\bar{G}_{x} which is obtained from GxG_{x} by removing the arcs with both endpoints in BxB_{x}. We denote by UxU_{x} the set of all origins and destinations of the demands in KfreeK_{free} that lie in VxV_{x} i.e Ux={{sk,tk}Vx:kKfree}U_{x}=\{\{s^{k},t^{k}\}\cap V_{x}:k\in K_{free}\} (see Figure 2). Let R(G,K)R\in\mathcal{R}(G,K) and GG^{\prime} a subgraph of GG, we denote by R|GR|_{G^{\prime}} the routing configuration obtained by taking the subpaths of RR induced by GG^{\prime}. We denote by GRG_{R} the graph obtained by taking the union of all routing paths in RR.

Definitions. In this paragraph, we introduce several notions that are needed in the proof.

Valid routing configuration: We say that a routing configuration R(G¯x,K){R\in\mathcal{R}(\bar{G}_{x},K)} is valid, if it is feasible and for every kKk\in K one of the following two conditions is met:

  • There is exacly one complete routing subpath pkRp^{k}\in R.

  • The graph induced by the union of the routing subpaths for kk in RR is made of disjoint paths with at least one endpoint in BxB_{x}. Furthermore, there are at most two degree-one vertices in VxBxV_{x}\setminus B_{x} in such graph.

abcdefgGxG_{x}G¯x\bar{G}_{x}GGa,b,ca,b,ca,ca,ca,c,da,c,dc,dc,dc,d,ec,d,ed,ed,ed,ed,eddd,ed,eeed,fd,fe,ge,grrxxTT
Figure 2: Example of a graph GG together with a nice tree decomposition 𝒯=(T=(X,F),){\mathcal{T}=(T=(X,F),\mathcal{H})} of GuG^{u} rooted at node rX{r\in X}. In order to alleviate the figure and since the graph is bidirected, we drop the arcs orientation. We have Bx={a,c,d}B_{x}=\{a,c,d\} and Ux={a,b}U_{x}=\{a,b\}. The origins and destinations of demands are represented with squares.

Routing contract: A “routing contract” HH induced by a valid routing configuration R(G¯x,K){R\in\mathcal{R}(\bar{G}_{x},K)} is an edge-labeled graph where the edge labelling is a function λH\lambda_{H} from E(H)E(H) to 2K2^{K} defined as follows. First, we say that a vertex vV(GR){v\in V(G_{R})} is a transit vertex if it has degree 22 in GRG_{R} and the demands routed along the edges vv1vv_{1} and vv2vv_{2} according to RR where v1,v2N(v){v_{1},v_{2}\in N(v)} are the same. The graph HH is then obtained from GRG_{R} by removing every transit vertex vV(GR){v\in V(G_{R})} and inserting the edge v1v2v_{1}v_{2} i.e we remove vv and connect its neighbors with an edge. Regarding the edge labelling function λH\lambda_{H}, the demands in λH(uv)\lambda_{H}(uv) are exactly those routed along the corresponding subpath p[u,v]p[u,v] (which can be a single edge) in GRG_{R} (see Figure 3). More generally, we say that a routing configuration Q(G¯x,K)Q\in\mathcal{R}(\bar{G}_{x},K) is HH-respecting if there exists a mapping f:V(H)V(GQ)f:V(H)\to V(G_{Q}) such that for all uvE(H)uv\in E(H) the demands in λH(uv)\lambda_{H}(uv) are exactly those routed along the corresponding subpath p[f(u),f(v)]p[f(u),f(v)] in GQG_{Q}. We denote by x\mathcal{H}_{x} the set of all possible routing contracts at node xx.

abcdefgGGacdefgGRG_{R}acdfgHH
Figure 3: Illustration of the construction of a routing contract. In this example, there are three demands k1k_{1} (green), k2k_{2} (blue) and k3k_{3} (red) routed according to a valid routing configuration RR. The different routing paths are represented as continuous colored line. The graph GRG_{R} is defined as the union of all routing paths in RR. The routing contract HH of RR is then obtained by replacing the only transit vertex eV(GR)e\in V(G_{R}) by the edge agag. Regarding the labeling function λH\lambda_{H} of HH, it is defined as follows: λH(ag)={k1,k2}{\lambda_{H}(ag)=\{k_{1},k_{2}\}}λH(cf)={k2}{\lambda_{H}(cf)=\{k_{2}\}} and λH(df)={k2,k3}{\lambda_{H}(df)=\{k_{2},k_{3}\}}.

Delay contract: A “delay contract” induced by a valid routing configuration R(G¯x,K){R\in\mathcal{R}(\bar{G}_{x},K)} is a function d:K{d:K\to\mathbb{N}} defined as follows. Given a demand kKk\in K, the value d(k)d(k) is equal to the sum of the delays on the arcs used to route the demand kk according to RR. We say that a routing configuration Q(G¯x,K)Q\in\mathcal{R}(\bar{G}_{x},K) is dd-respecting if for each kK{k\in K} we have pkQuvpδuv=d(k)\sum_{p^{k}\in Q}\sum_{uv\in p}\delta_{uv}=d(k). We denote by 𝒟x\mathcal{D}_{x} the set of all possible delay contracts at node xx.

Subproblems definition. We define a set of subproblems for each node xX{x\in X}, one corresponding to each possible Hxx{H_{x}\in\mathcal{H}_{x}} and each dx𝒟x{d_{x}\in\mathcal{D}_{x}} that may represent in G¯x\bar{G}_{x} the routing contract and delay contract induced by an optimal complete routing configuration for II. Hence, for each routing contract HxH_{x} and each delay contract dxd_{x}, we let OPTx(Hx,dx)OPT_{x}(H_{x},d_{x}) be an HxH_{x}-respecting and dxd_{x}-respecting valid routing configuration in (G¯x,K)\mathcal{R}(\bar{G}_{x},K) with minimum congestion. If no such routing configuration exists, we simply set OPTx(Hx,dx)={OPT_{x}(H_{x},d_{x})=\emptyset}.

Recurrence relations. We now describe how the solutions of the subproblems attached to a node are constructed. At the cost of adding more nodes in the tree TT, we may assume w.l.o.g that the bags associated to the leaves of TT contains only one vertex. In this case, each leaf is considered as an insert node. Initially, OPTx(Hx,dx)=OPT_{x}(H_{x},d_{x})=\emptyset for all Hx,dxx×𝒟xH_{x},d_{x}\in\mathcal{H}_{x}\times\mathcal{D}_{x} and xXx\in X. By convention, cong()=+\mbox{{cong}}(\emptyset)=+\infty. The algorithm computes the table OPTxOPT_{x} of each node xx in TT according to their type (insert, forget or join) and using a bottom-up procedure that ends to the root as follows.

Insert node

Let xx be an insert node. In the case that xx is a leaf, we simply skip this step and move on to the next node. Otherwise, let yy be the child of xx. By definition ByBxB_{y}\subset B_{x} and BxBy={v}{B_{x}\setminus B_{y}=\{v\}}. We compute the table OPTxOPT_{x} as follows. For each Hy,dyy×𝒟yH_{y},d_{y}\in\mathcal{H}_{y}\times\mathcal{D}_{y} we perform the following instructions in sequence

  • We define a routing contract HxH_{x} obtained from HyH_{y} by simply adding the vertex vv.

  • We construct a delay contract dxd_{x} by simply setting dx=dy{d_{x}=d_{y}}.

After the instructions are performed, we set OPTx(Hx,dx)=OPTy(Hy,dy){OPT_{x}(H_{x},d_{x})=OPT_{y}(H_{y},d_{y})}.

Forget node

Let xx be a forget node with child yy. By definition BxByB_{x}\subset B_{y} and ByBx={v}{B_{y}\setminus B_{x}=\{v\}}. Let EvE_{v} be the set of edges incident to vv and dBx(v)=|N(v)Bx|d_{B_{x}}(v)=|N(v)\cap B_{x}|. This step requires the most attention since it is during this phase that we need to take care of the different ways to extend the routing paths of every routing configuration stored in OPTyOPT_{y} (See Figure 4). In what follows, we assume that whenever some fixed demands are routed along some of the edges in EvE_{v} we include the corresponding routing subpaths of RKfixedR_{K_{fixed}} into every routing extension constructed hereafter.

For each routing contract HyyH_{y}\in\mathcal{H}_{y} and each delay contract dy𝒟yd_{y}\in\mathcal{D}_{y} such that OPTy(Hy,dy){OPT_{y}(H_{y},d_{y})\neq\emptyset}, we partition the set KfreeK_{free} into the following three sets:

  • KopenK_{open} : the free demands with no routing path in OPTy(Hy,dy)OPT_{y}(H_{y},d_{y}).

  • KpartialK_{partial} : the free demands which have at least one (non-complete) routing path in OPTy(Hy,dy)OPT_{y}(H_{y},d_{y}).

  • KclosedK_{closed} : the free demands for which there exists a complete routing path in OPTy(Hy,dy)OPT_{y}(H_{y},d_{y}).

First, we can ignore the demands in KclosedK_{closed} : since they are end-to-end routed, there are no more decisions to be made for them. Consider instead a free demand kKopenk\in K_{open}. Suppose for the moment that vskv\neq s^{k} and vtkv\neq t^{k}. Hence, this demand can be (possibly) routed through the vertex vv using two edges of EvE_{v}. This yields to at most dBx(v)(dBx(v)1)/2d_{B_{x}}(v)(d_{B_{x}}(v)-1)/2 choices to route kk through vv. Thus, a total of at most (dBx(v)(dBx(v)1)/2)|Kopen|(d_{B_{x}}(v)(d_{B_{x}}(v)-1)/2)^{|K_{open}|} possibilities to route all the demands in KopenK_{open} in this way. If v=skv=s^{k} or v=tkv=t^{k} then the only choice is to pick one of the edge in EvE_{v} to start (or finish) routing the demand. Clearly, the number of possibilities in this case is dominated by the previous case.

Now consider a free demand kKpartialk\in K_{partial}. Let RvkR_{v}^{k} be the set of routing paths for kk in OPTy(Hy,dy)OPT_{y}(H_{y},d_{y}) having at least one endpoint in (N(v)Bx){v}{(N(v)\cap B_{x})\cup\{v\}}. We will show how many new routing paths can be obtained to route kk through vv by extending those in RvkR_{v}^{k}. Similarly, suppose that vskv\neq s^{k} and vtkv\neq t^{k}. The demand kk can be (possibly) routed through the vertex vv by extending the paths in RvkR_{v}^{k} with at most one or two edges of EvE_{v}. Thus the total number of possible ways to extend the routing paths in RvkR_{v}^{k} is bounded by (dBx(v)(dBx(v)1)/2)(d_{B_{x}}(v)(d_{B_{x}}(v)-1)/2). Thus, a total of at most (dBx(v)(dBx(v)1)/2)|Kpartial|(d_{B_{x}}(v)(d_{B_{x}}(v)-1)/2)^{|K_{partial}|} possibilities to route all the demands in KpartialK_{partial}. Suppose now that v=skv=s^{k} or v=tkv=t^{k}, if there exists a routing path pkRvkp^{k}\in R_{v}^{k} then the path cannot be extended through vv. Otherwise, the only choice is to extend the routing paths in RvkR_{v}^{k} by picking one of the edge in EvE_{v} to start (or finish) routing the demand. Clearly, the number of possibilities in this case is dominated by the previous case.

Overall, there are at most

(dBx(v)(dBx(v)1)/2)|Kclosed|+|Kpartial|{(d_{B_{x}}(v)(d_{B_{x}}(v)-1)/2)^{|K_{closed}|+|K_{partial}|}}

new possible routing configurations that can be constructed from the ones in OPTy(Hy,dy)OPT_{y}(H_{y},d_{y}). Let x\mathcal{R}_{x} be the set of those routing configurations that are valid (recall that checking whether a routing configuration is feasible can be done in polynomial time using Lemma 2). For each Rxx{R_{x}\in\mathcal{R}_{x}}, let HxxH_{x}\in\mathcal{H}_{x} and dx𝒟xd_{x}\in\mathcal{D}_{x} be the routing contract and delay contract induced by RxR_{x} (i.e RxR_{x} is HxH_{x}-respecting and dxd_{x}-respecting), we set OPTx(Hx,dx)=RxOPT_{x}(H_{x},d_{x})=R_{x} if cong(Rx)<cong(OPTx(Hx,dx)){\mbox{{cong}}(R_{x})<\mbox{{cong}}(OPT_{x}(H_{x},d_{x}))}.

avcdefghG¯y\bar{G}_{y}avcdefghG¯x\bar{G}_{x}
Figure 4: Illustration of a possible routing configuration extension during a forget node operation. The edges in grey are those belonging to Ev={va,vc,vd}{E_{v}=\{va,vc,vd\}} and we have Bx={a,c,d,e}{B_{x}=\{a,c,d,e\}}By={a,v,c,d,e}{B_{y}=\{a,v,c,d,e\}} and dBx(v)=3{d_{B_{x}}(v)=3}. The different routing paths are represented as colored lines. Dashed lines corresponds to a possible extension of these routing paths.

Join node

Let xx be a join node with two children y,zy,z. By definition By=Bz=BxB_{y}=B_{z}=B_{x}. For each Hy,dyy×𝒟yH_{y},d_{y}\in\mathcal{H}_{y}\times\mathcal{D}_{y} and each Hz,dzz×𝒟zH_{z},d_{z}\in\mathcal{H}_{z}\times\mathcal{D}_{z}, let Rx=OPTy(Hy,dy)OPTz(Hz,dz)R_{x}=OPT_{y}(H_{y},d_{y})\cup OPT_{z}(H_{z},d_{z}) and let Hx,dyx×𝒟xH_{x},d_{y}\in\mathcal{H}_{x}\times\mathcal{D}_{x} be the routing contract and delay contract induced by RxR_{x}. We set OPTx(Hx,dx)=RxOPT_{x}(H_{x},d_{x})=R_{x} if RxR_{x} is valid and cong(Rx)<cong(OPTx(Hx,dx)){\mbox{{cong}}(R_{x})<\mbox{{cong}}(OPT_{x}(H_{x},d_{x}))}.

Final step

Once we have computed the optimal solutions for every node, we can determine a complete routing configuration R(G,K)R^{*}\in\mathcal{R}(G,K) with minimum congestion for the instance II as follows. Apply the forget node operation to every vertex in BrB_{r} to get a new table OPTOPT, then return the solution OPT(H,d)OPT(H,d) of minimum congestion among all HH and dd.

Correctness. The correctness follows from the following claim.

Claim 1

Let xXx\in X and R(G¯x,K){R\in\mathcal{R}(\bar{G}_{x},K)} be a minimum congested valid routing configuration. For every child yXy\in X of xxOPTy(Hy,dy)(G¯y,K){OPT_{y}(H_{y},d_{y})\in\mathcal{R}(\bar{G}_{y},K)} is a minimum congested valid routing configuration where HyyH_{y}\in\mathcal{H}_{y} and dy𝒟yd_{y}\in\mathcal{D}_{y} are induced by R|G¯y{R|_{\bar{G}_{y}}}.

Proof:

Let HH and dd be the routing contract and delay contract induced by RR. Suppose that there exists a HyH_{y}-respecting and dyd_{y}-respecting valid routing configuration Ry(G¯y,K){R_{y}\in\mathcal{R}(\bar{G}_{y},K)} such that cong(Ry)<cong(OPTy(Hy,dy)){\mbox{{cong}}(R_{y})<\mbox{{cong}}(OPT_{y}(H_{y},d_{y}))}. Consider the routing configuration R(G¯x,K){R^{\prime}\in\mathcal{R}(\bar{G}_{x},K)} which is obtained by extending the routing paths of RyR_{y} the same way that OPTy(Hy,dy)OPT_{y}(H_{y},d_{y}) gets extended to obtain RR. So RR^{\prime} is HH-respecting, dd-respecting and we have cong(R)<cong(R){\mbox{{cong}}(R^{\prime})<\mbox{{cong}}(R)}. We claim that RR^{\prime} is a valid routing configuration which contradicts the choice of RR as being a minimum congested valid routing configuration in (G¯x,K){\mathcal{R}(\bar{G}_{x},K)}. We show that RR^{\prime} is feasible since the other conditions of validity are satisfied by construction. Since RR is feasible there exists a weight function ww such that for each pkR{p^{k}\in R} the path pp is the unique shortest path between its endpoints according to ww. We show how to construct a weight function ww^{\prime} from ww so that RR^{\prime} is feasible with respect to ww^{\prime}. For this purpose, we will use the fact that RR and RR^{\prime} are both HH-respecting. For each uvE(H)uv\in E(H), there is corresponding routing subpath p[u,v]p[u,v] in RR and p[u,v]p^{\prime}[u,v] in RR^{\prime}, and we set w(e)=1ep[u,v]w(e)w^{\prime}(e^{\prime})=\frac{1}{\ell}\sum_{e\in p[u,v]}w^{\prime}(e) for each edge ep[u,v]e^{\prime}\in p^{\prime}[u,v] where \ell is the length of p[u,v]p[u,v]. Finally, for every edge uvE(G¯x)uv\in E(\bar{G}_{x}) such that w(uv)w^{\prime}(uv) is undefined, we set w(uv)=+w^{\prime}(uv)=+\infty. This finishes the construction of ww^{\prime} and we claim that RR^{\prime} is feasible according to ww^{\prime}. To see this, observe that any HH-respecting routing graph is obtainable from HH by subdividing an appropriate number of time each edge in E(H)E(H). Thus, whenever there is a HH-respecting routing graph that is feasible according to ww, it suffices to construct a weight function ww^{\prime} that preserves the distances between the vertices of degree greater than two. The routing configuration RR^{\prime} is then valid and cong(R)<cong(R){\mbox{{cong}}(R^{\prime})<\mbox{{cong}}(R)} which contradicts the minimality of RR. ∎

Running time. First, regarding the number of subproblems to solve, there are at most |x||𝒟x||\mathcal{H}_{x}|\cdot|\mathcal{D}_{x}| of them associated to each node xX{x\in X}. This corresponds to the number of possible pair routing contract and delay contract at each node xx. Since we have a nice tree decomposition of O(n)O(n) nodes, we end up with a total of at most O(|x||𝒟x|n)O(|\mathcal{H}_{x}|\cdot|\mathcal{D}_{x}|\cdot n) subproblems to solve. The most costly subproblem to solve is the forget node operation which takes time at most

(dBx(v)(dBx(v)1)/2)|Kclosed|+|Kpartial|nO(1){(d_{B_{x}}(v)(d_{B_{x}}(v)-1)/2)^{|K_{closed}|+|K_{partial}|}}\cdot n^{O(1)}

which is bounded by ωO(|Kfree|)nO(1)\omega^{O(|K_{f}ree|)}\cdot n^{O(1)}. Thus overall running time is

ωO(|Kfree|)|x||𝒟x|nO(1)\omega^{O(|K_{f}ree|)}\cdot|\mathcal{H}_{x}|\cdot|\mathcal{D}_{x}|\cdot n^{O(1)}
Claim 2

Let xXx\in X, we have |x|2O(|K||Bx|8)|\mathcal{H}_{x}|\leq 2^{O(|K||B_{x}|^{8})}

Proof:

By definition, x\mathcal{H}_{x} contains only routing contracts that are induced by valid routing configurations in (G¯x,K){\mathcal{R}(\bar{G}_{x},K)}. Let HxxH_{x}\in\mathcal{H}_{x} and R(G¯x,K){R\in\mathcal{R}(\bar{G}_{x},K)} be a valid HxH_{x}-respecting routing configuration. First, the number of routings paths in RR is bounded by O(|Bx|2)O(|B_{x}|^{2}). Indeed, since RR is valid, every pkRp^{k}\in R is either complete or has at least one endpoint in BxB_{x}. Hence, there can be as many routing subpaths as the number of pairs of vertices in BxB_{x} plus at most two routing paths per demand with exactly one endpoint in BxB_{x}. Indeed, if there are more routing paths then we may create conflicting paths which is ruled out by Lemma 1 or the graph induced by RR may not contain only disjoint paths. Hence there can be no more than |Bx|(|Bx|1)/2+2|Bx|=O(|Bx|2)|B_{x}|(|B_{x}|-1)/2+2|B_{x}|=O(|B_{x}|^{2}) routing paths in RR as claimed.

Now we will determine the maximum number of possible routing contracts that can be obtained from valid routing configurations in (G¯x,K)\mathcal{R}(\bar{G}_{x},K). Let pp be a path in HxH_{x} that is used to route some demand in KK. By definition of a routing contract, we know that every vertex in pp intersects with at least one other routing path in RR (recall that all transit vertices are removed). Moreover, since there is no conflicting paths in RR (Lemma 1), every other routing path can intersect pp at most once. Thus pkp^{k} has no more than 2|R|+22|R|+2 vertices and then the graph HxH_{x} contains at most |R|(2|R|+2)=O(|Bx|4)|R|(2|R|+2)=O(|B_{x}|^{4}) vertices. Finally, there can be at most 2|K||E(Hx)|2^{|K||E(H_{x})|} possible edge-labelling function for HxH_{x}. Hence, the number of possible routing contract in x\mathcal{H}_{x} is bounded by 2O(|K||Bx|8)2^{O(|K||B_{x}|^{8})} as claimed. ∎

Claim 3

Let xXx\in X, we have |𝒟x||K|Δ|\mathcal{D}_{x}|\leq|K|^{\Delta}.

Proof:

By definition, 𝒟x\mathcal{D}_{x} contains only delay contracts that are induced by valid routing configurations in (G¯x,K){\mathcal{R}(\bar{G}_{x},K)}. Let dx𝒟xd_{x}\in\mathcal{D}_{x} and R(G¯x,K){R\in\mathcal{R}(\bar{G}_{x},K)} be a valid dxd_{x}-respecting routing configuration. Thus, for all kK{k\in K}, we have

dx(k)=pkRuvpδuvΔkΔd_{x}(k)=\sum_{p^{k}\in R}\sum_{uv\in p}\delta_{uv}\leqslant\Delta^{k}\leqslant\Delta

The number of possible delay contracts is then bounded by |K|Δ|K|^{\Delta} as claimed. ∎

Using Claim 2 and Claim 3, we deduce that the overall running time is bounded by 2|K|ω8+Δlog|K|nO(1)2^{|K|\omega^{8}+\Delta\log|K|}\cdot n^{O(1)}, as claimed. ∎

Since finding an optimal tree-decomposition of a graph is fixed-parameter tractable with respect to the treewidth of that graph [7], we obtain the following result as an immediate corollary.

Proposition 5

The Pre Routed D-USPR problem is fixed-parameter tractable with respect to the parameter “treewidth” and “number of demands”.

It is interesting to note that this algorithm can be compared with the two phases approach proposed in [4]. Indeed, the master problem that finds a set of routing paths is simply replaced here with a dynamic programming procedure while we still need the client to check for feasibility.

VII Numerical results

In this section, we present some early experiments related to the D-USPR problem and based on the results described above. Both exact and heuristic solving approaches are implemented in Python and using Cplex 12.8 with the default settings and NetworkX graph library. We have tested our algorithms with the following features:

  • \bullet

    first by (i)(i) solving the basic formulation (1)-(18),

  • \bullet

    then by introducing (ii)(ii) the subpath consistency inequalities (19)-(20), (iii)(iii) the node-precedence inequalities (21)-(22) and (iv)(iv) both families of valid inequalities, to the basic formulation,

  • \bullet

    Algorithm 1 uses a variant of the formulation (1)-(18), as described in Section V, along with both families of valid inequalities.

We have tested our algorithms on several instances derived from SNDlib333http://sndlib.zib.de topologies of variying size and density. The big-M value is set to |A|×|K||A|\times|K| for all the experiments, likewise in [4] and the CPU time limit is fixed to 5 hours for the exact approach.

TABLE I: The impact of each class of valid inequalities
(i)(i) Basic MILP (ii)(ii) MILP + subpath cons. ineq. (iii)(iii) MILP + node precendence ineq.
Topology |V||V| |A||A| |K||K| Gap (%) Nodes TT Gap (%) Nodes TT Gap (%) Nodes TT
PDH 11 68 24 0.00 1 0.80 0.00 1 0.41 0.00 1 0.34
Di-yuan 11 84 22 0.00 6571 773.41 0.00 1 1.24 0.00 1 0.45
Polska 12 36 66 6.70 602765 17302.36 6.62 71 34.66 6.62 78295 6780.74
Nobel-US 14 42 91 7.98 19004 18000.00 2.02 5 439.08 - 255813 18000.00
Dfn-bwin 10 90 90 0.00 1 0.45 51.25 1 18000.00 0.00 1 1.91
abilene 12 30 132 0.00 6832 19.49 0.00 1 8.59 0.00 6271 17.77
Dfn-gwin 11 94 110 6.67 5375 862.72 37.82 1 18000.00 12.03 31 707.97
Atlanta 15 44 210 0.00 10839 187.22 0.25 1 20.58 0.00 125393 6280.28
Nobel-GER 17 52 121 - - 18000.00 12.12 1 811.39 - 385146 18000.00

Table I shows the impact of using valid inequalities and the efficiency of each class in strengthening the basic formulation (1)-(18) for nine instances. The first four columns refer to the name, number of nodes, number of arcs and number commodities, for each instance. Then, for each of the configurations (i)(i) (basic MILP), (ii)(ii) (MILP + subpath consistency inequalities) and (iii)(iii) (MILP + node precedence inequalities), we show the following entries: Gap (%) is the root gap (the relative difference between the best upper bound (optimal solution if the problem has been solved to optimality) and the lower bound obtained at the root node), Nodes is the number of nodes in the branch-and-bound tree and TT is the CPU time for computation (in seconds). The value in Gap column is written in italics if the solution found within the time limit was not optimal and replaced by “–” if no feasible solution was found within that time. We can see from Table I that the subpath consistency constraints (19)-(20) allow to improve the gap for several instances and help in reducing substantially both the number of nodes in the branch-and-bound tree and the CPU time for computation. In particular, except for dfn-bwin and dfn-gwin, that are the instances with highest density, all the instances are solved to optimality in less than 20 minutes, most of them at the root node. A less significant impact is obtained when using node precedence inequalities (21)-(22), yet they allow to speed up the resolution for several instances, and to reduce the size of the branch-and-bound tree (like for instance di-yuan).

Table II shows the results obtained when adding both families of inequalities to the basic formulation for the previous instances. We can see from the table that there is a positive but slight impact on the CPU time, especially for instances Di-yuan and Nobel-US.

TABLE II: The impact of adding both classes of inequalities
Name LB UB root gap (%) Nodes TT (sec.)
PDH 12.80 12.80 0.00 1 0.50
Di-yuan 5.00 5.00 0.00 1 0.30
Polska 6.41 6.90 6.70 243 60.97
Nobel-US 24.20 24.70 2.02 5 263.86
Dfn-bwin 0.34 0.69 50.72 1 18000.00
abilene 60.41 60.4 0 1 10.17
Dfn-gwin 0.65 1.05 38.10 1 18000.00
Atlanta 3.58 3.58 0,00 5 29.64
Nobel-GER 3.87 4.40 12.12 16 458.00

Note that, these results although promising can be significantly improved by generating the valid inequalities in a dynamic fashion (via separation routines in a branch-and-cut framework) instead of being all integrated in the basic MILP.

We have tested our iterative algorithm on instances France, Nobel-EU and Norway that could not be solved using the exact approach due to their size, density and number of demands. Those three instances are among the most challenging state-of-the-art instances for the USPR problem. The iterative algorithm allows to obtain a good upper bound for all three instances simply by improving an existing solution (e.g. one obtained from the minimum spanning tree congestion). A preliminary set of results shows empirically that a good partition of the demands set with an appropriate selection of the demands to reroute (KfreeK_{free}) allows to substantially improve the trivial bound of the existing solution. In addition, the fact that we start from an existing solution allows us to save computation efforts highlighting even further the potential scalability of our algorithm. For example, in instance France, rerouting 3%\% of the demands allows to improve the minimum spanning tree congestion bound by 2%\% while an improvment of 7%\% is enabled by rerouting 16%\% of the demands.

VIII Concluding remarks

In this paper, we have investigated several research directions to go towards more scalable algorithmic solutions. For this purpose, we proposed the following two approches: (i)(i) reducing the size of the problem (e.g number of demands) and (ii)(ii) exploiting the structure of the input graph (e.g treewidth). Although the obtained results are promising there is still room for improvment. First, we expect that solving the formulation using a branch-and-cut algorithm will subtantially improve the performance of the MILP-based exact approach and the efficiency of the iterative algorithm. Second, we are implementing the dynamic programming algorithm and even though the theoretical complexity is prohibitive, we believe that the efficiency of this algorithm can be good in practice especially if used in combination with a parallelization approach. Finally, this problem seems to be a good candidate to apply machine learning methods in the hope to reach better running time through learned heuristics.

References

  • [1] W. Ben-Ameur and É. Gourdin. Internet routing and related topology issues. SIAM J. Discrete Math., 17(1):18–49, 2003.
  • [2] A. Bley. Routing and capacity optimization for IP networks. PhD thesis, Technische Univertität Berlin, 2007.
  • [3] A. Bley. Approximability of unsplittable shortest path routing problems. Networks, 54(1):23–46, 2009.
  • [4] A. Bley. An integer programming algorithm for routing optimization in IP networks. Algorithmica, 60(1):21–45, 2011.
  • [5] A. Bley, B. Fortz, E. Gourdin, K. Holmberg, O. Klopfenstein, M. Pióro, A. Tomaszewski, and H. Ümit. Optimization of OSPF Routing in IP Networks, pages 199–240. Springer Berlin Heidelberg, Berlin, Heidelberg, 2010.
  • [6] A. Bley, M. Grötschel, and R. Wessäly. Design of broadband virtual private networks: Model and heuristics for the b-win. In Robust Communication Networks: Interconnection and Survivability, 1998.
  • [7] H. L. Bodlaender. A linear-time algorithm for finding tree-decompositions of small treewidth. SIAM Journal on Computing, 25(6):1305–1317, 1996.
  • [8] R. G. Downey and M. R. Fellows. Fundamentals of Parameterized Complexity. Springer-Verlag, 2013.
  • [9] B. Fortz and M. Thorup. Internet traffic engineering by optimizing OSPF weights. In Proceedings IEEE INFOCOM 2000, The Conference on Computer Communications, pages 519–528. IEEE Computer Society, 2000.
  • [10] R. Garcia. Resource constrained shortest paths and extensions. PhD thesis, Georgia Institute of Technology, Atlanta, GA, USA, 2009.
  • [11] M. Horváth and T. Kis. Solving resource constrained shortest path problems with lp-based methods. Computers & Operations Research, 73:150 – 164, 2016.
  • [12] T. Kloks. Treewidth, Computations and Approximations. Springer, 1994.
  • [13] A. Parmar, S. Ahmed, and J. Sokol. An integer programming approach to the ospf weight setting problem. 2006.
  • [14] N. Perrot, A. Benhamiche, Y. Carlinet, and E. Gourdin. Future Networks: Overview of Optimization Problems in Decision-Making Procedures, pages 177–207. IGI Global, 2019.