    # Waypoint Routing on Bounded Treewidth Graphs

In the Waypoint Routing Problem one is given an undirected capacitated and weighted graph G, a source-destination pair s,t∈ V(G) and a set W⊆ V(G), of waypoints. The task is to find a walk which starts at the source vertex s, visits, in any order, all waypoints, ends at the destination vertex t, respects edge capacities, that is, traverses each edge at most as many times as is its capacity, and minimizes the cost computed as the sum of costs of traversed edges with multiplicities. We study the problem for graphs of bounded treewidth and present a new algorithm for the problem working in 2^O(tw)· n time, significantly improving upon the previously known algorithms. We also show that this running time is optimal for the problem under Exponential Time Hypothesis.

## Authors

##### This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

## 1 Introduction

We study the Waypoint Routing Problem (WRP), which can be formally defined as follows: The input of the problem is an undirected, simple, capacitated and weighted graph , where and represent edge capacities and edge weights, respectively, a source-destination pair , and a set , of waypoints. A solution to the instance is a walk which starts at the source vertex , visits, in any order, all waypoints , ends at the destination vertex , and respects edge capacities, that is, for each edge , the walk traverses at most times. Note that the order of the waypoints along the walk is not prescribed by the input and may be selected arbitrarily to suit the solution. Among all walks satisfying the condition above, we aim to minize the cost of , computed as a sum of weights of all edges in solution with multiplicities.

The problem is motivated by modern networking systems connecting distributed network functions, often composed of middleboxes, possibly virtualized, such as service chaining SouleBMPKSF18 , hybrid software defined networks CaniniFLSS14 , or segment routing FilsfilsNPCF15 .

Study of (this variant of) the Waypoint Routing Problem was initiated by Amiri et al. AmiriFS18 . Inspired by the result of Rost et al. RostDS19 , who showed that many natural network topologies such as backbone transit and wide area networks have small treewidth (i.e., they are in certain sense similar to trees), Amiri et al. AmiriFS18 analyzed parameterized complexity of the problem with respect to the treewidth (denoted ) of the input graph. They presented a dynamic programming algorithm with running time . This implies that WRP parameterized by treewidth of the input graph belongs to the complexity class .

As the running time of this algorithm seems rather impractical, it raises a question, whether it can be improved to say or even for a suitable computable function . In other words, whether the problem is with respect to this parameterization.

#### Our contribution

In this paper we answer this question in affirmative. In particular, we show that WRP can be solved in time, that is, single exponential linear time, significantly improving upon the running time of the algorithm of Amiri et al. AmiriFS18 . We also show that the running time of our algorithm is asymptotically optimal, assuming the popular Exponential Time Hypothesis of Impagliazzo and Paturi ImpagliazzoP01 .

#### Related work

Apart from the above mentioned result, Amiri et al. AmiriFS18 also showed that WRP admit a randomized -time algorithm, where is the number of waypoints, which can be turned into a deterministic polynomial time algorithm when . They also showed that the problem is NP-hard on any class of graphs of maximum degree 3 on which Hamiltonian Cycle is

-hard. By a simple padding argument they showed that this also holds when

for any constant .

More research was concerned with Ordered WRP, where the exact order in which the waypoints must be visited is given as part of the input AmiriFJS18 ; AmiriFJP18 . Amiri et al. AmiriFJP18 showed that this problem can be solved in polynomial time on outerplanar graphs, while it is -hard on graphs of treewidth . Furthermore, it is with respect to and combined. They also studied Ordered WRP on special classes of directed graphs.

Amiri et al. AmiriFJS18 extended these results by showing that Ordered WRP is with respect to alone and that even the question whether any walk exists, let alone its weight, is -hard for a general number of waypoints. They further studied the problem for the case of one waypoint and showed that it is -hard on directed graphs, or if the demanded flow changes in the waypoint, or if we pose some other constraints on the solution walk.

WRP is also somewhat related to the Shortest disjoint paths problem, where the task is to find disjoint paths between a specified pair of vertices such that the sum of lengths of the paths is minimized. Interestingly, for this problem, even for , only a randomized polynomial time algorithm is known, but no deterministic BjorklundH19 . Another well studied related problem is -Cycle, where the task is to find a cycle through specified vertices BjorklundHT12 . The problem has also similarities with Subset TSP, where the task is to find the shortest tour through a specified subset of vertices KleinM14 .

A somewhat opposite approach of placing the middleboxes or service chains in a software defined network in such a way that both load and routing constraints are fulfilled is also studied MaBPP19 ; KutielR19 .

## 2 Preliminaries

We follows the basic notation of graph theory diestel2017 and parameterized complexity theory CyganFKLMPPS15 .

#### Partitions

For a set , we say that is a partition of if we have and for every two distinct we have . We denote the set of all partitions of . If is a partition, then we call a block. For we denote the partition of where all blocks are singletons except block , i.e., . For we denote by the partition obtained by removing from all , i.e., , and in a similar way we let be the partition obtained from by adding singletons for every , i.e, . For we say that is a coarsening of , denoted , if each block of is contained in one block of . The set together with coarsening relation forms a lattice. We denote the join operation in this lattice . In other words, is the finest common coarsening of partitions and . Note that the maximum element of the described lattice is and the minimum element is the partiton of all as singletons.

#### Tree decomposition and treewidth

###### Definition 1 (Tree decomposition, CyganFKLMPPS15 ).

A tree decomposition of graph is a pair where is a tree and is a function that associates to each node a vertex subset , called a bag, such that

1. for each vertex , there is a node such that ,

2. for each edge , there is node of such that ,

3. for each the nodes such that induce a connected subtree of .

The width of tree decomposition is . The treewidth of a graph , denoted , is a minimum width of a decomposition over all tree decompositions of .

###### Definition 2 (Nice tree decomposition, CyganFKLMPPS15 ).

A tree decomposition is called nice if and only if

1. is rooted in one vertex and ,

2. for every leaf of ,

3. Every non-leaf node is of one of the following types.

• Introduce vertex node: an internal node with exactly one child such that for some vertex ,

• Introduce edge node: an internal node , labeled with an edge such that , and with exactly one child such that ,

• Forget node: an internal node with exactly one child such that for some ,

• Join node: a node with two children such that .

4. For each edge there is exactly one node labeled with this edge.

Bodlaender et al. BodlaenderDDFLP16 proved that a tree decomposition of a graph of width can be computed in time . Any tree decomposition can be turned into a nice one of the same width in time, where is the width (CyganFKLMPPS15, , Lemma 7.4).

## 3 Graph unification

In this section we present some easy modifications on the input instance in order to simplify it. Many of them were also used by Amiri et al. AmiriFS18 .

As a walk can never leave the connected component containing , we can delete all other connected components of the input graph. If this also deletes or any waypoint, we can immediately answer no. As this can be performed in linear time, we can assume that the input graph is connected. As adding and into does not change the problem, we assume .

If , then we introduce a new vertex to and connect it by edges to both and . We set both the capacity and the cost of these two edges to . It is easy to observe that there is a solution walk of cost in the original network if and only if there is solution walk from to through all waypoints of cost in the modified network. This also increases the treewidth of the graph by at most , since we can add to every bag of the decomposition for . Hence, we assume that .

Inspired by the approach of Cosmadakis and Papadimitriou CosmadakisP84 , we interpret the task in terms of Eulerian subgraphs of a suitable multigraph. Let us first define this multigraph.

Let be an instance of WRP such that is connected and , let be a multigraph obtained by replacing each edge by parallel edges , for every and , and be equal to for each edge .

###### Lemma 1.

There is an - walk of total cost in passing through all waypoints in and obeying the capacities if and only if there is a connected subgraph (submultigraph) of of cost such that and is even (every vertex of has an even degree in ).

###### Proof.

Given a walk in we can transform it into a walk in by replacing, for each edge occurring in , its first occurrence by , the second occurrence by , etc. As obeys the capacities, this is possible and the cost of is the same as the cost of . Note that traverses each edge at most once, i.e., it is a trail. Now let and be the set of vertices and edges traversed by , respectively. Then is an Eulerian trail for , i.e., is connected and even. As traverses all vertices of , we have and the cost of is exactly the cost of which is the cost of .

For the other direction, if we have the subgraph , it is enough to take an Eulerian trail for this subgraph starting and ending in to obtain the desired walk. ∎

Observe that if is the desired subgraph of and it uses some edge more than twice (more than two parallel edges), then if we reduce the multiplicity of the edge by two, we obtain another subgraph with the desired properties. As each edge has a positive cost, this new subgraph will have a lower total cost. It follows, that in an optimal solution, each edge is traversed at most twice. Hence we introduce into only at most two copies of each edge, without affecting the set of optimal solutions.

We call an instance unified, if the (multi)graph is connected, has unary capacities, parallel edges have the same weight, there are at most two parallel edges between any pair of vertices, , and . Henceforward we will assume that the input instance of WRP is unified.

Amiri et al AmiriFS18 explicitly asked whether WRP can be expressed in Monadic Second Order Logic (MSOL). The task of searching for the least cost Eulerian subgraph of a unified instance containing all the waypoints can be expressed in a suitable extension of MSOL that allows counting the sizes of sets modulo 2 and finding the subset of interest of least cost in an element-weighted universe. As the classic result of Courcelle Courcelle90 holds even for such extensions CourcelleM93 , this shows that WRP is when parameterized by treewidth. Nevertheless, the running time of the algorithm implied by this meta-theorem is far from optimal. Therefore we present a specialized dynamic programming algorithm in the next section.

## 4 Dynamic programming algorithm

In this section we present our main algorithm. To simplify the description of the algorithm, we assume that the source is contained in all nodes of nice tree decomposition and that the root node, just as leaf nodes, contains only .

### 4.1 Partial solutions

We will compute partial solutions for subgraphs corresponding to a node in a tree decomposition by combining partial solutions for subgraphs corresponding to its children. To make the definition more intelligible we introduce the following notation.

###### Notation 1 (Subgraph induced by a node of a tree decomposition).

Let be a graph and be a nice tree decomposition for rooted in node . For any node we will denote by the subgraph induced by a tree decomposition node with

• ,

• .

We consider that every is a descendant of itself.

With the necessary preparation, we can finally define partial solution in subgraphs induced by a tree decomposition.

###### Definition 3.

Let be a unified instance of WRP, be a nice tree decomposition of , . For every with and every we call a presignature at . For a presignature at and partition of we call a solution signature at .

A subgraph is a partial solution compatible with solution signature  at , if all the following conditions holds

1. every already introduced waypoint is present in ,

2. ,

3. a vertex

has an odd degree in

if and only if ,

4. and for every connected component of we have and is in .

A simple dynamic programming approach would work in a bottom-up manner and compute for every signature a minimal weight partial solution. The computation runs from leaf nodes to the root node with the assumption that before computing an optimal partial solution of inner node all child nodes were already processed.

After completion of this procedure we ask for the weight computed for signature at the root . It is easy to verify that a subgraph of is compatible with this signature if and only if it is connected, even, and contains all waypoints. By Lemma 1, such a subgraph exists if and only if there is a solution walk of the same cost.

This approach finds an optimal solution, but the running time of this procedure is suboptimal due to computation and storage of a large number of partitions. Hence, we describe the algorithm using the framework of the next subsection, which then allows us to easily speed the algorithm up.

### 4.2 The rank based approach

We use the framework of Bodlaender et al. BodlaenderCKN15 to improve the algorithm. This allows us, instead of considering all possible partitions, to limit ourselves to representative set of weighted partitions containing all the needed information. For each presignature we store a list of pairs , where  is a partition of and is the weight of an optimal partial solution for solution signature .

###### Definition 4 (Set of weighted partitions BodlaenderCKN15 ).

A set of weighted partitions is subset . A pair  is called weighted partition and its weight.

###### Definition 5 (Representation and representative set).

For a set of weighted partitions and partition , let

 opt(q,A):=min{w∣(p,w)∈A∧p⊔q={U}}.

For any other set of weighted partitions we say that is a representative set for if and only if

 ∀q∈Π(U):opt(q,A′)=opt(q,A).

In addition, we say that a function , where denotes any combination of further inputs, preserves representation if for every and every it holds that if is representative set for  then remains representative for .

###### Theorem 1 (Operators on sets of weighted partitions BodlaenderCKN15 ).

Let be a set, sets of weighted partitions and a set obtained by removing all duplicates from while preserving only the one with minimal weight, i.e.,

 rmc(A):={(P,w)∈A∣∄(P,w′)∈A∧w′

Then the operators described bellow preserve representation.

[leftmargin=2labelindent=1]

Union

combine two weighted partitions sets and discard duplicates with larger weights.

Insert

, where , expand the universe by and insert each as a new partition into .

Shift

increase the weight of each partition by .

Glue

, where , for each partition merge sets containing and into one and add into if needed. By we denote .

Project

remove every from and from each partition while discarding each partition where the number of sets is decreased.

Join

, where , extend all partitions to the same set and for each pair and return the result of operation with weight equal to the sum of the weights of the original pairs.

The operators from Theorem 1 not only preserves the representation, but all of them excluding can be executed in time, where is the size of operation input. The running time of operation is .

###### Theorem 2 (Bodlaender et al. BodlaenderCKN15 ).

There is an algorithm for operation that given a set of weighted partitions produces in time , where is a matrix multiplication exponent, a representative subset such that .

The above theorem state that suitably small representative set of weighted partitions can be always found in a reasonable time. This completes the introduction of the used toolbox.

### 4.3 The algorithm

We will now formalize our dynamic programming approach using the operators from Section 4.2 which allows us to later optimize the running time of the algorithm.

#### Leaf node x

The computation of the algorithm starts in leaf nodes. The subgraph corresponding to a leaf of the decomposition has single vertex and no edge, so the only valid presignature is with the only possible partition being . Thus

 Ax({s},∅)={({{s}},0)}.

#### Introduce vertex v node x with child y

In an introduce vertex node of tree decomposition the presignature either prescribes to use the introduced vertex or not to use it. In the first case, we can be sure, thanks to the definition of tree decomposition, that there is no edge that starts or ends in in . Based on that we can say that for any presignature such that the solution signature can be obtained from solution signature of child node as . For the latter case the partial solutions do not change. Hence

 Ax(X,L)=⎧⎪⎨⎪⎩ins({v},Ay(X∖{v},L))if v∈X and v∉L,Ay(X,L)if v∉X∪L,∅otherwise.

#### Introduce edge e={u,v} node x with child y

When node introduces edge , the edge may or may not be added to partial solutions of child node . The easier part is when we decide to not add the edge to partial solutions, in that case, all the partial solutions are simply copied. On the other side if we add edge into the solution, then for every partial solution of child node the following happens

• the weight of edge is added to the total weight of the partial solution,

• if do not belong to the same partition as , then both partitions are merged,

• if , then is added to , the same for ,

• if , then is removed from , the same for .

In terms of presented operations, it yields

where is the symmetric difference of the sets and .

#### Forget vertex v node x with child y

If vertex is forgotten in node , then we must eliminate all the partial solutions of child node where is a singleton in  because there is no possibility to connect it with the rest of parts, and such partial solutions would not fulfill condition (iv) for partial solutions. By condition (iii) we can also eliminate partial solutions in which has an odd degree. Thus

#### Join node x with children y and z

In join node we must properly combine the partial solutions of its children, which is exactly the purpose of the operation. Hence,

Let us now show that the recurrences correctly compute for every node and presignature . This is captured by the following lemmas.

###### Lemma 2.

For every node , presignature , and weighted partition there is a partial solution compatible with at of cost at most .

###### Proof.

We prove the lemma by a bottom-up induction on the decomposition tree. For a leaf node the only presignature is with weighted partition for which is the partial solution. Let us now suppose that the lemma holds for every child node of node .

If node with single child introduces vertex , then for each presignature where and the partial solution compatible with at is also compatible with at and such a solution exists by induction hypothesis. When and , then let be a partial solution compatible with at . Such a solution exists by induction hypothesis. Then , created by adding as an isolated vertex into , is a partial solution compatible with at . Any other presignature is invalid.

When node with child introduces edge two cases can occur. The first case, when we decide to not add an edge to partial solutions valid for node is obvious. In the latter case for solution signature where we obtain solution by adding edge to submultigraph compatible with presignature in . Weight of such partial solution is increased by .

Let denote a forget vertex node with child and . If , then there is a partial solution of weight at most compatible with at . As it does not contain , it is also compatible with at . If , then let be the weighted partition such that . We know that , as otherwise this partition would be discarded by . By induction hypothesis there is a partial solution of weight at most compatible with at . As the component containing also contains other vertices of , is also compatible with at .

Last not yet discussed case is when node is a join node with exactly two children , . For let be such that . Furthermore, let and be such that . By induction hypothesis there are partial solutions of weight at most compatible with at and of weight at most compatible with at . Let . We claim that is compatible with at . Note that, as every edge is introduced exactly once, we have , thus and the weight of is at most . Clearly . As , every waypoint is either in or and, hence, in . As , a vertex has an odd degree in if and only if it has an odd degree in exactly one of and , which is exactly if it is in . It follows from the properties of that for each connected component of we have is in . ∎

###### Lemma 3.

For every node , presignature , and weighted partition of such that there is a partial solution compatible with at of cost , there is a pair in with .

###### Proof.

We prove the lemma by a bottom-up induction on the tree decomposition similarly as in the proof of Lemma 2.

For a leaf node the only valid presignature is and the only partition is . Moreover and, as , is the only partial solution compatible with at . Moreover, this partial solution has weight , we stored in , and, thus, for leaf nodes the lemma holds.

Let us now suppose that the lemma holds for every child node of node of the decomposition tree.

When node with single child node introduces vertex , then for any presignature , weighted partition of such that there is a partial solution compatible with , we must distinguish two cases. If introduced vertex is not part of , then and it is compatible with at . Hence, by induction hypothesis we have for some . As and, thus, in this case, we have also . If , then, since the vertex is introduced in node , there is no edge incident with in and also in which implies that and forms a connected component of and, thus also a singleton partition in . Therefore is compatible with at , where is obtained from by removing the part . Moreover, has also weight , as there are no edges incident on in . Thus, by induction hypothesis, for some . Since in this case, appears in , as required.

Let denote introduce edge node with single child node and a partial solution of weight compatible with solution signature at . As in the previous type of tree decomposition node we must analyze several cases. If , then there is a partial solution of weight compatible with at for some . Note that all connected components of are also connected components of except for the component containing and . Therefore, the partition is such that all parts of containing neither nor also appear in , if and are in the same part of , then it also appears in and otherwise, the union of the parts of containing and appears in . By induction hypothesis, there is a pair in such that . Therefore, there is a pair in , such that . If , then and is compatible with at . Therefore, by induction hypothesis, the pair is in for some . If , then in both cases we get that contains a pair for some . Otherwise we have and the lemma follows.

Let be a forget vertex node with a single child node . On one hand, when is not a part of , then is also partial solution compatible with solution signature at . Hence contains a pair for some by induction hypothesis. On the other hand, if is a part of , then must be in a connected component of containing some other vertex of . Therefore, is also compatible with signature at , where is obtained from by adding to the part containing . Thus, by induction hypothesis, the pair is in for some . Hence, the pair is in . In either case, contains a pair for some .

Last type of a node in a nice tree decomposition is a join node with exactly two children and . For a given solution signature and a compatible partial solution we let and and let and be their weights, respectively. We have that and are disjoint subgraphs, , and, thus, . We let () be the set of vertices of () of odd degree, respectively. For a vertex all edges of incident on are in , and, hence, . Similarly for a vertex in . Thus , and . Also is compatible with at for some and is compatible with at for some such that . Then, by induction hypothesis, contains a pair for some and contains a pair for some . Therefore contains a pair for some . Hence, also contains a pair for some and the lemma holds. ∎

Now to speed the algorithm up, it is enough, instead of using the full sets , to use their representative sets . After computing based on (and possibly ), we use algorithm from Theorem 2 to compute representative set of , such that . Since in the recurrence we use only operators from Theorem 1 which all preserves representation, set remains representative for .

###### Theorem 3.

There exist an algorithm that given an instance of Waypoint Routing Problem solves it in time.

###### Proof.

Our algorithm first preprocesses the instance to obtain a unified one. This increases the number of vertices by at most one and the number of edges is at most 2 more than twice the original number. Also the treewidth is increased by at most 1. For simplicity, we denote the unified instance also . Then we obtain a tree decomposition for using the algorithm of Bodlaender et al. BodlaenderDDFLP16 , turn it into a nice one along the lines of (CyganFKLMPPS15, , Lemma 7.4), and finally add to every bag. We obtain a nice tree decomposition of width with nodes and in every bag in time .

Thereafter the introduced dynamic programming algorithm computes the representative set of for every node of the tree decomposition and every presignature at . By Lemma 2 and Lemma 3, a pair is in if and only if there is a solution of weight . Since in the recurrence we use only operators from Theorem 1 which all preserves representation, set remains representative for all nodes including the root node . Hence is representative for , which necessarily implies and the algorithm is correct.

Let us discuss the running time of the proposed algorithm. As the width of the used decomposition is , there are presignatures for each bag. We use the procedure to obtain each , hence we have . In each of the recurrences, we use a constant number of operators from Theorem 1. The most time consuming is the computation in join nodes which takes at most time. Therefore the bottleneck of our algorithm is the procedure. Nevertheless, since the size of intermediate sets of weighted partitions never exceeds , this procedure also runs in time. As the nice tree decomposition has nodes, we can say that the overall running time of the presented algorithm is . ∎

## 5 ETH Lower Bound

Exponential Time Hypothesis (ETH) introduced by Impagliazzo and Paturi ImpagliazzoP01 states that there is a constant such that there is no algorithm for 3-SAT with running time , where is the number of variables and the total length of the input formula.

ETH has many implications and we will use the following one.

###### Theorem 4 (Impagliazzo, Paturi, and Zane ImpagliazzoPZ01 , see also (CyganFKLMPPS15, , Theorem 14.6)).

Unless ETH fails, Hamiltonian Cycle admits no algorithm working in time, where and are the number of vertices and edges of the input graph, respectively.

We show the following.

###### Theorem 5.

Unless ETH fails, there is no algorithm for Waypoint Routing Problem working in time and in particular none working in time, where , , and are the number of vertices, edges, and the treewidth of the input graph, respectively.

###### Proof.

Assume on contrary that such an algorithm exists. Note that, since for any graph , we have . We show that the existence of contradicts Theorem 4.

Consider the following algorithm. Given an undirected graph —an instance of Hamiltonian Cycle, let for every , , and be an arbitrary vertex in . Now run on . If the returned walk has weight , then accept , otherwise reject it. As a hamiltonian cycle in corresponds to a walk of length visiting each vertex of exactly once, using each edge at most once, and starting in and vice versa, the answer is correct. Hence the running time of the algorithm contradicts Theorem 4, finishing the proof. ∎

## 6 Conclusion

We presented a deterministic algorithm for WRP in undirected graph running in time. An interesting open problem is to determine the complexity of the problem in directed graphs with underlying undirected graph of small treewidth. While the correspondence with degree constrained submultigraphs via Eulerian trails is still valid in directed graphs, it is no longer true that each edge is traversed at most twice in an optimal walk. It is easy to find instances in which a particular edge must be traversed as many as times, where is the number of vertices, in any feasible walk. Furthermore, while in the final submultigraph the indegree of each vertex must equal its outdegree, for a partial solution the difference between these two degrees can be arbitrary big. This makes the problem more challenging in directed graphs.

## References

• (1) R. Soulé, S. Basu, P. J. Marandi, F. Pedone, R. Kleinberg, E. G. Sirer, N. Foster, Merlin: A language for managing network resources, IEEE/ACM Trans. Netw. 26 (5) (2018) 2188–2201.
• (2) M. Canini, A. Feldmann, D. Levin, F. Schaffert, S. Schmid, Software-defined networks: Incremental deployment with panopticon, IEEE Computer 47 (11) (2014) 56–60.
• (3) C. Filsfils, N. K. Nainar, C. Pignataro, J. C. Cardona, P. Francois, The segment routing architecture, in: 2015 IEEE Global Communications Conference, GLOBECOM 2015, San Diego, CA, USA, December 6-10, 2015, IEEE, 2015, pp. 1–6.
• (4) S. A. Amiri, K. Foerster, S. Schmid, Walking through waypoints, in: M. A. Bender, M. Farach-Colton, M. A. Mosteiro (Eds.), LATIN 2018: Theoretical Informatics - 13th Latin American Symposium, Buenos Aires, Argentina, April 16-19, 2018, Proceedings, Vol. 10807 of Lecture Notes in Computer Science, Springer, 2018, pp. 37–51.
• (5)

M. Rost, E. Döhne, S. Schmid, Parametrized complexity of virtual network embeddings: dynamic & linear programming approximations, Computer Communication Review 49 (1) (2019) 3–10.

• (6) R. Impagliazzo, R. Paturi, On the complexity of k-sat, J. Comput. Syst. Sci. 62 (2) (2001) 367–375.
• (7) S. A. Amiri, K. Foerster, R. Jacob, S. Schmid, Charting the algorithmic complexity of waypoint routing, Computer Communication Review 48 (1) (2018) 42–48.
• (8) S. A. Amiri, K. Foerster, R. Jacob, M. Parham, S. Schmid, Waypoint routing in special networks, in: C. Casetti, F. Kuipers, J. P. G. Sterbenz, B. Stiller (Eds.), 17th International IFIP TC6 Networking Conference, Networking 2018, Zurich, Switzerland, May 14-16, 2018, IFIP, 2018, pp. 496–504.
• (9) A. Björklund, T. Husfeldt, Shortest two disjoint paths in polynomial time, SIAM J. Comput. 48 (6) (2019) 1698–1710.
• (10) A. Björklund, T. Husfeldt, N. Taslaman, Shortest cycle through specified elements, in: Y. Rabani (Ed.), Proceedings of the Twenty-Third Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2012, Kyoto, Japan, January 17-19, 2012, SIAM, 2012, pp. 1747–1753.
• (11) P. N. Klein, D. Marx, A subexponential parameterized algorithm for subset TSP on planar graphs, in: C. Chekuri (Ed.), Proceedings of the Twenty-Fifth Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2014, Portland, Oregon, USA, January 5-7, 2014, SIAM, 2014, pp. 1812–1830.
• (12) W. Ma, J. Beltran, D. Pan, N. Pissinou, Placing traffic-changing and partially-ordered NFV middleboxes via SDN, IEEE Trans. Network and Service Management 16 (4) (2019) 1303–1317.
• (13) G. Kutiel, D. Rawitz, Service chain placement in sdns, Discret. Appl. Math. 270 (2019) 168–180.
• (14) R. Diestel, Graph Theory, 5th Edition, Vol. 173 of Graduate texts in mathematics, Springer, 2017.
• (15) M. Cygan, F. V. Fomin, L. Kowalik, D. Lokshtanov, D. Marx, M. Pilipczuk, M. Pilipczuk, S. Saurabh, Parameterized Algorithms, Springer, 2015.
• (16) H. L. Bodlaender, P. G. Drange, M. S. Dregi, F. V. Fomin, D. Lokshtanov, M. Pilipczuk, A c n 5-approximation algorithm for treewidth, SIAM J. Comput. 45 (2) (2016) 317–378.
• (17) S. S. Cosmadakis, C. H. Papadimitriou, The traveling salesman problem with many visits to few cities, SIAM J. Comput. 13 (1) (1984) 99–108.
• (18) B. Courcelle, The monadic second-order logic of graphs. i. recognizable sets of finite graphs, Inf. Comput. 85 (1) (1990) 12–75.
• (19) B. Courcelle, M. Mosbah, Monadic second-order evaluations on tree-decomposable graphs, Theor. Comput. Sci. 109 (1&2) (1993) 49–82.
• (20) H. L. Bodlaender, M. Cygan, S. Kratsch, J. Nederlof, Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth, Inf. Comput. 243 (2015) 86–111.
• (21) R. Impagliazzo, R. Paturi, F. Zane, Which problems have strongly exponential complexity?, J. Comput. Syst. Sci. 63 (4) (2001) 512–530.