Toward Scalable Algorithms for the Unsplittable Shortest Path Routing Problem
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, AlgorithmsI 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 a compact MILP formulation for the problem along with two classes of valid inequalities to strengthen its linear relaxation, a MILP-based heuristic that iteratively reroutes a portion of the traffic fixed by the decision-maker and reduces the network load and 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
-
scalability: they can be used to push back the limits of existing approaches for the problem in terms of size of instances treated,
-
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 be a (un)directed graph. We also use the notation and (resp. ) to denote the vertex set and arcs set (resp. edges set) of respectively Let , we denote by the subgraph of induced by . We denote by the set of adjacent vertices of and (resp. ) the set of outgoing (resp. ingoing) arcs of . A path or -path is a sequence of vertices such that for each . If no vertices appear more than once in a path then it is elementary. The two vertices and are the endpoints of the path and the others are called internal vertices. A subpath is defined as any subsequence for some and . Unless stated otherwise, all the paths considered in this paper are elementary. We use the notation to denote a subpath of with , being any two vertices of . We denote by the set of all elementary path in .
We say that is bidirected if and for all . The underlying undirected graph of is the undirected graph obtained from 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 and , if the directed graph has an arc or .
Tree decomposition and treewidth
A tree decomposition of an undirected graph consists of a tree with node set and edge set , and a set whose members , called bags, are labeled with the node , such that the following conditions are met:
-
1.
.
-
2.
For each there is an with .
-
3.
For each , the node set induces a subtree of .
The third condition is equivalent to assuming that if and then holds for every node of the (unique) -path in . The width of a tree decomposition is and the treewidth of is defined as where the minimum is taken over all tree decompositions of . The “” in the definition of is included for the convenience that trees have treewidth (rather than ).
Any tree decomposition of a graph can be transformed in linear time into a so-called nice tree decomposition with , and with for all where is a rooted tree satisfying the following conditions (see [12] for more details):
-
1.
Each node of has at most two children.
-
2.
For each node with two children , we have ( is called join node) with .
-
3.
If a node has just one child , then ( is called forget node) or ( is called insert node) and with .
One can see that the subtree of rooted at node represents the subgraph induced by precisely those vertices of which occur in at least one where runs over the nodes of . 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 is called fixed-parameter tractable (fpt) if there exists an algorithm, called an fpt algorithm, that solves it in time (fpt-time) where is the size of the input. The function is typically super-polynomial and only depends on . In other words, the combinatorial explosion is confined into . If the values of 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 = (, ) that represents an IP network topology. Every node corresponds to a router while an arc = represents a logical link between router nodes and . Every arc is associated a capacity (bandwidth) denoted by 0 and a latency value denoted 0. We let denote a set of commodities (traffic demands) to be routed over the graph . Every commodity is defined by a pair (, ) with , being the origin and destination of , respectively, along with the traffic volume 0 to be routed from to and a a maximum delay value 0.
Definition 1 (Partial routing (sub)path)
A partial routing path for a commodity in a graph is a pair denoted by where is a path. A partial routing subpath of is a routing path such that is a subpath of .
Definition 2 (Complete routing path)
A routing path is said to be complete for a commodity in a graph if the endpoints of are exactly the origin and destination of .
Definition 3 (Routing configuration)
A routing configuration for a set of commodities in a graph is a subset of routing paths.
The set of all possible routing configurations of in is denoted by .
Definition 4 (Feasible routing configuration)
A routing configuration is said to be feasible if there exists a weight function such that for each the path is the unique shortest path between its endpoints according to and the delay constraint is satisfied i.e .
Definition 5 (Complete routing configuration)
A routing configuration is said to be complete if it is feasible and there exists a (necessarily unique) complete routing path in for each .
Definition 6 (Conflicting paths)
Two paths and are said to be conflicting if they share two vertices and and with and . Otherwise, they are said to satisfy Bellman property.
Finally, we provide the following two metrics:
Definition 7 (Load)
The load of an arc given a routing configuration is defined as
The load is the ratio between the total flow that goes through an arc and the arc’s capacity.
Definition 8 (Congestion)
The congestion of a routing configuration is defined as
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 if is feasible then it contains no conflicting routing paths.
Proof:
Suppose, on the contrary, that is feasible and yet contains two routing paths such that they share two vertices and and with and . Since is feasible then there exists a weight function such that (resp. ) is the unique shortest path between its endpoints with respect to . By the Bellman principle, the subpath is a shortest between and . For the same reason, the subpath is a shortest between and which is different from by assumption. Hence, there are two different shortest paths to join the endpoints, denoted and , of i.e the path itself and the one formed by the subpaths , and . This contradicts the unicity of . ∎
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 and a set of routing paths induced by those weights such that there is a unique shortest path satisfying the delay constraints for each commodity according to the identified weights and the network congestion is minimum. Formely, the problem is defined as follows.
D-USPR
Input: A bidirected graph where each arc has a capacity value and a latency value , a set of commodities where each commodity is defined as , , , .
Output: A complete routing configuration 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 where each arc has a capacity value and a latency value , a set of commodities partitioned into two sets (free demands) and (fixed demands) and a complete routing configuration .
Output: A complete routing configuration such that is feasible and has minimum congestion value.
Observe that if , 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 demands, to find 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.
IV MILP formulation
IV-A Notations and formulation
Let be a binary variable that takes the value 1 if commodity is routed along a path using arc and 0 otherwise. We define the binary variables that takes the value 1 if belongs to a shortest path towards destination and 0 otherwise. We further let denote the weight assigned to the arc and be the potential of node , that is the distance between node and node . The D-USPR problem is then equivalent to the following MILP formulation:
(1) | ||||
(7) | ||||
(8) | ||||
(9) | ||||
(10) | ||||
(11) | ||||
(12) | ||||
(13) | ||||
(14) | ||||
(15) | ||||
(16) | ||||
(17) | ||||
(18) |
The objective (1) is to minimize the load of the most loaded link, denoted . Inequalities (7) ensure that a unique path is associated to each commodity and (8) express the load over an arc . 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 towards a given destination , 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 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.
Proof:
It is easy to see that any solution of D-USPR satisfies inequalities (7)-(16). To show the converse, let denote a solution of (7)-(16) and consider two sets, say and defined as follows: = , for each , with = and = , for every . Since satisfies the flow conservation constraints (7), clearly contains a unique routing -path for commodity , which by (9) also satisfies the delay constraints. Inequalities (7), (10), (11) and (12) ensure that the elements of form an anti-arborescence rooted at destination and consequently, contains paths that satisfy Bellman property. Moreover, since and satisfy inequalities (13) and (14), every set , , consists of arcs which are tight with respect to the weights , thus containing a shortest -path.
Now suppose that there are two conflicting paths in , say and and let and be their respective endpoints. Denote by and two internal nodes of and such that . Further assume that
then the inequalities (13) and (14) with summed over and yields a contradiction. Consequently, every -path used for routing is a unique shortest path according to the weights and hence 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
(19) |
(20) |
are valid for the D-USPR problem.
Those inequalities ensure that two paths , with a common endpoint , that intersect at a second node are necessarily such that = . 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 -path using an arc should leave this arc through an arc satisfying the following condition
where (respectively ) is the length of the shortest path between nodes and (respectively between nodes and ) with respect to the delay metric. In other words, = , for . For each arc and each commodity originating from node and going to node , denote by , the set of arcs defined as follows
Similarly, we let denote the set of arcs entering into node that can belong to a feasible routing path:
Proposition 3
The following inequalities
(21) |
(22) |
are valid for the D-USPR problem.
Proof:
Let be a commodity of with origin and destination and let be an arc of such that . Denote by (, , , , ) and let = be the -path associated with the routing of commodity . It is easy to see that inequality (21) is trivially satisfied if = 0. Now if = 1, then, by (7), there exists an arc, say = in such that = 1. Denote by = (respectively = ) the subpath with endpoints (respectively, . Suppose that is in , that is to say,
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 with a capacity vector and a set of demands with a latency vector . 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 . Let denote the spanning tree obtained.
Step 2 We set an arbitrary weight value on each arc of and a infinite weight on the remaining arcs .
Step 3 We associate with each commodity of a path, say , in between and .
We will denote by the complete routing configuration obtained at the end of the initialization phase. Note that obviously defines a feasible solution for the D-USPR problem.
We let be the most loaded arc with respect to , that is to say = . At each iteration, we then apply the following procedure. We consider a partition of the demands set into two subsets and , where is the subset of (congesting) demands whose routing path in uses the arc and contains the remaining demands. We fix the routing paths of the demands in along with the associated weights. Let (resp. ) denote the destination nodes of the demands in (resp. ) and denotes this fixed routing toward destination . We determine a feasible routing configuration by rerouting the demands of , 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 and instead of and while (8) is replaced by the following inequality
(23) |
Finally, we add the following inequalities
(24) | ||||
(25) |
to ensure that the paths fixed in each set define shortest paths towards the destination . This procedure is summarized in Algorithm 1.
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 of width , the Pre Routed D-USPR problem can be solved in at most -time where .
Proof:
Let be an instance of Pre Routed D-USPR . Let be a nice tree decomposition of rooted at node . We denote by the width of and by the order of i.e . We start the proof by introducing some extra notations and definitions.
Notations. Recall that is the subtree of rooted at node and is the subgraph of induced by the vertices of which occur in at least one bag where runs over the nodes of . In this proof, we will also use the subgraph which is obtained from by removing the arcs with both endpoints in . We denote by the set of all origins and destinations of the demands in that lie in i.e (see Figure 2). Let and a subgraph of , we denote by the routing configuration obtained by taking the subpaths of induced by . We denote by the graph obtained by taking the union of all routing paths in .
Definitions. In this paragraph, we introduce several notions that are needed in the proof.
Valid routing configuration: We say that a routing configuration is valid, if it is feasible and for every one of the following two conditions is met:
-
•
There is exacly one complete routing subpath .
-
•
The graph induced by the union of the routing subpaths for in is made of disjoint paths with at least one endpoint in . Furthermore, there are at most two degree-one vertices in in such graph.
Routing contract: A “routing contract” induced by a valid routing configuration is an edge-labeled graph where the edge labelling is a function from to defined as follows. First, we say that a vertex is a transit vertex if it has degree in and the demands routed along the edges and according to where are the same. The graph is then obtained from by removing every transit vertex and inserting the edge i.e we remove and connect its neighbors with an edge. Regarding the edge labelling function , the demands in are exactly those routed along the corresponding subpath (which can be a single edge) in (see Figure 3). More generally, we say that a routing configuration is -respecting if there exists a mapping such that for all the demands in are exactly those routed along the corresponding subpath in . We denote by the set of all possible routing contracts at node .
Delay contract: A “delay contract” induced by a valid routing configuration is a function defined as follows. Given a demand , the value is equal to the sum of the delays on the arcs used to route the demand according to . We say that a routing configuration is -respecting if for each we have . We denote by the set of all possible delay contracts at node .
Subproblems definition. We define a set of subproblems for each node , one corresponding to each possible and each that may represent in the routing contract and delay contract induced by an optimal complete routing configuration for . Hence, for each routing contract and each delay contract , we let be an -respecting and -respecting valid routing configuration in with minimum congestion. If no such routing configuration exists, we simply set .
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 , we may assume w.l.o.g that the bags associated to the leaves of contains only one vertex. In this case, each leaf is considered as an insert node. Initially, for all and . By convention, . The algorithm computes the table of each node in according to their type (insert, forget or join) and using a bottom-up procedure that ends to the root as follows.
Insert node
Let be an insert node. In the case that is a leaf, we simply skip this step and move on to the next node. Otherwise, let be the child of . By definition and . We compute the table as follows. For each we perform the following instructions in sequence
-
•
We define a routing contract obtained from by simply adding the vertex .
-
•
We construct a delay contract by simply setting .
After the instructions are performed, we set .
Forget node
Let be a forget node with child . By definition and . Let be the set of edges incident to and . 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 (See Figure 4). In what follows, we assume that whenever some fixed demands are routed along some of the edges in we include the corresponding routing subpaths of into every routing extension constructed hereafter.
For each routing contract and each delay contract such that , we partition the set into the following three sets:
-
•
: the free demands with no routing path in .
-
•
: the free demands which have at least one (non-complete) routing path in .
-
•
: the free demands for which there exists a complete routing path in .
First, we can ignore the demands in : since they are end-to-end routed, there are no more decisions to be made for them. Consider instead a free demand . Suppose for the moment that and . Hence, this demand can be (possibly) routed through the vertex using two edges of . This yields to at most choices to route through . Thus, a total of at most possibilities to route all the demands in in this way. If or then the only choice is to pick one of the edge in 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 . Let be the set of routing paths for in having at least one endpoint in . We will show how many new routing paths can be obtained to route through by extending those in . Similarly, suppose that and . The demand can be (possibly) routed through the vertex by extending the paths in with at most one or two edges of . Thus the total number of possible ways to extend the routing paths in is bounded by . Thus, a total of at most possibilities to route all the demands in . Suppose now that or , if there exists a routing path then the path cannot be extended through . Otherwise, the only choice is to extend the routing paths in by picking one of the edge in 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
new possible routing configurations that can be constructed from the ones in . Let 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 , let and be the routing contract and delay contract induced by (i.e is -respecting and -respecting), we set if .
Join node
Let be a join node with two children . By definition . For each and each , let and let be the routing contract and delay contract induced by . We set if is valid and .
Final step
Once we have computed the optimal solutions for every node, we can determine a complete routing configuration with minimum congestion for the instance as follows. Apply the forget node operation to every vertex in to get a new table , then return the solution of minimum congestion among all and .
Correctness. The correctness follows from the following claim.
Claim 1
Let and be a minimum congested valid routing configuration. For every child of , is a minimum congested valid routing configuration where and are induced by .
Proof:
Let and be the routing contract and delay contract induced by . Suppose that there exists a -respecting and -respecting valid routing configuration such that . Consider the routing configuration which is obtained by extending the routing paths of the same way that gets extended to obtain . So is -respecting, -respecting and we have . We claim that is a valid routing configuration which contradicts the choice of as being a minimum congested valid routing configuration in . We show that is feasible since the other conditions of validity are satisfied by construction. Since is feasible there exists a weight function such that for each the path is the unique shortest path between its endpoints according to . We show how to construct a weight function from so that is feasible with respect to . For this purpose, we will use the fact that and are both -respecting. For each , there is corresponding routing subpath in and in , and we set for each edge where is the length of . Finally, for every edge such that is undefined, we set . This finishes the construction of and we claim that is feasible according to . To see this, observe that any -respecting routing graph is obtainable from by subdividing an appropriate number of time each edge in . Thus, whenever there is a -respecting routing graph that is feasible according to , it suffices to construct a weight function that preserves the distances between the vertices of degree greater than two. The routing configuration is then valid and which contradicts the minimality of . ∎
Running time. First, regarding the number of subproblems to solve, there are at most of them associated to each node . This corresponds to the number of possible pair routing contract and delay contract at each node . Since we have a nice tree decomposition of nodes, we end up with a total of at most subproblems to solve. The most costly subproblem to solve is the forget node operation which takes time at most
which is bounded by . Thus overall running time is
Claim 2
Let , we have
Proof:
By definition, contains only routing contracts that are induced by valid routing configurations in . Let and be a valid -respecting routing configuration. First, the number of routings paths in is bounded by . Indeed, since is valid, every is either complete or has at least one endpoint in . Hence, there can be as many routing subpaths as the number of pairs of vertices in plus at most two routing paths per demand with exactly one endpoint in . 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 may not contain only disjoint paths. Hence there can be no more than routing paths in as claimed.
Now we will determine the maximum number of possible routing contracts that can be obtained from valid routing configurations in . Let be a path in that is used to route some demand in . By definition of a routing contract, we know that every vertex in intersects with at least one other routing path in (recall that all transit vertices are removed). Moreover, since there is no conflicting paths in (Lemma 1), every other routing path can intersect at most once. Thus has no more than vertices and then the graph contains at most vertices. Finally, there can be at most possible edge-labelling function for . Hence, the number of possible routing contract in is bounded by as claimed. ∎
Claim 3
Let , we have .
Proof:
By definition, contains only delay contracts that are induced by valid routing configurations in . Let and be a valid -respecting routing configuration. Thus, for all , we have
The number of possible delay contracts is then bounded by 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:
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 for all the experiments, likewise in [4] and the CPU time limit is fixed to 5 hours for the exact approach.
Basic MILP | MILP + subpath cons. ineq. | MILP + node precendence ineq. | ||||||||||
Topology | 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 (basic MILP), (MILP + subpath consistency inequalities) and (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.
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 () 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: reducing the size of the problem (e.g number of demands) and 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.