problem[1]
#1 \BODY
Directed Buy-at-Bulk Spanners
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 -hard to approximate, where 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.
When the edge lengths are integral with magnitude polynomial in we present:
-
(a)
An -approximation polynomial-time randomized algorithm for uniform demands.
-
(b)
An -approximation polynomial-time randomized algorithm for general demands, where is the number of terminal pairs. This can be improved to an -approximation algorithm for the single-source problem.
-
(a)
-
2.
When the edge lengths are rational and well-conditioned, we present an -approximation polynomial-time randomized algorithm which may slightly violate the distance constraints. The result can be improved to an -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 with vertices, and a set of terminal pairs . Each pair is associated with a distance budget given by the function and a demand given by the function . When for all , we say that the problem has unit demands. Each edge is associated with a cost given by a subadditive function , satisfying for all , and a length . 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 . A feasible solution to the problem is a collection of paths where is the set of edges in the directed path satisfying the distance requirement . Let the load of edge be . The goal is to find a feasible solution that minimizes the objective .
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 has a one-time setup cost and a pay-per-use cost . The objective is to minimize the cost
(1) |
Lemma 1.1.
[17] Given any feasible solution with objective value 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 , such that .
We note that adding distance constraints does not affect the reduction. Let be the domain for the distance of each edge. We consider the following problem throughout the paper with different options of .
Definition 1.2.
Buy-at-bulk Spanner on
Instance: A directed graph , where
-
•
each edge has an upfront cost , a pay-per-use cost , and a distance . Furthermore, we assume that there are no negative cycles induced by .
-
•
We are given a set of ordered pairs, where each pair has a demand captured by the function and a distance budget captured by the function 222One workaround if we want to set a specific distance constraint as is to set it to a small number that is close enough to like say (where ) while ensuring the problem is well-conditioned.. Furthermore, we assume that there exists an path that satisfies the distance constraint for each .
Objective: Find a collection of paths such that the cost (1) is minimized and the distance requirement is satisfied for each .
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, and . 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 is fixed, we call this problem Single-source Buy-at-bulk Spanner. For notation convenience, we have . We say that 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 and . 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 in Section 2.
Theorem 1.3.
For any constant , there exists a polynomial-time randomized algorithm for Unit-demand Buy-at-bulk Spanner on with approximation ratio and the distance constraints for all are satisfied with high probability.333Throughout this paper, when we say high probability, we mean probability at least .
Theorem 1.3 generalizes the -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 by slightly relaxing the distance constraints. This allows us to obtain approximation algorithms for Buy-at-bulk Spanner on in terms of (Corollary 1.5) later on. For notation convenience, we define some condition numbers. Let
(2) |
and
(3) |
Intuitively, denotes the ratio between the magnitude of the most negative edge length and the smallest absolute value of the budget.444 cares about , but not about . 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 . Similarly, denotes the ratio between the largest and the smallest absolute value of the budget. To accommodate a negative distance budget, we use the function
(4) |
Suppose we are given a tolerance parameter . When the distance budget is positive, the goal is to satisfy the distance constraint within a factor of . When the distance budget is negative, the distance between the terminal pair is below times the budget. We prove Theorem 1.4 in Section 3.
Theorem 1.4.
For any and constant , there are -time randomized algorithms for Buy-at-bulk Spanner on with approximation ratio and for Single-source Buy-at-bulk Spanner on with approximation ratio , both satisfying
(5) |
for each , with high probability. Here, and are the condition numbers defined in (2) and (3), respectively. When 555When is exponential in , a workaround is to break all our demand pairs into buckets. Each bucket will have but we will end up paying an extra cost (multiplicative)., the algorithm runs in polynomial time.
We note that when the edge lengths are non-negative, , so the running time is .
From Theorem 1.4, when the domain , we can set (for a sufficiently large ) such that the distance constraints are satisfied and the condition numbers and are polynomial in (since it is sufficient to consider that ). This implies the following.
Corollary 1.5.
For any constant , there are polynomial-time randomized algorithms for Buy-at-bulk Spanner on with approximation ratio and for Single-source Buy-at-bulk Spanner on with approximation ratio satisfying the distance constraints with high probability.
Corollary 1.5 generalizes the -approximation algorithm for directed weighted spanners [30] and buy-at-bulk network design [5], and the -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 , a distance-constrained junction tree rooted at is a collection of paths in that satisfy the distance constraint , for at least one . The paths form an in-arborescence and the paths form an out-arborescence, both rooted at . Here, denotes the set of edges in the path.
We note that a junction tree that connects a terminal pair within its budget decides a unique path that passes through the root vertex .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 rooted at , the cost of the junction tree is defined as follows.
(6) |
The crucial subproblem for solving Buy-at-bulk Spanner on is defined as follows.
Definition 1.7.
Minimum-density Distance-constrained Junction Tree
Instance: Same as Buy-at-bulk Spanner on .
Objective: Find a root , a resource-constrained junction tree rooted at , such that the ratio of the cost (1) of to the number of pairs that satisfy the distance requirement
is minimized. Specifically, the goal is the following:
(7) |
To further extend our results to the domain 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 , a -relaxed distance-constrained junction tree is a collection of paths that satisfy
for at least one . The paths form an in-arborescence and the paths form an out-arborescence, both rooted at .
The crucial subproblem for solving Buy-at-bulk Spanner on is defined as follows.
Definition 1.9.
-relaxed Minimum-density Distance-constrained Junction Tree
Instance: Same as Buy-at-bulk Spanner on .
Objective: Find a root , a resource-constrained junction tree rooted at , such that the ratio of the cost (1) of to the number of pairs that approximately satisfy the distance requirement
is minimized. Specifically, the goal is the following:
(8) |
We show the following in Section 4.
Theorem 1.10.
For any constant , there is a -time randomized algorithm that gives an -approximation for -relaxed Minimum-density Distance-constrained Junction Tree with high probability. When , the algorithm runs in polynomial time.
We note that when the edge lengths are non-negative, , so the running time is .
From Theorem 1.10, when the domain , we can set (for a sufficiently large ) such that the distance constraints are satisfied and the condition numbers and are polynomial in (since it is sufficient to consider that ). This implies the following.
Corollary 1.11.
For any constant , there is a polynomial-time randomized algorithm that gives an -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 (-RCSP)
Instance: An -vertex directed graph , with edge costs , a terminal pair with , and a resource budget . For each edge , we have also have a resource consumption vector of size where each . Furthermore, we assume that there are no negative cycles induced by for each .
Objective: Find a min-cost path such that . The cost of is .
We note that when and the resource consumption is non-negative, -RCSP captures the restricted shortest path problem. In the LP for Buy-at-bulk Spanner, the constraints can be captured by solving -RCSP. For -RCSP, we design an algorithm that finds an optimal solution that slightly violates the resource budget. Let be the cost of any minimum cost path that satisfies the resource constraints. Given a tolerance vector , a -approximation scheme finds an path whose cost is at most , but the -th resource constraint is satisfied up to a factor of for that path. It is required that . Let the condition number
(9) |
which denotes the ratio between the magnitude of the most negative -th resource consumption among the edges and the absolute value of the budget for the -th resource.
We show the following result in Section 5.
Theorem 1.13.
There exists a -time -approximation scheme for -RCSP. When and 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 is polynomial. The running time for the -feasible or relaxed results on is .
Problem | Our Results | Previous Problems and Results | |||||||||||||
|
|
|
|||||||||||||
Buy-at-bulk | (-feasible, Thm 1.4) | same as above, note that weighted spanners | |||||||||||||
Spanner on | (-feasible, single-source, | consider edge lengths in | |||||||||||||
Thm 1.4) | |||||||||||||||
Minimum-density | (on , Cor 1.11) | (buy-at-bulk) [5] | |||||||||||||
Distance-constrained | (on , -relaxed, Thm 1.10) | (pairwise spanners) [18] | |||||||||||||
Junction Tree | (weighted spanners) [30] | ||||||||||||||
-RCSP with negative | an - | an - | |||||||||||||
resource consumption | approximation scheme (Thm 1.13) | approximation scheme for -RCSP | |||||||||||||
with non-negative consumption |
1.2 High-level technical overview
1.2.1 The -approximation algorithm for Buy-at-bulk Spanner on
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 is good if the feasible (i.e., satisfying the distance constraint) and cheap (low upfront cost and low pay-per-use cost) paths span a great number of vertices in .
-
•
A pair 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 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 , 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 .
-
•
A bad pair is in class 1 if has a high pay-per-use cost.
-
•
A bad pair is in class 2 if has a high upfront cost and a low pay-per-use cost.
-
•
A bad pair is in class 3 if 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
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 . Combining this and Theorem 1.10 results an -approximation.
1.2.3 The -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 , and the goal is to find a minimum-density junction tree rooted at . 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 to capture the distance constraints and a junction tree rooted at , 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 -RCSP, we are given a directed graph with a terminal vertex pair. Each edge is associated with a cost and an -dimensional resource consumption vector where entries can be negative. There is no negative cycle induced by any resource type. We also have an -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 . 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 -spanner problem, where there is a fixed value 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 in the original graph. When the lengths of the edges are uniform and , there is a tight -approximation algorithm [26, 42]. When there are -approximation algorithms [9, 22]. When , the best known approximation factor is [9]. The problem is hard to approximate within an factor for and any , unless [27]. More general variants consider the pairwise spanner problem [18], and the client-server model [26, 10], where the set of terminals is arbitrary , and each terminal pair has its own target distance . The goal is to compute a minimum cardinality subgraph in which for each , the distance from to is at most . For the pairwise spanner problem with uniform lengths, [18] obtains an 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 -hard, and gave an -approximation algorithm for the single-source problem, where is the maximum demand. When the edge costs are uniform, there is a -approximation algorithm for the multi-commodity problem [7] and -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 -approximate [14], later improved to -approximate [17]; for the single-source problem, there is an -approximate algorithm [44]. The buy-at-bulk problem is more intractable on directed graphs. The state-of-the-art is an -approximate algorithm [5]. Even in the special case of directed Steiner forests, previous algorithms only gave but sublinear (i.e., ) approximation algorithms [9, 18, 28, 1]. On the hardness side, for the undirected buy-at-bulk problem, the multi-commodity problem is -hard to approximate when the costs are general and -hard to approximate when the costs are uniform [4], and the single-source problem is -hard to approximate [19]. These results are based on the assumption that . For directed buy-at-bulk, the problem is hard to approximate within an factor assuming that , 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 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 , 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 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 . The FPTAS for is used to solve the weighted spanner problem [30].
1.4 Organization
We present the -approximation algorithm for Buy-at-bulk Spanner on in Section 2. We present the -approximation algorithm for Buy-at-bulk Spanner on and the -approximation algorithm for Single-source Buy-at-bulk Spanner on that may slightly violate the distance constraints in Section 3. We present the -approximation algorithm for -relaxed Minimum-density Distance-constrained Junction Tree in Section 4. We present our RCSP framework in Section 5.
2 An -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 . In this section, we prove Theorem 1.3.
As in [28, 9, 30, 5] let be our guess of the optimal solution - OPT such that . Throughout this section, we will assume that our demand is uniform (i.e., ). 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 smaller instances. Each of these smaller instances have uniform demand (this is the same as splitting a positive integer into powers of ).
We define some common notation used in the literature for Spanners, Steiner forests, and Buy at Bulk network design. Let and - we will use these parameters later in our algorithm. We say that any path connecting a terminal pair is feasible if .
We say that a path has cheap investment if ; we say that a path has cheap maintenance if . Further, we say that 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 - thus we don’t need to multiply with demand for a single path.
We call a terminal pair good if the local graph induced by the vertices on feasible paths that are cheap has at least vertices; we say it is bad otherwise. Let be the set of good pairs and be the set of bad pairs; also let and . 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 resolves(or settles) a pair if it contains a feasible path.
2.1 Resolving good pairs
We first define, and . 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 and respectively using Algorithm 2. We ensure that any path we build is both feasible and cheap.
Claim 2.1.
Algorithm 1 selects a set of samples such that with high probability any given good pair has at least one vertex from its local graph in .
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 . For each , we try to add a set of paths and a set of path each of cost both upfront cost at most and pay-per-use cost at most . 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 path that fits our requirements (i.e., allowing negative edge lengths, multiple length constraints for the same 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 resource constraints where the corresponding resources are integers polynomial in ; and approximately satisfy one resource constraint that where the corresponding resource is a non-negative rational number.
Corollary 2.2.
When for all edges , and , there exists a fully polynomial time algorithm for the Resource-constrained Shortest Path problem that runs in time polynomial in input size and .
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 constraint (which is allowed to be rational and non-negative). The length is modeled as the first constraint (it is an integer polynomial in ).
Now, we do not know the exact length we need for a path. But, what we can do is search for all possible lengths in the interval: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 if such a path exists.
Lemma 2.3.
Proof.
If some was originally in the local graph , then Algorithm 2 would have added at least one path from that is feasible. This is because if was in the local graph of , then there exists an path of upfront cost less than , pay-per-use cost less than . This path has a length . Let be composed of two paths: a path and a path . Both and will have upfront cost and pay-per-use cost .
Algorithm 2 will add the shortest path that has upfront cost and pay-per-use cost and this path will have length at most . Similarly, Algorithm 2 will also add the shortest path that has upfront cost and pay-per-use cost and this path will have length at most . When we combine and , we will get a path such that . Further, will have an upfront cost and pay-per-use cost . Fixing , the pay-per-use cost of would be .
Now we analyze the overall cost of Algorithm 2. The total cost of this procedure would be . This is because we add one path for every sample from and to every vertex in and respectively, and each of these paths is cheaper than to set up initially (we don’t add a path otherwise). Further, we only have units of demand in total (recall that we have uniform demand), so their usage cost is going to be less than .
Plugging in the values for , and , we can see that the total cost would be . ∎
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 be an optimal solution (note that since it is an optimal solution, all paths here are feasible). Now let,
-
•
,
-
•
, and
-
•
,
If , then we can use Corollary 1.5 to resolve all the bad pairs with cost for some .
Thus, we can assume that . Now, since each has cost at least , the cost of an optimal solution is , and , we have, . This also implies that if we ever have a situation where all pairs in and are resolved, then as , . Now, we have two cases based on whether or not.
We define the density of a set of paths 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 of paths with density . 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 . We construct by building two other sets and and picking the smaller density of them.
Since , when , we have . Similarly, when , we have .
2.2.1 When
We will use Minimum-density Distance-constrained Junction Tree as a black box for resolving this case.
Claim 2.4.
If (and thus ), then there exists a Minimum-density Distance-constrained Junction Tree of density .
Proof.
Observe that . Now by a standard counting argument [5, 9, 28, 30] there must be an edge that belongs to at least of the paths in . 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 . This junction tree has cost (since its a subgraph of an optimal solution ) and can resolve at least pairs. Therefore, since , this junction tree will have a density . ∎
Lemma 2.5.
When , we can get a set of paths that has density at most
2.2.2 When
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].
(10a) | |||||
subject to | (10b) | ||||
(10c) | |||||
(10d) | |||||
(10e) | |||||
(10f) |
For every , let be the set of paths from to in such that and (i.e., the distance constraints are satisfied). Also, let . The Linear program (10) attempts to find a cheap and feasible (resource constraint-wise) solution where all the paths are taken from . But the problem here is that this solution could have paths that are expensive in the pay-per-use cost . We resolve this issue by careful processing based on [5].
Let be a feasible solution to LP (10) whose value is within a factor of the optimal for any fixed (see Section 2.3 for the method to obtain this solution).
Because the optimal set of paths for the pairs in (i.e., ) corresponds to a basic feasible solution of LP (10), the objective value of is atmost . Now, let . Set for every path such that . Then we reduce other values so that , and also prune the values such that for all (i.e., we prune to make it as small as it can be while ensuring it can handle the necessary flow). This new is another basic feasible solution to LP (10).
For now, we have ; in addition, any path that still has has both cheap investment and cheap maintenance (i.e., and ). 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 and use that to create a temporary graph . Then for each , we find the cheapest (in terms of pay-per-use cost) path that satisfies and has (if such a path exists) and add it to the set . 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 be the set of paths obtained by running Algorithm 3 on and be the graph returned by the same.
Claim 2.6.
Proof.
Let . If does have an edge which has , then is clearly included in .
If that is not the case, then the probability that none of the edges in are included in is
∎
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 is an anti-buy at bulk spanner for a terminal pair if contains no feasible path path of upfront cost at most and pay-per-use cost . If there is no proper subset of an anti-buy at bulk spanner for which is also an anti-buy at bulk spanner for , then we say that is minimal. We use 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 be the set of all minimal anti-spanners for bad pairs. Then is at most .
Proof.
Let be the power set of all edges in the local graph for a specific bad pair . Since is a bad pair we have at most vertices in the local graph. This also means that we have edges in the local graph of . Therefore if is a bad pair, then we have .
Observe that every anti-buy at bulk spanner for a specific demand pair is a set of edges. Therefore it corresponds to an element in . Set where are bad pairs. Thus, we can see that, 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 settles every bad pair that has .
Proof.
For every bad pair with , if is an anti-spanner for then .
By Claim 2.6, the probability that is disjoint from is at most . 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 is disjoint from any anti spanner for a bad pair is at most
(11) |
Recall that . Since , we have . Thus when we plug in the values, we get,
This shows that the probability that our graph is disjoint from any anti-spanner for any where is a bad pair with is exponentially small. This means that will have a feasible path with upfront cost , pay-per-use cost for those pairs.This means that with high probability our set of paths resolves every bad pair that has . ∎
Lemma 2.10.
For any , when , with high probability, the density of is at most
Proof.
Notice that the expected cost of would be at most . To see this note the expected cost due to upfront cost is at most . Furthermore, since we only add paths that have pay-per-use cost and we only have units of demand, the total cost due to pay-per-use cost .
Now observe that the number of pairs for which is at most . If that is not the case, then the amount of flow between all pairs is strictly less than and that violates constraint (10b). From Lemma 2.9, all pairs for which have will be resolved with high probability. This means that the expected density of is upper bounded by
∎
Proof of Theorem 1.3.
With the help of Corollary 2.2, we can settle all good pairs with high probability with cost . For bad pairs, if we ever have , we can use Corollary 1.5 to resolve them with cost . Otherwise, we can make two sets of paths and 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 . 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 . ∎
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.
(12a) | |||||
subject to | (12b) | ||||
(12c) | |||||
(12d) | |||||
(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 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 , -Resource-constrained Shortest Path is a separation oracle for those constraints in equation (12d)
Proof.
The first constraint can check if . We can use the second resource constraint in -RCSP to ensure that the distance constraint for is satisfied. We can now try to find a minimum cost path in this instance of -Resource-constrained Shortest Path. If the upfront cost obtained when we meet these constraints is less than , then we have a violating constraint and if not we do not have one.
∎
Now, we see an approximate version of LP (12).
(13a) | |||||
subject to | (13b) | ||||
(13c) | |||||
(13d) | |||||
(13e) |
Since our values are rational and our 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 where OPT is the optimal value of LP (10) (see [30] for details).
3 Approximation for Buy-at-Bulk Spanners in Terms of
See 1.4
Proof.
We first introduce the notion of -relaxed distance-constrained junction tree solution.
Definition 3.1.
A -relaxed distance-constrained junction tree solution is a collection of distance-constrained junction trees rooted at different vertices, that satisfies (5) for all . These junction trees are called -relaxed distance-constrained junction trees.
We construct a -relaxed distance-constrained junction tree solution and compare its objective with the optimal -relaxed distance-constrained junction tree solution with objective value .
We show the existence of an -approximate solution consisting of -relaxed distance-constrained junction trees. Here, for Buy-at-bulk Spanner and for Single-source Buy-at-bulk Spanner.
Let OPT denote the cost of the optimal solution where the distance constraints are strict, denote the cost of the optimal solution where the distance constraints are relaxed as (5), and denote the ratio between and . Clearly, because the distance constraints for OPT is stricter. It suffices to show (constructively) that for Buy-at-bulk Spanner and for Single-source Buy-at-bulk Spanner because Theorem 1.10 implies the existence of an -approximation algorithm in -time.
To show that for Single-source Buy-at-bulk Spanner, let be an optimal solution. We observe that itself is a -relaxed distance-constrained junction tree rooted at the source that is connected to all the sinks, so .
To show that for Buy-at-bulk Spanner, we use a density argument via a greedy procedure which implies an -approximate -relaxed distance-constrained junction tree solution. We recall that the density of a -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 -relaxed distance-constrained junction trees. We show that there always exists a -relaxed distance-constrained junction tree with density at most an 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 paths for or there is a simple path with low density. The case analysis also holds with -relaxed distance constraints.
Lemma 3.2.
There exists a -relaxed distance-constrained junction tree with density at most .
Proof.
Let (a collection of paths) be the optimal Buy-at-bulk Spanner solution with cost while considering (5). The proof proceeds by considering the following two cases: 1) there exists a vertex that belongs to at least paths that satisfy (5) for distinct , and 2) there is no such vertex .
For the first case, we consider the union of the paths, each satisfying its relaxed distance constraint (5), that passes through . This forms a subgraph in which contains an in-arborescence and an out-arborescence both rooted at , whose union forms a -relaxed distance-constrained junction tree. This distance-constrained junction tree has cost at most and connects at least terminal pairs, so its density is at most .
For the second case, each vertex appears in at most paths in . More specifically, each edge also appears in at most paths in . By creating copies of each edge with the same cost and , all terminal pairs can be connected by edge-disjoint paths. Since the overall duplicate cost is at most , at least one of these paths has cost at most . This path constitutes a distance-constrained junction tree whose density is at most . ∎
Consider an iterative procedure that finds a minimum density -relaxed distance-constrained junction tree and continues on the remaining disconnected terminal pairs. Suppose there are iterations, and after iteration , there are disconnected terminal pairs. For notation convenience, let and . After each iteration, the minimum cost for connecting the remaining terminal pairs in the remaining graph is at most , so the total cost of this procedure is upper-bounded by
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 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 . 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 . Dealing with fractional lengths (that don’t even need to be polynomial in 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 is defined as follows:
Definition 4.1.
We say that a path is feasible if the length of the path is at most .
Definition 4.2.
We slightly abuse notation and say that is -feasible if the length of is at most .
Let the length of be denoted by ; we also use for the same. Let and . Also, let . Let : intuitively 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 , we set where is some integer which ensures is true. We call this new graph with the scaled edge lengths as the scaled graph . has the vertex set and edge set , but the edge lengths in are set to . The upfront cost and pay-per-use cost for the edges in are inherited from the corresponding edges in .
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 (recall that ) for any path . For any path we have,
(14) |
Thus, we have,
(16) |
Furthermore, since , we have,
(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 is a feasible solution for (i.e., ), then is a -feasible solution when we scale the weights (i.e., ).
Furthermore, if is a -feasible solution in the scaled graph, then in the unscaled/original graph.
Proof.
If is a feasible solution for , then . Thus, using (16), we can see that . Thus, is a -feasible solution for the scaled version too.
Now, let us look in the opposite direction. If is a -feasible solution in the scaled graph, then . Then using (17), we can see that,
(18) |
which proves our Claim. ∎
Next, we prove another claim that compares the cost of a partial solution in with the cost of a partial solution in .
Claim 4.4.
For any , and set of terminal pairs , if there exists a set of paths in of total cost (both upfront cost and pay-per-use cost) containing a path of length at most from to for every then there exists a set of paths in of total cost (both upfront cost and pay-per-use cost) containing a path of length at most from to for every .
In addition, for any , if there exists a set of paths in of total cost (both upfront cost and pay-per-use cost) containing a path of length at most from to for every then there exists a set of paths in of total cost (both upfront cost and pay-per-use cost) containing a path of length at most from to for every .
Proof.
The first part of the claim can be proved easily. We can just set . Now, for any , has some path that is feasible. Then using the first part of Claim 4.3 we can see that is a -feasible path for the same in . 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 . Now, for any , has some path that is -feasible. Using the second part of Claim 4.3 we can see that is a -feasible path for the same in . 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 . When we build a layered graph as in [18], we will be building it on the scaled graph instead of the original graph .
4.1.3 Turning distance constraints into connectivity constraints
High level idea and potential challenges:
For a specific root vertex , 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 with length into 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 .
-
–
This technique is not equipped to handle negative lengths, even . 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 and represent the smallest and largest possible multiples of that the length of any subpath of any feasible path could take. - this happens when we take consecutive edges of scaled weight at least Min length ; . This is because any feasible scaled path has a length atmost - but a subpath could be longer because it could decrease its length by as much as when it takes edges of negative length. We construct a layered graph with the following vertices:
(19) |
(20) |
(21) |
As an example, a vertex in the newly constructed graph looks as follows: . This denotes that the new vertex is a copy of the vertex from the scaled graph , and this vertex is in the layer from the root. Let us call this as the label of the layer. We will explain the relevance of and 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:
(22) |
(23) |
(24) |
Let,
(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 and the layer separation between these two vertices is equal to the length of the scaled edge in . The edges in our layered graph inherit the upfront costs() and pay-per-use costs() from the corresponding edges in the original graph.
We call an integer valid if . For every terminal pair , do the following,
-
1.
Add new vertices and for all valid integers to .
-
2.
For all such and add edges and with zero upfront cost and pay-per-use cost to .
-
3.
Now for every terminal pair define:
-
(a)
terminal sets ,
-
(b)
and
-
(c)
relation .
-
(a)
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 , for every terminal pair and valid integer , there is a bijection between paths of length from to in , and paths from to in w. Similarly for every valid , there is a bijection between paths of length from to in , and paths from to in . Now, to keep track of lengths in we can just connect the appropriate terminal pairs in .
Runtime:
Our runtime so far is polynomial in (when we say , we mean the number of vertices in ). Now, is a polynomial in and thus it is a polynomial in
(26) | |||
(27) |
Thus the overall runtime so far is a polynomial in . Thus, when , and are polynomials in , the runtime so far is a polynomial in .
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
High level overview and tools used
We now need to account for the effects of the pay-per-use cost 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 with upfront costs and pay-per-use costs , for all , we can efficiently find an upward directed, layered graph on levels and edges (with new upfront and pay-per-use costs) only between consecutive levels going from bottom (level ) to top (level ), such that each layer has vertices corresponding to the vertices of , and, for any set of terminals and any root vertex ,
-
•
the optimal objective value of the single-sink buy-at-bulk problem to connect (at level ) with (at level ) on the graph is at most , where 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 for the single-sink buy-at-bulk problem to connect with on the graph , we can efficiently recover an integral (fractional solution) of objective value at most for the problem on the original graph .
In the same way, we can obtain a downward directed, layered graph on -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.
Applying Lemma 4.5:
We first apply Lemma 4.5 on and seperately, and obtain two new layered graphs and where is some positive integer which depends on . Unlike [12] our input graph is going to be significantly more complicated than the base graph but it will have only one root . 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 and . 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 . The construction of is similar (things need to be inverted appropriately):
-
•
The layer of has just one vertex and it is the root .
-
•
For each such that , the layer of contains all length tuples where is a vertex present in the layer of .
-
•
For every edge , there is an arc from to inheriting the same uprfront cost and pay-per-use cost as in .
Eliminating pay-per-use cost:
After we get the layered tree, we create new terminal vertices and connect them to any leaf in that is of the form with . We do the same by adding in in the same way (but these vertices are sinks not sources). We then add an edge from in to in and call this final graph as . Because the has only layers, the newly created graph has size only which is polynomial in input size as is a constant and 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 to the root . Let be a leaf node. Also, let where is the only path that connects to . We set the upfront cost of the edges to and do something similar for the 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. 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 () 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 and which are both copies of , that intersect only in the vertex . Let us call this graph . In addition, for every node , we use and to denote the copies of in and . The following lemma (which is also in [18]) follows from our construction. It relates our scaled problem to a problem in the graph . In simple words, it says for a partial solution of cost in the , we will have a partial solution (satisfying the same set of pairs) of cost in . In addition, it also says that for a partial solution of cost in the , we will have a partial solution of cost in .
Lemma 4.6.
For any , and set of terminal pairs there exists a set of paths in of total cost (both upfront cost and pay-per-use cost) containing a path of length at most from to for every only if there exists a subgraph of total weight such that for every terminal pair contains terminals such that . Moreover, given such an edge set , we can efficiently find a corresponding edge set of paths in .
For any , and set of terminal pairs if there exists a set of paths in of total cost (both upfront cost and pay-per-use cost) containing a path of length at most from to for every then there exists a subgraph of total weight such that for every terminal pair contains terminals such that .
Let be the upfront cost on the graph . Also, define (in other words contains all terminals in that correspond to the terminals in ) and . Finally, set .
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 two collections of disjoint vertex sets , a collection of set pairs and for each set pair a relation and non-negative edge costs . The objective here is to find an edge set that minimizes the ratio
Now, to prove Lemma 4.6, we just need to show that we can achieve an approximation for the Minimum Density Steiner Label Cover instance obtained from our reduction.
Thus, it suffices to show the following lemma.
Lemma 4.8.
In the given setting, there exists a approximation algorithm for the following problem that runs in polynomial time.
-
•
Find a tree minimizing the ratio
Proof.
We will now see the proof of Corollary 1.11.
See 1.11
Proof.
Note that when all , we can assume without loss of generality that . This means that . Thus, using Theorem 1.10, when we set , 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 for the Resource-constrained Shortest Path, let be the cost of any minimum cost path that satisfies the resource constraints. An -approximation scheme finds an path whose cost is at most , but the resource constraint is satisfied up to a factor of for that path. We will now present a FPTAS for -Resource-constrained Shortest Path (under certain assumptions), where the number of weight functions, m, is a constant. Let be a vector that is composed of .
Also, let be a vector composed of all .Our problem can be reformulated as follows:
(28) |
One very important point that we wish to make right now is that any can be negative. The role of is to allow some leeway/approximation for our algorithm so that we can run it in polynomial time. Consider the case where for some . In this case, if then - 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 and when , we need .
Given two vectors we use to denote the Hadamard product vector with . We also use to denote a vector with . Given two vectors and , we say that if . Given a vector and a real number , we use to denote another vector with . Also, let denote the . Finally, let be a vector of all the for .
The standard approach here for a specific 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 budget available to us. We split this into 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 starting from and ending at that has for any .
For a given an (where is a vector), the scaling and rounding procedure is as follows: i) for all the scale vector is given by, ii) for each edge , let be the scaled weight of the edge , defined as where is some integer such that is satisfied.
Now, our scaled problem can be formulated as:
(29) |
For any path , for any we have
(30) |
Note that because we do not allow negative cycles, we can be assured that any path here will only have edges (there is no reason to include a cycle).
Lemma 5.1.
Proof.
If is a feasible solution for (28), then is satisfied for all . Then using (30), we can see that . Thus, is a feasible solution for the scaled version (29) too.
Note that any feasible and optimal solution for (29) will be a solution for (28). The feasibility is preserved because none of the weights will increase when we change from to and in addition the budget for (29) is 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 , where is an integer. Note that for any path , there is some pattern which has . We define a pattern to be feasible if 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: 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 to be valid if it is feasible and has . 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 since a path can have at most edges each of scaled weight at least (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 .
Proof.
Note that for any valid pattern . Thus, for a specific dimension , we would need only patterns overall.
Thus, in total the number of valid patterns would be . ∎
Lemma 5.2 gives us the following corollary.
Corollary 5.3.
If and are polynomials in , then the number of valid patterns is a polynomial in .
In [40], the approach is to use dynamic programming to find out the lowest cost one can pay to reach a specific vertex 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, represents the least cost for any path to reach the vertex from the source within a budget of and in less than or equal to hops. Let be the set of valid patterns. The patterns in are partially ordered by the element-wise comparison we saw earlier. That is, if (this is done by comparing each element of with the corresponding element of ) is satisfied for two patterns and , then .
Note that for the scaled problem in (29), we only need to look at budgets which can be expressed as for some - this is because the resource consumptions of the edges are integral multiples of . 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 .
We also have another DP matrix to track the path we need to use. gives the previous vertex one should reach at to reach the vertex from within a budget of and within hops. We can backtrack from 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 and hop count . 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 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.
Claim 5.4.
When Algorithm 4 terminates, for each node , if is not infinity, then there exists some path with hops such that and the cost of path P is (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 in Algorithm 4 (line 8). is set using some where is a vertex with a edge. allows strictly less than hops. Therefore it would have been examined and computed in a previous iteration. By induction, is equal to the cost of an path with hops such that . Adding the edge to this, we have a path whose scaled weight is and thus our induction hypothesis is proved. ∎
Claim 5.5.
When Algorithm 4 terminates, for each node , if there is a path with hops and , then 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 with zero hops and for non-negative and it doesn’t have any such path for negative . The values fulfill this rule. For any other vertex, there is no path with zero hops and thus all values are set to zero for them.
For the inductive case, if there is a path with hops and , then there is some vertex such that and there exists a path with hops. Let be the weight of the path and let be its cost. Our algorithm would have evaluated in a previous iteration (because it has hops), and by the induction hypothesis this value would be . Thus, after examining the edge , our algorithm will store a cost and in addition the weight of the path returned by our algorithm would be . ∎
Lemma 5.6.
Proof.
For the runtime, see that we examine each edge once per hop and pattern. We have hops and patterns.
Note that our algorithm does not need to consider any walk that is not a path. This is because, both the cost and the scaled weight 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.
For each node , if is not infinity, then there exists some path with hops such that and the cost of path P is .
-
2.
For each node , if there is a path with hops and , then is satisfied.
∎
Recall Theorem 1.13. We now present its proof.
See 1.13
Proof.
Recall that . Thus, .
Now, using Corollary 5.3 we can see that is polynomial when and are polynomials for all . 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 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 , , there exists a fully polynomial time algorithm for 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 . 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 .
The maximum length of any path is a polynomial in . This is because we have edges in a path and each of those edges has lengths that are polynomial in .
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 that is small enough to ensure there is no error for the first resources. Then, we use to get a path that fits all our requirements. Note that the resource is always non-negative and thus is a polynomial in . ∎
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 -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.