English

Quasi-Polynomial Algorithms for Submodular Tree Orienteering and Other Directed Network Design Problems

Data Structures and Algorithms 2019-04-03 v2

Abstract

We consider the following general network design problem on directed graphs. The input is an asymmetric metric (V,c)(V,c), root rVr^{*}\in V, monotone submodular function f:2VR+f:2^V\rightarrow \mathbb{R}_+ and budget BB. The goal is to find an rr^{*}-rooted arborescence TT of cost at most BB that maximizes f(T)f(T). Our main result is a simple quasi-polynomial time O(logkloglogk)O(\frac{\log k}{\log\log k})-approximation algorithm for this problem, where kVk\le |V| is the number of vertices in an optimal solution. To the best of our knowledge, this is the first non-trivial approximation ratio for this problem. As a consequence we obtain an O(log2kloglogk)O(\frac{\log^2 k}{\log\log k})-approximation algorithm for directed (polymatroid) Steiner tree in quasi-polynomial time. We also extend our main result to a setting with additional length bounds at vertices, which leads to improved O(log2kloglogk)O(\frac{\log^2 k}{\log\log k})-approximation algorithms for the single-source buy-at-bulk and priority Steiner tree problems. For the usual directed Steiner tree problem, our result matches the best previous approximation ratio [GLL19]. Our algorithm has the advantage of being deterministic and faster: the runtime is exp(O(lognlog1+ϵk))\exp(O(\log n\, \log^{1+\epsilon} k)). For polymatroid Steiner tree and single-source buy-at-bulk, our result improves prior approximation ratios by a logarithmic factor. For directed priority Steiner tree, our result seems to be the first non-trivial approximation ratio. All our approximation ratios are tight (up to constant factors) for quasi-polynomial algorithms.

Keywords

Cite

@article{arxiv.1812.01768,
  title  = {Quasi-Polynomial Algorithms for Submodular Tree Orienteering and Other Directed Network Design Problems},
  author = {Rohan Ghuge and Viswanath Nagarajan},
  journal= {arXiv preprint arXiv:1812.01768},
  year   = {2019}
}
R2 v1 2026-06-23T06:32:06.970Z