A Logarithmic Integrality Gap Bound for Directed Steiner Tree in Quasi-bipartite Graphs 111This work was in part supported by NSERC’s Discovery grant program. The second author greatfully acknowledges the support of the Hausdorff Institute and the Institute for Discrete Mathematics in Bonn, Germany.
We demonstrate that the integrality gap of the natural cut-based LP relaxation for the directed Steiner tree problem is in quasi-bipartite graphs with terminals. Such instances can be seen to generalize set cover, so the integrality gap analysis is tight up to a constant factor. A novel aspect of our approach is that we use the primal-dual method; a technique that is rarely used in designing approximation algorithms for network design problems in directed graphs.
In an instance of the directed Steiner tree (DST) problem, we are given a directed graph , non-negative costs for all , terminal nodes , and a root . The remaining nodes in are the Steiner nodes. The goal is to find the cheapest collection of edges such that for every terminal there is an -path using only edges in . Throughout, we let denote and denote .
If , then the problem is simply the minimum-cost arborescence problem which can be solved efficiently . However, the general case is well-known to be NP-hard. In fact, the problem can be seen to generalize the set-cover and group Steiner tree problems. The latter cannot be approximated within for any constant unless .
For a DST instance , let denote the value of the optimum solution for this instance Say that an instance of DST with terminals is -layered if can be partitioned as where and every edge has and for some . Zelikovsky showed for any DST instance and integer that we can compute an -layered DST instance in poly time such that and that a DST solution in can be efficiently mapped to a DST solution in with the same cost [2, 17].
Charikar et al.  exploited this fact and presented an -approximation with running time for any integer . In particular, this can be used to obtain an -approximation in quasi-polynomial time and a polynomial-time -approximation for any constant . Finding a polynomial-time polylogarithmic approximation remains an important open problem.
For a set of nodes , we let be the set of edges entering . The following is a natural linear programming (LP) relaxation for directed Steiner tree.
This LP is called a relaxation because of the natural correspondence between feasible solutions to a DST instance and feasible -integer solutions to the corresponding LP (DST-Primal). Thus, if we let denote the value of an optimum (possibly fractional) solution to LP (DST-Primal) then we have . For a particular instance we say the integrality gap is ; we are interested in placing the smallest possible upper bound on this quantity.
Interestingly, if (the shortest path problem) or (the minimum-cost arborescence problem), the extreme points of (DST-Primal) are integral so the integrality gap is 1 ( and , respectively). However, in the general case Zosin and Khuller showed that (DST-Primal) is not useful for finding -approximation algorithms for DST . The authors showed that the integrality gap of (DST-Primal) relaxation can, unfortunately, be as bad as , even in instances where is a 4-layered graph. In their examples, the number of nodes is exponential in so the integrality gap may still be for some constant .
On the other hand, Rothvoss recently showed that applying rounds of the semidefinite programming Lasserre hierarchy to (the flow-based extended formulation of) (DST-Primal) yields an SDP with integrality gap for -layered instances . Subsequently, Friggstad et al.  showed similar results for the weaker Sherali-Adams and Lovász-Schrijver linear programming hierarchies.
In this paper we consider the class of quasi-bipartite DST instances. An instance of DST is quasi-bipartite if the Steiner nodes form an independent set (i.e., no directed edge has both endpoints in ). Such instances still capture the set cover problem, and thus do not admit an -approximation for any constant unless [15, 5]. Furthermore, it is straightforward to adapt known integrality gap constructions for set cover (e.g. ) to show that the integrality gap of (DST-Primal) can be as bad as in some instances. Hibi and Fujito  give an -approximation for quasi-bipartite instances of DST, but do not provide any integrality gap bounds.
Quasi-bipartite instances have been well-studied in the context of undirected Steiner trees. The class of graphs was first introduced by Rajagopalan and Vazirani  who studied the integrality gap of (DST-Primal) for the bidirected map of the given undirected Steiner tree instances. Currently, the best approximation for quasi-bipartite instances of undirected Steiner tree is by Goemans et al.  who also bound the integrality gap of the bidirected cut relaxation by the same quantity. This is the same LP relaxation as (DST-Primal), applied to the directed graph obtained by replacing each undirected edge with the two directed edges and . This is a slight improvement over a prior -approximation for any constant by Byrka et al. .
The best approximation for general instances of undirected Steiner tree is for any constant . However, the best known upper bound on the integrality gap of the bidirected cut relaxation for non-quasi-bipartite instances is only 2; it is an open problem to determine if this integrality gap is a constant-factor better than 2.
1.1 Our contributions
Our main result is the following. Let be the th harmonic number.
The integrality gap of LP (DST-Primal) is at most in quasi-bipartite graphs with terminals. Furthermore, a Steiner tree with cost at most can be constructed in polynomial time.
As noted above, Theorem 1 is asymptotically tight since any of the well-known integrality gap constructions for set cover instances with items translate directly to an integrality gap lower bound for (DST-Primal), using the usual reduction from set cover to 2-layered quasi-bipartite instances of directed Steiner tree.
This integrality gap bound asymptotically matches the approximation guarantee proven by Hibi and Fujito for quasi-bipartite DST instaces . We remark that their approach is unlikely to give any integrality gap bounds for (DST-Primal) because they iteratively choose low-density full Steiner trees in the same spirit as  and give an -approximation for finding the optimum DST solution that does not contain a path with Steiner nodes . In particular, their approach will also find an -approximation to the optimum DST solution in 4-layered graphs and we know the integrality gap in some 4-layered instances is .
We prove Theorem 1 by constructing a directed Steiner tree in an iterative manner. An iteration starts with a partial Steiner tree (see Definition 1 below), which consists of multiple directed components containing the terminals in . Then a set of arcs are purchased to augment this partial solution to one with fewer directed components. These arcs are discovered through a primal-dual moat growing procedure; a feasible solution for the dual (DST-Primal) is constructed and the cost of the purchased arcs can be bounded using this dual solution.
While the primal-dual technique has been very successful for undirected network design problems (e.g., see ), far fewer success stories are known in directed domains. Examples include a primal-dual interpretation of Dijkstra’s shortest path algorithm (e.g., see Chapter 5.4 of ), and Edmonds’  algorithm for minimum-cost arborescences. In both cases, the special structure of the problem is instrumental in the primal-dual construction. One issue arising in the implementation of primal-dual approaches for directed network design problems appears to be a certain overlap in the moat structure maintained by these algorithms. We are able to handle this difficulty here by exploiting the quasi-bipartite nature of our instances.
2 The integrality gap bound
2.1 Preliminaries and definitions
In (DST-Dual), the sums range only over sets of nodes such that and .
Our algorithm builds up partial solutions, which are defined as follows.
A partial Steiner tree is a tuple where, for each , is a subset of nodes, , and is a subset of edges with endpoints only in such that the following hold.
The sets form a partition .
(i.e. is a subset of Steiner nodes).
and for each .
For every and every , contains an -path.
We say that is the set of free Steiner nodes in and that is the head of for each . The edges of , denoted by , are simply . We say that are the components of where is the root component and are the non-root components.
Figure 1 illustrates a partial Steiner tree. Note that if is a partial Steiner tree with non-root components, then is in fact a feasible DST solution.
Finally, for a subset of edges we let .
2.2 High-level approach
Our algorithm builds up partial Steiner trees in an iterative manner while ensuring that the cost does not increase by a significant amount between iterations. Specifically, we prove the following lemma in Section 3. Recall that refers to the optimum solution value for (DST-Primal).
Given a partial Steiner tree with non-root components, there is a polynomial-time algorithm that finds a partial Steiner tree with non-root components such that
Proof of Theorem 1.
Initialize a partial Steiner tree with non-root components as follows. Let be the set of all Steiner nodes, , and . Furthermore, label the terminals as and for each let and . Note that .
Iterate Lemma 1 to obtain a sequence of partial Steiner trees where has non-root components such that and
for each . Return as the final Steiner tree.
That can be found efficiently follows simply because we are iterating the efficient algorithm from Lemma 1 at most times. The cost of this Steiner tree can be bounded as follows.
The idea presented above resembles one proposed by Guha et al.  for bounding the integrality gap of a natural relaxation for undirected node-weighted Steiner tree by . Like our approach, Guha et al. also build a solution incrementally. In each phase of the algorithm, the authors reduce the number of connected components of a partial solution by adding vertices whose cost is charged carefully to the value of a dual LP solution that the algorithm constructs simultaneously.
3 A primal-dual proof of Lemma 1
Consider a given partial Steiner tree with non-root components. Lemma 1 promises a partial Steiner tree with non-root components with . In this section we will present an algorithm that augments forest in the sense that it computes a set of edges to add to . The proof presented here is constructive: we will design a primal-dual algorithm that maintains a feasible dual solution for (DST-Dual), and uses the structure of this solution to guide the process of adding edges to .
3.1 The algorithm
For any two nodes , let be the cost of the cheapest -path in . More generally, for a subset and a node we let . We will assume that for every and that as otherwise, we could merge and by adding the -cost -path to .
The usual conventions of primal-dual algorithms will be adopted. We think of such an algorithm as a continuous process that increases the value of some dual variables over time. At time , all dual variables are initialized to a value of . At any point in time, exactly dual variables will be raised at a rate of one unit per time unit. We will use for the time at which the algorithm terminates. As is customary, we will say that an edge goes tight if the dual constraint for becomes tight as the dual variables are being increased. When an edge goes tight, we will perform some updates to the various sets being maintained by the algorithm. Again, the standard convention applies that if multiple edges go tight at the same time, then we process them in any order.
Algorithm 1 describes the main subroutine that augments the partial Steiner tree to one with fewer components. It maintains a collection of moats and edges for each , while ensuring that the dual solution it grows remains feasible. Mainly to aid notation, our algorithm will maintain a so called virtual body for all such that . We will ensure that each has a mate such that the edge has cost no more than . For notational convenience, we will let be the virtual body of the root component. The algorithm will not grow a moat around the root since dual variables do not exist for sets containing the root.
Our algorithm will ensure that moats are pairwise terminal-disjoint. In fact, we ensure that any two moats may only intersect in . Terminal-disjointness together with the quasi-bipartite structure of the input graph will allow us to charge the cost of arcs added in the augmentation process to the duals grown.
An intuitive overview of our process is the following. At any time , the moats will consist of all nodes with . The moats will be grown until, at some time , for at least one pair with , there is a tight path connecting to . At this point the algorithm stops, and adds a carefully chosen collection of tight arcs to the partial Steiner tree that merges and (and potentially other components). Crucially, the cost of the added arcs will be charged to the value of the dual solution grown around the merged components.
Due the structure of quasi-bipartite graphs, we are able to ensure that in each step of the algorithm the active moats pay for at most one arc that is ultimately bought to form . Also, if has non-root components then each arc was paid for by moats around at most different heads. So, the total cost of all purchased arcs is at most . Finally, the total dual grown is , which is due to feasibility, so the cost of the edges bought can be bounded by .
3.2 Algorithm and invariants
For each , and (so there is a variable in the dual).
For each , where .
and both for distinct .
For each we have . Furthermore, for each each there is a mate such that and .
is feasible for LP (DST-Dual) with value exactly .
These concepts are illustrated in Figure 2.
3.3 Invariant analysis
Clearly the invariants are true after the initialization steps (at time ), given that for any . To see why Algorithm 1 terminates in a polynomial number of iterations, note that each iteration increases the size some moat by 1 and does not decrease the size of any moats. So after at most iterations some moat will grow to include the virtual body of another moat, at which point the algorithm stops.
Assume now that the invariants are true at some point just before Step (4) is executed and that the condition in Step (5) is false after Step (4) finishes. We will show that the invariants continue to hold just before the next iteration starts. We let denote the edge that went tight that is considered in Step (4). We also let denote the total time the algorithm has executed (i.e. grown moats) up to this point.
Before proceeding with our proof, we exhibit the following useful fact. In what follows, let be the moat around at any time during the algorithm. This proposition demonstrates how we control the overlap of the moats by exploiting the quasi-bipartite structure.
If , then for any , and for any .
Suppose, for the sake of contradiction, that for some and . Since is a subset of , the moat containing at time , we must have . Invariant 3 now implies that . Since is quasi-bipartite, then . Therefore for some . Since or , then the terminating condition in Step (5) would have been satisfied as . A contradiction. ∎
First note that never loses vertices during the algorithm’s execution, and it therefore always contains head vertex . Also, vertex is not part of as otherwise the algorithm would have terminated in Step (5). Hence also does not contain the root node .
This is just a reinterpretation of Dijkstra’s algorithm in the primal-dual framework (e.g. Chapter 5.4 of ), coupled with the fact that no edge considered in Step (4) in some iteration crosses more than one moat at any given time (Proposition 1).
Suppose for some . This implies , and hence . Thus, the termination condition in Step (5) was satisfied and the algorithm should have terminated; contradiction.
If is not added to , and thus remains unchanged, continues to hold for . We also must have that for , as otherwise and this would violate the termination condition in Step (5).
Now suppose that is added to . Then for we still have as otherwise which contradicts and the fact that Invariant 3 holds at the start of this iteration. We also have that as otherwise . But this would mean that as well by Proposition 1. We established above that . However, contradicts the fact that is quasi-bipartite.
That is clear simply because we only add nodes to the sets . Suppose now that is added to . In this case, as from the start. We claim that can also not be part of for some , since otherwise , contradicting Invariant 3. Hence . Note that the quasi-bipartiteness of implies that , and hence . Proposition 1 finally implies that only the moats crossed by are moats around , so since the algorithm only grows one moat around at any time we have , and this completes the proof of Invariant 4.
The Step (4) stops the first time a constraint becomes tight, so feasibility is maintained. In each step, the algorithm grows precisely moats simultaneously. Because the objective function of (DST-Dual) is simply the sum of the dual variables, then the value of the dual is just times the total time spent growing dual variables. ∎
To complete the final detail in the description of the algorithm, we now show how to construct the partial Steiner tree after Step (5) has been reached. Lemma 2 shows that Invariants 1 through 5 hold just before Step (4) in the final iteration. Say the final iteration executes for time units and that is the edge that goes tight and was considered in Step (5).
Let be the unique index such that at time . There is exactly one such because for is ensured by the invariants. Next, let and note that consists of all indices (except, perhaps, ) such that . By the termination condition, . Vertex lies in by definition. If then we let be the mate of as defined in Invariant 4. Otherwise, if , we let .
For notational convenience, we let be the path consisting of the single edge (or just the trivial path with no edges if ). In either case, say cost of is where (c.f. Invariant 4). For each , let be a shortest -path. Invariant 2 implies that
for some . Observe also that the tightness of at time and the definition of imply that
In fact, precisely a -value of the dual variables for contribute to ; the contribution of ’s variables to is at most .
Construct a partial Steiner tree obtained from and Algorithm 1 as follows.
The sets and head are unchanged for all .
Replace the components with a component having head . The edges of this component in are .
The free Steiner nodes of are the Steiner nodes not contained in any of these components.
Namely, consists of those nodes in that are not contained on any path .
We show that Steiner tree as constructed above satisfies the conditions stated in Lemma 1. We first verify that as constructed above is indeed a valid partial Steiner tree. Clearly the new sets and partition and is a subset of Steiner nodes.
Note that if in the above construction, then because no moat contains . Thus, if is replaced when is constructed, then is the head of this new component.
Next, consider any . If then there is an -path in . If then it can be reached from in as follows. Follow the -path in , then the path , cross the edge , follow to reach , and finally follow the -path in . Finally, if for any then lies on some path , in which case it can be reached in a similar way.
It is also clear that and that the number of non-root components in is . Also, is at most the cost of the the paths plus .
We have shown that the integrality gap of LP relaxation (DST-Primal) is in quasi-bipartite instances of directed Steiner tree. The gap is known to be in 4-layered instances  and in 3-layered instances . Since quasi-bipartite graphs are a generalization 2-layered instances, it is natural to ask if there is a generalization of 3-layered instances which has an or even integrality gap.
One possible generalization of 3-layered graphs would be when the subgraph of induced by the Steiner nodes does not have a node with both positive indegree and positive outdegree. None of the known results on directed Steiner tree suggest such instances have a bad gap.
Even when restricted to 3-layered graphs, a straightforward adaptation of our algorithm that grow moats around the partial Steiner tree heads until some partial Steiner trees absorbs another fails to grow a sufficiently large dual to pay for the augmentation within any reasonable factor. A new idea is needed.
-  J. Byrka, F. Grandoni, T. Rothvoss, and L. Sanita. Steiner tree approximation via iterative randomized rounding. Journal of the ACM, 60(1):6, 2013.
-  G. Calinescu and G. Zelikovsky. The polymatroid Steiner problems. J. Combinatorial Optimization, 9(3):281–294, 2005.
-  M. Charikar, C. Chekuri, T. Cheung, Z. Dai, A. Goel, S. Guha, and M. Li. Approximation algorithms for directed Steiner problems. J. Algorithms, 33(1):73–91, 1999.
-  J. Edmonds. Optimum branchings. J. Res. Natl. Bur. Stand., 71:233–240, 1967.
-  U. Feige. A threshold of for approximating Set-Cover. Journal of the ACM, 45(4):634–652, 1998.
-  Z. Friggstad, A. Louis, Y. K. Ko, J. Könemann, M. Shadravan, and M. Tulsiani. Linear programming hierarchies suffice for directed Steiner tree. In proceedings of IPCO, 2014.
-  S. Guha, A. Moss, J. Naor, and B. Schieber. Efficient recovery from power outage (extended abstract). In proceedings of STOC, 1999.
-  M. X. Goemans, N. Olver, T. Rothvoss, and R. Zenklusen. Matroids and integrality gaps for hypergraphic Steiner tree relaxations. In proceedings of STOC, 2012.
-  M. X. Goemans and D. P. Williamson. A general approximation technique for constrained forest problems. SIAM Journal on Computing, 24(2):296–317, 1995.
-  E. Halperin and R. Krauthgamer. Polylogarithmic inapproximability. In proceedings of STOC, 2003.
-  T. Hibi, and T. Fujito. Multi-rooted Greedy Approximation of directed Steiner trees with applications. In proceedings of WG, 2012.
-  C. H. Papadimitriou and K. Steiglitz. Combinatorial Optimization: Algorithms and Complexity. Prentice-Hall, Inc., 1982.
-  S. Rajagopalan, and V. V. Vazirani. On the bidirected cut relaxation for the metric Steiner tree problem. In proceedings of SODA, 742–751, 1999.
-  T. Rothvoss. Directed Steiner tree and the Lasserre hierarchy. CoRR abs/1111.5473, 2011.
-  D. Steurer and I. Dinur. Analytical approach to parallel repetition. CoRR abs/1305.1979, 2013.
-  V. V. Vazirani. Approximation Algorithms. Springer-Verlag, 2003.
-  A. Zelikovsky. A series of approximation algorithms for the acyclic directed Steiner tree problem. Algorithmica, 18:99–110, 1997.
-  L. Zosin and S. Khuller. On directed Steiner trees. In proceedings of SODA, 2002.