Approximation Algorithms: Introduction to Network Design
This is the lecture notes from Chandra Chekuri's CS583 course on Approximation Algorithms. Chapter 10: Introduction to Network Design.
You can read Chapter 11: Steiner Forest Problem, here. Chapter 9: Clustering and Facility Location, here.
Chapter 10
(Parts of this chapter are based on previous scribed lecture notes by Nitish Korula and Sungjin Im.)
Network Design is a broad topic that deals with finding a subgraph of a given graph of minimum cost while satisfying certain requirements. represents an existing network or a constraint over where one can build. The subgraph is what we want to select/build. Many natural problems can be viewed this way. For instance the minimum spanning tree (MST) can be viewed as follows: given an undirected graph with edge costs , find the cheapest connected spanning (spanning means that all vertices are included) subgraph of . The fact that a minimal solution is a tree is clear, but the point is that the motivation does not explicitly mention the requirement that the output be a tree.
Connectivity problems are a large part of network design. As we already saw MST is the most basic one and can be solved in polynomial time. The Steiner Tree problem is a generalization where we are given a subset of terminals in an edgeweighted graph and the goal is to find a cheapest connected subgraph that contains all terminals. This is NP-Hard. Traveling Salesman Problem (TSP) and its variants can also be viewed as network design problems. Network design is heavily motivated by real-world problems in telecommunication networks and those problems combine aspects of connectivity and routing and in this context there are several problems related to buy-at-bulk network design, fixed-charge flow problems etc.
Graph theory plays an important role in most network algorithmic questions. The complexity and nature of the problems vary substantially based on whether the graph is undirected or directed. To illustrate this consider the Directed Steiner Tree problem. Here is a directed graph with non-negative edge/arc weights, and we are given a root and a set of terminals . The goal is to find a cheapest subgraph of such that has a path to each terminal . Note that when the problem is the minimum-cost arborescence problem and is solvable in polynomial-time. One can see that Directed Steiner Tree is a generalization of the (undirected) Steiner Tree problem. While Steiner Tree problem admits a constant factor approximation, it is easy to show that Directed Steiner Tree is at least as hard as Set Cover. This immediately implies that it is hard to approximate to within an factor. In fact, substantial technical work has shown that it is in fact harder than Set Cover [1], while we only have a quasi-polynomial time algorithm that gives a poly-logarithmic approximation [2]. In even slightly more general settings, the directed graph problems get much harder when compared to their undirected graph counterparts. This phenomena is generally true in many graph related problems and hence the literature mostly focuses on undirected graphs. We refer the reader to some surveys on network design [3],[4],[5].
This chapter will focus on two basic problems which are extensively studied and describe some simple approximation algorithms for them. Pointers are provided for sophisticated results including some very recent ones.
10.1 The Steiner Tree Problem
In the Steiner Tree problem, the input is a graph , together with a set of terminals , and a cost for each edge . The goal is to find a minimum-cost tree that connects all terminals, where the cost of a subgraph is the sum of the costs of its edges.
The Steiner Tree problem is NP-Hard, and also APX-Hard [6]. The latter means that there is a constant such that it is NP-Hard to approximate the solution to within a ratio of less than ; it is currently known that it is hard to approximate the Steiner Tree problem to within a ratio of 95/94 [7].[8]
Remark 10.1. If (that is, there are only 2 terminals), an optimal Steiner Tree is simply a shortest path between these 2 terminals. If (that is, all vertices are terminals), an optimal solution is simply a minimum spanning tree of the input graph. In both these cases, the problem can be solved exactly in polynomial time.
Remark 10.2. There is poly -time algorithm where is the number of terminals. Can you figure it out?
Definition 10.1. Given a connected graph with edge costs, the metric completion of is a complete graph such that for each , the cost of edge in is the cost of the shortest path in from to . The graph with edge costs is a metric on , because the edge costs satisfy the triangle inequality: .*
Figure 10.1: On the left, a graph. On the right, its metric completion, with new edges and modified edge costs in red.
Observation 10.2. To solve the Steiner Tree problem on a graph , it suffices to solve it on the metric completion of .
We now look at two approximation algorithms for the Steiner Tree problem.
10.1.1 The MST Algorithm
The following algorithm, with an approximation ratio of is due to [9]:
Let |
Let |
Output |
(Here, we use the notation to denote the subgraph of induced by the set of terminals .)
The following lemma is central to the analysis of the algorithm SteinerMST.
Lemma 10.1. For any instance I of Steiner Tree , let denote the metric completion of the graph, and the set of terminals. There exists a spanning tree in (the graph induced by terminals) of cost at most , where is the cost of an optimal solution to instance I.
Figure 10.2: Illustrating the MST Heuristic for Steiner Tree
Before we prove the lemma, we note that if there exists some spanning tree in of cost at most , the minimum spanning tree has at most this cost. Therefore, Lemma 10.1 implies that the algorithm SteinerMST is a -approximation for the Steiner Tree problem.
Proof. Proof of Lemma 10.1 Let denote an optimal solution in to the given instance, with . Double all the edges of to obtain an Eulerian graph, and fix an Eulerian Tour of this graph. See Fig 10.3. Now, shortcut edges of to obtain a tour of the vertices in in which each vertex is visited exactly once. Again, shortcut edges of to eliminate all non-terminals; this gives a walk that visits each terminal exactly once.
Figure 10.3: Doubling edges of and shortcutting gives a low-cost spanning tree on terminals.
It is easy to see that , where the inequalities follow from the fact that by shortcutting, we can only decrease the length of the walk. (Recall that we are working in the metric completion .) Now, delete the heaviest edge of to obtain a path through all the terminals in , of cost at most . This path is a spanning tree of the terminals, and contains only terminals; therefore, there exists a spanning tree in of cost at most .
A tight example: The following example (Fig. 4 below) shows that this analysis is tight; there are instances of Steiner Tree where the SteinerMST algorithm finds a tree of OPT. Here, each pair of terminals is connected by an edge of cost 2, and each terminal is connected to the central non-terminal by an edge of cost 1. The optimal tree is a star containing the central non-terminal, with edges to all the terminals; it has cost . However, the only trees in are formed by taking edges of cost 2; they have cost .
Figure 10.4: A tight example for the SteinerMST algorithm
10.1.2 The Greedy/Online Algorithm
We now describe another simple algorithm for the Steiner Tree problem, due to [10].
Let |
Let |
For |
GreedySteiner is a -approximation algorithm; here, we prove a slightly weaker result.
Theorem 10.3. The algorithm GreedySteiner has an approximation ratio of , where denotes the th harmonic number.
Note that this is an online algorithm; terminals are considered in an arbitrary order, and when a terminal is considered, it is immediately connected to the existing tree. Thus, even if the algorithm could not see the entire input at once, but instead terminals were revealed one at a time and the algorithm had to produce a Steiner tree at each stage, the algorithm GreedySteiner outputs a tree of cost no more than times the cost of the optimal tree.
To prove Theorem 10.3, we introduce some notation. Let denote the cost of the path used in the th iteration to connect the terminal to the already existing tree. Clearly, the total cost of the tree is . Now, let be a permutation of such that . (That is, relabel the terminals in decreasing order of the cost paid to connect them to the tree that exists when they are considered by the algorithm.)
Claim 10.1.1. For all , the cost is at most , where is the cost of an optimal solution to the given instance.
Proof. Suppose by way of contradiction this were not true; since is the terminal with th highest cost of connection, there must be terminals that each pay more than to connect to the tree that exists when they are considered. Let denote this set of terminals.
We argue that no two terminals in are within distance of each other. If some pair were within this distance, one of these terminals (say ) must be considered later by the algorithm than the other. But then the cost of connecting to the already existing tree (which includes ) must be at most , and we have a contradiction.
Therefore, the minimum distance between any two terminals in must be greater than . Since there must be edges in any MST of these terminals, an MST must have cost greater than 2 OPT. But the MST of a subset of terminals cannot have cost more than , exactly as argued in the proof of Lemma 10.1. Therefore, we obtain a contradiction.
Given this claim, it is easy to prove Theorem 10.3.
Question 10.2. Give an example of a graph and an ordering of terminals such that the output of the Greedy algorithm is .
Remark 10.3. We emphasize again that the analysis above holds for every ordering of the terminals. A natural variant might be to adaptively order the terminals so that in each iteration , the algorithm picks the terminal to be the one closest to the already existing tree built in the first iterations. Do you see that this is equivalent to using the MST Heuristic with Prim's algorithm for MST? This illustrates the need to be careful in the design and analysis of heuristics.
10.1.3 LP Relaxation
A natural LP relaxation for the Steiner Tree problem is the following. For each edge we have an indicator variable to decide if we choose to include in our solution. The chosen edges should ensure that no two terminals are separated. We write this via a constraint for any set such that contains a terminal and contains a terminal.
Note that the preceding LP has an exponential number of constraints. However, there is a polynomial-time separation oracle. Given it is feasible for the LP iff the cut value is at least between any two terminals with edge capacities given by . How good is this LP relaxation? We will see later that there is a -approximation via this LP. Interestingly the LP has an integrality gap of even if in which case we want to solve the MST problem! Despite the weakness of this cut based LP for these simple cases, we will see later that it generalizes nicely for higher connectivity problems and one can derive a 2-approximation even for those much more difficult problems.
10.1.4 Other Results on Steiner Trees
The 2-approximation algorithm using the MST Heuristic is not the best approximation algorithm for the Steiner Tree problem currently known. Some other results on this problem are listed below.
-
The first algorithm to obtain a ratio of better than
was due to due to Alexander Zelikovsky [11]; the approximation ratio of this algorithm was . This was improved to [12] and is based on a local search based improvement starting with the MST heuristic, and follows the original approach of Zelikovsky. -
Byrka et al gave an algorithm with an approximation ratio of
[13] which is currently the best known for this problem. This was originally based on a combination of techniques and subsequently there is an LP based proof [14] that achieves the same approximation for the so-called Hypergraphic LP relaxation. -
The bidirected cut LP relaxation for the Steiner Tree was proposed by [15]; it has an integrality gap of at most
, but it is conjectured that the gap is smaller. No algorithm is currently known that exploits this LP relaxation to obtain an approximation ratio better than that of the SteinerMST algorithm. Though the true integrality gap is not known, there are examples that show it is at least [16]. -
For many applications, the vertices can be modeled as points on the plane, where the distance between them is simply the Euclidean distance. The MST-based algorithm performs fairly well on such instances; it has an approximation ratio of
[17]. An example which achieves this bound is three points at the corners of an equilateral triangle, say of side-length 1; the MST heuristic outputs a tree of cost 2 (two sides of the triangle) while the optimum solution is to connect the three points to a Steiner vertex which is the circumcenter of the triangle. One can do better still for instances in the plane (or in any Euclidean space of small-dimensions); for any , there is a -approximation algorithm that runs in polynomial time [18]. Such an approximation scheme is also known for planar graphs [19] and more generally bounded-genus graphs.
10.2 The Traveling Salesperson Problem (TSP)
10.2.1 TSP in Undirected Graphs
In the Traveling Salesperson Problem (TSP), we are given an undirected graph and for each edge . Our goal is to find a Hamiltonian cycle with minimum cost. A cycle is said to be Hamiltonian if it visits every vertex in exactly once.
TSP is known to be NP-Hard. Moreover, we cannot hope to find a good approximation algorithm for it unless . This is because if one can give a good approximation solution to TSP in polynomial time, then we can exactly solve the NP-Complete Hamiltonian cycle problem (HAM) in polynomial time, which is not possible unless . Recall that HAM is a decision problem: given a graph , does have a Hamiltonian cycle?
Theorem 10.4 ([20]). Let be a polynomial-time computable function. Unless there is no polynomial-time algorithm that on every instance I of TSP outputs a solution of cost at most .
Proof. For the sake of contradiction, suppose we have an approximation algorithm for TSP with an approximation ratio . We show a contradiction by showing that using , we can exactly solve HAM in polynomial time. Let be the given instance of HAM. We create a new graph with cost for each such that if , otherwise , where and . Note that this is a polynomial-time reduction since is a polynomial-time computable function.
We observe that if has a Hamiltonian cycle, , otherwise . (Here, OPT denotes the cost of an optimal TSP solution in .) Note that there is a "gap" between when has a Hamiltonian cycle and when it does not. Thus, if has an approximation ratio of , we can tell whether has a Hamiltonian cycle or not: Simply run on the graph ; if returns a TSP tour in of cost at most output that has a Hamilton cycle, otherwise output that has no Hamilton cycle. We leave it as an exercise to formally verify that this would solve HAM in polynomial time.
Since we cannot even approximate the general TSP problem, we consider more tractable variants.
-
Metric-TSP: In Metric-TSP, the instance is a complete graph
with cost on , where satisfies the triangle inequality, i.e. for any . -
TSP-R: TSP with repetitions of vertices allowed. The input is a graph
with non-negative edge costs as in TSP. Now we seek a minimum-cost walk that visits each vertex at least once and returns to the starting vertex.
Exercise 10.1. Show that an -approximation for Metric-TSP implies an approximation for TSP-R and vice-versa.
We focus on Metric-TSP for the rest of this section. We first consider a natural greedy approach, the Nearest Neighbor Heuristic (NNH).
Start at an arbitrary vertex |
While (there are unvisited vertices) |
Return to |
Exercise 10.2. 1.Prove that NNH is an -approximation algorithm. (Hint: Think back to the proof of the -approximation for the Greedy Steiner Tree Algorithm.)
- NNH is not an
(1)-approximation algorithm; can you find an example to show this? In fact one can show a lower bound of on the approximation-ratio achieved by NNH.
There are constant-factor approximation algorithms for TSP; we now consider an MST-based algorithm. See Fig 10.5.
Compute an MST |
Obtain an Eulerian graph |
An Eulerian tour of |
Obtain a Hamiltonian cycle by shortcutting the tour. |
Figure 10.5: MST Based Heuristic
Theorem 10.5. MST heuristic(TSP-MST) is a 2-approximation algorithm.
Proof. We have , since we can get a spanning tree in by removing any edge from the optimal Hamiltonian cycle, and is a MST. Thus . Also shortcutting only decreases the cost.
We observe that the loss of a factor 2 in the approximation ratio is due to doubling edges; we did this in order to obtain an Eulerian tour. But any graph in which all vertices have even degree is Eulerian, so one can still get an Eulerian tour by adding edges only between odd degree vertices in . Christofides Heuristic [21] exploits this and improves the approximation ratio from to . See Fig 10.6 for a snapshot.
Figure 10.6: Christofides Heuristic
Compute an MST |
Let |
Find a minimum cost matching |
Add |
Compute an Eulerian tour of |
Obtain a Hamilton cycle by shortcutting the tour. |
Theorem 10.6. Christofides Heuristic is a 1.5-approximation algorithm.
Proof. The main part of the proof is to show that . Suppose that . Then, since the solution of Christofides Heuristic is obtained by shortcutting the Eulerian tour on , its cost is no more than . (Refer to the proof of Lemma for the fact .) Therefore we focus on proving that .
Let be an optimal tour in of cost ; since we have a metric-instance we can assume without loss of generality that is a Hamiltonian cycle. We obtain a Hamiltonian cycle in the graph by short-cutting the portions of that touch the vertices . By the metric-condition, . Let . Without loss of generality visits the vertices of in the order . Recall that is even. Let and . Note that both and are matchings, and . We can assume without loss of generality that . Then we have . Also we know that , since is a minimum cost matching on in . Hence we have , which completes the proof.
10.2.2 LP Relaxation
We describe a well-known LP relaxation for TSP called the Subtour-Elimination LP and sometimes also called the Held-Karp LP relaxation although the formulation was first given by Dantzig, Fulkerson and Johnson [22]. The LP relaxation has a variable for each edge . Note that the TSP solution is a Hamilton Cycle of least cost. A Hamilton cycle can be viewed as a connected subgraph of with degree at each vertex. Thus we write the degree constraints and also the cut constraints.
The relaxation is not useful for a general graph since we saw that TSP is not approximable. To obtain a relaxation for Metric-TSP we apply the above to the metric completion of the graph .
Another alternative is to consider the following LP which view the problem as finding a connected Eulerian multi-graph of the underlying graph . In other words we are allowed to take an integer number of copies of each edge with the constraint that the degree of each vertex is even and the graph is connected. It is not easy to write the even degree condition since we do not have an apriori bound. Instead one can write the following simpler LP, and interestingly one can show that its optimum value is the same as that of the preceding relaxation (when applied to the metric completion).
Wolsey showed that the -approximation of Christofides can be analyzed with respect to the LP above. Hence the integrality gap of the LP is at most with respect to the LP above. Hence the integrality gap of the LP is at most for Metric-TSP. Is it better? There is a well-known example which shows that the gap is at least . The conjecture states that the worst-case integrality gap very very recently that the barrier was broken.
Remarks
-
In practice, local search heuristics are widely used and they perform extremely well. A popular heuristic 2-Opt is to swap pairs from
to or , if it improves the tour. -
It was a major open problem to improve the approximation ratio of
for Metric-TSP; it is conjectured that the Held-Karp LP relaxation [23] gives a ratio of . In a breakthrough Oveis-Gharan, Saberi and Singh [24] obtained a approximation for some small but fixed for the important special case where for each edge (called Graphic-TSP). Very recently the ratio was finally broken for the general case [25].
10.2.3 TSP in Directed Graphs
In this subsection, we consider TSP in directed graphs. As in undirected TSP, we need to relax the problem conditions to get any positive result. Again, allowing each vertex to be visited multiple times is equivalent to imposing the asymmetric triangle inequality for all . This is called the asymmetric TSP (ATSP) problem. We are given a directed graph with for each arc and our goal is to find a closed walk visiting all vertices. Note that we are allowed to visit each vertex multiple times, as we are looking for a walk, not a cycle. For an example of a valid Hamiltonian walk, see Fig 10.7.
The MST-based heuristic for the undirected case has no meaningful generalization to the directed setting This is because costs on edges are not symmetric. Hence, we need another approach. The Cycle Shrinking Algorithm repeatedly finds a min-cost cycle cover and shrinks cycles, combining the cycle covers found. Recall that a cycle cover is a collection of disjoint cycles covering all vertices. It is known that finding a minimum-cost cycle cover can be done in polynomial time (see Homework 0). The Cycle Shrinking Algorithm achieves a approximation ratio.
Figure 10.7: A directed graph and a valid Hamiltonian walk
Transform |
If |
Find a minimum cost cycle cover with cycles |
From each |
Recursively solve problem on |
Shortcut |
For a snapshot of the Cycle Shrinking Algorithm, see Fig 10.8.
Figure 10.8: A snapshot of Cycle Shrinking Algorithm. To the left, a cycle cover . In the center, blue vertices indicate proxy nodes, and a cycle cover is found on the proxy nodes. To the right, pink vertices are new proxy nodes, and a cycle cover is found on the new proxy nodes.
Lemma 10.3. Let the cost of edges in satisfy the asymmetric triangle inequality. Then for any , the cost of an optimal TSP tour in is at most the cost of an optimal TSP tour in .
Proof. Since satisfies the triangle inequality there is an optimal tour TSP tour in that is a Hamiltonian cycle . Given any the cycle can be short-cut to produce another cycle that visits only and whose cost is at most the cost of .
Lemma 10.4. The cost of a min-cost cycle-cover is at most the cost of an optimal TSP tour.
Proof. An optimal TSP tour is a cycle cover.
Theorem 10.7. The Cycle Shrinking Algorithm is a -approximation for ATSP.
Proof. We prove the above by induction on the number of nodes in . It is easy to see that the algorithm finds an optimal solution if . The main observation is that the number of cycles in the cycle-cover is at most ; this follows from the fact that each cycle in the cover has to have at least 2 nodes and they are disjoint. Thus . Let denote the cost of an optimal solution in . From Lemma 10.3 we have that for all . The algorithm recurses on the proxy nodes . Note that , and by induction, the cost of the cycle output by the recursive call is at most .
The algorithm outputs whose cost is at most the cost of plus the cost of the cycle-cover computed in . The cost of the cycle cover is at most (Lemma 10.4). Hence the cost of is at most ; this finishes the inductive proof.
10.2.4 LP Relaxation
The LP relaxation for ATSP is given below. For each arc we have a variable . We view the problem as finding a connected Eulerian multi-graph in the support of . That is, we can choose each edge an integer number of times. We impose Eulerian constraint at each vertex by requiring the in-degree to be equal to the out-degree. We impose connectivity constraint by ensuring that at least one arc leaves each set of vertices which is not or .
Remarks:
-
It has remained an open problem for more than 25 years whether there exists a constant factor approximation for ATSP. Asadpour et al [26] have obtained an
-approximation for ATSP using some very novel ideas and a well-known LP relaxation.
- Eran Halperin and Robert Krauthgamer. “Polylogarithmic inapproximability”. In: Proceedings of the thirty-fifth annual ACM symposium on Theory of computing. 2003, pp. 585–594. ↩︎
- Moses Charikar, Chandra Chekuri, To-Yat Cheung, Zuo Dai, Ashish Goel, Sudipto Guha, and Ming Li. “Approximation algorithms for directed Steiner problems”. In: Journal of Algorithms 33.1 (1999), pp. 73–91. ↩︎
- Anupam Gupta and Jochen Könemann. “Approximation algorithms for network design: A survey”. In: Surveys in Operations Research and Management Science 16.1 (2011), pp. 3–20. ↩︎
- Guy Kortsarz and Zeev Nutov. “Approximating minimum cost connectivity problems”. In: Parameterized complexity and approximation algorithms. Ed. by Erik D. Demaine, MohammadTaghi Hajiaghayi, and Dániel Marx. Dagstuhl Seminar Proceedings 09511. Dagstuhl, Germany: Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, Germany, 2010. url: http://drops.dagstuhl.de/opus/volltexte/2010/2497. ↩︎
- Zeev Nutov. “Node-connectivity survivable network problems”. In: Handbook of Approximation Algorithms and Metaheuristics. Chapman and Hall/CRC, 2018, pp. 233–253. ↩︎
- Marshall Bern and Paul Plassmann. “The Steiner problem with edge lengths 1 and 2”. In: Information Processing Letters 32.4 (1989), pp. 171–176. ↩︎
- Miroslav Chlebık and Janka Chlebıková. “Approximation hardness of the Steiner tree problem on graphs”. In: Scandinavian Workshop on Algorithm Theory. Springer. 2002, pp. 170–179. ↩︎
- Variants of the Steiner Tree problem, named after Jakob Steiner, have been studied by Fermat, Weber, and others for centuries. The front cover of the course textbook contains a reproduction of a letter from Gauss to Schumacher on a Steiner tree question. ↩︎
- Hiromitsu Takahashi and A Matsuyama. “An approximate solution for the Steiner problem in graphs”. In: Math. Jap. 24.6 (1980), pp. 573–577. ↩︎
- Makoto Imase and Bernard M Waxman. “Dynamic Steiner tree problem”. In: SIAM Journal on Discrete Mathematics 4.3 (1991), pp. 369–384. ↩︎
- Alexander Z Zelikovsky. “An 11/6-approximation algorithm for the network Steiner problem”. In: Algorithmica 9.5 (1993), pp. 463–470. ↩︎
- Gabriel Robins and Alexander Zelikovsky. “Tighter bounds for graph Steiner tree approximation”. In: SIAM Journal on Discrete Mathematics 19.1 (2005), pp. 122–134 ↩︎
- Jaroslaw Byrka, Fabrizio Grandoni, Thomas Rothvoß, and Laura Sanita. “An improved LP-based approximation for Steiner tree”. In: Proceedings of the forty-second ACM symposium on Theory of computing. 2010, pp. 583–592. ↩︎
- Michel X Goemans, Neil Olver, Thomas Rothvoß, and Rico Zenklusen. “Matroids and integrality gaps for hypergraphic steiner tree relaxations”. In: Proceedings of the forty-fourth annual ACM symposium on Theory of computing. 2012, pp. 1161–1176. ↩︎
- Jack Edmonds. “Optimum branchings”. In: Journal of Research of the National Bureau of Standards, B 71 (1967), pp. 233–240. ↩︎
- Robert Vicari. “Simplex based Steiner tree instances yield large integrality gaps for the bidirected cut relaxation”. In: arXiv preprint arXiv:2002.07912 (2020). ↩︎
- D-Z Du and Frank K. Hwang. “A proof of the Gilbert-Pollak conjecture on the Steiner ratio”. In: Algorithmica 7.1 (1992), pp. 121–135. ↩︎
- Sanjeev Arora. “Polynomial time approximation schemes for Euclidean traveling salesman and other geometric problems”. In: Journal of the ACM (JACM) 45.5 (1998), pp. 753–782. ↩︎
- Glencora Borradaile, Philip Klein, and Claire Mathieu. “An
approximation scheme for Steiner tree in planar graphs”. In: ACM Transactions on Algorithms (TALG) 5.3 (2009), pp. 1–31. ↩︎ - Sartaj Sahni and Teofilo Gonzalez. “P-complete approximation problems”. In: Journal of the ACM (JACM) 23.3 (1976), pp. 555–565. ↩︎
- Nicos Christofides. Worst-case analysis of a new heuristic for the travelling salesman problem. Tech. rep. Carnegie-Mellon Univ Pittsburgh Pa Management Sciences Research Group, 1976. ↩︎
- George Dantzig, Ray Fulkerson, and Selmer Johnson. “Solution of a largescale traveling-salesman problem”. In: Journal of the operations research society of America 2.4 (1954), pp. 393–410. ↩︎
- Michael Held and Richard M Karp. “The traveling-salesman problem and minimum spanning trees”. In: Operations Research 18.6 (1970), pp. 1138–1162. ↩︎
- Shayan Oveis Gharan, Amin Saberi, and Mohit Singh. “A randomized rounding approach to the traveling salesman problem”. In: 2011 IEEE 52nd Annual Symposium on Foundations of Computer Science. IEEE. 2011, pp. 550–559. ↩︎
- Anna R Karlin, Nathan Klein, and Shayan Oveis Gharan. “A (slightly) improved approximation algorithm for metric TSP”. In: Proceedings of the 53rd Annual ACM SIGACT Symposium on Theory of Computing. 2021, pp. 32–45. ↩︎
- Arash Asadpour, Michel X Goemans, Aleksander M ˛adry, Shayan Oveis Gharan, and Amin Saberi. “An O (log n/log log n)-approximation algorithm for the asymmetric traveling salesman problem”. In: Operations Research 65.4 (2017). Preliminary version in Proc. of ACM-SIAM SODA, 2010., pp. 1043–1061. ↩︎
- Ola Svensson. “Approximating ATSP by relaxing connectivity”. In: 2015 IEEE 56th Annual Symposium on Foundations of Computer Science. IEEE. 2015, pp. 1–19. ↩︎
- Ola Svensson, Jakub Tarnawski, and László A Végh. “A constant-factor approximation algorithm for the asymmetric traveling salesman problem”. In: Journal of the ACM (JACM) 67.6 (2020), pp. 1–53. ↩︎
- Vera Traub and Jens Vygen. “An improved approximation algorithm for ATSP”. In: Proceedings of the 52nd Annual ACM SIGACT Symposium on Theory of Computing. 2020, pp. 1–13. ↩︎
Recommended for you
Using Mathpix and NaviLens to create accessible math flashcards
Using Mathpix and NaviLens to create accessible math flashcards
Students with print disabilities, due to blindness, low vision, learning disabilities or physical disabilities, can greatly benefit from accessible math flashcards and tutorials. Mathpix greatly reduces the amount of work required to create these by capturing text and math from a variety of sources making them ready for conversion to print or braille.