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

\NewEnviron

problem[1]

#1 \BODY

Directed Buy-at-Bulk Spanners

Elena Grigorescu Purdue University. E-mail: [email protected]. Supported in part by NSF CCF-1910659, NSF CCF-1910411, and NSF CCF-2228814.    Nithish Kumar Purdue University. E-mail: [email protected]. Supported in part by NSF CCF-1910411, and NSF CCF-2228814.    Young-San Lin Melbourne Business School. E-mail: [email protected].
Abstract

We present a framework that unifies directed buy-at-bulk network design and directed spanner problems, namely, buy-at-bulk spanners. The goal is to find a minimum-cost routing solution for network design problems that capture economies at scale, while satisfying demands and distance constraints for terminal pairs. A more restricted version of this problem was shown to be O(2log1εn)O(2^{{\log^{1-\varepsilon}n}})-hard to approximate, where nn is the number of vertices, under a standard complexity assumption, due to Elkin and Peleg (Theory of Computing Systems, 2007).

Our results for buy-at-bulk spanners are the following.

  1. 1.

    When the edge lengths are integral with magnitude polynomial in nn we present:

    1. (a)

      An O~(n4/5+ε)\tilde{O}(n^{4/5+\varepsilon})-approximation polynomial-time randomized algorithm for uniform demands.

    2. (b)

      An O~(k1/2+ε)\tilde{O}(k^{1/2+\varepsilon})-approximation polynomial-time randomized algorithm for general demands, where kk is the number of terminal pairs. This can be improved to an O~(kε)\tilde{O}(k^{\varepsilon})-approximation algorithm for the single-source problem.

  2. 2.

    When the edge lengths are rational and well-conditioned, we present an O~(k1/2+ε)\tilde{O}(k^{1/2+\varepsilon})-approximation polynomial-time randomized algorithm which may slightly violate the distance constraints. The result can be improved to an O~(kε)\tilde{O}(k^{\varepsilon})-approximation algorithm for the single-source problem.

To the best of our knowledge, these are the first sublinear factor approximation algorithms for directed buy-at-bulk spanners. Furthermore, these results hold even when we allow the edge lengths to be negative, unlike the previous literature for spanners. Our approximation ratios match the state-of-the-art ratios in special cases, namely, buy-at-bulk network design by Antonakopoulos (WAOA, 2010) and weighted spanners by Grigorescu, Kumar, and Lin (APPROX 2023).

Our results are based on approximation algorithms for the following two problems that are of independent interest: minimum-density distance-constrained junction trees and resource-constrained shortest path with negative consumption.

In the minimum-density distance-constrained junction tree problem, the goal is to find a collection of routes that share the same vertex, such that the ratio of the cost to the number of terminal demands satisfied is minimized. Our framework is an extension of the notion of minimum-density junction trees used for approximating Steiner forests by Chekuri, Even, Gupta, and Segev (SODA 2008, TALG 2011), and pairwise spanners by Chlamtáč, Dinitz, Kortsarz, and Laekhanukit (SODA 2017, TALG 2020). Our proposed general framework accommodates both buy-at-bulk costs and distance constraints.

In the resource-constrained shortest path problem with negative consumption, the goal is to find a path with minimum cost within a multi-dimensional resource budget. Under mild assumptions, our framework is an FPTAS extension of the resource-constrained shortest path problem by Horvath and Kis (Optimization Letters 2018) and the restricted shortest path problem (where the resource dimension is one) by Hassin (Math of OR 1992) and Lorenz and Raz (OR Letters 2001). Our result allows for negative resource consumption, unlike the previous literature.

1 Introduction

A core network connectivity problem is the buy-at-bulk problem [50, 12, 5, 7, 52, 34, 14, 17, 44], in which the goal is to route resources between pairs of source and destination locations. Each pair has an associated demand, i.e., the load of the resources to be delivered. To model economies of scale, each edge in the network is associated with a cost given by a subadditive function for the total load of resources delivered through an edge. A feasible solution to the problem is a collection of routes for each demand. The goal is to find a feasible solution that minimizes the overall cost.

The spanner problem [10, 27, 21, 9, 18, 11, 22, 30, 26, 42], on the other hand, is a fundamental network connectivity problem where each edge is assigned a length, and each terminal pair is associated with a distance budget. The goal is to find a minimum-size subgraph such that each pair is connected within its target distance.

Both the buy-at-bulk and spanner problems have been well-studied problems in their own right as they have a plethora of applications in theory and practice. One limitation of the buy-at-bulk problem is that it does not account for distance constraints. For example, although the buy-at-bulk cost formulation captures the economies of scale excellently in communication networks such as the Internet, it does not account for latency. On the other hand, spanners can capture distance-constrained connectivity but do not account for economies of scale cost when the terminal pairs have various demands.

As a specific example, consider a situation where the city council wishes to modernize the city transportation network in order to minimize the carbon footprint of commuters. This could be captured by a buy-at-bulk formulation: if more commuters use a single transportation link, say a train, then it is natural to assume that the per-commuter carbon footprint will decrease. However, commuters also have their self-interest in mind, which may be a budget for transportation. How to minimize the carbon footprint without exceeding the commuters’ budget?

Therefore, complex network design problems often need to be modeled by buy-at-bulk costs, while also satisfying spanner-like distance constraints, which leads to the following question:

How to solve buy-at-bulk network design problems while also satisfying spanner-like distance constraints?

Furthermore, typical spanner problems have only dealt with positive edge lengths. However, one encounters natural applications in which the resource cost may be modeled as being negative, i.e., a resource gain.111Consider for instance, common situations like refueling a truck in a gas station - this can easily be captured by an edge with negative fuel consumption. Returning to our running example, the commuter may drive an electric car as part of his commute. This car gets recharged when going downhill, which may be captured by a gain in money when traveling on such an edge since recharging means spending less on a charging station. Hence, we may further ask:

How to solve buy-at-bulk network design problems with distance constraints and negative edge lengths?

Motivated by these questions, we study a general multi-commodity problem in directed graphs, namely, the buy-at-bulk spanner problem. We obtain the first results for this general formulation, which are also comparable with the best-known results from the literature on the two individual problems.

We now proceed to formalize the buy-at-bulk spanner problem.

Buy-at-bulk spanners.

In the buy-at-bulk spanner problem, we are given a directed simple graph G=(V,E)G=(V,E) with nn vertices, and a set of kk terminal pairs DV×VD\subseteq V\times V. Each pair (s,t)D(s,t)\in D is associated with a distance budget given by the function Dis:D\textsc{Dis}:D\to\mathbb{R} and a demand given by the function Dem:D>0\textsc{Dem}:D\to\mathbb{Z}_{>0}. When Dem(s,t)=1\textsc{Dem}(s,t)=1 for all (s,t)D(s,t)\in D, we say that the problem has unit demands. Each edge eEe\in E is associated with a cost given by a subadditive function fe:00f_{e}:\mathbb{R}_{\geq 0}\to\mathbb{R}_{\geq 0}, satisfying fe(x+y)fe(x)+fe(y)f_{e}(x+y)\leq f_{e}(x)+f_{e}(y) for all x,y0x,y\geq 0, and a length e\ell_{e}\in\mathbb{R}. We note that the length can be negative, which captures the notion of gain while using an edge. The distance budget can also be negative. We further assume that there are no negative length cycles in GG. A feasible solution to the problem is a collection of paths 𝒫:={p(s,t)}(s,t)D\mathcal{P}:=\{p(s,t)\}_{(s,t)\in D} where p(s,t)p(s,t) is the set of edges in the directed sts\leadsto t path satisfying the distance requirement ep(s,t)eDis(s,t)\sum_{e\in p(s,t)}\ell_{e}\leq\textsc{Dis}(s,t). Let the load of edge ee be Load(e):=(s,t)D:ep(s,t)Dem(s,t)\textsc{Load}(e):=\sum_{(s,t)\in D:e\in p(s,t)}\textsc{Dem}(s,t). The goal is to find a feasible solution that minimizes the objective eEfe(Load(e))\sum_{e\in E}f_{e}(\textsc{Load}(e)).

The buy-at-bulk spanner problem captures a wide range of network connectivity problems that are motivated by common scenarios, such as product delivery, transportation, electricity, and internet construction.

This general formulation has been studied under many variants: without distance constraints, it is equivalent to the buy-at-bulk problem [50]; when the edge cost is a fixed value once used, it captures the weighted spanner problem [30]. The weighted spanner problem is a generalization of spanners, distance preservers, and Steiner forests, which have found applicability in various domains such as multi-commodity network design [33, 29], approximate shortest paths [24, 25, 8], distributed computation [6, 47], and routing schemes [48, 20, 49, 46].

A two-metric-based buy-at-bulk formulation.

Previous work [12, 17, 5] reduces the buy-at-bulk problem to the two-metric network design problem, with only a constant factor loss in the approximation guarantee.

In this problem, each edge eEe\in E has a one-time setup cost σ(e)\sigma(e) and a pay-per-use cost δ(e)\delta(e). The objective is to minimize the cost

e(s,t)Dp(s,t)σ(e)+(s,t)Dep(s,t)δ(e)Dem(s,t).\sum_{e\in\cup_{(s,t)\in D}p(s,t)}\sigma(e)+\sum_{(s,t)\in D}\sum_{e\in p(s,t)}\delta(e)\cdot\textsc{Dem}(s,t). (1)
Lemma 1.1.

[17] Given any feasible solution with objective value OBJBB\textsf{OBJ}_{BB} for the buy-at-bulk problem, there exists an instance of the two-metric network design problem that has a feasible solution with objective value OBJ2M\textsf{OBJ}_{2M}, such that OBJ2MOBJBB(2+ε)OBJ2M\textsf{OBJ}_{2M}\leq\textsf{OBJ}_{BB}\leq(2+\varepsilon)\textsf{OBJ}_{2M}.

We note that adding distance constraints does not affect the reduction. Let 𝒟\mathcal{D}\subseteq\mathbb{R} be the domain for the distance of each edge. We consider the following problem throughout the paper with different options of 𝒟\mathcal{D}.

Definition 1.2.

Buy-at-bulk Spanner on 𝒟\mathcal{D}

Instance: A directed graph G=(V,E)G=(V,E), where

  • each edge eEe\in E has an upfront cost σ:E0\sigma:E\to\mathbb{Q}_{\geq 0}, a pay-per-use cost δ:E0\delta:E\to\mathbb{Q}_{\geq 0}, and a distance e𝒟\ell_{e}\in\mathcal{D}. Furthermore, we assume that there are no negative cycles induced by {e}eE\{\ell_{e}\}_{e\in E}.

  • We are given a set DV×VD\subseteq V\times V of ordered pairs, where each pair has a demand captured by the function Dem:D0\textsc{Dem}:D\to\mathbb{Z}_{\geq 0} and a distance budget captured by the function Dis:D{0}\textsc{Dis}:D\to\mathbb{R}\setminus\{0\} 222One workaround if we want to set a specific distance constraint as 0 is to set it to a small number that is close enough to 0 like say 10c10^{-c} (where c>0c>0) while ensuring the problem is well-conditioned.. Furthermore, we assume that there exists an sts\leadsto t path that satisfies the distance constraint for each (s,t)D(s,t)\in D.

Objective: Find a collection of sts\leadsto t paths 𝒫:={p(s,t)}(s,t)D\mathcal{P}:=\{p(s,t)\}_{(s,t)\in D} such that the cost (1) is minimized and the distance requirement ep(s,t)eDis(s,t)\sum_{e\in p(s,t)}\ell_{e}\leq\textsc{Dis}(s,t) is satisfied for each (s,t)D(s,t)\in D.

The performance of an approximation algorithm is measured by the approximation ratio, the ratio between the cost of the approximate solution and the optimal solution. For Buy-at-bulk Spanner, we consider two domains for edge lengths, 𝒟=[𝗉𝗈𝗅𝗒(n)]±:={j|j|𝗉𝗈𝗅𝗒(n)}\mathcal{D}=[\mathsf{poly}(n)]_{\pm}:=\{j\in\mathbb{Z}\mid|j|\leq\mathsf{poly}(n)\} and 𝒟=\mathcal{D}=\mathbb{R}. When the problem has unit demands, Buy-at-bulk Spanner is termed Unit-demand Buy-at-bulk Spanner. In a special case of Buy-at-bulk Spanner where the source vertex sVs\in V is fixed, we call this problem Single-source Buy-at-bulk Spanner. For notation convenience, we have D{s}×VD\subseteq\{s\}\times V. We say that ss is the root vertex. The definition for a single-sink buy-at-bulk spanner where the terminal pairs share the same sink is defined similarly.

1.1 Our Contributions

To the best of our knowledge, we give the first efficient sublinear factor approximation algorithm for Buy-at-bulk Spanner on [𝗉𝗈𝗅𝗒(n)]±[\mathsf{poly}(n)]_{\pm} and \mathbb{R}. Our results even cover the case when the distances are negative.

Below we present our results and technical tools for solving buy-at-bulk spanners. Namely, distance-constrained junction trees and resource-constrained shortest paths with negative consumption.

1.1.1 Buy-at-bulk spanners

We prove the following result for Unit-demand Buy-at-bulk Spanner on [𝗉𝗈𝗅𝗒(n)]±[\mathsf{poly}(n)]_{\pm} in Section 2.

Theorem 1.3.

For any constant ε>0\varepsilon>0, there exists a polynomial-time randomized algorithm for Unit-demand Buy-at-bulk Spanner on [𝗉𝗈𝗅𝗒(n)]±[\mathsf{poly}(n)]_{\pm} with approximation ratio O~(n4/5+ε)\tilde{O}(n^{4/5+\varepsilon}) and the distance constraints for all (s,t)D(s,t)\in D are satisfied with high probability.333Throughout this paper, when we say high probability, we mean probability at least 11/n1-1/n.

Theorem 1.3 generalizes the O~(n4/5+ε)\tilde{O}(n^{4/5+\varepsilon})-approximation algorithm for the unit-demand directed buy-at-bulk network design problem [5] and directed weighted spanners [30], by allowing distance constraints.

Next, we consider Buy-at-bulk Spanner on \mathbb{R} by slightly relaxing the distance constraints. This allows us to obtain approximation algorithms for Buy-at-bulk Spanner on [𝗉𝗈𝗅𝗒(n)]±[\mathsf{poly}(n)]_{\pm} in terms of kk (Corollary 1.5) later on. For notation convenience, we define some condition numbers. Let

η:=|min{mineE{e},0}|min(s,t)D{|Dis(s,t)|}\eta:=\frac{|\min\{\min_{e\in E}\{\ell_{e}\},0\}|}{\min_{(s,t)\in D}\{|\textsc{Dis}(s,t)|\}} (2)

and

ξ:=max(s,t)D{|Dis(s,t)|}min(s,t)D{|Dis(s,t)|}.\xi:=\frac{\max_{(s,t)\in D}\{|\textsc{Dis}(s,t)|\}}{\min_{(s,t)\in D}\{|\textsc{Dis}(s,t)|\}}. (3)

Intuitively, η\eta denotes the ratio between the magnitude of the most negative edge length and the smallest absolute value of the budget.444η\eta cares about mineE{e}\min_{e\in E}\{\ell_{e}\}, but not about maxeE{e}\max_{e\in E}\{\ell_{e}\}. This is because we can safely ignore edges that are much longer than the budget, but we cannot do so for edges (with negative lengths) that are much shorter than the budget. If edge lengths are all non-negative, then η=0\eta=0. Similarly, ξ\xi denotes the ratio between the largest and the smallest absolute value of the budget. To accommodate a negative distance budget, we use the sgn\operatorname{sgn} function

sgn(x)={1if x<0,0if x=0,1if x>0.\operatorname{sgn}(x)=\begin{cases}-1&\text{if }x<0,\\ 0&\text{if }x=0,\\ 1&\text{if }x>0.\end{cases} (4)

Suppose we are given a tolerance parameter θ>0\theta>0. When the distance budget is positive, the goal is to satisfy the distance constraint within a factor of (1+θ)(1+\theta). When the distance budget is negative, the distance between the terminal pair is below (1θ)(1-\theta) times the budget. We prove Theorem 1.4 in Section 3.

Theorem 1.4.

For any θ>0\theta>0 and constant ε>0\varepsilon>0, there are 𝗉𝗈𝗅𝗒(n,1/θ,η,ξ)\mathsf{poly}(n,1/\theta,\eta,\xi)-time randomized algorithms for Buy-at-bulk Spanner on \mathbb{R} with approximation ratio O~(k1/2+ε)\tilde{O}(k^{1/2+\varepsilon}) and for Single-source Buy-at-bulk Spanner on \mathbb{R} with approximation ratio O~(kε)\tilde{O}(k^{\varepsilon}), both satisfying

ep(s,t)e(1+θsgn(Dis(s,t)))Dis(s,t)\sum_{e\in p(s,t)}\ell_{e}\leq(1+\theta\operatorname{sgn}(\textsc{Dis}(s,t)))\textsc{Dis}(s,t) (5)

for each (s,t)D(s,t)\in D, with high probability. Here, η\eta and ξ\xi are the condition numbers defined in (2) and (3), respectively. When 1/θ,η,ξ𝗉𝗈𝗅𝗒(n)1/\theta,\eta,\xi\in\mathsf{poly}(n)555When ξ\xi is exponential in nn, a workaround is to break all our demand pairs into logξ\log\xi buckets. Each bucket ii will have ξi=2\xi_{i}=2 but we will end up paying an extra logξ\log\xi cost (multiplicative)., the algorithm runs in polynomial time.

We note that when the edge lengths are non-negative, η=0\eta=0, so the running time is 𝗉𝗈𝗅𝗒(n,1/θ,ξ)\mathsf{poly}(n,1/\theta,\xi).

From Theorem 1.4, when the domain 𝒟=[𝗉𝗈𝗅𝗒(n)]±\mathcal{D}=[\mathsf{poly}(n)]_{\pm}, we can set θ=1/𝗉𝗈𝗅𝗒(n)\theta=1/\mathsf{poly}(n) (for a sufficiently large 𝗉𝗈𝗅𝗒(n)\mathsf{poly}(n)) such that the distance constraints are satisfied and the condition numbers η\eta and ξ\xi are polynomial in nn (since it is sufficient to consider that Dis(s,t)𝗉𝗈𝗅𝗒(n)\textsc{Dis}(s,t)\in\mathsf{poly}(n)). This implies the following.

Corollary 1.5.

For any constant ε>0\varepsilon>0, there are polynomial-time randomized algorithms for Buy-at-bulk Spanner on [𝗉𝗈𝗅𝗒(n)]±[\mathsf{poly}(n)]_{\pm} with approximation ratio O~(k1/2+ε)\tilde{O}(k^{1/2+\varepsilon}) and for Single-source Buy-at-bulk Spanner on [𝗉𝗈𝗅𝗒(n)]±[\mathsf{poly}(n)]_{\pm} with approximation ratio O~(kε)\tilde{O}(k^{\varepsilon}) satisfying the distance constraints with high probability.

Corollary 1.5 generalizes the O~(k1/2+ε)\tilde{O}(k^{1/2+\varepsilon})-approximation algorithm for directed weighted spanners [30] and buy-at-bulk network design [5], and the O~(kε)\tilde{O}(k^{\varepsilon})-approximation algorithm for the single-source version of these problems, by allowing general demands, pay-per-use cost, and distance constraints.

We emphasize again that Buy-at-bulk Spanner unifies the buy-at-bulk network design and spanners problems. Our results expand the domain for some results in the existing literature on these two problems. Furthermore, we allow edge lengths to be negative and of arbitrary magnitude (provided they are well-conditioned). There are no directed spanner results that account for edge lengths with negative values and arbitrary magnitude that we are aware of.

1.1.2 Distance-constrained junction trees

In previous literature, one main engine for solving the directed pairwise spanner problem [18, 31], the directed buy-at-bulk network design problem [51, 12, 17, 5], and the directed Steiner forest problem [9, 13, 28, 15] is the notion of junction tree. The notion of junction tree used for these problems is a union of an in-arborescence and an out-arborescence both rooted at the same vertex. For our purpose, we extend the definition of junction trees to handle both buy-at-bulk costs and distance constraints.

Definition 1.6.

Given an instance of Buy-at-bulk Spanner and a root vertex rVr\in V, a distance-constrained junction tree 𝒥:={p(s,r,t)}\mathcal{J}:=\{p(s,r,t)\} rooted at rr is a collection of srts\leadsto r\leadsto t paths in GG that satisfy the distance constraint Dis(s,t)\textsc{Dis}(s,t), for at least one (s,t)D(s,t)\in D. The srs\leadsto r paths form an in-arborescence and the rtr\leadsto t paths form an out-arborescence, both rooted at rr. Here, p(s,r,t)p(s,r,t) denotes the set of edges in the srts\leadsto r\leadsto t path.

We note that a junction tree 𝒥\mathcal{J} that connects a terminal pair (s,t)(s,t) within its budget Dis(s,t)\textsc{Dis}(s,t) decides a unique sts\leadsto t path that passes through the root vertex rr.666A junction tree does not necessarily have a tree structure in directed graphs. For directed pairwise spanners, directed buy-at-bulk network design, and directed Steiner forests, an edge in a junction tree may be used twice, once in the in-arborescence and once in the out-arborescence.

Given a junction tree 𝒥\mathcal{J} rooted at rr, the cost of the junction tree is defined as follows.

cost(𝒥):=ep(s,r,t)𝒥p(s,r,t)σ(e)+eEδ(e)p(s,r,t)𝒥:ep(s,r,t)Dem(s,t).\textsf{cost}(\mathcal{J}):=\sum_{e\in\cup_{p(s,r,t)\in\mathcal{J}}p(s,r,t)}\sigma(e)+\sum_{e\in E}\delta(e)\sum_{p(s,r,t)\in\mathcal{J}:e\in p(s,r,t)}\textsc{Dem}(s,t). (6)

The crucial subproblem for solving Buy-at-bulk Spanner on [𝗉𝗈𝗅𝗒(n)]±[\mathsf{poly}(n)]_{\pm} is defined as follows.

Definition 1.7.

Minimum-density Distance-constrained Junction Tree

Instance: Same as Buy-at-bulk Spanner on [𝗉𝗈𝗅𝗒(n)]±[\mathsf{poly}(n)]_{\pm}.

Objective: Find a root rVr\in V, a resource-constrained junction tree 𝒥\mathcal{J} rooted at rr, such that the ratio of the cost (1) of 𝒥\mathcal{J} to the number of (s,t)(s,t) pairs that satisfy the distance requirement

Len(p(s,r,t)):=ep(s,r,t)eDis(s,t)\textsc{Len}(p(s,r,t)):=\sum_{e\in p(s,r,t)}\ell_{e}\leq\textsc{Dis}(s,t)

is minimized. Specifically, the goal is the following:

minrV,𝒥cost(𝒥)|{(s,t)Dp(s,r,t) in 𝒥:Len(p(s,r,t))Dis(s,t)}|.\min_{r\in V,\mathcal{J}}\frac{\textsf{cost}(\mathcal{J})}{|\{(s,t)\in D\mid\exists\>p(s,r,t)\text{ in }\mathcal{J}:\textsc{Len}(p(s,r,t))\leq\textsc{Dis}(s,t)\}|}. (7)

To further extend our results to the domain \mathbb{R} for edge lengths, we use a relaxed version of distance-constrained junction trees. This allows us to obtain approximation algorithms for Minimum-density Distance-constrained Junction Tree (Corollary 1.11) later on.

Definition 1.8.

Given an instance of Buy-at-bulk Spanner and a constant θ>0\theta>0, a θ\theta-relaxed distance-constrained junction tree 𝒥:={p(s,r,t)}\mathcal{J}:=\{p(s,r,t)\} is a collection of srts\leadsto r\leadsto t paths that satisfy

ep(s,r,t)e(1+θsgn(Dis(s,t)))Dis(s,t)\sum_{e\in p(s,r,t)}\ell_{e}\leq(1+\theta\operatorname{sgn}(\textsc{Dis}(s,t)))\textsc{Dis}(s,t)

for at least one (s,t)D(s,t)\in D. The srs\leadsto r paths form an in-arborescence and the rtr\leadsto t paths form an out-arborescence, both rooted at rr.

The crucial subproblem for solving Buy-at-bulk Spanner on \mathbb{R} is defined as follows.

Definition 1.9.

θ\theta-relaxed Minimum-density Distance-constrained Junction Tree

Instance: Same as Buy-at-bulk Spanner on \mathbb{R}.

Objective: Find a root rVr\in V, a resource-constrained junction tree 𝒥\mathcal{J} rooted at rr, such that the ratio of the cost (1) of 𝒥\mathcal{J} to the number of (s,t)(s,t) pairs that approximately satisfy the distance requirement

Len(p(s,r,t)):=ep(s,r,t)e(1+θsgn(Dis(s,t)))Dis(s,t)\textsc{Len}(p(s,r,t)):=\sum_{e\in p(s,r,t)}\ell_{e}\leq(1+\theta\operatorname{sgn}(\textsc{Dis}(s,t)))\textsc{Dis}(s,t)

is minimized. Specifically, the goal is the following:

minrV,𝒥cost(𝒥)|{(s,t)Dp(s,r,t) in 𝒥:Len(p(s,r,t))(1+θsgn(Dis(s,t)))Dis(s,t)}|.\min_{r\in V,\mathcal{J}}\frac{\textsf{cost}(\mathcal{J})}{|\{(s,t)\in D\mid\exists\>p(s,r,t)\text{ in }\mathcal{J}:\textsc{Len}(p(s,r,t))\leq(1+\theta\operatorname{sgn}(\textsc{Dis}(s,t)))\textsc{Dis}(s,t)\}|}. (8)

We show the following in Section 4.

Theorem 1.10.

For any constant ε>0\varepsilon>0, there is a 𝗉𝗈𝗅𝗒(n,1/θ,η,ξ)\mathsf{poly}(n,1/\theta,\eta,\xi)-time randomized algorithm that gives an O~(kε)\tilde{O}(k^{\varepsilon})-approximation for θ\theta-relaxed Minimum-density Distance-constrained Junction Tree with high probability. When 1/θ,η,ξ𝗉𝗈𝗅𝗒(n)1/\theta,\eta,\xi\in\mathsf{poly}(n), the algorithm runs in polynomial time.

We note that when the edge lengths are non-negative, η=0\eta=0, so the running time is 𝗉𝗈𝗅𝗒(n,1/θ,ξ)\mathsf{poly}(n,1/\theta,\xi).

From Theorem 1.10, when the domain 𝒟=[𝗉𝗈𝗅𝗒(n)]±\mathcal{D}=[\mathsf{poly}(n)]_{\pm}, we can set θ=1/𝗉𝗈𝗅𝗒(n)\theta=1/\mathsf{poly}(n) (for a sufficiently large 𝗉𝗈𝗅𝗒(n)\mathsf{poly}(n)) such that the distance constraints are satisfied and the condition numbers η\eta and ξ\xi are polynomial in nn (since it is sufficient to consider that Dis(s,t)𝗉𝗈𝗅𝗒(n)\textsc{Dis}(s,t)\in\mathsf{poly}(n)). This implies the following.

Corollary 1.11.

For any constant ε>0\varepsilon>0, there is a polynomial-time randomized algorithm that gives an O~(kε)\tilde{O}(k^{\varepsilon})-approximation for Minimum-density Distance-constrained Junction Tree with high probability.

Corollary 1.11 generalizes the minimum density junction tree used for buy-at-bulk network design [5], pairwise spanners [18], and weighted spanners [30], with the same approximation ratio. We emphasize that our minimum-density junction tree framework accounts for buy-at-bulk costs and distance constraints with negative edge lengths.

1.1.3 Resource-constrained shortest paths with negative consumption

In previous literature, one crucial case analysis for solving directed spanner problems [21, 9, 18, 31, 30] and the directed buy-at-bulk network design problem [5] is via flow-based linear programs (LP). The LP formulations for spanners potentially contain an exponential number of constraints and thus require an efficient black-box subroutine to be solved in polynomial time. A fully polynomial time approximation scheme (FPTAS) for the restricted shortest path problem [38, 43] is treated as an approximate separation oracle to approximately solve the flow-based LP for spanners.

To further accommodate buy-at-bulk costs for spanners with negative edge lengths, we use an approximation scheme for the resource-constrained shortest paths problem with negative resource consumption, a generalization of the FPTAS for the restricted shortest path problem [40].

Definition 1.12.

Resource-constrained Shortest Path (mm-RCSP)

Instance: An nn-vertex directed graph G=(V,E)G=(V,E), with edge costs c:E0c:E\to\mathbb{R}_{\geq 0}, a terminal pair (s,t)(s,t) with s,tVs,t\in V, and a resource budget 𝑳=(L1,,Lm)({0})m\boldsymbol{L}=(L_{1},...,L_{m})\in(\mathbb{R}\setminus\{0\})^{m}. For each edge eEe\in E, we have also have a resource consumption vector 𝒘(𝒆)=(w1(e),w2(e),,wm(e))\boldsymbol{w(e)}=(w_{1}(e),w_{2}(e),\ldots,w_{m}(e)) of size mm where each wi(e)i[m]w_{i}(e)\in\mathbb{R}\>\forall i\in[m]. Furthermore, we assume that there are no negative cycles induced by {wi(e)}eE\{w_{i}(e)\}_{e\in E} for each i[m]i\in[m].

Objective: Find a min-cost sts\leadsto t path PP such that ePwi(e)Li,i[m]\sum_{e\in P}w_{i}(e)\leq L_{i},\>\forall i\in[m]. The cost of PP is ePc(e)\sum_{e\in P}c(e).

We note that when m=1m=1 and the resource consumption is non-negative, mm-RCSP captures the restricted shortest path problem. In the LP for Buy-at-bulk Spanner, the constraints can be captured by solving mm-RCSP. For mm-RCSP, we design an algorithm that finds an optimal solution that slightly violates the resource budget. Let OPTRCSP\textsf{OPT}_{RCSP} be the cost of any minimum cost sts\leadsto t path that satisfies the resource constraints. Given a tolerance vector (ε1,ε2,εm)>0m(\varepsilon_{1},\varepsilon_{2}...,\varepsilon_{m})\in\mathbb{R}_{>0}^{m}, a (1;1+ε1,1+ε2,1+εm)(1;1+\varepsilon_{1},1+\varepsilon_{2}...,1+\varepsilon_{m})-approximation scheme finds an sts\leadsto t path whose cost is at most OPTRCSP\textsf{OPT}_{RCSP}, but the ii-th resource constraint is satisfied up to a factor of (1+εi)(1+\varepsilon_{i}) for that path. It is required that Liεi>0L_{i}\cdot\varepsilon_{i}>0. Let the condition number

γi:=|min{mineE{wi(e)},0}||Li|\gamma_{i}:=\frac{|\min\{\min_{e\in E}\{w_{i}(e)\},0\}|}{|L_{i}|} (9)

which denotes the ratio between the magnitude of the most negative ii-th resource consumption among the edges and the absolute value of the budget for the ii-th resource.

We show the following result in Section 5.

Theorem 1.13.

There exists a 𝗉𝗈𝗅𝗒(nm,γ1,,γm,1/|ε1|,,1/|εm|)\mathsf{poly}(n^{m},\gamma_{1},...,\gamma_{m},1/|\varepsilon_{1}|,...,1/|\varepsilon_{m}|)-time (1;1+ε1,1+ε2,1+εm)(1;1+\varepsilon_{1},1+\varepsilon_{2}...,1+\varepsilon_{m})-approximation scheme for mm-RCSP. When γi,1/|εi|𝗉𝗈𝗅𝗒(n)\gamma_{i},1/|\varepsilon_{i}|\in\mathsf{poly}(n) i[m]\forall i\in[m] and mm is a constant, the approximation scheme runs in polynomial time.

1.1.4 Summary

We summarize our main results for Buy-at-bulk Spanner in Table 1 by listing the approximation ratios and contrasting them with the corresponding known approximation ratios. The running time for Buy-at-bulk Spanner and Single-source Buy-at-bulk Spanner on [𝗉𝗈𝗅𝗒(n)]±[\mathsf{poly}(n)]_{\pm} is polynomial. The running time for the θ\theta-feasible or relaxed results on >0\mathbb{R}_{>0} is 𝗉𝗈𝗅𝗒(1/θ,η,ξ,n)\mathsf{poly}(1/\theta,\eta,\xi,n).

Problem Our Results Previous Problems and Results
Buy-at-bulk
Spanner
on [𝗉𝗈𝗅𝗒(n)]±[\mathsf{poly}(n)]_{\pm}
O~(n4/5+ε)\tilde{O}(n^{4/5+\varepsilon}) (unit-demand, Thm 1.3)
O~(k1/2+ε)\tilde{O}(k^{1/2+\varepsilon}) (Cor 1.5)
O~(kε)\tilde{O}(k^{\varepsilon}) (single-source, Cor 1.5)
O(n4/5+ε)O(n^{4/5+\varepsilon}) (unit-demand buy-at-bulk) [5]
O~(n4/5+ε)\tilde{O}(n^{4/5+\varepsilon}) (weighted spanners) [30]
O(k1/2+ε)O(k^{1/2+\varepsilon}) (buy-at-bulk) [5]
O(kε)O(k^{\varepsilon}) (single-source buy-at-bulk) [5]
O~(k1/2+ε)\tilde{O}(k^{1/2+\varepsilon}) (weighted spanners) [30]
O~(kε)\tilde{O}(k^{\varepsilon}) (single-source weighted spanners) [30]
O~(n3/5+ε)\tilde{O}(n^{3/5+\varepsilon}) (pairwise spanners) [18]
Buy-at-bulk O~(k1/2+ε)\tilde{O}(k^{1/2+\varepsilon}) (θ\theta-feasible, Thm 1.4) same as above, note that weighted spanners
Spanner on \mathbb{R} O~(kε)\tilde{O}(k^{\varepsilon}) (θ\theta-feasible, single-source, consider edge lengths in [𝗉𝗈𝗅𝗒(n)][\mathsf{poly}(n)]
Thm 1.4)
Minimum-density O~(kε)\tilde{O}(k^{\varepsilon}) (on [𝗉𝗈𝗅𝗒(n)]±[\mathsf{poly}(n)]_{\pm}, Cor 1.11) O(kε)O(k^{\varepsilon}) (buy-at-bulk) [5]
Distance-constrained O~(kε)\tilde{O}(k^{\varepsilon}) (on \mathbb{R}, θ\theta-relaxed, Thm 1.10) O~(kε)\tilde{O}(k^{\varepsilon}) (pairwise spanners) [18]
Junction Tree O~(kε)\tilde{O}(k^{\varepsilon}) (weighted spanners) [30]
mm-RCSP with negative an (1;1+ε1,1+ε2,1+εm)(1;1+\varepsilon_{1},1+\varepsilon_{2}...,1+\varepsilon_{m})- an (1;1+ε,1+ε,1+ε)(1;1+\varepsilon,1+\varepsilon...,1+\varepsilon)-
resource consumption approximation scheme (Thm 1.13) approximation scheme for mm-RCSP
with non-negative consumption
Table 1: Summary of the approximation ratios. Here, nn refers to the number of vertices and kk refers to the number of terminal pairs. The edge costs σ\sigma and δ\delta are non-negative rational numbers. θ\theta-feasible means that the resource constraints are satisfied within a factor of (1+θsgn(Dis(s,t)))(1+\theta\operatorname{sgn}(\textsc{Dis}(s,t))) for each (s,t)D(s,t)\in D. Input graphs do not have negative cycles induced by the edge lengths (or resources for mm-RCSP).

1.2 High-level technical overview

1.2.1 The O~(n4/5+ε)\tilde{O}(n^{4/5+\varepsilon})-approximation algorithm for Buy-at-bulk Spanner on [𝗉𝗈𝗅𝗒(n)]±[\mathsf{poly}(n)]_{\pm}

Recall that we are given a directed graph with terminal vertex pairs. Each terminal vertex pair has a demand and a distance budget. Each edge is associated with a length that can be negative and a buy-at-bulk cost. There are no negative cycles induced by the edge lengths. The goal is to output a collection of routes with minimum cost that satisfy the terminal demands and distance constraints.

Similar to the Steiner forest framework [9, 28] and the buy-at-bulk network design framework [5], we classify the terminal pairs as follows:

  • A pair (s,t)D(s,t)\in D is good if the feasible (i.e., satisfying the distance constraint) and cheap (low upfront cost and low pay-per-use cost) sts\leadsto t paths span a great number of vertices in VV.

  • A pair (s,t)D(s,t)\in D is bad otherwise.

With distance constraints, we have to handle all the cases carefully, without destroying the desired structural properties. The analysis significantly departs from [28, 9, 30, 5] in several aspects, as we describe below.

Handling good pairs.

For the first case, a standard approach is to sample a sufficient number of intermediary vertices from VV and add cheap and feasible paths to connect the good pairs. For directed Steiner forests, edges only have upfront cost and there are no distance constraints, so it is sufficient to add cheap paths [28, 9]. For weighted spanners [30], edges only have upfront cost and positive edge lengths, so it is sufficient to find a shortest cheap path by using the restricted shortest path FPTAS [43, 38] as a subroutine.

For Buy-at-bulk Spanner on [𝗉𝗈𝗅𝗒(n)][\mathsf{poly}(n)], edges have positive edge lengths, upfront cost, and pay-per-use cost, one can carefully use the resource-constrained shortest path (RCSP) FPTAS from [40] as the subroutine to handle distance constraints. This approach connects the sources to the intermediary vertices and the intermediary vertices to the sinks, where the connecting paths have short distances and low upfront cost and pay-per-use cost. Handling negative edge lengths requires a more general subroutine to connect the terminal vertices to (from) the intermediary vertices, so we modify the FPTAS for RCSP to accommodate negative edge lengths (described in more detail in Section 1.2.4).

Handling bad pairs.

After the good pairs are resolved, we iteratively use a greedy algorithm based on a density argument. The greedy algorithm constructs a low-density partial solution in each iteration. Adding low-density partial solutions iteratively guarantees a global solution of approximately minimum cost. For ease of our analysis, we partition the bad pairs into three classes based on an unknown optimal solution 𝒫={p(s,t)}(s,t)D\mathcal{P}^{*}=\{p^{*}(s,t)\}_{(s,t)\in D}.

  • A bad pair (s,t)D(s,t)\in D is in class 1 if p(s,t)p^{*}(s,t) has a high pay-per-use cost.

  • A bad pair (s,t)D(s,t)\in D is in class 2 if p(s,t)p^{*}(s,t) has a high upfront cost and a low pay-per-use cost.

  • A bad pair (s,t)D(s,t)\in D is in class 3 if p(s,t)p^{*}(s,t) has a low upfront cost and a low pay-per-use cost.

We consider three subcases for the bad pairs.

  • Case 1: the number of bad pairs is small.

  • Case 2: the number of class 2 bad pairs is larger than the number of class 3 bad pairs.

  • Case 3: the number of class 2 bad pairs is at most the number of class 3 bad pairs.

The iterative procedure continues by picking the better solution by trying out case 2 and case 3 until the number of bad pairs is small (case 1). Once we reach case 1, we use Corollary 1.5 (obtained from Theorem 1.4) to resolve all the bad pairs. Since the number of unresolved vertex pairs is small in this case, the approximation ratio is sufficiently small.

A key observation is that the number of class 1 bad pairs is always smaller than the threshold used for case 1. Therefore, it suffices to consider cases 2 and 3 before we run out of class 2 and class 3 bad pairs.

For case 2, there are more class 2 pairs than class 3 pairs. Since the class 2 bad pairs have high upfront cost, we must have an edge that belongs to a sufficient number of paths that connect the terminal pairs within the required distance in an optimal solution. This implies that there must be a vertex that lies on an edge used plenty of times, so we can use Corollary 1.11 (obtained from Theorem 1.10) to find a low-density junction tree rooted at that vertex as our partial solution.

Recall that for each bad pair, the number of vertices spanned by its feasible paths is small. In case 3, there are more class 3 pairs than class 2 pairs. Therefore, there are sufficient terminal pairs whose upfront cost and pay-per-use cost are low and whose feasible paths span a small number of vertices. A natural approach that addresses this case is via a flow-based LP formulation. Intuitively, when we have a large number of terminal pairs with low upfront cost and pay-per-use cost and a small number of vertices spanned by feasible paths, the edge indicators of the LP must be large enough to construct a feasible fractional solution. To solve the LP, we use our RCSP framework that accommodates negative resource consumption as a separation oracle to extract violating constraints. After using a careful pruning procedure as in [5] and a rounding scheme similar to the ones used for Steiner forests [9] and weighted spanners [30], we extract the edges with high indicator values in the LP and recover the collection of paths as our partial solution.

1.2.2 Approximations for Buy-at-bulk Spanner in terms of kk

For Single-source Buy-at-bulk Spanner, the result directly follows by Theorem 1.10. The proof for Buy-at-bulk Spanner follows a standard iterative density procedure for directed Steiner forests [15] and spanners [31, 30]. We show that iteratively picking minimum-density distance-constrained junction trees only pays a factor of O(k)O(\sqrt{k}). Combining this and Theorem 1.10 results an O~(k1/2+ε)\tilde{O}(k^{1/2+\varepsilon})-approximation.

1.2.3 The O~(kε)\tilde{O}(k^{\varepsilon})-approximation for Minimum-density Distance-constrained Junction Tree

At a high level, junction trees form a cheap partial solution that connects a subset of terminal pairs. For Buy-at-bulk Spanner, a potential approach is to iteratively select a low-density junction tree in case there exist edges that are crucial for connecting terminal pairs. For our purpose, we have to construct feasible junction trees that satisfy the resource constraints while connecting terminal pairs. The modified junction-tree-based approach is the main engine of our framework.

Suppose we have a fixed root vertex rVr\in V, and the goal is to find a minimum-density junction tree rooted at rr. Here, the density is defined as the cost of the junction tree divided by the number of terminal pairs connected. The framework in [18] used for pairwise spanners with unit lengths has three main steps: 1) construct a layered graph from GG to capture the distance constraints and a junction tree rooted at rr, 2) use the height reduction technique to construct a tree-like graph from the layered graph by paying a small approximation ratio, and 3) use a linear programming (LP) formulation on the tree-like graph and round the fractional solution. The main reason for the second and third steps is that the tree-like graph is well-structured, which allows one to formulate an LP with a polylogarithmic integrality gap.

To capture distance constraints with negative edge lengths and the flow-based cost in the buy-at-bulk problem, our implementation requires several new ideas, which significantly depart from the analysis of [18] in several aspects, as we describe below.

Scaling and rounding the edge lengths.

Before the first step, we use an approach similar to [40] to properly scale and round the edge lengths. The edge lengths are rounded up so that the distances between the terminal pairs might be slightly overestimated. This allows us to construct a layered graph of size polynomial in the condition numbers which approximately preserves the edge lengths and terminal distances.

Turning distance constraints into connectivity constraints.

In the first step, we construct a layered graph that approximately preserves the edge lengths. In the layered graph, each layer captures the distance to (from) the root vertex. To handle negative edge lengths, a key modification is to allow edges to go backward, instead of always forward as in [18]. Furthermore, since we have general edge lengths instead of unit edge lengths, it is no longer the case that only neighboring layers have edges between them. Edges are added from one layer to another whenever their length corresponds to the distance between layers.

Handling pay-per-use cost.

In the second step, the main challenge is to handle the flow-based cost properly. Fortunately, following the height reduction technique in [12] allows us to reduce the two-metric problem to a variant of the Steiner problem, namely, minimum density Steiner label cover, which only accounts for the upfront cost. In this problem, the goal is to find a minimum density subgraph that connects pairs of terminal vertex sets, subject to a relation induced by the distance constraints.

LP formulation and rounding.

In the third step, we use an LP formulation for minimum density Steiner label cover [18]. The rounding approach extracts a cross-product subset of the terminal pair sets, thus allowing one to use a standard rounding scheme for the group Steiner problem on trees. Ultimately, we extract a cross-product subset and use the group Steiner rounding scheme for our distance-constrained problem.

1.2.4 The approximation scheme for RCSP with negative consumption

Recall that for mm-RCSP, we are given a directed graph with a terminal vertex pair. Each edge is associated with a cost and an mm-dimensional resource consumption vector where entries can be negative. There is no negative cycle induced by any resource type. We also have an mm-dimensional budget for the resource consumption. The goal is to find a cheap path to connect the terminal pair without exceeding the budget.

To construct the approximation scheme, we follow the dynamic programming (DP) paradigm in [40]. To approximately preserve feasibility, the approach in [40] scales the resource consumption properly, and the DP memorizes the feasible resource consumption patterns while reaching a specific vertex from the source. To accommodate negative resource consumption, the main challenge is the negative resource consumption can be unbounded in terms of the scale for the non-negative consumption. Addressing these challenges requires several modifications. First, we construct a larger DP table where the number of resource consumption patterns depends on the condition numbers γi\gamma_{i}. Second, with the assumption that negative cycles do not exist, our DP also considers hop counts in a fashion similar to the Bellman-Ford algorithm.

1.3 Related work

Directed spanners.

A well-studied variant of spanners is called the directed ss-spanner problem, where there is a fixed value s1s\geq 1 called the stretch, and the goal is to find a subgraph with a minimum number of edges such that the distance between every pair of vertices is preserved within a factor of ss in the original graph. When the lengths of the edges are uniform and s=2s=2, there is a tight Θ(logn)\Theta(\log n)-approximation algorithm [26, 42]. When s=3,4s=3,4 there are O~(n1/3)\tilde{O}(n^{1/3})-approximation algorithms [9, 22]. When s>4s>4, the best known approximation factor is O~(n1/2)\tilde{O}(n^{1/2}) [9]. The problem is hard to approximate within an O(2log1εn)O(2^{{\log^{1-\varepsilon}n}}) factor for 3s=O(n1δ)3\leq s=O(n^{1-\delta}) and any ε,δ(0,1)\varepsilon,\delta\in(0,1), unless NPDTIME(npolylogn)NP\subseteq DTIME(n^{\operatorname{polylog}n}) [27]. More general variants consider the pairwise spanner problem [18], and the client-server model [26, 10], where the set of terminals is arbitrary D={(si,ti)i[k]}V×VD=\{(s_{i},t_{i})\mid i\in[k]\}\subseteq V\times V, and each terminal pair (si,ti)(s_{i},t_{i}) has its own target distance did_{i}. The goal is to compute a minimum cardinality subgraph in which for each ii, the distance from sis_{i} to tit_{i} is at most did_{i}. For the pairwise spanner problem with uniform lengths, [18] obtains an O~(n3/5+ε)\tilde{O}(n^{3/5+\varepsilon}) approximation. Recently, [30] studied the weighted spanner problem for arbitrary terminal pairs, which has a closer formulation to buy-at-bulk spanners. [31] studied online directed spanners. We refer the reader to the excellent survey [2] for a more comprehensive exposition.

Buy-at-bulk network design.

The buy-at-bulk problem has received considerable attention and has been well-studied in the past few decades. Most of the previous buy-at-bulk literature focused on undirected networks, as listed below.

The problem was first introduced in [50], where the subadditive load function was used to capture the economy of scale in network design. [50] showed that the problem is NPNP-hard, and gave an O(min{logn,logDmax})O(\min\{\log n,\log D_{\max}\})-approximation algorithm for the single-source problem, where DmaxD_{\max} is the maximum demand. When the edge costs are uniform, there is a 𝗉𝗈𝗅𝗒𝗅𝗈𝗀(n)\mathsf{polylog}(n)-approximation algorithm for the multi-commodity problem [7] and O(1)O(1)-approximation algorithms for the single-source problem [32, 52, 34]. With non-uniform load functions, the first nontrivial result for the multi-commodity problem was O(logDmaxexp(O(lognloglogn)))O(\log D_{\max}\exp(O(\sqrt{\log n\log\log n})))-approximate [14], later improved to 𝗉𝗈𝗅𝗒𝗅𝗈𝗀(n)\mathsf{polylog}(n)-approximate [17]; for the single-source problem, there is an O(logk)O(\log k)-approximate algorithm [44]. The buy-at-bulk problem is more intractable on directed graphs. The state-of-the-art is an min{O~(k1/2+ε),O~(n4/5+ε)}\min\{\tilde{O}(k^{1/2+\varepsilon}),\tilde{O}(n^{4/5+\varepsilon})\}-approximate algorithm [5]. Even in the special case of directed Steiner forests, previous algorithms only gave 𝗉𝗈𝗅𝗒(n)\mathsf{poly}(n) but sublinear (i.e., o(n)o(n)) approximation algorithms [9, 18, 28, 1]. On the hardness side, for the undirected buy-at-bulk problem, the multi-commodity problem is O(log1/2εn)O(\log^{1/2-\varepsilon}n)-hard to approximate when the costs are general and O(log1/4εn)O(\log^{1/4-\varepsilon}n)-hard to approximate when the costs are uniform [4], and the single-source problem is O(loglogn)O(\log\log n)-hard to approximate [19]. These results are based on the assumption that NPZTIME(n𝗉𝗈𝗅𝗒𝗅𝗈𝗀(n))NP\nsubseteq ZTIME(n^{\mathsf{polylog}(n)}). For directed buy-at-bulk, the problem is hard to approximate within an O(2log1εn)O(2^{\log^{1-\varepsilon}n}) factor assuming that NPDTIME(n𝗉𝗈𝗅𝗒𝗅𝗈𝗀(n))NP\nsubseteq DTIME(n^{\mathsf{polylog}(n)}), even in the special case of directed Steiner forests [23].

Other variants of buy-at-bulk network design.

Besides the edge-weighted buy-at-bulk problem, there are other variants including the node-weighted problem and the prize-collecting problem. In the prize-collecting problem, each terminal pair also has a penalty and one can choose not to connect the pair and incur the penalty in the cost. Most of these results are on undirected graphs. For undirected node-weighted buy-at-bulk, there exists a polylogarithmic polynomial-time approximation algorithm [16] and a polylogarithmic quasi-polynomial-time competitive online algorithm [12]. In a more restricted case, i.e., undirected node-weighted Steiner trees, a polylogarithmic approximation algorithm was presented in [41] and a polylogarithmic competitive online algorithm was presented in [45]. Following [45], [37] extends to online undirected node-weighted Steiner forests while [36] extends to the online prize-collecting versions. These results fall under the unifying framework of [3] which utilizes an online primal-dual LP rounding scheme. The work [12] further extends to the online price-collecting buy-at-bulk problem with the same competitive ratio as the standard edge-weighted problem on both directed and undirected graphs. The work [35] considers a metric-based variant of undirected online buy-at-bulk and presents a framework that finds a cheap subgraph (compared to the minimum spanning tree or the optimal Steiner forest) that connects the terminal pairs with low stretch.

Resource-constrained shortest path.

The resource-constrained shortest path problem was introduced in [40]. The input consists of mm resource types and a directed graph where each edge is associated with a non-negative cost and a non-negative (for all coordinates) resource consumption vector. The goal is to find a minimum-cost path that connects the single source vertex to the single sink vertex while satisfying the resource constraint. When m=1m=1, this problem is equivalent to the restricted shortest path problem [38, 43], which has been extensively used in the literature of spanners [21, 18, 28, 9, 31]. The results of [40] show that when mm is a constant, there exists an FPTAS that finds a path with a cost at most the same as the feasible minimum-cost path by violating each budget by a factor of 1+ε1+\varepsilon. The FPTAS for m=2m=2 is used to solve the weighted spanner problem [30].

1.4 Organization

We present the O~(n4/5+ε)\tilde{O}(n^{4/5+\varepsilon})-approximation algorithm for Buy-at-bulk Spanner on [𝗉𝗈𝗅𝗒(n)]±[\mathsf{poly}(n)]_{\pm} in Section 2. We present the O~(k1/2+ε)\tilde{O}(k^{1/2+\varepsilon})-approximation algorithm for Buy-at-bulk Spanner on \mathbb{R} and the O~(kε)\tilde{O}(k^{\varepsilon})-approximation algorithm for Single-source Buy-at-bulk Spanner on \mathbb{R} that may slightly violate the distance constraints in Section 3. We present the O~(kε)\tilde{O}(k^{\varepsilon})-approximation algorithm for θ\theta-relaxed Minimum-density Distance-constrained Junction Tree in Section 4. We present our RCSP framework in Section 5.

2 An O~(n4/5+ε)\tilde{O}(n^{4/5+\varepsilon})-approximation for Buy-at-Bulk Spanners

Recall Definition 1.2.

See 1.2

Recall Theorem 1.3

See 1.3

Throughout this subsection, we set 𝒟=[𝗉𝗈𝗅𝗒(n)]±\mathcal{D}=[\mathsf{poly}(n)]_{\pm}. In this section, we prove Theorem 1.3.

As in [28, 9, 30, 5] let τ\tau be our guess of the optimal solution - OPT such that OPTτ2OPT\textsf{OPT}\leq\tau\leq 2\cdot\textsf{OPT}. Throughout this section, we will assume that our demand is uniform (i.e., Dem(s,t)=1(s,t)D\textsc{Dem}(s,t)=1\>\forall\>(s,t)\in D). If we have non-uniform demand, we can change it into uniform demand using a simple reduction by a standard reduction where we break our overall instances into O(logmax(s,t)Ddem(s,t))O(log\max_{(s,t)\in D}dem(s,t)) smaller instances. Each of these smaller instances have uniform demand (this is the same as splitting a positive integer into powers of 22).

We define some common notation used in the literature for Spanners, Steiner forests, and Buy at Bulk network design. Let β=n3/5\beta=n^{3/5} and L1=τ/n4/5,L2=n4/5τ/kL_{1}=\tau/n^{4/5},L_{2}=n^{4/5}\tau/k - we will use these parameters later in our algorithm. We say that any path p(s,t)p(s,t) connecting a terminal pair (s,t)(s,t) is feasible if eps,teDis(s,t)\sum_{e\in p_{s,t}}\ell_{e}\leq\textsc{Dis}(s,t).

We say that a path ps,tp_{s,t} has cheap investment if σ(ps,t)=eps,tσ(e)L1\sigma(p_{s,t})=\sum_{e\in p_{s,t}}\sigma(e)\leq L_{1}; we say that a path has cheap maintenance if δ(ps,t)=eps,tδ(e)L2\delta(p_{s,t})=\sum_{e\in p_{s,t}}\delta(e)\leq L_{2}. Further, we say that p(s,t)p(s,t) is cheap if it has both cheap investment and cheap maintenance 777Recall that we only deal with uniform demand because we can reduce general demand to uniform demand with a cost of log(s,t)Ddem(s,t)log\sum_{(s,t)\in D}dem(s,t) - thus we don’t need to multiply δ(e)\delta(e) with demand for a single path.

We call a terminal pair (s,t)D(s,t)\in D good if the local graph Gs,t=(Vs,t,Es,t)G^{s,t}=(V^{s,t},E^{s,t}) induced by the vertices on feasible sts\leadsto t paths that are cheap has at least n/βn/\beta vertices; we say it is bad otherwise. Let DaD_{a} be the set of good pairs and DbD_{b} be the set of bad pairs; also let ka=|Da|k_{a}=|D_{a}| and kb=|Db|k_{b}=|D_{b}|. Our definition of good and bad pairs here has to account for both negative lengths and the addition of the pay-per-use cost unlike previous literature [9, 28, 30]. Finally, we state that a set of paths {p(s,t)}\{p(s,t)\} resolves(or settles) a pair (s,t)D(s,t)\in D if it contains a feasible sts\leadsto t path.

2.1 Resolving good pairs

We first define, S={st:(s,t)D}S=\{s\mid\exists t:(s,t)\in D\} and T={ts:(s,t)D}T=\{t\mid\exists s:(s,t)\in D\}. In this subsection, we settle the good pairs with high probability. We do this by sampling some vertices using Algorithm 1 and then adding some incoming paths and outgoing paths from the samples to the vertices in SS and TT respectively using Algorithm 2. We ensure that any path we build is both feasible and cheap.

Algorithm 1 Sample(G(V,E))(G(V,E))
1:RϕR\leftarrow\phi, k3βlnnk\leftarrow 3\beta\ln n.
2:Sample kk vertices independently and uniformly at random and store them in the set RR.
3:return RR.
Claim 2.1.

Algorithm 1 selects a set of samples RR such that with high probability any given good pair (s,t)(s,t) has at least one vertex from its local graph in RR.

Proof.

This standard claim and close versions of it have been proved in several articles (see for instance Claim 2.1 in [30]). ∎

In Algorithm 2, we call Algorithm 1 to get a set of samples RR. For each uR,sS,tTu\in R,s\in S,t\in T, we try to add a set of sus\leadsto u paths and a set of utu\leadsto t path each of cost both upfront cost at most O(L1)O(L_{1}) and pay-per-use cost at most L2L_{2}. It is possible we can’t find some of these paths and if that happens, we just ignore this pair and continue.

Now, we just need a black box algorithm that can add a sus\leadsto u path that fits our requirements (i.e., allowing negative edge lengths, multiple length constraints for the same sus\leadsto u pair). We use Algorithm 4 for this purpose. Recall the Resource-constrained Shortest Path problem.

See 1.12

We also present a slightly modified version of Theorem 1.13 in Corollary 2.2 that can exactly satisfy m1m-1 resource constraints where the corresponding resources are integers polynomial in nn; and approximately satisfy one resource constraint that where the corresponding resource is a non-negative rational number.

Corollary 2.2.

When for all edges eEe\in E, we,i[𝗉𝗈𝗅𝗒(n)]±i{1,2,,m1}w_{e,i}\in[\mathsf{poly}(n)]_{\pm}\>\>\forall i\in\{1,2,\ldots,m-1\} and we,mQ0w_{e,m}\in Q_{\geq 0}, there exists a fully polynomial time (1;1,1,,1+ζ)(1;1,1,\ldots,1+\zeta)- algorithm for the kk-Resource-constrained Shortest Path problem that runs in time polynomial in input size and 1/ζ1/\zeta.

Proof.

See Section 5. ∎

Since we have to ensure that both upfront cost and pay-per-use cost are low enough, we need to model one of them as a constraint and the other as an objective. Without loss of generality, we set the upfront cost as the objective in Corollary 2.2 and set the pay-per-use cost as the 2nd2^{nd} constraint (which is allowed to be rational and non-negative). The length is modeled as the first constraint (it is an integer polynomial in nn).

Now, we do not know the exact length we need for a sus\leadsto u path. But, what we can do is search for all possible lengths in the interval:[nMin length,nMax length][n\cdot\textsc{Min length},n\cdot\textsc{Max length}]888This can be speed up by binary search. We use linear search to improve readability. for the lowest possible length as in [30]. Using Claim 2.2 as our black box, we get a cheap and feasible path p(s,t)p(s,t) if such a path exists.

Algorithm 2 Thick pairs resolver (G(V,E),{(e),σ(e),δ(e)}eE)(G(V,E),\{\ell(e),\sigma(e),\delta(e)\}_{e\in E})
1:RϕR\leftarrow\phi, PϕP^{\prime}\leftarrow\phi.
2:RSample(G(V,E))R\leftarrow\text{Sample}(G(V,E)).
3:for uRu\in R do
4:     for sSs\in S do
5:         for len[nMin length,nMax length]len\in[n\cdot\textsc{Min length},n\cdot\textsc{Max length}] do
6:              Use Claim 2.2 to find the cheapest sus\leadsto u path (in terms of upfront cost) that has pay-per-use cost L2\leq L_{2} and length(p)len\operatorname{length}(p)\leq len. If a path is found and it has upfront cost L1\leq L_{1}, add it to PP^{\prime} and go to the next pair of terminals.          
7:         If no path can be found for any length, continue to the next iteration.      
8:for uRu\in R do
9:     for tTt\in T do
10:         for len[nMin length,nMax length]len\in[n\cdot\textsc{Min length},n\cdot\textsc{Max length}] do
11:              Use Claim 2.2 to find the cheapest utu\leadsto t path (in terms of upfront cost) that has pay-per-use cost L2\leq L_{2} and length(p)len\operatorname{length}(p)\leq len. If a path is found and it has upfront cost L1\leq L_{1}, add it to PP^{\prime} and go to the next pair of terminals.          
12:         If no path can be found for any length, continue to the next iteration with the next pair of terminals.      
13:for (s,t)D(s,t)\in D do
14:     Find some feasible sts\leadsto t path p3p_{3} that is obtained by joining a sus\leadsto u path p1Pp_{1}\in P^{\prime} and utu\leadsto t path p2Pp_{2}\in P^{\prime}. This path will have pay-per-use cost at most 2(1+ζ)L22(1+\zeta)L_{2}, upfront cost at most 2L12L_{1} (if no such path can be formed from PP^{\prime}, then ignore this pair).
15:     Add p3p_{3} to 𝒫g\mathcal{P}_{g}.
16:return 𝒫g\mathcal{P}_{g}
Lemma 2.3.

With high probability, the set of paths PgP_{g} returned by Algorithm 2 resolves all good pairs in DD with a total cost O~(n4/5τ)\tilde{O}(n^{4/5}\cdot\tau). Moreover, Algorithm 2 runs in polynomial time.

Proof.

If some uRu\in R was originally in the local graph Gs,tG^{s,t}, then Algorithm 2 would have added at least one suts\leadsto u\leadsto t path from Gs,tG^{s,t} that is feasible. This is because if uu was in the local graph of (s,t)(s,t), then there exists an suts\leadsto u\leadsto t path pp of upfront cost less than L1L_{1}, pay-per-use cost less than L2L_{2}. This path p(s,u,t)p(s,u,t) has a length Len(p(s,u,t))Dis(s,t)\textsc{Len}(p(s,u,t))\leq\textsc{Dis}(s,t). Let p(s,u,t)p(s,u,t) be composed of two paths: a sus\leadsto u path p(s,u)p(s,u) and a utu\leadsto t path p(u,t)p(u,t). Both p(s,u)p(s,u) and p(u,t)p(u,t) will have upfront cost L1\leq L_{1} and pay-per-use cost L2\leq L_{2}.

Algorithm 2 will add the shortest sus\leadsto u path p1p_{1} that has upfront cost L1\leq L_{1} and pay-per-use cost L2\leq L_{2} and this path will have length at most Len(p(s,u))\textsc{Len}(p(s,u)). Similarly, Algorithm 2 will also add the shortest utu\leadsto t path p2p_{2} that has upfront cost L1\leq L_{1} and pay-per-use cost L2\leq L_{2} and this path will have length at most Len(p(u,t))\textsc{Len}(p(u,t)). When we combine p1p_{1} and p2p_{2}, we will get a path p3p_{3} such that Len(p3)=Len(p1)+Len(p2)Len(p(u,t))+Len(p(s,u))=Len(p(s,u,t))Dis(s,t)\textsc{Len}(p_{3})=\textsc{Len}(p_{1})+\textsc{Len}(p_{2})\leq\textsc{Len}(p(u,t))+\textsc{Len}(p(s,u))=\textsc{Len}(p(s,u,t))\leq\textsc{Dis}(s,t). Further, p3p_{3} will have an upfront cost 2L1\leq 2L_{1} and pay-per-use cost 2(1+ζ)L2\leq 2(1+\zeta)L_{2}. Fixing ζ=1\zeta=1, the pay-per-use cost of p3p_{3} would be 4L2\leq 4L_{2}.

Now we analyze the overall cost of Algorithm 2. The total cost of this procedure would be O(|R|L1n+kL2)O(|R|\cdot L_{1}\cdot n+k\cdot L_{2}). This is because we add one path for every sample from and to every vertex in SS and TT respectively, and each of these paths is cheaper than O(L1)O(L_{1}) to set up initially (we don’t add a path otherwise). Further, we only have kk units of demand in total (recall that we have uniform demand), so their usage cost is going to be less than O(L2k)O(L_{2}\cdot k).

Plugging in the values for |R||R|, L1L_{1} and L2L_{2}, we can see that the total cost would be O~(n4/5τ)\tilde{O}(n^{4/5}\cdot\tau). ∎

2.2 Resolving bad pairs

For this section, we adapt and expand a proof in [5]. We also add some detail for some parts of the proof. We also need an entirely different proof technique (based on [30]) for some parts of our proof. Before running the following algorithm, we first run the algorithm for good pairs and remove every resolved pair.

Let P={Puv}P^{*}=\{P*_{uv}\} be an optimal solution (note that since it is an optimal solution, all paths here are feasible). Now let,

  • Db1={(u,v)Dbδ(Puv)>L2}D_{b}^{1}=\{(u,v)\in D_{b}\mid\delta(P^{*}_{uv})>L_{2}\},

  • Db2={(u,v)DbDb1σ(Puv)>L1}D_{b}^{2}=\{(u,v)\in D_{b}\setminus D_{b}^{1}\mid\sigma(P^{*}_{uv})>L_{1}\}, and

  • Db3=Db(Db1Db2)D_{b}^{3}=D_{b}\setminus(D_{b}^{1}\cup D_{b}^{2}),

If kb4n6/5k_{b}\leq 4n^{6/5}, then we can use Corollary 1.5 to resolve all the bad pairs with cost O~(n3/5+ε)\leq\tilde{O}(n^{3/5+\varepsilon}) for some ε>0\varepsilon>0.

Thus, we can assume that kb>4n6/5k_{b}>4n^{6/5}. Now, since each (u,v)Db1(u,v)\in D_{b}^{1} has cost at least L2=n4/5τ/kL_{2}=n^{4/5}\tau/k, the cost of an optimal solution is τ\tau, and k<n2k<n^{2}, we have, |Db1|<2k/n4/5<2n6/5|D_{b}^{1}|<2k/n^{4/5}<2n^{6/5}. This also implies that if we ever have a situation where all pairs in Db2D_{b}^{2} and Db3D_{b}^{3} are resolved, then as kb>4n6/5k_{b}>4n^{6/5}, |Db1|<kb/2|D_{b}^{1}|<k_{b}/2. Now, we have two cases based on whether |Db2|>|Db3||D_{b}^{2}|>|D_{b}^{3}| or not.

We define the density of a set of paths PP to be the ratio of the total cost of these paths to the number of pairs settled by those paths. Note that the total cost of a single path is the sum of the upfront cost and pay-per-use cost (since we have uniform demand). When we take sets of paths, we count every edge only once for upfront cost.

We first see how to efficiently construct a subset P1P_{1} of paths with density O~(n4/5+ε)τ/|D|\tilde{O}(n^{4/5+\varepsilon})\tau/|D|. Then we iteratively find paths with that density, remove the pairs corresponding to those paths, and repeat until we resolve all bad pairs. This gives a total cost of O~(n4/5+ε)τ\tilde{O}(n^{4/5+\varepsilon})\tau. We construct P1P_{1} by building two other sets P2P_{2} and P3P_{3} and picking the smaller density of them.

Since |Db1|<kb/2|D_{b}^{1}|<k_{b}/2, when |Db2|>|Db3||D_{b}^{2}|>|D_{b}^{3}|, we have |Db2|>kb/4|D_{b}^{2}|>k_{b}/4. Similarly, when |Db2|<|Db3||D_{b}^{2}|<|D_{b}^{3}|, we have |Db3|>kb/4|D_{b}^{3}|>k_{b}/4.

2.2.1 When |Db2|>|Db3||D_{b}^{2}|>|D_{b}^{3}|

We will use Minimum-density Distance-constrained Junction Tree as a black box for resolving this case.

The following lemma is a slight variant of a standard result in multiple publications([9, 28, 30]).

Claim 2.4.

If |Db2|/2|Db3||D_{b}^{2}|/2\geq|D_{b}^{3}| (and thus |Db2|kb/4|D_{b}^{2}|\geq k_{b}/4), then there exists a Minimum-density Distance-constrained Junction Tree of density O(n4/5τ/kb)O\left(n^{4/5}\cdot\tau/k_{b}\right).

Proof.

Observe that (u,v)Db2σ(Puv)>|Db2|τ/n4/5\sum_{(u,v)\in D_{b}^{2}}\sigma(P_{uv}^{*})>|D_{b}^{2}|\cdot\tau/n^{4/5}. Now by a standard counting argument [5, 9, 28, 30] there must be an edge that belongs to at least |Db2|/n4/5|D_{b}^{2}|/n^{4/5} of the paths in PP^{*}. Now, consider a junction tree rooted at one of the vertices of this edge, and consists of all the paths going through this edge in PP^{*}. This junction tree has cost τ\leq\tau (since its a subgraph of an optimal solution PP^{*}) and can resolve at least |Db2|/n4/5|D_{b}^{2}|/n^{4/5} pairs. Therefore, since |Db2|/2kb/4|D_{b}^{2}|/2\geq k_{b}/4, this junction tree will have a density O(n4/5τ/kb)\leq O\left(n^{4/5}\cdot\tau/k_{b}\right). ∎

Lemma 2.5.

When |Db2|>|Db3||D_{b}^{2}|>|D_{b}^{3}|, we can get a set of paths P2P_{2} that has density at most O~(n4/5+ετ/kb)\tilde{O}(n^{4/5+\varepsilon}\cdot\tau/k_{b})

Proof.

From Claim 2.4, there exists a Minimum-density Distance-constrained Junction Tree of density at most O(n4/5τ/kb)O(n^{4/5}\cdot\tau/k_{b}). We use Corollary 1.11 to get a Minimum-density Distance-constrained Junction Tree with density at most O~(n4/5+ετ/kb)\tilde{O}(n^{4/5+\varepsilon}\cdot\tau/k_{b}) and store the paths returned by it in P2P_{2}. ∎

2.2.2 When |Db3||Db2||D_{b}^{3}|\geq|D_{b}^{2}|

To handle this case, we first build a linear program and solve it. Unfortunately, the solution to the LP does not immediately fulfill our exact needs (although it is close). So, we do some careful processing to turn the solution to fit our exact requirements. This section is based on [5, 30].

min\displaystyle\min eEσ(e)xe\displaystyle\sum_{e\in E}{\sigma(e)\cdot x_{e}} (10a)
subject to (u,v)Dbyuvkb/4,\displaystyle\sum_{(u,v)\in D_{b}}y_{uv}\geq k_{b}/4, (10b)
Πpefpxe\displaystyle\sum_{\Pi\ni p\ni e}f_{p}\leq x_{e} (u,v)Db,eE,\displaystyle\forall(u,v)\in D_{b},e\in E, (10c)
pΠ(u,v)fpyu,v\displaystyle\sum_{p\in\Pi(u,v)}f_{p}\geq y_{u,v} (u,v)Db,\displaystyle\forall(u,v)\in D_{b}, (10d)
pΠ(u,v)δ(p)fpn4/5τ2kyuv\displaystyle\sum_{p\in\Pi(u,v)}\delta(p)f_{p}\leq\frac{n^{4/5}\tau}{2k}\cdot y_{uv} (u,v)Db,\displaystyle\forall(u,v)\in D_{b}, (10e)
0yu,v,fp,xe1\displaystyle 0\leq y_{u,v},f_{p},x_{e}\leq 1 (u,v)Db,pΠ(u,v),eE.\displaystyle\forall(u,v)\in D_{b},p\in\Pi(u,v),e\in E. (10f)

For every (u,v)Db(u,v)\in D_{b}, let Π(u,v)\Pi(u,v) be the set of paths PP from uu to vv in GG such that σ(P)τ/n4/5\sigma(P)\leq\tau/n^{4/5} and Len(P)Dis(u,v)\textsc{Len}(P)\leq\textsc{Dis}(u,v) (i.e., the distance constraints are satisfied). Also, let Π=(u,v)DbΠ(u,v)\Pi=\cup_{(u,v)\in D_{b}}\Pi(u,v). The Linear program (10) attempts to find a cheap and feasible (resource constraint-wise) solution where all the paths are taken from Π\Pi. But the problem here is that this solution could have paths that are expensive in the pay-per-use cost δ\delta. We resolve this issue by careful processing based on [5].

Let (x^,y^,f^)(\hat{x},\hat{y},\hat{f}) be a feasible solution to LP (10) whose value is within a (1+ζ)(1+\zeta) factor of the optimal for any fixed ζ>0\zeta>0 (see Section 2.3 for the method to obtain this solution).

Because the optimal set of paths for the pairs in Db3D_{b}^{3} (i.e., P3={Puv(u,v)Db3}P_{3}^{*}=\{P_{uv}^{*}\mid(u,v)\in D_{b}^{3}\}) corresponds to a basic feasible solution of LP (10), the objective value of (x^,y^,f^)(\hat{x},\hat{y},\hat{f}) is atmost (1+ζ)τ(1+\zeta)\cdot\tau. Now, let (xˇ,yˇ,fˇ)=(2x^,y^,2f^)(\check{x},\check{y},\check{f})=(2\hat{x},\hat{y},2\hat{f}). Set fpˇ=0\check{f_{p}}=0 for every path pp such that δ(p)>n4/5τ/k\delta(p)>n^{4/5}\tau/k. Then we reduce other fpˇ\check{f_{p}} values so that pΠ(u,v)fpˇ=yu,v(u,v)Db\sum_{p\in\Pi(u,v)}\check{f_{p}}=y_{u,v}\>\forall(u,v)\in D_{b}, and also prune the xex_{e} values such that xˇe=max(u,v)Db{p:ePΠ(u,v)fpˇ}\check{x}_{e}=\max_{(u,v)\in D_{b}}\{\sum_{p:e\in P\in\Pi_{(u,v)}}\check{f_{p}}\} for all eEe\in E (i.e., we prune xex_{e} to make it as small as it can be while ensuring it can handle the necessary flow). This new (xˇ,yˇ,fˇ)(\check{x},\check{y},\check{f}) is another basic feasible solution to LP (10).

For now, we have pΠ(u,v)fpˇ=yu,v(u,v)Db\sum_{p\in\Pi(u,v)}\check{f_{p}}=y_{u,v}\>\forall(u,v)\in D_{b}; in addition, any path that still has fpˇ>0\check{f_{p}}>0 has both cheap investment and cheap maintenance (i.e., σ(P)τ/n4/5\sigma(P)\leq\tau/n^{4/5} and δ(P)n4/5τ/k\delta(P)\leq n^{4/5}\tau/k). Furthermore, these paths also satisfy the distance constraint of the demand pair they connect. All we have to do now is round this solution.

Rounding our solution:

Now we need to round the solution of LP (10) appropriately to decide which paths we need to include in our final solution. The overall structure of our rounding procedure is similar to that of [30]. We first round xˇe\check{x}_{e} and use that to create a temporary graph GtempG_{\text{temp}}. Then for each (s,t)D(s,t)\in D, we find the cheapest (in terms of pay-per-use cost) sts\leadsto t path p(s,t)p(s,t) that satisfies Len(p(s,t))Dis(s,t)\textsc{Len}(p(s,t))\leq\textsc{Dis}(s,t) and has ep(s,t)δ(e)L2\sum_{e\in p_{(s,t)}}{\delta(e)\leq L_{2}} (if such a path exists) and add it to the set P3P_{3}. Note that we can use Claim 2.2 for this purpose. Then we show that this procedure resolves sufficiently many bad pairs with high probability.

Note that once we round the edges, we do not worry about the upfront cost. Since we only need to pay once for upfront cost, the algorithm does not try to optimize for upfront cost (that is handled by LP (10)).

Let P3P_{3} be the set of paths obtained by running Algorithm 3 on {xˇe}\{\check{x}_{e}\} and GtempG_{temp} be the graph returned by the same.

Algorithm 3 Thin pair rounding [LP rounding] (xe,Dx_{e},D)
1:E′′ϕE^{\prime\prime}\leftarrow\phi .
2:for eEe\in E do
3:      Add e to Gtemp with probabilitymin{n4/5lnnxe,1};\text{ Add }e\text{ to }G_{\text{temp}}\text{ with probability}\min\{n^{4/5}\ln n\cdot x_{e},1\};
4:for (s,t)D(s,t)\in D do
5:     Find the cheapest path (in terms of pay-per-use cost) p(s,t)p_{(s,t)} in GtempG_{\text{temp}} that fulfills the distance constraints Dis(s,t)\textsc{Dis}(s,t). Add the path to P3P_{3} if it has pay-per-use cost L2\leq L_{2}.
6:return P3,GtempP_{3},G_{temp}

The below lemma is an adaptation of Claim 2.3 from [9, 30]. We only change the constants involved.

Claim 2.6.

Let AEA\subseteq E. If Algorithm 3 receives a fractional vector {xˇe}\{\check{x}_{e}\} with non-negative entries satisfying eAxˇe1/10\sum_{e\in A}\check{x}_{e}\geq 1/10, then the probability that Algorithm 3 returns a graph GtempG_{temp} that is disjoint from AA is exp((1/10)n4/5lnn)\leq\exp((-1/10)\cdot n^{4/5}\cdot\ln n).

Proof.

Let Gtemp=(Vtemp,Etemp)G_{temp}=(V_{temp},E_{temp}). If AA does have an edge ee which has xˇe1/(n4/5lnn)\check{x}_{e}\geq 1/(n^{4/5}\ln n), then ee is clearly included in EtempE_{temp}.

If that is not the case, then the probability that none of the edges in AA are included in EtempE_{temp} is

eA(1n4/5lnnxˇe)exp(eAn4/5lnnxˇe)exp(110n4/5lnn).\prod_{e\in A}(1-n^{4/5}\ln n\cdot\check{x}_{e})\leq\exp\left(-\sum_{e\in A}n^{4/5}\ln n\cdot\check{x}_{e}\right)\leq\exp\left(-\frac{1}{10}n^{4/5}\ln n\right).

Just as in [30, 9], we now define our variant of anti-spanners, which we will call as anti-buy at bulk spanners. Anti-buy at bulk spanners are a useful tool for the following part of our proof. Our definition here needs to be more general for it needs to account for length, and both pay-per-use cost as well as upfront cost. But the proof itself is very similar to [30].

Definition 2.7.

A set AEA\subseteq E is an anti-buy at bulk spanner for a terminal pair (s,t)E(s,t)\in E if (V,EA)(V,E\setminus A) contains no feasible path sts\leadsto t path of upfront cost at most L1L_{1} and pay-per-use cost L2L_{2}. If there is no proper subset of an anti-buy at bulk spanner AA for (s,t)(s,t) which is also an anti-buy at bulk spanner for (s,t)(s,t), then we say that AA is minimal. We use 𝒜\mathcal{A} to denote the set of all minimal anti-buy at bulk spanners for all bad edges.

We now bound the number of minimal anti-buy at bulk spanners across all bad pairs. The following claim is from [30, 9] - the proof is only given for the sake of completeness (and because we are dealing with a more general structure here).

Lemma 2.8.

Let 𝒜\mathcal{A} be the set of all minimal anti-spanners for bad pairs. Then |𝒜||\mathcal{A}| is at most |D|2(n/β)2/2|D|\cdot 2^{(n/\beta)^{2}/2}.

Proof.

Let PS(s,t)PS(s,t) be the power set of all edges in the local graph for a specific bad pair (s,t)(s,t). Since (s,t)(s,t) is a bad pair we have at most n/βn/\beta vertices in the local graph. This also means that we have (n/β)2/2\leq(n/\beta)^{2}/2 edges in the local graph of (s,t)(s,t). Therefore if (s,t)(s,t) is a bad pair, then we have |PS(s,t)|2(n/β)2/2|PS(s,t)|\leq{2^{(n/\beta)^{2}/2}}.

Observe that every anti-buy at bulk spanner for a specific demand pair (s,t)D(s,t)\in D is a set of edges. Therefore it corresponds to an element in PS(s,t)PS(s,t). Set PS bad =(s,t)PS(s,t)PS_{\text{ bad }}=\bigcup_{(s,t)}PS(s,t) where (s,t)D(s,t)\in D are bad pairs. Thus, we can see that, |𝒜||PS bad ||D|2(n/β)2/2|\mathcal{A}|\leq|PS_{\text{ bad }}|\leq|D|\cdot{2^{(n/\beta)^{2}/2}} which proves our result. ∎

The following two lemmas will finally show that the density of the solution obtained after the rounding procedure is large enough.

Lemma 2.9.

With high probability, the set of paths P3P_{3} settles every bad pair (s,t)D(s,t)\in D that has y^s,t1/10\hat{y}_{s,t}\geq 1/10.

Proof.

For every bad pair (s,t)D(s,t)\in D with yˇs,t1/10\check{y}_{s,t}\geq 1/10, if AA is an anti-spanner for (s,t)(s,t) then eAxˇePΠ(s,t)fˇp=yˇs,t1/10\sum_{e\in A}\check{x}_{e}\geq\sum_{P\in\Pi(s,t)}\check{f}_{p}=\check{y}_{s,t}\geq 1/10.

By Claim 2.6, the probability that AA is disjoint from GtempG_{temp} is at most exp(n4/5lnn/10)\exp(-n^{4/5}\cdot\ln n/10). Then, using Lemma 2.8, we can bound the number of minimal anti-spanners for bad pairs and then if we apply union bound, we have the probability that the graph GtempG_{temp} is disjoint from any anti spanner for a bad pair is at most

exp(110n4/5lnn)|D|2(n/β)2/2.\exp\left(-\frac{1}{10}n^{4/5}\cdot\ln n\right)\cdot|D|\cdot 2^{(n/\beta)^{2}/2}. (11)

Recall that |D|n2|D|\leq n^{2}. Since β=n3/5\beta=n^{3/5}, we have (n/β)2=n4/5(n/\beta)^{2}=n^{4/5}. Thus when we plug in the values, we get,

exp(110n4/5lnn+ln(n22n4/5/2))=exp(Θ(n4/5lnn)).\exp\left(-\frac{1}{10}\cdot n^{4/5}\cdot\ln n+\ln\left(n^{2}\cdot 2^{n^{4/5}/2}\right)\right)=\exp\left(-\Theta(n^{4/5}\ln n)\right).

This shows that the probability that our graph GtempG_{temp} is disjoint from any anti-spanner for any (s,t)D(s,t)\in D where (s,t)(s,t) is a bad pair with y^s,t1/10\hat{y}_{s,t}\geq 1/10 is exponentially small. This means that GtempG_{temp} will have a feasible path with upfront cost L1\leq L_{1}, pay-per-use cost L2\leq L_{2} for those (s,t)(s,t) pairs.This means that with high probability our set of paths resolves every bad pair (s,t)D(s,t)\in D that has y^s,t1/10\hat{y}_{s,t}\geq 1/10. ∎

Lemma 2.10.

For any ε>0\varepsilon>0, when |Db2||Db3||D_{b}^{2}|\leq|D_{b}^{3}|, with high probability, the density of P3P_{3} is at most

O~(n4/5τ/kb).\tilde{O}(n^{4/5}\cdot\tau/k_{b}).
Proof.

Notice that the expected cost of P3P_{3} would be at most n4/5lnnτn^{4/5}\ln n\cdot\tau. To see this note the expected cost due to upfront cost is at most n4/5lnnτn^{4/5}\ln n\cdot\tau. Furthermore, since we only add paths that have pay-per-use cost L2=n4/5τ/k\leq L_{2}=n^{4/5}\tau/k and we only have kk units of demand, the total cost due to pay-per-use cost n4/5τ\leq n^{4/5}\tau.

Now observe that the number of pairs (s,t)D(s,t)\in D for which yˇs,t<1/10\check{y}_{s,t}<1/10 is at most kb/6k_{b}/6. If that is not the case, then the amount of flow between all pairs is strictly less than kb/4k_{b}/4 and that violates constraint (10b). From Lemma 2.9, all pairs for which have yˇs,t1/10\check{y}_{s,t}\geq 1/10 will be resolved with high probability. This means that the expected density of P3P_{3} is upper bounded by

n4/5+εlnnτkb/6=6n4/5+εlnnτkb=O~(n4/5+ετ)kb.\frac{n^{4/5+\varepsilon}\ln n\cdot\tau}{k_{b}/6}=\frac{6n^{4/5+\varepsilon}\ln n\cdot\tau}{k_{b}}=\frac{\tilde{O}(n^{4/5+\varepsilon}\cdot\tau)}{k_{b}}.

Proof of Theorem 1.3.

With the help of Corollary 2.2, we can settle all good pairs with high probability with cost O~(n4/5τ)\leq\tilde{O}(n^{4/5}\cdot\tau). For bad pairs, if we ever have kb4n6/5k_{b}\leq 4n^{6/5}, we can use Corollary 1.5 to resolve them with cost O~(n3/5+ετ)\leq\tilde{O}(n^{3/5+\varepsilon}\cdot\tau). Otherwise, we can make two sets of paths P2P_{2} and P3P_{3} using a junction tree and by rounding the modified solution to LP (10) respectively. By Lemmas 2.5 and 2.10, we can see that at least one of these sets of paths will have a density O~(n4/5+ετ/kb)\leq\tilde{O}(n^{4/5+\varepsilon}\cdot\tau/k_{b}). Just take the cheaper among them and keep repeating the process until we can resolve all bad pairs with a high probability. This process has total cost O~(n4/5+ετ)\leq\tilde{O}(n^{4/5+\varepsilon}\cdot\tau). ∎

2.3 LP solution

This section is based on [5, 30]. We now describe how to solve LP (10). Note that LP (10) has an exponential number of variables. So, we instead take the dual of this LP (shown in LP (12)) that has polynomially many variables and exponentially many constraints. If we have a valid separation oracle we can solve LP (12) using the ellipsoid method.

max\displaystyle\max (kb/4)θ(u,v)Dbζ(u,v)\displaystyle(k_{b}/4)\cdot\theta-\sum_{(u,v)\in D_{b}}\zeta_{(u,v)} (12a)
subject to (u,v)Dbαe,(u,v)σe\displaystyle\sum_{(u,v)\in D_{b}}\alpha_{e,(u,v)}\leq\sigma_{e} eE,\displaystyle\forall e\in E, (12b)
β(u,v)+ζ(u,v)θ+n4/5τ2kγ(u,v)\displaystyle\beta_{(u,v)}+\zeta_{(u,v)}\geq\theta+\frac{n^{4/5}\tau}{2k}\cdot\gamma_{(u,v)} (u,v)Db,\displaystyle\forall(u,v)\in D_{b}, (12c)
β(u,v)epαe,(u,v)+δ(p)γ(u,v)\displaystyle\beta_{(u,v)}\leq\sum_{e\in p}\alpha_{e,(u,v)}+\delta(p)\cdot\gamma_{(u,v)} (u,v)Db,pΠ(u,v),\displaystyle\forall(u,v)\in D_{b},\forall p\in\Pi_{(u,v)}, (12d)
αe,(u,v),β(u,v),γ(u,v),ζ(u,v),θ0\displaystyle\alpha_{e,(u,v)},\beta_{(u,v)},\gamma_{(u,v)},\zeta_{(u,v)},\theta\geq 0 eE,(u,v)Db,pΠ(u,v).\displaystyle\forall e\in E,\forall(u,v)\in D_{b},\forall p\in\Pi_{(u,v)}. (12e)

We only have polynomially many constraints in (12b), (12c). Therefore it is straightforward to get a separation oracle for them. However, we have exponentially many constraints in (12d). [5] uses the restricted shortest path from [38] for this purpose. But because our set of paths Π(u,v)\Pi_{(u,v)} also has distance constraints to account for, and we also need to handle negative lengths, we need something better. We use Corollary 2.2 as our separation oracle. The following claim is very similar to Claim 2.13 in [30].

Claim 2.11.

For a specific (s,t)D(s,t)\in D, 22-Resource-constrained Shortest Path is a separation oracle for those constraints in equation (12d)

Proof.

The first constraint can check if β(u,v)>epαe,(u,v)+δ(p)γ(u,v)\beta_{(u,v)}>\sum_{e\in p}\alpha_{e,(u,v)}+\delta(p)\cdot\gamma_{(u,v)}. We can use the second resource constraint in 22-RCSP to ensure that the distance constraint for (s,t)(s,t) is satisfied. We can now try to find a minimum cost sts\leadsto t path in this instance of 22-Resource-constrained Shortest Path. If the upfront cost obtained when we meet these constraints is less than L1L_{1}, then we have a violating constraint and if not we do not have one.

Now, we see an approximate version of LP (12).

max\displaystyle\max (kb/4)θ(u,v)Dbζ(u,v)\displaystyle(k_{b}/4)\cdot\theta-\sum_{(u,v)\in D_{b}}\zeta_{(u,v)} (13a)
subject to (u,v)Dbαe,(u,v)σe\displaystyle\sum_{(u,v)\in D_{b}}\alpha_{e,(u,v)}\leq\sigma_{e} eE,\displaystyle\forall e\in E, (13b)
β(u,v)+ζ(u,v)θ+n4/5τ2kγ(u,v)\displaystyle\beta_{(u,v)}+\zeta_{(u,v)}\geq\theta+\frac{n^{4/5}\tau}{2k}\cdot\gamma_{(u,v)} (u,v)Db,\displaystyle\forall(u,v)\in D_{b}, (13c)
β(u,v)(1+ζ)epαe,(u,v)+δ(p)γ(u,v)\displaystyle\beta_{(u,v)}(1+\zeta)\leq\sum_{e\in p}\alpha_{e,(u,v)}+\delta(p)\cdot\gamma_{(u,v)} (u,v)Db,pΠ(u,v),\displaystyle\forall(u,v)\in D_{b},\forall p\in\Pi_{(u,v)}, (13d)
αe,(u,v),β(u,v),γ(u,v),ζ(u,v),θ0\displaystyle\alpha_{e,(u,v)},\beta_{(u,v)},\gamma_{(u,v)},\zeta_{(u,v)},\theta\geq 0 eE,(u,v)Db,pΠ(u,v).\displaystyle\forall e\in E,\forall(u,v)\in D_{b},\forall p\in\Pi_{(u,v)}. (13e)

Since our δ(e)\delta(e) values are rational and our e\ell_{e} values are all integers, we can just use Corollary 2.2 as a separation oracle for the exponentially many constraints in LP (13) and exactly solve it. The value of any solution we obtain this way would be (1+ζ)OPT\leq(1+\zeta)\cdot\textsf{OPT} where OPT is the optimal value of LP (10) (see [30] for details).

3 Approximation for Buy-at-Bulk Spanners in Terms of kk

This section is dedicated to proving the following theorem. Recall that in (2), (3), and (4):

η:=|min{mineE{e},0}|min(s,t)D{|Dis(s,t)|},ξ:=max(s,t)D{|Dis(s,t)|}min(s,t)D{|Dis(s,t)|}, and sgn(x)={1if x<0,0if x=0,1if x>0.\eta:=\frac{|\min\{\min_{e\in E}\{\ell_{e}\},0\}|}{\min_{(s,t)\in D}\{|\textsc{Dis}(s,t)|\}},\xi:=\frac{\max_{(s,t)\in D}\{|\textsc{Dis}(s,t)|\}}{\min_{(s,t)\in D}\{|\textsc{Dis}(s,t)|\}},\text{ and }\operatorname{sgn}(x)=\begin{cases}-1&\text{if }x<0,\\ 0&\text{if }x=0,\\ 1&\text{if }x>0.\end{cases}

See 1.4

Proof.

We first introduce the notion of θ\theta-relaxed distance-constrained junction tree solution.

Definition 3.1.

A θ\theta-relaxed distance-constrained junction tree solution is a collection of distance-constrained junction trees rooted at different vertices, that satisfies (5) for all (s,t)D(s,t)\in D. These junction trees are called θ\theta-relaxed distance-constrained junction trees.

We construct a θ\theta-relaxed distance-constrained junction tree solution and compare its objective with the optimal θ\theta-relaxed distance-constrained junction tree solution with objective value OPTjunc\textsf{OPT}_{junc}.

We show the existence of an β\beta-approximate solution consisting of θ\theta-relaxed distance-constrained junction trees. Here, β=O(k)\beta=O(\sqrt{k}) for Buy-at-bulk Spanner and β=1\beta=1 for Single-source Buy-at-bulk Spanner.

Let OPT denote the cost of the optimal solution where the distance constraints are strict, OPTθ\textsf{OPT}_{\theta} denote the cost of the optimal solution where the distance constraints are relaxed as (5), and β\beta denote the ratio between OPTjunc\textsf{OPT}_{junc} and OPTθ\textsf{OPT}_{\theta}. Clearly, OPTθOPT\textsf{OPT}_{\theta}\leq\textsf{OPT} because the distance constraints for OPT is stricter. It suffices to show (constructively) that β=O(k)\beta=O(\sqrt{k}) for Buy-at-bulk Spanner and β=1\beta=1 for Single-source Buy-at-bulk Spanner because Theorem 1.10 implies the existence of an O~(βkε)\tilde{O}(\beta k^{\varepsilon})-approximation algorithm in 𝗉𝗈𝗅𝗒(n,1/θ,η,ξ)\mathsf{poly}(n,1/\theta,\eta,\xi)-time.

To show that β=1\beta=1 for Single-source Buy-at-bulk Spanner, let HH be an optimal solution. We observe that HH itself is a θ\theta-relaxed distance-constrained junction tree rooted at the source ss that is connected to all the kk sinks, so β=1\beta=1.

To show that β=O(k)\beta=O(\sqrt{k}) for Buy-at-bulk Spanner, we use a density argument via a greedy procedure which implies an O(k)O(\sqrt{k})-approximate θ\theta-relaxed distance-constrained junction tree solution. We recall that the density of a θ\theta-relaxed distance-constrained junction tree is its cost divided by the number of terminal pairs that it connects while satisfying (5).

Intuitively, we are interested in finding low-density θ\theta-relaxed distance-constrained junction trees. We show that there always exists a θ\theta-relaxed distance-constrained junction tree with density at most an O(k)O(\sqrt{k}) factor of the optimal density. The proof of Lemma 3.2 closely follows the one for the directed Steiner network problem in [15], pairwise spanners [31], and weighted spanners [30], by considering whether there is a heavy vertex that lies on sts\leadsto t paths for (s,t)D(s,t)\in D or there is a simple path with low density. The case analysis also holds with θ\theta-relaxed distance constraints.

Lemma 3.2.

There exists a θ\theta-relaxed distance-constrained junction tree 𝒥\mathcal{J} with density at most OPTθ/k\textsf{OPT}_{\theta}/\sqrt{k}.

Proof.

Let {p(s,t)}(s,t)D\{p^{*}(s,t)\}_{(s,t)\in D} (a collection of sts\leadsto t paths) be the optimal Buy-at-bulk Spanner solution with cost OPTθ\textsf{OPT}_{\theta} while considering (5). The proof proceeds by considering the following two cases: 1) there exists a vertex rVr\in V that belongs to at least k\sqrt{k} sts\leadsto t paths that satisfy (5) for distinct (s,t)(s,t), and 2) there is no such vertex rVr\in V.

For the first case, we consider the union of the sts\leadsto t paths, each satisfying its relaxed distance constraint (5), that passes through rr. This forms a subgraph in {eep(s,t),(s,t)D}\{e\mid e\in p^{(}s,t),(s,t)\in D\} which contains an in-arborescence and an out-arborescence both rooted at rr, whose union forms a θ\theta-relaxed distance-constrained junction tree. This distance-constrained junction tree has cost at most OPTθ\textsf{OPT}_{\theta} and connects at least k\sqrt{k} terminal pairs, so its density is at most OPTθ/k\textsf{OPT}_{\theta}/\sqrt{k}.

For the second case, each vertex rVr\in V appears in at most k\sqrt{k} sts\leadsto t paths in {p(s,t)}(s,t)D\{p^{*}(s,t)\}_{(s,t)\in D}. More specifically, each edge eEe\in E also appears in at most k\sqrt{k} sts\leadsto t paths in GG. By creating k\sqrt{k} copies of each edge with the same cost σ\sigma and δ\delta, all terminal pairs can be connected by edge-disjoint paths. Since the overall duplicate cost is at most kOPTθ\sqrt{k}\cdot\textsf{OPT}_{\theta}, at least one of these paths has cost at most kOPTθ/k\sqrt{k}\cdot\textsf{OPT}_{\theta}/k. This path constitutes a distance-constrained junction tree whose density is at most OPTθ/k\textsf{OPT}_{\theta}/\sqrt{k}. ∎

Consider an iterative procedure that finds a minimum density θ\theta-relaxed distance-constrained junction tree and continues on the remaining disconnected terminal pairs. Suppose there are tt iterations, and after iteration j[t]j\in[t], there are njn_{j} disconnected terminal pairs. For notation convenience, let n0=kn_{0}=k and nt=0n_{t}=0. After each iteration, the minimum cost for connecting the remaining terminal pairs in the remaining graph is at most OPTθOPT\textsf{OPT}_{\theta}\leq\textsf{OPT}, so the total cost of this procedure is upper-bounded by

j=1t(nj1nj)OPTnj1i=1kOPTi1k+1OPTx𝑑x=2OPT(k+11)=O(k)OPT\sum_{j=1}^{t}\frac{(n_{j-1}-n_{j})\textsf{OPT}}{\sqrt{n_{j-1}}}\leq\sum_{i=1}^{k}\frac{\textsf{OPT}}{\sqrt{i}}\leq\int_{1}^{k+1}\frac{\textsf{OPT}}{\sqrt{x}}dx=2\textsf{OPT}(\sqrt{k+1}-1)=O(\sqrt{k})\textsf{OPT}

where the first inequality uses the upper bound by considering the worst case when only one terminal pair is removed in each iteration of the procedure. ∎

4 Minimum Density Distance-Constrained Junction Trees

Recall Definition 1.9.

See 1.9

In this section, we prove Theorem 1.10.

See 1.10

4.1 Proof of Theorem 1.10

4.1.1 High-level Idea

We do the following procedure using every possible root rVr\in V and then take whichever case has the minimum density among all the possible roots.

First, we scale all the edge lengths to restrict the number of values that any path length could have. We can do this because of the leeway allowed by θ\theta. Then, we build a layered graph to turn the scaled distance constraints into connectivity constraints. Then we eliminate the pay-per-use costs by turning them into one-time costs. To do this we use the variant of the height reduction lemma presented in [12] and build another layered graph with much fewer layers which we transform again into a tree-like graph. We then exploit the tree-like structure of this newly reduced graph to eliminate the pay-per-use costs. This gives rise to an instance of the Minimum Density Steiner Label Cover problem. Finally, we can solve the instance of Minimum Density Steiner Label Cover (while keeping the distance constraints in mind) by using the Group Steiner Forest problem using the approach presented in [18].

At a high level, we follow the overall flow of the proof of Theorem 5.1 in [18] which is in turn based on the proof structure in [15]. Several changes are required in this approach because we have to deal not only with negative numbers but also fractional lengths. [18] only handles unit lengths. [30] generalizes it to positive integers that are polynomial in nn. Dealing with fractional lengths (that don’t even need to be polynomial in nn when positive) requires us to go beyond the techniques in [30]. And we also have to deal with pay-per-use cost which has never been considered with distance constraints.

4.1.2 Scaling the weights

Recall that sgn(x)\operatorname{sgn}(x) is defined as follows:

sgn(x)={1if x<0,0if x=0,1if x>0.\operatorname{sgn}(x)=\begin{cases}-1&\text{if }x<0,\\ 0&\text{if }x=0,\\ 1&\text{if }x>0.\end{cases}
Definition 4.1.

We say that a sts\leadsto t path ps,tp_{s,t} is feasible if the length of the path is at most Dis(s,t)\textsc{Dis}(s,t).

Definition 4.2.

We slightly abuse notation and say that ps,tp_{s,t} is θ\theta-feasible if the length of ps,tp_{s,t} is at most Dis(s,t)(1+θsgn(Dis(s,t)))\textsc{Dis}(s,t)\cdot(1+\theta\cdot\operatorname{sgn}(\textsc{Dis}(s,t))).

Let the length of Ps,tP_{s,t} be denoted by (Ps,t)\ell(P_{s,t}); we also use Len(Ps,t)\textsc{Len}(P_{s,t}) for the same. Let max=max(s,t)D|Dis(s,t)|\ell_{max}=\max_{(s,t)\in D}|{\textsc{Dis}(s,t)}| and min=min(s,t)D|Dis(s,t)|\ell_{min}=\min_{(s,t)\in D}|{\textsc{Dis}(s,t)}|. Also, let Min length=mineEe and Max length=maxeEe\textsc{Min length}=\min_{e\in E}\ell_{e}\text{ and }\textsc{Max length}=\max_{e\in E}\ell_{e}. Let Δ=θ(min)/(n1)\Delta=\theta\cdot(\ell_{min})/(n-1): intuitively Δ\Delta is a measure of the level of precision we need for the edge lengths. Now, we scale all edge lengths in the following way: for any edge eEe\in E, we set ¯e=deΔ\bar{\ell}_{e}=d_{e}\cdot\Delta where ded_{e} is some integer which ensures (de1)Δ<edeΔ(d_{e}-1)\cdot\Delta<\ell_{e}\leq d_{e}\cdot\Delta is true. We call this new graph with the scaled edge lengths as the scaled graph G¯\bar{G}. G¯\bar{G} has the vertex set VV and edge set EE, but the edge lengths in G¯\bar{G} are set to ¯e\bar{\ell}_{e}. The upfront cost and pay-per-use cost for the edges in G¯\bar{G} are inherited from the corresponding edges in GG.

In the following discussion, we are going to slightly abuse notation and use the same variable to denote a path in both the original and scaled graph. The idea is that the scaled version of a path from the original graph is another path with the corresponding sequence of vertices. The only thing that will change is the function used to calculate the length of the path in the original and scaled graph.

Let ¯(P)=eP¯e\bar{\ell}(P)=\sum_{e\in P}\bar{\ell}_{e} (recall that l(P)=ePe{l}(P)=\sum_{e\in P}\ell_{e}) for any path PP. For any st|(s,t)Ds\leadsto t\>|(s,t)\in D path P(s,t)P_{(s,t)} we have,

¯(Ps,t)=ePs,t¯eePs,t(e+Δ)ePs,t(e)+(n1)(Δ)\displaystyle\bar{\ell}(P_{s,t})=\sum_{e\in P_{s,t}}\bar{\ell}_{e}\leq\sum_{e\in P_{s,t}}(\ell_{e}+\Delta)\leq\sum_{e\in P_{s,t}}(\ell_{e})+(n-1)\cdot(\Delta) (14)

Thus, we have,

¯(Ps,t)(Ps,t)+θmin(Ps,t)+θDis(s,t)sgn(Dis(s,t))\displaystyle\bar{\ell}(P_{s,t})\leq\ell(P_{s,t})+\theta\cdot\ell_{min}\leq\ell(P_{s,t})+\theta\cdot\textsc{Dis}(s,t)\cdot\operatorname{sgn}(\textsc{Dis}(s,t)) (16)

Furthermore, since e¯e\ell_{e}\leq\bar{\ell}_{e}, we have,

(Ps,t)¯(Ps,t)\displaystyle\ell(P_{s,t})\leq\bar{\ell}(P_{s,t}) (17)

Roughly speaking, (16) and (17) tell us that the lengths of the scaled paths are close enough to the lengths of their respective original paths.

More formally, we have the following claim:

Claim 4.3.

If Ps,tP_{s,t} is a feasible solution for (s,t)D(s,t)\in D (i.e., (Ps,t)Dis(s,t)\ell(P_{s,t})\leq\textsc{Dis}(s,t)), then Ps,tP_{s,t} is a θ\theta-feasible solution when we scale the weights (i.e., ¯(Ps,t)(1+θsgn(Dis(s,t)))Dis(s,t)\bar{\ell}(P_{s,t})\leq(1+\theta\cdot\operatorname{sgn}(\textsc{Dis}(s,t)))\cdot\textsc{Dis}(s,t)).

Furthermore, if Ps,t{P_{s,t}} is a θ\theta-feasible solution in the scaled graph, then (Ps,t)(1+θsgn(Dis(s,t)))Dis(s,t)\ell(P_{s,t})\leq(1+\theta\cdot\operatorname{sgn}(\textsc{Dis}(s,t)))\cdot\textsc{Dis}(s,t) in the unscaled/original graph.

Proof.

If Ps,tP_{s,t} is a feasible solution for (s,t)D(s,t)\in D, then (Ps,t)Dis(s,t)\ell(P_{s,t})\leq\textsc{Dis}(s,t). Thus, using (16), we can see that ¯(P)(1+θsgn(Dis(s,t)))Dis(s,t)\bar{\ell}(P)\leq(1+\theta\cdot\operatorname{sgn}(\textsc{Dis}(s,t)))\cdot\textsc{Dis}(s,t). Thus, Ps,tP_{s,t} is a θ\theta-feasible solution for the scaled version too.

Now, let us look in the opposite direction. If Ps,tP_{s,t} is a θ\theta-feasible solution in the scaled graph, then ¯(Ps,t)(1+θsgn(Dis(s,t)))Dis(s,t)\bar{\ell}(P_{s,t})\leq(1+\theta\cdot\operatorname{sgn}(\textsc{Dis}(s,t)))\cdot\textsc{Dis}(s,t). Then using (17), we can see that,

(Ps,t)¯(Ps,t)(1+θsgn(Dis(s,t)))Dis(s,t)\displaystyle\ell(P_{s,t})\leq\bar{\ell}(P_{s,t})\leq(1+\theta\cdot\operatorname{sgn}(\textsc{Dis}(s,t)))\cdot\textsc{Dis}(s,t) (18)

which proves our Claim. ∎

Next, we prove another claim that compares the cost of a partial solution in G¯\bar{G} with the cost of a partial solution in GG.

Claim 4.4.

For any f>0f>0, and set of terminal pairs DDD^{\prime}\subseteq D, if there exists a set of paths {p1(s,t)}(s,t)D\{p_{1}(s,t)\}_{(s,t)\in D^{\prime}} in GG of total cost (both upfront cost and pay-per-use cost) f\leq f containing a path of length at most Dis(s,t)\textsc{Dis}(s,t) from ss to tt for every (s,t)D(s,t)\in D^{\prime} then there exists a set of paths {p2(s,t)}(s,t)D\{p_{2}(s,t)\}_{(s,t)\in D^{\prime}} in G¯\bar{G} of total cost (both upfront cost and pay-per-use cost) f\leq f containing a path of length at most Dis(s,t)(1+θsgn(Dis(s,t)))\textsc{Dis}(s,t)(1+\theta\cdot\operatorname{sgn}(\textsc{Dis}(s,t))) from ss to tt for every (s,t)D(s,t)\in D^{\prime}.

In addition, for any f>0f>0, if there exists a set of paths {p1(s,t)}(s,t)D\{p_{1}(s,t)\}_{(s,t)\in D^{\prime}} in G¯\bar{G} of total cost (both upfront cost and pay-per-use cost) f\leq f containing a path of length at most Dis(s,t)(1+θsgn(Dis(s,t)))\textsc{Dis}(s,t)(1+\theta\cdot\operatorname{sgn}(\textsc{Dis}(s,t))) from ss to tt for every (s,t)D(s,t)\in D^{\prime} then there exists a set of paths {p2(s,t)}(s,t)D\{p_{2}(s,t)\}_{(s,t)\in D^{\prime}} in GG of total cost (both upfront cost and pay-per-use cost) f\leq f containing a path of length at most Dis(s,t)(1+θsgn(Dis(s,t)))\textsc{Dis}(s,t)(1+\theta\cdot\operatorname{sgn}(\textsc{Dis}(s,t))) from ss to tt for every (s,t)D(s,t)\in D^{\prime}.

Proof.

The first part of the claim can be proved easily. We can just set {p2(s,t)}(s,t)D={p1(s,t)}(s,t)D\{p_{2}(s,t)\}_{(s,t)\in D^{\prime}}=\{p_{1}(s,t)\}_{(s,t)\in D^{\prime}}. Now, for any (s,t)D(s,t)\in D, {p1(s,t)}(s,t)D\{p_{1}(s,t)\}_{(s,t)\in D^{\prime}} has some path p1(s,t)p_{1}(s,t) that is feasible. Then using the first part of Claim 4.3 we can see that p1(s,t)p_{1}(s,t) is a θ\theta-feasible path for the same (s,t)(s,t) in G¯\bar{G}. Since we are using the same set of paths and costs are inherited, the cost will remain the same.

For the second part, we can again set {p2(s,t)}(s,t)D={p1(s,t)}(s,t)D\{p_{2}(s,t)\}_{(s,t)\in D^{\prime}}=\{p_{1}(s,t)\}_{(s,t)\in D^{\prime}}. Now, for any (s,t)D(s,t)\in D, {p1(s,t)}(s,t)D\{p_{1}(s,t)\}_{(s,t)\in D^{\prime}} has some path p1(s,t)p_{1}(s,t) that is θ\theta-feasible. Using the second part of Claim 4.3 we can see that (p1(s,t))\ell(p_{1}(s,t)) is a θ\theta-feasible path for the same (s,t)(s,t) in GG. Since we are using the same set of paths and costs are inherited, the cost will remain the same.

From now we will only be dealing with the scaled graph G¯\bar{G}. When we build a layered graph as in [18], we will be building it on the scaled graph G¯\bar{G} instead of the original graph GG.

4.1.3 Turning distance constraints into connectivity constraints

High level idea and potential challenges:

For a specific root vertex rr, we turn our distance constraints with upfront cost and pay-per-use cost problem into a connectivity problem with upfront cost and pay-per-use cost edges by building a layered graph. While the overall approach of turning a distance constraint into a connectivity constraint was introduced in [18], we have to keep several things in mind while designing a similar construction.

  • The previous construction in [18] only allows edges between successive layers - while this method is sufficient for unit length edges simply won’t work/make sense in our model -

    • Our problem is not just dealing with unit lengths. One workaround is to decompose and edge ee with length e\ell_{e} into e\ell_{e} smaller edges all of unit lengths as in [30] - this would fail in our model because our lengths are not integers and even worse they don’t even need to be polynomial in nn.

    • This technique is not equipped to handle negative lengths, even {1,1}\{-1,1\}. We need to somehow ensure that allowing negative lengths plays no role/obstacle in our overall problem.

  • Any construction we make should not break the other parts of the proof or the requirements of the other model parameters. Our construction here should not make handling the pay-per-use costs impossible. The main technique to handle those would be using the version of height reduction lemma from [12] - but we have to ensure we mostly resolve distance constraints before we apply that - because the height reduction lemma isn’t equipped to handle any form of distance constraints.

Graph construction:

Let us now see our graph construction which needs to keep all of these concerns in mind. Let tt^{-} and t+t^{+} represent the smallest and largest possible multiples of Δ\Delta that the length of any subpath of any feasible path could take. t=min(Min length(n1)/Δ,0)t^{-}=\lfloor\min(\textsc{Min length}\cdot(n-1)/\Delta,0)\rfloor - this happens when we take n1n-1 consecutive edges of scaled weight at least Min length ; t+=max(1+θ)/Δ+|t|t^{+}=\lceil\ell_{max}(1+\theta)/\Delta\rceil+|t^{-}|. This is because any feasible scaled path has a length atmost max(1+θ)\ell_{max}\cdot(1+\theta) - but a subpath could be longer because it could decrease its length by as much as tΔt^{-}\cdot\Delta when it takes edges of negative length. We construct a layered graph G¯r\bar{G}_{r} with the following vertices:

V¯rL=((Vr)×{tΔ,(t+1)Δ,,,(t+1)Δ,t+Δ}×{L}){(r,0)},\bar{V}_{r}^{L}=\left((V\setminus r)\times\{t^{-}\cdot\Delta,(t^{-}+1)\cdot\Delta,,\ldots,(t^{+}-1)\cdot\Delta,t^{+}\cdot\Delta\}\times\{L\}\right)\cup\{(r,0)\}, (19)
V¯rR=((Vr)×{tΔ,(t+1)Δ,,,(t+1)Δ,t+Δ}×{R}){(r,0)},\bar{V}_{r}^{R}=\left((V\setminus r)\times\{t^{-}\cdot\Delta,(t^{-}+1)\cdot\Delta,,\ldots,(t^{+}-1)\cdot\Delta,t^{+}\cdot\Delta\}\times\{R\}\right)\cup\{(r,0)\}, (20)
V¯r=V¯rRV¯rL\begin{split}\bar{V}_{r}=\bar{V}_{r}^{R}\cup\bar{V}_{r}^{L}\end{split} (21)

As an example, a vertex in the newly constructed graph looks as follows: (u,IDelta,L)(u,I\cdot Delta,L). This denotes that the new vertex is a copy of the vertex uu from the scaled graph G¯\bar{G}, and this vertex is in the IthI^{th} layer from the root. Let us call this II as the label of the layer. We will explain the relevance of LL and RR later on. For now, it suffices to think of them as two separate copies of the same vertex set.

We connect these vertices with the following edges:

E¯rR={((u,IΔ,R)(v,JΔ,R))|(u,IΔ,R),(v,JΔ,R)V¯rR,(u,v)E and ¯(u,v)=(JI)Δ where I,JZ and ¯(u,v) is the scaled length of the edge(u,v)}\begin{split}\bar{E}_{r}^{R}=\{((u,I\cdot\Delta,R)(v,J\cdot\Delta,R))|(u,I\cdot\Delta,R),(v,J\cdot\Delta,R)\in\bar{V}_{r}^{R},(u,v)\in E\\ \text{ and }\bar{\ell}_{(u,v)}=(J-I)\cdot\Delta\text{ where }I,J\in Z\text{ and }\bar{\ell}_{(u,v)}\text{ is the scaled length of the edge}(u,v)\}\end{split} (22)
E¯rL={((u,IΔ,L)(v,JΔ,L))|(u,IΔ,L),(v,JΔ,L)V¯rL,(u,v)E and ¯(u,v)=(JI)Δ where I,JZ and ¯(u,v) is the scaled length of the edge(u,v)}\begin{split}\bar{E}_{r}^{L}=\{((u,I\cdot\Delta,L)(v,J\cdot\Delta,L))|(u,I\cdot\Delta,L),(v,J\cdot\Delta,L)\in\bar{V}_{r}^{L},(u,v)\in E\\ \text{ and }\bar{\ell}_{(u,v)}=(J-I)\cdot\Delta\text{ where }I,J\in Z\text{ and }\bar{\ell}_{(u,v)}\text{ is the scaled length of the edge}(u,v)\}\end{split} (23)
E¯r=E¯rRE¯rL\bar{E}_{r}=\bar{E}_{r}^{R}\cup\bar{E}_{r}^{L} (24)

Let,

G¯r=(V¯r,E¯r)v\bar{G}_{r}=(\bar{V}_{r},\bar{E}_{r})v (25)

Intuitively, we add an edge between two vertices whenever it makes sense i.e. when the original copies of these two vertices are connected in the scaled graph G¯\bar{G} and the layer separation between these two vertices is equal to the length of the scaled edge in G¯\bar{G}. The edges in our layered graph G¯r\bar{G}_{r} inherit the upfront costs(σ(e)\sigma(e)) and pay-per-use costs(δ(e)\delta(e)) from the corresponding edges in the original graph.

We call an integer II valid if tIt+t^{-}\leq I\leq t^{+}. For every terminal pair (s,t)D(s,t)\in D, do the following,

  1. 1.

    Add new vertices (st,IΔ)(s^{t},I\cdot\Delta) and (ts,JΔ)(t^{s},J\cdot\Delta) for all valid I,JI,J integers to VrV_{r}.

  2. 2.

    For all such II and JJ add edges ((st,IΔ)(s,(IΔ,L)))((s^{t},I\cdot\Delta)(s,(I\cdot\Delta,L))) and ((t,(JΔ,R))(ts,JΔ))((t,(J\cdot\Delta,R))(t^{s},J\cdot\Delta)) with zero upfront cost and pay-per-use cost to ErE_{r}.

  3. 3.

    Now for every terminal pair (s,t)P(s,t)\in P define:

    1. (a)

      terminal sets Ss,t={(st,IΔ) valid integers I}S_{s,t}=\{(s^{t},I\cdot\Delta)\>\forall\text{ {\em valid} integers }I\},

    2. (b)

      Ts,t={(ts,JΔ)| valid integers J}T_{s,t}=\{(t^{s},J\cdot\Delta)|\>\forall\text{ {\em valid} integers }J\} and

    3. (c)

      relation Rs,t={(st,IΔ),(ts,JΔ)Ss,t×Ts,t|(I+J)ΔDis(s,t)}R_{s,t}=\{(s^{t},I\cdot\Delta),(t^{s},J\cdot\Delta)\in S_{s,t}\times T_{s,t}|(I+J)\cdot\Delta\leq\textsc{Dis}(s,t)\}.

Note that unlike [18], we have to scale the lengths first before building this layered graph. This scaling process necessitates several changes in our graph construction and also the proof.

Relating the layered graph with the scaled graph:

Because of the construction of G¯r\bar{G}_{r}, for every terminal pair (s,t)D(s,t)\in D and valid integer II, there is a bijection between paths of length IΔI\cdot\Delta from ss to rr in G¯\bar{G}, and paths from (st,IΔ)(s^{t},I\cdot\Delta) to (r,0)(r,0) in G¯r,\bar{G}_{r}, w. Similarly for every valid JJ, there is a bijection between paths of length JΔJ\cdot\Delta from rr to tt in G¯\bar{G}, and paths from (r,0)(r,0) to (ts,JΔ)(t^{s},J\cdot\Delta) in G¯r\bar{G}_{r}. Now, to keep track of lengths in G¯\bar{G} we can just connect the appropriate terminal pairs in G¯r\bar{G}_{r}.

Runtime:

Our runtime so far is polynomial in |G¯r||\bar{G}_{r}| (when we say |G¯r||\bar{G}_{r}|, we mean the number of vertices in |G¯r||\bar{G}_{r}|). Now, |G¯r||\bar{G}_{r}| is a polynomial in O(n(|t|+|t+|))O(n\cdot(|t^{-}|+|t^{+}|)) and thus it is a polynomial in

O(n(|Min length(n)|/Δ+max(1+θ)/Δ))\displaystyle O(n\cdot(|\textsc{Min length}\cdot(n)|/\Delta+\ell_{max}\cdot(1+\theta)/\Delta)) (26)
=O(n(|Min length(n)2|/(θmin)+nmax(1+θ)/(θmin)))\displaystyle=O(n\cdot(|\textsc{Min length}\cdot(n)^{2}|/(\theta\cdot\ell_{min})+n\cdot\ell_{max}\cdot(1+\theta)/(\theta\cdot\ell_{min}))) (27)

Thus the overall runtime so far is a polynomial in O(n3|Min length|/θmin+nmax(1+θ))/(θmin))O(n^{3}|\textsc{Min length}|/\theta\cdot\ell_{min}+n\cdot\ell_{max}\cdot(1+\theta))/(\theta\cdot\ell_{min})). Thus, when 1/θ1/\theta, |Min length|/min|\textsc{Min length}|/\ell_{min} and max/min\ell_{max}/\ell_{min} are polynomials in nn, the runtime so far is a polynomial in nn.

To summarize,

we have turned all budget constraints into connectivity constraints so far. We keep track of the budget constraints using some relations. We still have to deal with the pay-per-use cost.

4.1.4 Handling pay-per-use costs δ(e)\delta(e)

High level overview and tools used

We now need to account for the effects of the pay-per-use cost δ(e)\delta(e) for each edge. While we are doing this, we should not disrupt our previous work for handling the distance constraints - this means we do not disrupt the terminals in any way and retain ways to keep track of which of those need to be connected.

We now present the height reduction lemma from [12] here which is in turn a modified version of the work of [39]. To improve clarity we use the terms upfront cost and pay-per-use cost to denote the cost of adding an edge and the cost of using it once in a path respectively.

Lemma 4.5.

[12] (Height Reduction) Given a directed graph G=(V,E)G=(V,E) with upfront costs σ(e)\sigma(e) and pay-per-use costs δ(e)\delta(e), for all h>0h>0, we can efficiently find an upward directed, layered graph GrupG_{r}^{up} on (h+1)(h+1) levels and edges (with new upfront and pay-per-use costs) only between consecutive levels going from bottom (level hh) to top (level 0), such that each layer has nn vertices corresponding to the vertices of GG, and, for any set of terminals XX and any root vertex rr,

  • the optimal objective value of the single-sink buy-at-bulk problem to connect XX (at level hh) with rr (at level 0) on the graph GrupG^{up}_{r} is at most O(hk1/h)ρO(hk^{1/h})\rho, where ρ\rho is the objective value of an optimal solution of the same instance on the original graph G,

  • given an integral (fractional solution) of objective value ρ\rho for the single-sink buy-at-bulk problem to connect XX with rr on the graph GrupG^{up}_{r}, we can efficiently recover an integral (fractional solution) of objective value at most ρ\rho for the problem on the original graph GG.

In the same way, we can obtain a downward directed, layered graph GrdownG^{down}_{r} on (h+1)(h+1)-levels with edges going from top to bottom, satisfying the same properties as above except for single-source (as opposed to single-sink) instances instead.

Thankfully Lemma 4.5 is well equipped for our situation - so we use it right now (unlike [18] which uses it only after formulating the Minimum Density Steiner Label Cover instance).

Applying Lemma 4.5:

We first apply Lemma 4.5 on (G¯rR=(V¯rR,E¯rR))(\bar{G}_{r}^{R}=(\bar{V}_{r}^{R},\bar{E}_{r}^{R})) and (G¯rL=(V¯rL,E¯rL))(\bar{G}_{r}^{L}=(\bar{V}_{r}^{L},\bar{E}_{r}^{L})) seperately, and obtain two new (h+1)(h+1) layered graphs GrupG^{up}_{r} and GrdownG^{down}_{r} where hh is some positive integer which depends on 1/ε1/\varepsilon. Unlike [12] our input graph is going to be significantly more complicated than the base graph GG but it will have only one root rr. We do not keep track of the intermediate vertices from the original graphs, and we don’t need to do so either. But we can keep track of the terminal vertices and that is important.

Reduction to a layered tree:

Once we obtain this layered graph, we create two new tree-like graphs T¯rup\bar{T}^{up}_{r} and T¯rdown\bar{T}^{down}_{r}. The purpose of this tree-like graph is to ensure that we have only one path from a terminal to the root - which allows us to easily handle pay-per-use cost. We describe the construction of T¯rup\bar{T}^{up}_{r}. The construction of T¯rdown\bar{T}^{down}_{r} is similar (things need to be inverted appropriately):

  • The 0th0^{th} layer of T¯rup\bar{T}_{r}^{up} has just one vertex and it is the root rr.

  • For each ii such that 1ih1\leq i\leq h, the ithi^{th} layer of T¯rup\bar{T}_{r}^{up} contains all (i+1)(i+1)- length tuples (r,v1,,vi)(r,v_{1},\ldots,v_{i}) where vjv_{j} is a vertex present in the jthj^{th} layer of G¯rup\bar{G}^{up}_{r}.

  • For every edge e=(vi,vi1)G¯rupe=(v_{i},v_{i-1})\in\bar{G}^{up}_{r}, there is an arc from (r,v1,,vi1,vi)(r,v_{1},\ldots,v_{i-1},v_{i}) to (r,v1,,vi1)(r,v_{1},\ldots,v_{i-1}) inheriting the same uprfront cost σ(e)\sigma(e) and pay-per-use cost δ(e)\delta(e) as in G¯rup\bar{G}_{r}^{up}.

Eliminating pay-per-use cost:

After we get the layered tree, we create new terminal vertices (srt,IΔ)((s,t)D, valid integers I)(s^{t}_{r},I\cdot\Delta)\>(\forall\>(s,t)\in D,\text{ valid integers }I) and connect them to any leaf in T¯rup\bar{T}_{r}^{up} that is of the form (r,v1,v2,,vh)(r,v_{1},v_{2},\ldots,v_{h}) with vh=(st,IΔ)v_{h}=(s^{t},I\cdot\Delta). We do the same by adding (trs,JΔ)(t^{s}_{r},J\cdot\Delta) in T¯rdown\bar{T}_{r}^{down} in the same way (but these vertices are sinks not sources). We then add an edge from rr in T¯rup\bar{T}_{r}^{up} to rr in T¯rdown\bar{T}_{r}^{down} and call this final graph as T¯r\bar{T}_{r}. Because the GrupG^{up}_{r} has only hh layers, the newly created graph T¯rup\bar{T}^{up}_{r} has size only O(|Grup|O(h))O(|G^{up}_{r}|^{O(h)}) which is polynomial in input size as hh is a constant and |Grup||G^{up}_{r}| is also polynomial in input size.

We now exploit the tree-like structure of our new graph where there is only one path from a leaf in T¯rup:(r,v1,v2,,vh)\bar{T}_{r}^{up}:(r,v_{1},v_{2},\ldots,v_{h}) to the root rr. Let vh=(st,IΔ)v_{h}=(s^{t},I\cdot\Delta) be a leaf node. Also, let η(st,(r,v1,v2,,vh))=ePδ(e)\eta(s^{t},(r,v_{1},v_{2},\ldots,v_{h}))=\sum_{e\in P}\delta(e) where PP is the only path that connects (r,v1,v2,,vh)(r,v_{1},v_{2},\ldots,v_{h}) to rr. We set the upfront cost of the ((srt,IΔ)(r,v1,v2,,vh))((s^{t}_{r},I\cdot\Delta)(r,v_{1},v_{2},\ldots,v_{h})) edges to η(st,(r,v1,v2,,vh))Dem(s,t)\eta(s^{t},(r,v_{1},v_{2},\ldots,v_{h}))\cdot\textsc{Dem}(s,t) and do something similar for the (trs,JΔ)(t^{s}_{r},J\cdot\Delta) terminal vertices. Effectively, we are using the upfront cost of these newly created edges to capture the pay-per-use cost one needs to pay to use a specific path.

After this step, we no longer need to do anything for the pay-per-use cost. T¯r\bar{T}_{r} can discard the pay-per-use cost value stored in all edges (they are taken care of by the upfront cost in the terminal edges).

To summarize:

We use Lemma 4.5 to first restrict the number of layers one needs to traverse from a terminal to the root. Then we apply another reduction to ensure that there is only one path from the terminals to the root. To this, we add some dummy vertices that can capture the pay-per-use cost (δ(e)\delta(e)) so that we no longer need to keep track of those in our main graph.

4.1.5 Reduction to Minimum Density Steiner Label Cover

We create another much simpler graph: this one is composed of two graphs G1G^{1} and G2G^{2} which are both copies of G¯\bar{G}, that intersect only in the vertex rr. Let us call this graph G^r\hat{G}_{r}. In addition, for every node uVu\in V, we use u1u^{1} and u2u^{2} to denote the copies of uu in G1G^{1} and G2G^{2}. The following lemma (which is also in [18]) follows from our construction. It relates our scaled problem to a problem in the graph T¯r\bar{T}_{r}. In simple words, it says for a partial solution of cost ff in the G^r\hat{G}_{r}, we will have a partial solution (satisfying the same set of pairs) of cost O(kεf)O(k^{\varepsilon}\cdot f) in T¯r\bar{T}_{r}. In addition, it also says that for a partial solution of cost ff in the T¯r\bar{T}_{r}, we will have a partial solution of cost f\leq f in G^r\hat{G}_{r}.

Lemma 4.6.

For any f>0f>0, and set of terminal pairs DD,D^{\prime}\subseteq D, there exists a set of paths {p1(s,t)}(s,t)D\{p_{1}(s,t)\}_{(s,t)\in D^{\prime}} in G^\hat{G} of total cost (both upfront cost and pay-per-use cost) f\leq f containing a path of length at most Dis(s,t)\textsc{Dis}(s,t) from s1s^{1} to t2t^{2} for every (s,t)D(s,t)\in D^{\prime} only if there exists a subgraph Jun^E(T¯r)\hat{Jun}\subseteq E(\bar{T}_{r}) of total weight f\leq f such that for every terminal pair (s,t)D,(s,t)\in D^{\prime}, Jun^\hat{Jun} contains terminals (srt,IΔ),(trs,JΔ)(s^{t}_{r},I\cdot\Delta),(t^{s}_{r},J\cdot\Delta) such that ((st,IΔ)(ts,JΔ))Rs,t((s^{t},I\cdot\Delta)(t^{s},J\cdot\Delta))\in R_{s,t}. Moreover, given such an edge set Jun^\hat{Jun}, we can efficiently find a corresponding edge set of paths {p1(s,t)}(s,t)D\{p_{1}(s,t)\}_{(s,t)\in D^{\prime}} in G^\hat{G}.

For any f>0f>0, and set of terminal pairs DD,D^{\prime}\subseteq D, if there exists a set of paths {p1(s,t)}(s,t)D\{p_{1}(s,t)\}_{(s,t)\in D^{\prime}} in G^\hat{G} of total cost (both upfront cost and pay-per-use cost) f\leq f containing a path of length at most Dis(s,t)\textsc{Dis}(s,t) from s1s^{1} to t2t^{2} for every (s,t)D(s,t)\in D^{\prime} then there exists a subgraph Jun^E(T¯r)\hat{Jun}\subseteq E(\bar{T}_{r}) of total weight O(kεf)\leq O(k^{\varepsilon}\cdot f) such that for every terminal pair (s,t)D,(s,t)\in D^{\prime}, Jun^\hat{Jun} contains terminals (srt,IΔ),(trs,JΔ)(s^{t}_{r},I\cdot\Delta),(t^{s}_{r},J\cdot\Delta) such that ((st,IΔ)(ts,JΔ))Rs,t((s^{t},I\cdot\Delta)(t^{s},J\cdot\Delta))\in R_{s,t}.

Let wrw_{r} be the upfront cost on the graph T¯r\bar{T}_{r}. Also, define Ss,tr={(srt,IΔ)|((srt,IΔ),(r,v1,,vh))E(T¯r):vh=(st,IΔ)Ss,t}S_{s,t}^{r}=\{(s_{r}^{t},I\cdot\Delta)|((s_{r}^{t},I\cdot\Delta),(r,v_{1},\ldots,v_{h}))\in E(\bar{T}_{r}):v_{h}=(s^{t},I\cdot\Delta)\in S_{s,t}\} (in other words Ss,trS_{s,t}^{r} contains all terminals in T¯r\bar{T}_{r} that correspond to the terminals in Ss,tS_{s,t}) and Ts,tr={(trs,IΔ)((trs,IΔ),(r,v1,,vh))E(T¯r):vh=(ts,IΔ)Ts,t}T_{s,t}^{r}=\{(t_{r}^{s},I\cdot\Delta)\mid((t_{r}^{s},I\cdot\Delta),(r,v_{1},\ldots,v_{h}))\in E(\bar{T}_{r}):v_{h}=(t^{s},I\cdot\Delta)\in T_{s,t}\}. Finally, set Rs,tr={(srt,IΔ),(trs,JΔ)Ss,tr×Ts,trIΔ+JΔDis(s,t)}R_{s,t}^{r}=\{(s^{t}_{r},I\cdot\Delta),(t^{s}_{r},J\cdot\Delta)\in S_{s,t}^{r}\times T_{s,t}^{r}\mid I\cdot\Delta+J\cdot\Delta\leq\textsc{Dis}(s,t)\}.

We now define the Minimum Density Steiner Label Cover problem.

Definition 4.7.

In the Minimum Density Steiner Label Cover problem, we have a directed graph G=(V,E),G=(V,E), two collections of disjoint vertex sets S^,T^2V\hat{S},\hat{T}\subseteq 2^{V}, a collection of set pairs PS^×T^,P\subseteq\hat{S}\times\hat{T}, and for each set pair (S,T)P,(S,T)\in P, a relation R(S,T)S×TR(S,T)\subseteq S\times T and non-negative edge costs c:E0,c:E\to\mathbb{R}_{\geq 0},. The objective here is to find an edge set FEF\subseteq E that minimizes the ratio

eFc(e)|{(S,T)P(s,t)R(S,T): F contains an st path }|\frac{\sum_{e\in F}c(e)}{|\{(S,T)\in P\mid\exists(s,t)\in R(S,T):\text{ $F$ contains an $s\leadsto t$ path }\}|}

Now, to prove Lemma 4.6, we just need to show that we can achieve an O(nε)O(n^{\varepsilon}) approximation for the Minimum Density Steiner Label Cover instance (T¯r,{Ss,tr,Ts,tr,Rs,tr(s,t)D},wr)(\bar{T}_{r},\{S_{s,t}^{r},T_{s,t}^{r},R_{s,t}^{r}\mid(s,t)\in D\},w_{r}) obtained from our reduction.

Thus, it suffices to show the following lemma.

Lemma 4.8.

In the given setting, there exists a O(log3n)O(\log^{3}n) approximation algorithm for the following problem that runs in polynomial time.

  • Find a tree TTrT\subseteq T_{r} minimizing the ratio

    eFwr(e){(s,t)P(s^,t^)Rs,tr: T contains an s^-t^ path }|.\frac{\sum_{e\in F}w_{r}(e)}{\mid\{(s,t)\in P\mid\exists(\hat{s},\hat{t})\in R_{s,t}^{r}:\text{ T contains an $\hat{s}$-$\hat{t}$ path }\}|}.
Proof.

This lemma has been proved in [18] (we make no significant changes to the relation used in [18]; we would need a different proof if we had a different relation). ∎

We will now see the proof of Corollary 1.11.

See 1.11

Proof.

Note that when all e[𝗉𝗈𝗅𝗒(n)]±\ell_{e}\in[\mathsf{poly}(n)]_{\pm}, we can assume without loss of generality that Dis(s,t)[𝗉𝗈𝗅𝗒(n)]±(s,t)D\textsc{Dis}(s,t)\in[\mathsf{poly}(n)]_{\pm}\>\>\forall(s,t)\in D. This means that η,ξ[𝗉𝗈𝗅𝗒(n)]±\eta,\xi\in[\mathsf{poly}(n)]_{\pm}. Thus, using Theorem 1.10, when we set θ=1/n𝗉𝗈𝗅𝗒(n)1/𝗉𝗈𝗅𝗒(n)\theta=1/n\cdot\mathsf{poly}(n)\leq 1/\mathsf{poly}(n), our lemma is proved. ∎

5 Resource-constrained Shortest Path

In this section, we modify the result presented in [40] to allow the lengths to be negative ( upto a specific range). Recall Definition 1.12.

See 1.12

Note that the only difference between this problem and the one solved in [40] is that we allow the resource consumptions to be negative. This however makes many things more complicated.

Given resource constraints L1,L2,,LmL_{1},L_{2},\ldots,L_{m} for the Resource-constrained Shortest Path, let OPTRCSP\textsf{OPT}_{RCSP} be the cost of any minimum cost sts\leadsto t path that satisfies the resource constraints. An (1;1+ε1,1+ε2,1+εm)(1;1+\varepsilon_{1},1+\varepsilon_{2}...,1+\varepsilon_{m})-approximation scheme finds an sts\leadsto t path whose cost is at most OPTRCSP\textsf{OPT}_{RCSP}, but the ithi^{th} resource constraint is satisfied up to a factor of 1+εi1+\varepsilon_{i} for that path. We will now present a (1;1+ε1,1+ε2, 1+εm)(1;1+\varepsilon_{1},1+\varepsilon_{2},\ldots\,1+\varepsilon_{m})- FPTAS for mm-Resource-constrained Shortest Path (under certain assumptions), where the number of weight functions, m, is a constant. Let 𝓔\boldsymbol{\mathcal{E}} be a vector that is composed of εii[1,2,,m]\varepsilon_{i}\>\forall\>i\in[1,2,\ldots,m].

Also, let 𝑳\boldsymbol{L} be a vector composed of all Lii[1,2,,m]L_{i}\>\forall\>i\in[1,2,\ldots,m] .Our problem can be reformulated as follows:

argminP{c(P):wi(P)Li,i=1,,m}.\displaystyle\arg\min_{P}\{c(P):w_{i}(P)\leq L_{i},i=1,\ldots,m\}. (28)

One very important point that we wish to make right now is that any εi\varepsilon_{i} can be negative. The role of εi\varepsilon_{i} is to allow some leeway/approximation for our algorithm so that we can run it in polynomial time. Consider the case where Ri<0R_{i}<0 for some ii. In this case, if Ri<0R_{i}<0 then εiRi<0\varepsilon_{i}\cdot R_{i}<0 - which means that an algorithm has to use fewer resources than the allocated budget and get a cost at least as good as the optimal value for the allocated budget. This is clearly not possible in general. To allow some approximation, we need εiRi>0\varepsilon_{i}\cdot R_{i}>0 and when Ri<0R_{i}<0, we need εi<0\varepsilon_{i}<0.

Given two vectors 𝒂,𝒃Qm\boldsymbol{a},\boldsymbol{b}\in Q^{m} we use (𝒂𝒃)(\boldsymbol{a}\cdot\boldsymbol{b}) to denote the Hadamard product vector 𝒄\boldsymbol{c} with ci=(aibi),1imc_{i}=(a_{i}b_{i}),1\leq i\leq m. We also use 𝒂𝟏\boldsymbol{a^{-1}} to denote a vector 𝒄\boldsymbol{c} with ci=(1/ai),1imc_{i}=(1/a_{i}),1\leq i\leq m. Given two vectors 𝒂\boldsymbol{a} and 𝒃\boldsymbol{b}, we say that 𝒂𝒃(𝒂<𝒃)\boldsymbol{a}\leq\boldsymbol{b}\>(\boldsymbol{a}<\boldsymbol{b}) if aibi(ai<bi)i{1,,m}a_{i}\leq b_{i}\>(a_{i}<b_{i})\forall i\in\{1,\ldots,m\}. Given a vector 𝒂\boldsymbol{a} and a real number bb, we use 𝒂b\boldsymbol{a}\cdot b to denote another vector 𝒄\boldsymbol{c} with ci=(aib), 1imc_{i}=(a_{i}b),\>1\leq i\leq m . Also, let 𝒩i\mathcal{N}_{i} denote the |min(min(u,v)Ewi(u,v),0)||\min(\min_{(u,v)\in E}w_{i}(u,v),0)|. Finally, let 𝓝\boldsymbol{\mathcal{N}} be a vector of all the 𝒩i\mathcal{N}_{i} for i{1,2,,m}i\in\{1,2,\ldots,m\}.

The standard approach here for a specific 𝓔\boldsymbol{\mathcal{E}} is to scale and round the given lengths. It can be shown that solving the same problem on the scaled version will give us an approximate solution to the original problem. Then a dynamic program approach is given to solve the problem using the scaled and rounded lengths.

Intuitively the standard idea is to take advantage of the additional 𝓔𝑳\boldsymbol{\mathcal{E}}\cdot\boldsymbol{L} budget available to us. We split this 𝓔𝑳\boldsymbol{\mathcal{E}}\cdot\boldsymbol{L} into nn pieces for each edge in a path effectively allowing us to use up slightly more budget for each edge. Thus, it suffices to approximately track the edge weights since we are allowed some leeway for each of them.

5.1 Scaling Procedure

Throughout this section, we assume that the graph contains no negative cycle for any dimension (i.e., you can never find a path PP starting from and ending at ss that has wi(P)<0w_{i}(P)<0 for any ii.

For a given an 𝓔\boldsymbol{\mathcal{E}} (where 𝓔\boldsymbol{\mathcal{E}} is a vector), the scaling and rounding procedure is as follows: i) for all i=1,,mi=1,\ldots,m the scale vector 𝚫m\boldsymbol{\Delta}\in\mathbb{Q}^{m} is given by, Δi=εiLi/(n1)\Delta_{i}=\varepsilon_{i}L_{i}/(n-1) ii) for each edge eEe\in E, let 𝒘¯(e)m\bar{\boldsymbol{w}}(e)\in\mathbb{R}^{m} be the scaled weight of the edge ee, defined as w¯i(e)=di(a)Δi\bar{w}_{i}(e)=d_{i}(a)\cdot\Delta_{i} where di(a)d_{i}(a) is some integer such that (di(a)1)Δi<wi(a)di(a)Δi(d_{i}(a)-1)\Delta_{i}<w_{i}(a)\leq d_{i}(a)\Delta_{i} is satisfied.

Now, our scaled problem can be formulated as:

argmin{c(P):w¯i(P)(1+εi)Li,i=1,,m}.\displaystyle\arg\min\{c(P):\bar{w}_{i}(P)\leq(1+\varepsilon_{i})L_{i},i=1,\ldots,m\}. (29)

For any uvu-v path PP, for any i=1,,mi=1,\ldots,m we have

w¯i(P)=ePw¯i(e)eP(wi(e)+Δi)eP(wi(e))+(n1)Δi=wi(P)+εiLi,\displaystyle\bar{w}_{i}(P)=\sum_{e\in P}\bar{w}_{i}(e)\leq\sum_{e\in P}(w_{i}(e)+\Delta_{i})\leq\sum_{e\in P}(w_{i}(e))+(n-1)\Delta_{i}=w_{i}(P)+\varepsilon_{i}L_{i}, (30)

Note that because we do not allow negative cycles, we can be assured that any path here will only have n1n-1 edges (there is no reason to include a cycle).

The following lemma helps us relate the scaled version ((29)) to the original problem ((28)).

Lemma 5.1.

If (28) has a feasible solution, then (29) will have a feasible solution. Further, in that case, any optimal solution for (29) is a (1;1+ε1,1+ε2,,1+εm)(1;1+\varepsilon_{1},1+\varepsilon_{2},\ldots,1+\varepsilon_{m})- approximate solution for (28).

Proof.

If PP is a feasible solution for (28), then wi(P)Liw_{i}(P)\leq L_{i} is satisfied for all i=1,,mi=1,\ldots,m. Then using (30), we can see that w¯i(P)(1+εi)Lii{1,,m}\bar{w}_{i}(P)\leq(1+\varepsilon_{i})\cdot L_{i}\>\forall i\in\{1,\ldots,m\}. Thus, PP is a feasible solution for the scaled version (29) too.

Note that any feasible and optimal solution for (29) will be a (1;1+ε1,,1+εm)(1;1+\varepsilon_{1},\ldots,1+\varepsilon_{m}) solution for (28). The feasibility is preserved because none of the weights will increase when we change from wi¯(e)\bar{w_{i}}(e) to wi(e)w_{i}(e) and in addition the budget for (29) is (1+𝓔)(1+\boldsymbol{\mathcal{E}}) times the budget for (28). The cost remains optimal because the edge costs are identical in the scaled and unscaled versions (only the edge weights are scaled, not costs) and the scaled version is a less restricted problem than the unscaled version (since paths are allowed a greater budget). ∎

5.2 A dynamic program approach to solve (29)

We use the term pattern to denote a vector 𝜼=(η1,,ηm)\boldsymbol{\eta}=(\eta_{1},\ldots,\eta_{m}), where ηi(i=1,,m)\eta_{i}\>\forall\>(i=1,\ldots,m) is an integer. Note that for any path PP, there is some pattern 𝜼\boldsymbol{\eta} which has 𝒘¯(P)=𝜼𝚫\bar{\boldsymbol{w}}(P)=\boldsymbol{\eta}\cdot\boldsymbol{\Delta}. We define a pattern η\eta to be feasible if 𝜼𝚫(|1+𝓔|)𝑳+|𝓝n|\boldsymbol{\eta}\cdot\boldsymbol{\Delta}\leq(|1+\boldsymbol{\mathcal{E}}|)\cdot\boldsymbol{L}+|\boldsymbol{\mathcal{N}}\cdot n| is satisfied999Note that we are overestimating our upper bounds. But this wouldn’t have a significant impact on our performance. In our dynamic program, we only need to deal with feasible patterns - this is because paths that aren’t feasible will violate the budget constraints and such paths will never be the solution. Note that we are adding an extra term: |𝓝n||\boldsymbol{\mathcal{N}}\cdot n| to the budget here when accounting for feasible paths. The reason is that a path that momentarily goes over budget could get back to being under budget by taking a series of negative weight edges.

We call a pattern 𝜼\boldsymbol{\eta} to be valid if it is feasible and has 𝜼𝚫𝓝n\boldsymbol{\eta}\cdot\boldsymbol{\Delta}\geq\boldsymbol{\mathcal{N}}\cdot n. Valid patterns are the only patterns our DP algorithm needs to consider. This is because there is no way any path can have a weight less than 𝓝n\boldsymbol{\mathcal{N}}\cdot n since a path can have at most nn edges each of scaled weight at least 𝓝\boldsymbol{\mathcal{N}} (scaled weight of an edge is at least the original weight of the edge). Furthermore, paths have to be feasible to fulfill budget requirements.

Lemma 5.2.

The number of valid patterns is O(Πi=1i=m(n+n/εi+n𝒩i/(εiLi)))O\bigl{(}\Pi_{i=1}^{i=m}\left(n+n/\varepsilon_{i}+n\cdot\mathcal{N}_{i}/(\varepsilon_{i}L_{i})\right)\bigr{)}.

Proof.

Note that for any valid pattern 𝓝n𝜼𝚫(|1+𝓔|)𝑳+|𝓝n|\boldsymbol{\mathcal{N}}\cdot n\cdot\leq\boldsymbol{\eta}\cdot\boldsymbol{\Delta}\leq(|1+\boldsymbol{\mathcal{E}}|)\cdot\boldsymbol{L}+|\boldsymbol{\mathcal{N}}\cdot n|. Thus, for a specific dimension ii, we would need only (|1+εi|)Li/Δi+2n|𝒩i/|Δi=(n1)(1+1/|εi|)+2n2|𝒩i|/(|εi|Li)=O(n+n/εi)+O(n2|𝒩i|)/(|εi|Li)(|1+\varepsilon_{i}|)L_{i}/\Delta_{i}+2n\cdot|\mathcal{N}_{i}/|\Delta_{i}=(n-1)(1+1/|\varepsilon_{i}|)+2n^{2}\cdot|\mathcal{N}_{i}|/(|\varepsilon_{i}|L_{i})=O(n+n/\varepsilon_{i})+O(n^{2}\cdot|\mathcal{N}_{i}|)/(|\varepsilon_{i}|\cdot L_{i}) patterns overall.

Thus, in total the number of valid patterns would be O(Πi=1i=m)(O(n+n/|εi|)+O(n2|𝒩i|)/(|εi|Li))O(\Pi_{i=1}^{i=m})(O(n+n/|\varepsilon_{i}|)+O(n^{2}\cdot|\mathcal{N}_{i}|)/(|\varepsilon_{i}|L_{i})). ∎

Lemma 5.2 gives us the following corollary.

Corollary 5.3.

If i{1,2,,m}|𝒩i|/|Li|\forall i\in\{1,2,\ldots,m\}\>\>|\mathcal{N}_{i}|/|L_{i}| and 1/|εi|1/|\varepsilon_{i}| are polynomials in nn, then the number of valid patterns is a polynomial in nn.

In [40], the approach is to use dynamic programming to find out the lowest cost one can pay to reach a specific vertex vVv\in V for a specific feasible pattern. This works because any path’s weight always increases when we add an edge.

We cannot directly use the algorithm presented in [40] here because we now have negative weights. This means that the dynamic program might need to use values that haven’t been solved yet. We get around this new issue by adding another dimension to track hop count (i.e., the number of edges we have seen in the path so far). This hop count will be non-decreasing when we add a new edge 101010On some level this is similar to what the Bellman Ford algorithm does..

In Algorithm 4, DP(v,𝜼,h)DP(v,\boldsymbol{\eta},h) represents the least cost for any path to reach the vertex vv from the source ss within a budget of α=𝜼𝚫\alpha=\boldsymbol{\eta}\cdot\boldsymbol{\Delta} and in less than or equal to hh hops. Let H={𝜼1,𝜼2,𝜼|H|}H=\{\boldsymbol{\eta}^{1},\boldsymbol{\eta}^{2}\ldots,\boldsymbol{\eta}^{|H|}\} be the set of valid patterns. The patterns in HH are partially ordered by the element-wise comparison we saw earlier. That is, if 𝜼p𝜼q\boldsymbol{\eta}^{p}\leq\boldsymbol{\eta}^{q} (this is done by comparing each element of 𝜼p\boldsymbol{\eta}^{p} with the corresponding element of 𝜼q\boldsymbol{\eta}^{q}) is satisfied for two patterns 𝜼p\boldsymbol{\eta}^{p} and 𝜼q\boldsymbol{\eta}^{q}, then pqp\leq q.

Note that for the scaled problem in (29), we only need to look at budgets which can be expressed as 𝜼𝚫\boldsymbol{\eta}\cdot\boldsymbol{\Delta} for some 𝜼H\boldsymbol{\eta}\in H - this is because the resource consumptions of the edges are integral multiples of 𝚫\boldsymbol{\Delta}. And any path in the scaled graph is a combination of the scaled edges, so the weight of any path can also be expressed as 𝜼𝚫\boldsymbol{\eta}\cdot\boldsymbol{\Delta}.

We also have another DP matrix PATHPATH to track the path we need to use. PATH(v,𝜼,h)PATH(v,\boldsymbol{\eta},h) gives the previous vertex one should reach at to reach the vertex vv from ss within a budget of 𝜼𝚫\boldsymbol{\eta}\cdot\boldsymbol{\Delta} and within hh hops. We can backtrack from PATH(t,(1+𝓔)𝑳𝚫1,n)PATH(t,\lfloor(1+\boldsymbol{\mathcal{E})}\cdot\boldsymbol{L}\cdot\boldsymbol{\Delta}^{-1}\rfloor,n) to retrieve our solution.

Here is a brief overview of how Algorithm 4 works. Let any pattern that has at least one negative element be called a negative pattern. Patterns without any negative element are called non-negative patterns. We first set the cost of reaching the source vertex as 0 for any non-negative pattern 𝜼\boldsymbol{\eta} and hop count hh. Since we don’t have any negative cycles we don’t have to worry about reaching the source with a negative weight path. We then set the cost of reaching any other vertex vv in the graph to be infinity for all valid hop counts and budgets. After this, we find the minimum cost path for all budgets for each potential destination in the graph in increasing order of allowed hop count. For a specific hop count and a specific destination, we look at all incoming arcs and pick the cheapest path one can construct to this destination. Note that this path has fulfill both budget and hop count restrictions.

Algorithm 4 Dynamic programming algorithm for (29)
1:DP(s,𝜼,h)0( non negative and valid 𝜼 and for all hop count) h{0,1,,n}DP(s,\boldsymbol{\eta},h)\leftarrow 0\>(\forall\text{ non negative and valid }\boldsymbol{\eta}\text{ and for all hop count) }h\in\{0,1,\ldots,n\}.
2:DP(s,𝜼,h)( negative and valid 𝜼 and for all hop count) h{0,1,,n}DP(s,\boldsymbol{\eta},h)\leftarrow\infty\>(\forall\text{ negative and valid }\boldsymbol{\eta}\text{ and for all hop count) }h\in\{0,1,\ldots,n\}.
3:DP(v,𝜼,h)(vs, valid 𝜼 and for all hop count) h{0,1,,n}DP(v,\boldsymbol{\eta},h)\leftarrow\infty(\forall v\neq s,\text{ valid }\boldsymbol{\eta}\text{ and for all hop count) }h\in\{0,1,\ldots,n\}.
4:for i=1,2,,ni=1,2,\ldots,n do \triangleright ii gives the hop count
5:     for 𝜼𝜼1,𝜼2,𝜼3,,𝜼|H|\boldsymbol{\eta}\in\boldsymbol{\eta}^{1},\boldsymbol{\eta}^{2},\boldsymbol{\eta}^{3},\ldots,\boldsymbol{\eta}^{|H|} do
6:         for vVv\in V do
7:              for e{(u,v)E:𝒘¯(u,v)𝜼𝚫}e\in\{(u,v)\in E:\bar{\boldsymbol{w}}(u,v)\leq\boldsymbol{\eta}\cdot\boldsymbol{\Delta}\} do \triangleright Go over every incoming arc to this vertex
8:                  DP(v,𝜼,i)min{DP(v,𝜼,i),DP(u,𝜼𝒘¯(e)𝚫1,i1)+c(e)}DP(v,\boldsymbol{\eta},i)\leftarrow min\{DP(v,\boldsymbol{\eta},i),DP(u,\boldsymbol{\eta}-\bar{\boldsymbol{w}}(e)\cdot\boldsymbol{\Delta}^{-1},i-1)+c(e)\}. \triangleright get the least possible cost by going over potential edges connecting from other vertices. For previous vertices allow one less hop. Also ensure overall weight is within budget.
9:                  PATH(v,𝜼,i)PATH(v,\boldsymbol{\eta},i) stores the vertex whose entry was used to finally update DP(v,𝜼,i)DP(v,\boldsymbol{\eta},i).                             
10:return DP(t,(1+ε)L𝚫1,n)DP(t,\lfloor(1+\varepsilon)L\cdot\boldsymbol{\Delta}^{-1}\rfloor,n)
11:return PATHPATH
Claim 5.4.

When Algorithm 4 terminates, for each node vv, if DP(v,𝛈,h)DP(v,\boldsymbol{\eta},h) is not infinity, then there exists some svs\leadsto v path PP with h\leq h hops such that 𝐰¯(P)𝛈𝚫\bar{\boldsymbol{w}}(P)\leq\boldsymbol{\eta}\cdot\boldsymbol{\Delta} and the cost of path P is DP(v,𝛈,h)DP(v,\boldsymbol{\eta},h) (roughly, this shows that the algorithm is correct).

Proof.

We prove this by induction on hop count. The base case is true because when we allow zero hops, the cost to reach any vertex that is not the source is infinite (because it is impossible), while the cost to reach the source itself is zero for a non-negative pattern (and infinite for negative patterns).

To prove the inductive step, we will look at the update statement for DP(v,𝜼,h)DP(v,\boldsymbol{\eta},h) in Algorithm 4 (line 8). DP(v,𝜼,h)DP(v,\boldsymbol{\eta},h) is set using some DP(u,𝜼𝒘¯(e)𝚫1,h1)DP(u,\boldsymbol{\eta}-\bar{\boldsymbol{w}}(e)\cdot\boldsymbol{\Delta}^{-1},h-1) where uu is a vertex with a uvu\leadsto v edge. DP(u,𝜼𝒘¯(e)𝚫1,h1)DP(u,\boldsymbol{\eta}-\bar{\boldsymbol{w}}(e)\cdot\boldsymbol{\Delta}^{-1},h-1) allows strictly less than hh hops. Therefore it would have been examined and computed in a previous iteration. By induction, DP(u,𝜼𝒘¯(e)𝚫1,h1)DP(u,\boldsymbol{\eta}-\bar{\boldsymbol{w}}(e)\cdot\boldsymbol{\Delta}^{-1},h-1) is equal to the cost of an sus\leadsto u path P2P_{2} with h1\leq h-1 hops such that 𝒘¯(P2)𝜼𝚫𝒘¯(e)\bar{\boldsymbol{w}}(P_{2})\leq\boldsymbol{\eta}\cdot\boldsymbol{\Delta}-\bar{\boldsymbol{w}}(e). Adding the edge uvu-v to this, we have a path PP whose scaled weight is 𝒘¯(P2)+𝒘¯(e)𝜼𝚫\bar{\boldsymbol{w}}(P_{2})+\bar{\boldsymbol{w}}(e)\leq\boldsymbol{\eta}\cdot\boldsymbol{\Delta} and thus our induction hypothesis is proved. ∎

Claim 5.5.

When Algorithm 4 terminates, for each node vv, if there is a svs\leadsto v path PP with h\leq h hops and 𝐰¯(P)𝛈𝚫\bar{\boldsymbol{w}}(P)\leq\boldsymbol{\eta}\cdot\boldsymbol{\Delta}, then DP(v,𝛈,h)c(P)DP(v,\boldsymbol{\eta},h)\leq c(P) is satisfied (roughly, this shows that the algorithm is optimal).

Proof.

We will again use induction on hop count here. For the base case, the source has a path PP with zero hops and 𝒘¯(P)𝜼𝚫\bar{\boldsymbol{w}}(P)\leq\boldsymbol{\eta}\cdot\boldsymbol{\Delta} for non-negative 𝜼\boldsymbol{\eta} and it doesn’t have any such path for negative 𝜼\boldsymbol{\eta}. The DPDP values fulfill this rule. For any other vertex, there is no path with zero hops and thus all DPDP values are set to zero for them.

For the inductive case, if there is a svs\leadsto v path PP with h\leq h hops and 𝒘¯(P)𝜼𝚫\bar{\boldsymbol{w}}(P)\leq\boldsymbol{\eta}\cdot\boldsymbol{\Delta}, then there is some vertex uu such that (u,v)E(u,v)\in E and there exists a sus\leadsto u path P2P_{2} with h1\leq h-1 hops. Let 𝒘¯(P2)=𝒘¯(P)𝒘¯(e)\bar{\boldsymbol{w}}(P_{2})=\bar{\boldsymbol{w}}(P)-\bar{\boldsymbol{w}}(e) be the weight of the path P2P_{2} and let c(P2)=c(P)c(e)c(P_{2})=c(P)-c(e) be its cost. Our algorithm would have evaluated DP(u,𝒘¯(P2)𝚫1,h1)DP(u,\bar{\boldsymbol{w}}(P_{2})\cdot\boldsymbol{\Delta}^{-1},h-1) in a previous iteration (because it has h1\leq h-1 hops), and by the induction hypothesis this value would be c(P2)\leq c(P_{2}). Thus, after examining the edge (u,v)=e(u,v)=e, our algorithm will store a cost DP(u,𝒘¯(P2)𝚫1,h1)+c(e)c(P2)c(e)c(P)\leq DP(u,\bar{\boldsymbol{w}}(P_{2})\cdot\boldsymbol{\Delta}^{-1},h-1)+c(e)\leq c{(P_{2})}-c{(e)}\leq c{(P)} and in addition the weight of the path returned by our algorithm would be 𝒘(P2)¯+𝒘(e)¯𝚫=𝒘(P1)¯\leq\bar{\boldsymbol{w}(P_{2})}+\bar{\boldsymbol{w}(e)}\cdot\boldsymbol{\Delta}=\bar{\boldsymbol{w}(P_{1})}. ∎

Lemma 5.6.

If |E|,n|E|,n are the number of edges and vertices in the input graph GG, then Algorithm 4 runs in O(|E|n|H|)O(|E|\cdot n\cdot|H|) time and returns an optimal and feasible path for (29).

Proof.

For the runtime, see that we examine each edge once per hop and pattern. We have nn hops and |H||H| patterns.

Note that our algorithm does not need to consider any walk that is not a path. This is because, both the cost c(e)c(e) and the scaled weight 𝒘(e)¯\bar{\boldsymbol{w}(e)} cannnot have negative cycles. Therefore, if a walk that is used as a solution happens to include a cycle, then we can safely remove the cycle from the walk without violating feasibility (resource-wise) or increasing the cost.

The Lemma is true when the following two statements are true.

  1. 1.

    For each node vv, if DP(v,𝜼,h)DP(v,\boldsymbol{\eta},h) is not infinity, then there exists some svs\leadsto v path PP with h\leq h hops such that 𝒘¯(P)𝜼𝚫\bar{\boldsymbol{w}}(P)\leq\boldsymbol{\eta}\cdot\boldsymbol{\Delta} and the cost of path P is DP(v,𝜼,h)DP(v,\boldsymbol{\eta},h).

  2. 2.

    For each node vv, if there is a svs\leadsto v path PP with h\leq h hops and 𝒘¯(P)𝜼𝚫\bar{\boldsymbol{w}}(P)\leq\boldsymbol{\eta}\cdot\boldsymbol{\Delta}, then DP(v,𝜼,h)c(P)DP(v,\boldsymbol{\eta},h)\leq c(P) is satisfied.

Now, using Claim 5.4 and Claim 5.5 we see that the Lemma is proved.

Recall Theorem 1.13. We now present its proof.

See 1.13

Proof.

From Lemma 5.6 we can solve (29) in O(|E|n|H|)O(|E|\cdot n\cdot|H|) time. This solution is both optimal and feasible.

Using Lemma 5.1 we can use this to retrieve a solution for (28).

Recall that γi:=|min{mineE{wi(e)},0}|/|Li|\gamma_{i}:=|\min\{\min_{e\in E}\{w_{i}(e)\},0\}|/|L_{i}|. Thus, γi=|𝒩i|/|Li|\gamma_{i}=|\mathcal{N}_{i}|/|L_{i}|.

Now, using Corollary 5.3 we can see that |H||H| is polynomial when |𝒩i|/|Li||\mathcal{N}_{i}|/|L_{i}| and 1/|εi|1/|\varepsilon_{i}| are polynomials for all i{1,2,,m}i\in\{1,2,\ldots,m\}. This proves our theorem. ∎

Also note that as in [30], when all the resource consumptions are integers polynomial in the graph size, we can use Algorithm 4 to get a path of minimum cost that exactly satisfies the resource requirements. The idea is to just set εi\varepsilon_{i} to a small enough value so that any error that occurs from the usage of Algorithm 4 is smaller than the smallest possible error for the given input graph. This gives us the following corollary.

Corollary 5.7.

When for all edges eEe\in E, we,i[𝗉𝗈𝗅𝗒(n)]±i{1,2,,m}w_{e,i}\in[\mathsf{poly}(n)]_{\pm}\>\>\forall i\in\{1,2,\ldots,m\}, there exists a fully polynomial time (1;1,,1)(1;1,\ldots,1)- algorithm for mResource-constrained Shortest Pathm-\textsc{Resource-constrained Shortest Path} that runs in time polynomial in input size.

Proof.

For the moment, let us assume all edge lengths are non-negative. Even if we allow edge lengths to be negative, the proof wouldn’t have any significant changes. The smallest possible nonzero difference for the length between two different paths is 11. This is because all the lengths are integers and therefore the total path length is also an integer. The smallest nonzero difference (in terms of absolute value) between two integers is 11.

The maximum length of any path is a polynomial in nn. This is because we have n\leq n edges in a path and each of those edges has lengths that are polynomial in nn.

When we set εi=1/(n2𝗉𝗈𝗅𝗒(n))1/(n𝗉𝗈𝗅𝗒(n))\varepsilon_{i}=1/(n^{2}\cdot\mathsf{poly}(n))\leq 1/(n\cdot\mathsf{poly}(n)) and run Algorithm 4, we can find a path with the exact resource requirements in polynomial time. Note that, because all edge lengths are integers polynomial in nn, |𝒩i|/(Li)|\mathcal{N}_{i}|/(L_{i}) is a polynomial in nn. Therefore using 1.13 the claim is proved. ∎

We also present a slightly modified version of Corollary 5.7 in 2.2 that can handle rational numbers in one resource but at the cost of going slightly over budget in that resource.

Recall Corollary 2.2. We now present its proof.

See 2.2

Proof.

The proof is very similar to Claim 5.7. We need a ζ1\zeta_{1} that is small enough to ensure there is no error for the first m1m-1 resources. Then, we use ζ2=min(ζ1,ζ)\zeta_{2}=\min(\zeta_{1},\zeta) to get a (1;1+ζ2,,1+ζ2)(1;1+\zeta_{2},\ldots,1+\zeta_{2}) path that fits all our requirements. Note that the mthm^{th} resource is always non-negative and thus |𝒩i|/(Li)=0|\mathcal{N}_{i}|/(L_{i})=0 is a polynomial in nn. ∎

References

  • [1] Abboud, A., and Bodwin, G. Reachability preservers: New extremal bounds and approximation algorithms. In Proceedings of the Twenty-Ninth Annual ACM-SIAM Symposium on Discrete Algorithms (2018), SIAM, pp. 1865–1883.
  • [2] Ahmed, R., Bodwin, G., Sahneh, F. D., Hamm, K., Jebelli, M. J. L., Kobourov, S., and Spence, R. Graph spanners: A tutorial review. Computer Science Review 37 (2020), 100253.
  • [3] Alon, N., Awerbuch, B., Azar, Y., Buchbinder, N., and Naor, J. The online set cover problem. SIAM J. Comput. 39, 2 (2009), 361–370.
  • [4] Andrews, M. Hardness of buy-at-bulk network design. In 45th Annual IEEE Symposium on Foundations of Computer Science (FOCS) (2004), IEEE, pp. 115–124.
  • [5] Antonakopoulos, S. Buy-at-bulk-related problems in network design. PhD thesis, Columbia University, 2009.
  • [6] Awerbuch, B. Communication-time trade-offs in network synchronization. In Proceedings of the Fourth Annual ACM Symposium on Principles of Distributed Computing (New York, NY, USA, 1985), PODC ’85, Association for Computing Machinery, p. 272–276.
  • [7] Awerbuch, B., and Azar, Y. Buy-at-bulk network design. In Proceedings 38th Annual Symposium on Foundations of Computer Science (FOCS) (1997), IEEE, pp. 542–547.
  • [8] Baswana, S., and Kavitha, T. Faster algorithms for all-pairs approximate shortest paths in undirected graphs. SIAM J. Comput. 39, 7 (2010), 2865–2896.
  • [9] Berman, P., Bhattacharyya, A., Makarychev, K., Raskhodnikova, S., and Yaroslavtsev, G. Approximation algorithms for spanner problems and directed steiner forest. Information and Computation 222 (2013), 93–107.
  • [10] Bhattacharyya, A., Grigorescu, E., Jung, K., Raskhodnikova, S., and Woodruff, D. P. Transitive-closure spanners. SIAM Journal on Computing 41, 6 (2012), 1380–1425.
  • [11] Bodwin, G., and Williams, V. V. Better distance preservers and additive spanners. In SODA (2016), R. Krauthgamer, Ed., SIAM, pp. 855–872.
  • [12] Chakrabarty, D., Ene, A., Krishnaswamy, R., and Panigrahi, D. Online buy-at-bulk network design. SIAM J. Comput. 47, 4 (2018), 1505–1528.
  • [13] Charikar, M., Chekuri, C., Cheung, T.-Y., Dai, Z., Goel, A., Guha, S., and Li, M. Approximation algorithms for directed steiner problems. Journal of Algorithms 33, 1 (1999), 73–91.
  • [14] Charikar, M., and Karagiozova, A. On non-uniform multicommodity buy-at-bulk network design. In Proceedings of the 37th Annual ACM Symposium on Theory of computing (STOC) (2005), pp. 176–182.
  • [15] Chekuri, C., Even, G., Gupta, A., and Segev, D. Set connectivity problems in undirected graphs and the directed steiner network problem. ACM Transactions on Algorithms (TALG) 7, 2 (2011), 1–17.
  • [16] Chekuri, C., Hajiaghayi, M., Kortsarz, G., and Salavatipour, M. Approximation algorithms for node-weighted buy-at-bulk network design. In Proceedings of the 18th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA) (2007), pp. 1265–1274.
  • [17] Chekuri, C., Hajiaghayi, M. T., Kortsarz, G., and Salavatipour, M. R. Approximation algorithms for nonuniform buy-at-bulk network design. SIAM Journal on Computing 39, 5 (2010), 1772–1798.
  • [18] Chlamtáč, E., Dinitz, M., Kortsarz, G., and Laekhanukit, B. Approximating spanners and directed steiner forest: Upper and lower bounds. ACM Transactions on Algorithms (TALG) 16, 3 (2020), 1–31.
  • [19] Chuzhoy, J., Gupta, A., Naor, J., and Sinha, A. On the approximability of some network design problems. ACM Transactions on Algorithms (TALG) 4, 2 (2008), 1–17.
  • [20] Cowen, L., and Wagner, C. G. Compact roundtrip routing in directed networks. J. Algorithms 50, 1 (2004), 79–95.
  • [21] Dinitz, M., and Krauthgamer, R. Directed spanners via flow-based linear programs. In STOC (2011), pp. 323–332.
  • [22] Dinitz, M., and Zhang, Z. Approximating low-stretch spanners. In Proceedings of the twenty-seventh annual ACM-SIAM symposium on Discrete algorithms (2016), SIAM, pp. 821–840.
  • [23] Dodis, Y., and Khanna, S. Design networks with bounded pairwise distance. In Proceedings of the thirty-first annual ACM symposium on Theory of computing (1999), pp. 750–759.
  • [24] Dor, D., Halperin, S., and Zwick, U. All-pairs almost shortest paths. SIAM J. Comput. 29, 5 (2000), 1740–1759.
  • [25] Elkin, M. Computing almost shortest paths. ACM Trans. Algorithms 1, 2 (2005), 283–323.
  • [26] Elkin, M., and Peleg, D. The client-server 2-spanner problem with applications to network design. In SIROCCO 8, Proceedings of the 8th International Colloquium on Structural Information and Communication Complexity, Vall de Núria, Girona-Barcelona, Catalonia, Spain, 27-29 June, 2001 (2001), F. Comellas, J. Fàbrega, and P. Fraigniaud, Eds., vol. 8 of Proceedings in Informatics, Carleton Scientific, pp. 117–132.
  • [27] Elkin, M., and Peleg, D. The hardness of approximating spanner problems. Theory Comput. Syst. 41, 4 (2007), 691–729.
  • [28] Feldman, M., Kortsarz, G., and Nutov, Z. Improved approximation algorithms for directed steiner forest. Journal of Computer and System Sciences 78, 1 (2012), 279–292.
  • [29] Fleischer, L., Könemann, J., Leonardi, S., and Schäfer, G. Simple cost sharing schemes for multicommodity rent-or-buy and stochastic steiner tree. In Proceedings of the thirty-eighth annual ACM symposium on Theory of computing (2006), pp. 663–670.
  • [30] Grigorescu, E., Kumar, N., and Lin, Y.-S. Approximation algorithms for directed weighted spanners, 2023.
  • [31] Grigorescu, E., Lin, Y.-S., and Quanrud, K. Online directed spanners and steiner forests. In Approximation, Randomization, and Combinatorial Optimization. Algorithms and Techniques (APPROX/RANDOM 2021) (2021), Schloss Dagstuhl-Leibniz-Zentrum für Informatik.
  • [32] Guha, S., Meyerson, A., and Munagala, K. A constant factor approximation for the single sink edge installation problem. SIAM Journal on Computing 38, 6 (2009), 2426–2442.
  • [33] Gupta, A., Kumar, A., Pál, M., and Roughgarden, T. Approximation via cost-sharing: a simple approximation algorithm for the multicommodity rent-or-buy problem. In 44th Annual IEEE Symposium on Foundations of Computer Science, 2003. Proceedings. (2003), IEEE, pp. 606–615.
  • [34] Gupta, A., Kumar, A., and Roughgarden, T. Simpler and better approximation algorithms for network design. In Proceedings of the 35th Annual ACM Symposium on Theory of computing (STOC) (2003), pp. 365–372.
  • [35] Gupta, A., Ravi, R., Talwar, K., and Umboh, S. W. Last but not least: Online spanners for buy-at-bulk. In Proceedings of the Twenty-Eighth Annual ACM-SIAM Symposium on Discrete Algorithms (2017), SIAM, pp. 589–599.
  • [36] Hajiaghayi, M., Liaghat, V., and Panigrahi, D. Near-optimal online algorithms for prize-collecting steiner problems. In Automata, Languages, and Programming: 41st International Colloquium, ICALP 2014, Copenhagen, Denmark, July 8-11, 2014, Proceedings, Part I 41 (2014), Springer, pp. 576–587.
  • [37] Hajiaghayi, M. T., Liaghat, V., and Panigrahi, D. Online node-weighted steiner forest and extensions via disk paintings. In 2013 IEEE 54th Annual Symposium on Foundations of Computer Science (FOCS) (2013), IEEE, pp. 558–567.
  • [38] Hassin, R. Approximation schemes for the restricted shortest path problem. Mathematics of Operations research 17, 1 (1992), 36–42.
  • [39] Helvig, C. S., Robins, G., and Zelikovsky, A. An improved approximation scheme for the group steiner problem. Networks: An International Journal 37, 1 (2001), 8–20.
  • [40] Horváth, M., and Kis, T. Multi-criteria approximation schemes for the resource constrained shortest path problem. Optimization Letters 12, 3 (2018), 475–483.
  • [41] Klein, P., and Ravi, R. A nearly best-possible approximation algorithm for node-weighted steiner trees. Journal of Algorithms 1, 19 (1995), 104–115.
  • [42] Kortsarz, G. On the hardness of approximating spanners. Algorithmica 30 (2001), 432–450.
  • [43] Lorenz, D. H., and Raz, D. A simple efficient approximation scheme for the restricted shortest path problem. Operations Research Letters 28, 5 (2001), 213–219.
  • [44] Meyerson, A., Munagala, K., and Plotkin, S. Cost-distance: Two metric network design. SIAM Journal on Computing 38, 4 (2008), 1648–1659.
  • [45] Naor, J., Panigrahi, D., and Singh, M. Online node-weighted steiner tree and related problems. In 2011 IEEE 52nd Annual Symposium on Foundations of Computer Science (FOCS) (2011), IEEE, pp. 210–219.
  • [46] Pachocki, J., Roditty, L., Sidford, A., Tov, R., and Williams, V. V. Approximating cycles in directed graphs: Fast algorithms for girth and roundtrip spanners. In SODA (2018), A. Czumaj, Ed., SIAM, pp. 1374–1392.
  • [47] Peleg, D., and Schäffer, A. A. Graph spanners. Journal of Graph Theory 13, 1 (1989), 99–116.
  • [48] Peleg, D., and Ullman, J. D. An optimal synchronizer for the hypercube. SIAM J. Comput. 18, 4 (1989), 740–747.
  • [49] Roditty, L., Thorup, M., and Zwick, U. Roundtrip spanners and roundtrip routing in directed graphs. ACM Trans. Algorithms 4, 3 (2008), 29:1–29:17.
  • [50] Salman, F. S., Cheriyan, J., Ravi, R., and Subramanian, S. Approximating the single-sink link-installation problem in network design. SIAM Journal on Optimization 11, 3 (2001), 595–610.
  • [51] Shen, X., and Nagarajan, V. Online covering with lql_{q}-norm objectives and applications to network design. Mathematical Programming 184 (2020).
  • [52] Talwar, K. The single-sink buy-at-bulk lp has constant integrality gap. In International Conference on Integer Programming and Combinatorial Optimization (IPCO) (2002), Springer, pp. 475–486.