Approaching 3 for the s t-path TSP - arXiv · s-t-path TSP), the classical algorithm achieves only...

22
arXiv:1707.03992v4 [cs.DM] 23 Jul 2019 Approaching 3 2 for the s-t-path TSP Vera Traub Jens Vygen Research Institute for Discrete Mathematics and Hausdorff Center for Mathematics, University of Bonn {traub,vygen}@or.uni-bonn.de Abstract We show that there is a polynomial-time algorithm with approximation guarantee 3 2 + ε for the s-t-path TSP, for any fixed ε> 0. It is well known that Wolsey’s analysis of Christofides’ algorithm also works for the s-t- path TSP with its natural LP relaxation except for the narrow cuts (in which the LP solution has value less than two). A fixed optimum tour has either a single edge in a narrow cut (then call the edge and the cut lonely ) or at least three (then call the cut busy ). Our algorithm “guesses” (by dynamic programming) lonely cuts and edges. Then we partition the instance into smaller instances and strengthen the LP, requiring value at least three for busy cuts. By setting up a k-stage recursive dynamic program, we can compute a spanning tree (V,S ) and an LP solution y such that ( 1 2 + O(2 k ))y is in the T -join polyhedron, where T is the set of vertices whose degree in S has the wrong parity. 1 Introduction The traveling salesman problem has played a crucial role in combinatorial optimization for many decades. Despite a lot of research, Christofides’ classical 3 2 -approximation algorithm from 1976 is still unbeaten. However, this ratio holds only if the tour is to begin and end in the same point. For the more general problem where the given endpoints of the tour can be distinct (the s-t-path TSP), the classical algorithm achieves only the approximation ratio 5 3 . Initiated by the work of An, Kleinberg, and Shmoys [1], there has been much progress recently, obtaining better and better approximation ratios and introducing various interesting techniques. In this paper we obtain an approximation ratio arbitrarily close to 3 2 by a completely new approach. An instance of the s-t-path TSP consists of a finite metric space (V,c) and s, t V . The goal is to compute a path (V,H ) with endpoints s and t (or a circuit if s = t) that contains all elements of V . Christofides [2], Serdjukov [12], and Hoogeveen [7] proposed to compute a cheapest spanning tree (V,S ), let T := {v V : |S δ(v)| odd}△{s}△{t} be the set of vertices with wrong parity, compute a perfect matching M on T and an Eulerian trail from s to t in (V,S . M ), and shortcut whenever a vertex is visited more than once. This algorithm has approximation ratio 3 2 for s = t [2], but only 5 3 for s = t [7]. 1

Transcript of Approaching 3 for the s t-path TSP - arXiv · s-t-path TSP), the classical algorithm achieves only...

Page 1: Approaching 3 for the s t-path TSP - arXiv · s-t-path TSP), the classical algorithm achieves only the approximation ratio 5 3. Initiated by the work of An, Kleinberg, and Shmoys

arX

iv:1

707.

0399

2v4

[cs

.DM

] 2

3 Ju

l 201

9

Approaching 3

2for the s-t-path TSP

Vera Traub Jens Vygen

Research Institute for Discrete Mathematics and Hausdorff Center for Mathematics,University of Bonn

{traub,vygen}@or.uni-bonn.de

Abstract

We show that there is a polynomial-time algorithm with approximation guarantee 3

2+ ε

for the s-t-path TSP, for any fixed ε > 0.It is well known that Wolsey’s analysis of Christofides’ algorithm also works for the s-t-

path TSP with its natural LP relaxation except for the narrow cuts (in which the LP solutionhas value less than two). A fixed optimum tour has either a single edge in a narrow cut (thencall the edge and the cut lonely) or at least three (then call the cut busy). Our algorithm“guesses” (by dynamic programming) lonely cuts and edges. Then we partition the instanceinto smaller instances and strengthen the LP, requiring value at least three for busy cuts. Bysetting up a k-stage recursive dynamic program, we can compute a spanning tree (V, S) andan LP solution y such that (1

2+O(2−k))y is in the T -join polyhedron, where T is the set of

vertices whose degree in S has the wrong parity.

1 Introduction

The traveling salesman problem has played a crucial role in combinatorial optimization for manydecades. Despite a lot of research, Christofides’ classical 3

2 -approximation algorithm from 1976is still unbeaten. However, this ratio holds only if the tour is to begin and end in the samepoint. For the more general problem where the given endpoints of the tour can be distinct (thes-t-path TSP), the classical algorithm achieves only the approximation ratio 5

3 . Initiated by thework of An, Kleinberg, and Shmoys [1], there has been much progress recently, obtaining betterand better approximation ratios and introducing various interesting techniques. In this paperwe obtain an approximation ratio arbitrarily close to 3

2 by a completely new approach.

An instance of the s-t-path TSP consists of a finite metric space (V, c) and s, t ∈ V . The goal is tocompute a path (V,H) with endpoints s and t (or a circuit if s = t) that contains all elements ofV . Christofides [2], Serdjukov [12], and Hoogeveen [7] proposed to compute a cheapest spanningtree (V, S), let T := {v ∈ V : |S ∩ δ(v)| odd}△{s}△{t} be the set of vertices with wrong parity,compute a perfect matching M on T and an Eulerian trail from s to t in (V, S

.∪ M), and

shortcut whenever a vertex is visited more than once. This algorithm has approximation ratio32 for s = t [2], but only 5

3 for s 6= t [7].

1

Page 2: Approaching 3 for the s t-path TSP - arXiv · s-t-path TSP), the classical algorithm achieves only the approximation ratio 5 3. Initiated by the work of An, Kleinberg, and Shmoys

Let us briefly explain our notation. As usual, △ and.∪ denote symmetric difference and disjoint

union. Let n := |V | and E =(V2

)

; so (V,E) is the complete graph on V . For a vertex set U ⊆ Vlet E[U ] denote the set of edges with both endpoints in U , δ(U) the set of edges with exactly oneendpoint in U , and δ(v) := δ({v}) for v ∈ V . For x ∈ R

E and H ⊆ E we write x(H) :=∑

e∈H xe,c(x) :=

e={v,w}∈E c(v,w)xe, and c(H) :=∑

e={v,w}∈H c(v,w). By [m] we denote the index set[m] := {1, 2, . . . ,m}. An A-B-cut is an edge set δ(U) for some vertex set U with A ⊆ U ⊆ V \B.An s-t-tour is an edge set H such that (V,H) is an s-t-path (or a circuit if s = t). So if s 6= t,H is the edge set of a path with endpoints s and t that spans all vertices.

As all previous works, we use a classical idea of Wolsey [15] for analyzing Christofides’ algorithm.The following LP is obviously a relaxation of the s-t-path TSP (incidence vectors of s-t-tours arefeasible solutions):

min c(x)

s.t. x(δ(U)) ≥ 2 for ∅ ⊂ U ⊆ V \ {s, t},

x(δ(U)) ≥ 1 for {s} ⊆ U ⊆ V \ {t},

x(δ(v)) = 2 for v ∈ V \ ({s}△{t}),

x(δ(v)) = 1 for v ∈ {s}△{t},

x(e) ≥ 0 for e ∈ E.

(1)

Note that we wrote {s}△{t} instead of {s, t} in order to have a correct formulation even in thecase s = t; in this case the second and fourth line of constraints are empty. Held and Karp [6]observed that every feasible solution to this LP is a convex combination of incidence vectors ofspanning trees (plus one edge if s = t) of (V,E). Hence the cost of the cheapest spanning tree Sis at most c(x∗) for an optimum LP solution x∗.

Our algorithm will not need the degree constraints and work with the following relaxation:

min c(x)

s.t. x(δ(U)) ≥ 2 for ∅ ⊂ U ⊆ V \ {s, t},

x(δ(U)) ≥ 1 for {s} ⊆ U ⊆ V \ {t},

x(e) ≥ 0 for e ∈ E.

(2)

Although we do not need this fact, we remark that both LPs have the same value.1

The purpose of the matching M in Christofides’ algorithm is to correct the parities of the vertexdegrees. Recall that T := {v ∈ V : |S ∩ δ(v)| odd}△{s}△{t} is the set of vertices with wrongparity. A T -join is an edge set J such that the odd-degree vertices in (V, J) are precisely theelements of T . Since c is a metric, the minimum cost of a matching on T equals the minimumcost of a T -join, and this is the minimum cost of a vector y in the T -join polyhedron [3]

{

y ∈ RE≥0 : y(δ(U)) ≥ 1 for U ⊂ V with |U ∩ T | odd

}

. (3)

1This can be shown with Lovász’ [8] splitting lemma, as was observed (in a similar context) by Cunningham [9],Goemans and Bertsimas [4].

2

Page 3: Approaching 3 for the s t-path TSP - arXiv · s-t-path TSP), the classical algorithm achieves only the approximation ratio 5 3. Initiated by the work of An, Kleinberg, and Shmoys

Therefore, the cost of the matching M is at most c(y), for any vector y in this polyhedron. Sinceit bounds the cost of parity correction, we call a vector y in (3) a parity correction vector.

If s = t, the LP implies x∗(C) ≥ 2 for every cut C and we can choose y = 12x

∗. Thus weget c(M) ≤ 1

2c(x∗). This shows an upper bound of 3

2 on the integrality ratio and on theapproximation ratio of Christofides’ algorithm [2]. This is Wolsey’s analysis [15].

From now on we will assume s 6= t. Call a cut δ(U) (for ∅ 6= U ⊂ V ) narrow if x(δ(U)) < 2.Narrow cuts are the reason why Wolsey’s argument fails for s 6= t. An, Kleinberg, and Shmoys[1] showed that the narrow cuts form a chain. They considered (1), but the degree constraintsare not needed and the same proof works:

Proposition 1

Let x ∈ RE≥0 be a feasible solution to the linear program (2). Then there are m ≥ 0 sets

X1, . . . ,Xm with {s} ⊆ X1 ⊂ X2 ⊂ · · · ⊂ Xm ⊆ V \ {t} such that

{δ(Xi) : i ∈ [m]} = {δ(U) : ∅ 6= U ⊂ V, x(δ(U)) < 2}.

Moreover, all of these sets can be computed by n2 minimum cut computations in the graph (V,E)and thus in polynomial time.

Proof. Let X,Y ⊆ V such that x(δ(X)) < 2, x(δ(Y )) < 2 and s ∈ X ∩Y . By the LP constraintswe have t 6∈ X and t 6∈ Y . Suppose neither X ⊆ Y nor Y ⊆ X. Then, X \Y and Y \X are bothnonempty and contain none of the vertices s and t. Thus,

4 > x(δ(X)) + x(δ(Y )) ≥ x(δ(X \ Y )) + x(δ(Y \X)) ≥ 4,

a contradiction. To prove that the narrow cuts can be computed efficiently, we observe thatfor each narrow cut C ∈ N a pair {v,w} of vertices exists such that C is the only narrow cutseparating v and w. Thus, by computing a minimum capacity v-w-cut (with respect to capacitiesx) for all pairs {v,w} of vertices we will find all narrow cuts. �

Narrow cuts were the focus of [1] and all subsequent approximation algorithms (cf. Table 1).They all also proved upper bounds on the integrality ratio. Our recursive dynamic programmingapproach is completely different. On a very high level, we guess (by a dynamic program) which ofthe narrow cuts are crossed only once by an optimum s-t-tour and which are crossed at least threetimes. We partition the instance at the narrow cuts that are crossed only once and strengthenthe LP by requiring value at least three at the other narrow cuts. We call the dynamic programrecursively on the sub-instances. For any ε > 0, a fixed number of recursion levels yields theapproximation ratio 3

2 + ε.

Very recently, our approach has been improved and simplified by Zenklusen [16]. He obtainedthe approximation ratio 3

2 by considering not only the narrow cuts but all s-t-cuts with valueless than three.

Neither our algorithm nor Zenklusen’s yields an upper bound on the integrality ratio. The

3

Page 4: Approaching 3 for the s t-path TSP - arXiv · s-t-path TSP), the classical algorithm achieves only the approximation ratio 5 3. Initiated by the work of An, Kleinberg, and Shmoys

reference ratio

Hoogeveen [7] 1.667

An, Kleinberg, and Shmoys [1] 1.618

Sebő [10] 1.6

Vygen [14] 1.599

Gottschalk and Vygen [5] 1.566

Sebő and van Zuylen [11] 1.529

Table 1: Previous approximation guarantees (rounded).

currently best known upper bound on the integrality ratio is 1.5284, obtained by a new analysisof the Sebő–van Zuylen algorithm [11, 13].

2 Outline of our algorithm

We start with a high-level overview, sketching the key idea.

We will compute a spanning tree (V, S) and a parity correction vector in the T -join polyhedron (3)for T := {v ∈ V : |S ∩ δ(v)| odd}△{s}△{t}. The parity correction vector will be a nonnegativecombination of LP solutions. If x∗1 is an optimum solution to the LP (2), 1

2x∗1 would be good,

but it is insufficient for narrow cuts C with |C ∩ S| even. Note that s-t-cuts C = δ(U) with|C ∩ S| odd are irrelevant because for these sets |{v ∈ U : |S ∩ δ(v)| odd}| is odd and thus|U ∩ T | = |{v ∈ U : |S ∩ δ(v)| odd}△(U ∩ {s, t})| is even.

Let N1 be the set of narrow cuts of the LP solution x∗1 and let H be a fixed optimum s-t-tour. Asall narrow cuts are s-t-cuts, we have for each narrow cut C that |C∩H| is odd. Suppose we knowthe partition N1 = L

.∪ B of the narrow cuts into lonely cuts (cuts C ∈ N1 with |C ∩H| = 1)

and busy cuts (cuts C ∈ N1 with |C ∩H| ≥ 3). Then we can compute a cheapest spanning tree(V, S) with |S ∩ C| = 1 for all lonely cuts C ∈ L. This can be easily done in polynomial timebecause the lonely cuts form a chain. However, 1

2x∗1 is still insufficient for busy cuts.

Knowing the busy cuts, we can add the constraint x(C) ≥ 3 for all C ∈ B to the LP and obtaina second solution x∗2. Since x∗2(C) is big where x∗1(C) was insufficient, we can combine the twovectors; for example, 2

3x∗1+

13x

∗2 is an LP solution with value at least 5

3 at every cut C /∈ L (whilex∗1 could only guarantee ≥ 1). The second LP solution x∗2 has new narrow cuts, which again canbe lonely or busy. Adding additional constraints x(C) ≥ 3 for the new busy cuts, we get a thirdLP solution x∗3, and so on. Table 2 shows how these LP solutions can be combined to a cheapparity correction vector. (We remark that we could also choose the fractions uniformly, in thiscase 1

7 each, but it would require more levels to obtain the same approximation ratio.)

If we knew not only the lonely cuts but also the lonely edges, i.e. the edge e ∈ C ∩H for everyC ∈ L, then we could partition the original instance at the lonely cuts, solve separate LPs for

4

Page 5: Approaching 3 for the s t-path TSP - arXiv · s-t-path TSP), the classical algorithm achieves only the approximation ratio 5 3. Initiated by the work of An, Kleinberg, and Shmoys

level fraction of x∗l lower bound on LP value

l in parity x∗l (C) of busy cuts C for

correction vector C ∈ N1 C ∈ N2 C ∈ N3 C ∈ N4

1 829 1 2 2 2

2 429 3 1 2 2

3 229 3 3 1 2

4 129 3 3 3 1

Table 2: Let x∗l be the LP solution on level l, and Nl its narrow cuts. If we enforce x(C) ≥ 3 forall busy cuts C ∈ Ni on all levels l > i, a nonnegative combination of the LP solutionsx∗l with the coefficients in the second column is a cheap parity correction vector for anytree (V, S) with |S ∩ C| = 1 for every lonely cut C.

s t

Figure 1: The dashed and dotted vertical lines show the narrow cuts. The solid lines show anoptimum s-t-tour. The green (bold) edges and the green (dashed) cuts are lonely. Theintervals at the bottom indicate the sub-instances of the next recursion level, wherethe filled vertices serve as s′ and/or t′. (The first, third, and fifth sub-instance consistof a single vertex s′ = t′.) The dotted (red and gray) narrow cuts are busy, but onlythe red (densely dotted) busy cuts will be passed to the next level because they have s′

on the left and t′ on the right. The gray (loosely dotted) busy cuts will automaticallyhave value at least 3 as the proof will reveal.

5

Page 6: Approaching 3 for the s t-path TSP - arXiv · s-t-path TSP), the classical algorithm achieves only the approximation ratio 5 3. Initiated by the work of An, Kleinberg, and Shmoys

v1 w1 v2 w2

U1

U2

Figure 2: A possible sub-instance with vertex set U2 \U1, s′ = w1, and t′ = v2. This sub-instance

will be represented by the arc ((U1, v1, w1), (U2, v2, w2)) in the digraph D. Note thatthe vertices w1 and v2 might be identical.

the sub-instances, and combine the solutions. See Figure 1.

Of course, the main difficulty is that we do not know which cuts are lonely and which are busy,and we do not know the lonely edges. However, for each possibility of two subsequent lonelycuts δ(U1) and δ(U2) with {s} ⊆ U1 ⊂ U2 ⊆ V \ {t} and lonely edges {v1, w1} and {v2, w2} withv1 ∈ U1, w1, v2 ∈ U2 \ U1 and w2 ∈ V \ U2, we can consider the instance with vertex set U2 \ U1

and s′ = w1 and t′ = v2. See Figure 2. There are O(n4) such instances (due to Proposition 1).For each such instance we compute a spanning tree and an LP solution (recursively), and wecombine these by dynamic programming.

The output of the dynamic program is a spanning tree (V, S) and an LP solution y. We setT := {v ∈ V : |δ(v) ∩ S| odd}△{s}△{t}, compute a cheapest T -join J , find an Eulerian trailfrom s to t in (V, S

.∪ J), and shortcut. To bound the cost of J we will show that (12 +O(2−k))y

is a parity correction vector, where k denotes the number of levels in our recursive dynamicprogram.

Before we get into the details, let us mention one more subtle point. The busy cuts of previouslevels can intersect several sub-instances. For a sub-instance on U2 \U1 with s′ = w1 and t′ = v2,we will only pass a busy cut C = δ(U) to this sub-instance if U1 ∪ {s′} ⊆ U ⊆ U2 \ {t′}. Forthe other busy cuts C (gray in Figure 1), the inequality x(C) ≥ 3 will follow automatically fromcombining the LP solutions returned by the sub-instances and the lonely edges.

3 The recursive dynamic program

In this section we describe the dynamic programming algorithm in detail. We call the algorithmrecursively with a fixed recursion depth k. We also fix coefficients λ1 > λ2 > · · · > λk > 0. Beforedescribing our algorithm, we first explain the role of these coefficients. Our dynamic programyields a spanning tree and an LP solution y1 such that λ1y1 is a parity correction vector, whereλ1 = 1

2 + O(2−k). The LP solution y1 will be a convex combination of LP solutions x∗1, . . . , x∗k

such thatλ1 · y1 = (λ1 − λ2)x

∗1 + · · · + (λk−1 − λk)x

∗k−1 + λkx

∗k. (4)

6

Page 7: Approaching 3 for the s t-path TSP - arXiv · s-t-path TSP), the classical algorithm achieves only the approximation ratio 5 3. Initiated by the work of An, Kleinberg, and Shmoys

s′ t′

Ws W Wt

Figure 3: The input to the dynamic program. The dashed lines are the cuts δ(Ws), and δ(Wt).The solid red lines indicate possible busy cuts, i.e. elements of B.

We will choose the coefficients λ1, . . . , λk such that λ1−λ2 =2k

Λ , λ2−λ3 =2k−1

Λ , . . . , λk−1−λk =2Λ , λk = 1

Λ for some constant Λ > 0. (See Table 2 for an example.) The coefficient λl is the totalfraction by which the LP solutions x∗l , . . . , x

∗k contribute to our parity correction vector. More

precisely, this contribution is

λl · yl = (λl − λl+1)x∗l + · · ·+ (λk−1 − λk)x

∗k−1 + λkx

∗k

for some LP solution yl. In our algorithm we will use the following recursive formula for ourparity correction vector λ1y1. We have yk = x∗k and for l = k − 1, . . . , 1

yl =λl − λl+1

λlx∗l + · · ·+

λl+1

λlyl+1.

We give the precise choice of the constants k and λi (i ∈ [k]) depending on ε in Section 4.

Now we describe the dynamic programming algorithm. The input to the dynamic program (seeFigure 3) consists of

• sets Ws,Wt ⊆ V with Ws ∩Wt = ∅;

• vertices s′, t′ ∈ W := V \ (Ws ∪Wt); note that s′ = t′ is possible;

• a collection B of busy (Ws ∪ {s′})-(Wt ∪ {t′})-cuts; and

• a level l ∈ [k].

The output of the dynamic program is

• a tree (W,S);

• a vector y ∈ RE≥0, which will contribute to the parity correction vector; and

• a chain L of (Ws ∪ {s′})-(Wt ∪ {t′})-cuts with |S ∩ C| = 1 for all C ∈ L.

We remark that for computing an s-t-tour it is sufficient to return the tree (W,S) and the costof the vector y. The chain L and the explicit vector y are added only for the purpose of analysis.

The dynamic programming algorithm first computes an optimum solution x∗ to the followinglinear program.

7

Page 8: Approaching 3 for the s t-path TSP - arXiv · s-t-path TSP), the classical algorithm achieves only the approximation ratio 5 3. Initiated by the work of An, Kleinberg, and Shmoys

min c(x)

s.t. x(δ(U)) ≥ 2 for ∅ 6= U ⊆ W \ {s′, t′}

x(δ(U)) ≥ 1 for {s′} ⊆ U ⊆ W \ {t′}

x(C) ≥ 3 for C ∈ B

x(e) ≥ 0 for e ∈ E[W ]

x(e) = 0 for e ∈ E \ E[W ].

(5)

The vector x∗ restricted to edges e ∈ E[W ] is a feasible solution of linear program (2) for theinstance of the metric s-t-path TSP with vertex set W and s = s′ and t = t′. It is still usefulthat x∗ is a vector in the entire space R

E because we will add vectors for different sub-instanceslater.

We consider the relevant set of narrow cuts

N :={

δ(U) : x∗(δ(U)) < 2,Ws ∪ {s′} ⊆ U ⊆ V \(

Wt ∪ {t′}) }

.

By Proposition 1, N forms a chain, i.e., there exist sets

Ws ∪ {s′} ⊆ X1 ⊂ X2 ⊂ · · · ⊂ Xm ⊆ V \(

Wt ∪ {t′})

such that N = {δ(Xi) : i ∈ [m]}.

If we have l = k, i.e. we are on the final level k, we return the vector y := x∗ and a minimumcost tree (W,S). Moreover, we return L = ∅.

Otherwise, i.e. if l < k, we will apply our algorithm recursively to all possible sub-instances thatcould occur by partitioning N into busy and lonely cuts and choosing lonely edges. Then wecombine these sub-instances optimally. There can be exponentially many ways to combine thesub-instances, but we can find an optimum combination by dynamic programming. We describethe dynamic program as a shortest path search in a directed auxiliary graph D. The vertices of Dcorrespond to the different states/table entries of the dynamic program and the arcs correspondto possible sub-instances. More precisely, we construct a directed auxiliary graph D with vertices

V (D) :={

(U, v,w) : δ(U) ∈ N , s′ ∈ U, v ∈ U ∩W,w ∈ W \ U} .∪{

(Ws, ∅, s′), (V \Wt, t

′, ∅)}

and arcs

E(D) :={

((U1, v1, w1), (U2, v2, w2)) : U1 ⊂ U2, w1, v2 ∈ U2 \ U1

}

.

Figure 2 illustrates the sets and vertices defining an arc a ∈ E(D). Every (Ws, ∅, s′)-(V \

Wt, t′, ∅)-path in the auxiliary digraph D corresponds to a possible combination of sub-instances

(corresponding to the arcs of the path) or, equivalently, to a possible guess of lonely cuts andlonely edges (corresponding to the inner vertices of the path).

8

Page 9: Approaching 3 for the s t-path TSP - arXiv · s-t-path TSP), the classical algorithm achieves only the approximation ratio 5 3. Initiated by the work of An, Kleinberg, and Shmoys

V0 Vm+1V1 V2 Vm−1 Vm

s′=v0 t′=vm+1

. . .f1 f2 fm−1 fm

v1 w1 v2 w2 vm−1 wm−1 vm wm

Ws W Wt

Figure 4: The dashed lines show the cuts δ(Vj) for j = 0, 1, . . . ,m + 1, where the sets Vj arethe sets left of the dashed lines. The partition of the vertex set into Ws, Wt and W isshown at the bottom of the picture. The edges fj are drawn in green. We remark thatthe vertices wj and vj+1 might be identical for j = 0, 1, . . . ,m.

The next step of the algorithm is to compute weights for the arcs of the digraph D. For an arc

a = ((U1, v1, w1), (U2, v2, w2)) ∈ E(D)

we defineBa :=

{

δ(U) ∈ N ∪ B : U1 ∪ {w1} ⊆ U ⊆ U2 \ {v2}}

.

We call the dynamic program with

• Ws = U1 and Wt = V \ U2,

• s′ = w1 and t′ = v2,

• B = Ba, and

• the level l + 1.

Let the output of this application of the dynamic program be the tree (U2 \ U1, Sa), the vector

ya ∈ RE≥0, and the chain La of cuts C. Then we define the cost of the arc a ∈ E(D) to be

d(a) :=

c (Sa) + λl+1 · c (ya) + (1 + λl+1) · c(v2, w2), if w2 6= ∅

c (Sa) + λl+1 · c (ya) , if w2 = ∅.

(6)

Before we explain the reason for choosing the arc costs like this, we complete the description ofour algorithm.

We compute a shortest (Ws, ∅, s′)-(V \Wt, t

′, ∅)-path P in the auxiliary digraph D with respectto the arc costs d. Let (Ws, ∅, s

′) = (V0, v0, w0), (V1, v1, w1), (V2, v2, w2), . . . , (Vm, vm, wm),(Vm+1, vm+1, wm+1) = (V \Wt, t

′, ∅) be the vertices of the path P visited in exactly this order(see Figure 4). We denote the arcs of P by

aj := ((Vj , vj , wj), (Vj+1, vj+1, wj+1)) (j = 0, . . . ,m).

9

Page 10: Approaching 3 for the s t-path TSP - arXiv · s-t-path TSP), the classical algorithm achieves only the approximation ratio 5 3. Initiated by the work of An, Kleinberg, and Shmoys

Moreover, for every j ∈ [m] let fj := {vj , wj}.

We combine the spanning trees of the sub-instances and the guessed lonely edges to a spanningtree S on the entire set W :

S := {e ∈ Sa : a ∈ E(P )} ∪ {fj : j ∈ [m]} .

Similarly we combine the LP solutions: let

y′ :=∑

a∈E(P )

ya +∑

j∈[m]

χfj ,

where χfj is the incidence vector of fj (i.e., χfjfj

= 1 and χfje = 0 for e ∈ E \ {fj}).

Define y to be the following convex combination of x∗ and y′:

y :=λl − λl+1

λl· x∗ +

λl+1

λl· y′.

We set

L := {C : C ∈ La for some a ∈ E(P )} ∪ {δ(Vj) : j ∈ [m]}

and return the edge set S, the vector y and the set L.

We can now give intuition for the arc costs d. The contribution of arc a = ((U1, v1, w1), (U2, v2, w2))of P to the spanning tree S consists of Sa and the edge {v2, w2} (if w2 6= ∅). The contributionto the parity correction vector is λl+1(y

a + χ{v2,w2}) because λl+1 is the total fraction by whichthe LP solutions of levels l + 1, . . . , k contribute to our parity correction vector. See (4).

4 Properties of the dynamic program

In this section we show several important properties of the output of the dynamic program. Weshow all these properties by induction on k − l, i.e. to prove them we assume that they hold forall levels l′ with l < l′ ≤ k. First, we show that the set L of all guessed lonely cuts (in all levels)forms a chain.

Lemma 2

L is a chain of (Ws ∪ {s′})-(Wt ∪ {t′})-cuts.

Proof. If l = k, we have L = ∅. So we may assume l < k. If a cut C belongs to L, it is a cutδ(Vj) for some j ∈ [m] or is contained in La for some a ∈ E(P ). Recall that

Ws = V0 ⊂ V1 ⊂ V2 ⊂ · · · ⊂ Vm ⊂ Vm+1 = V \Wt.

10

Page 11: Approaching 3 for the s t-path TSP - arXiv · s-t-path TSP), the classical algorithm achieves only the approximation ratio 5 3. Initiated by the work of An, Kleinberg, and Shmoys

Moreover, all cuts δ(Vj) for j ∈ [m] are in the set N of narrow cuts, which implies

Ws ∪ {s′} ⊆ Vj ⊆ V \(

Wt ∪ {t′})

.

Now consider the cuts Laj for j ∈ {0, 1, . . . ,m}. By induction on k− l, the cuts in Laj are a chainof cuts of the form δ(U) for a set U with Vj∪{wj} ⊂ U ⊂ Vj+1 \{vj+1}. Since s′ ∈ Vj∪{wj} andt′ /∈ Vj+1 \ {vj+1}, these cuts are (Ws ∪ {s′})-(Wt ∪ {t′})-cuts. Moreover, {δ(Vj) : j ∈ [m]} ⊆ Nremains a chain when adding the sets La for all a ∈ E(P ). �

Next, we show that each of our guessed lonely edges belongs to only one guessed lonely cut.

Lemma 3

For l < k, an edge fj with j ∈ [m] is not contained in any cut C ∈ La for a ∈ E(P ).

Proof. Assume an edge fj for j ∈ [m] is contained in a cut C ∈ La for some a ∈ E(P ). As theedge fj is contained in neither δ(Vj−1) nor δ(Vj+1), one endpoint is in Vj \ Vj−1 and the otherendpoint is in Vj+1 \ Vj. Using Lemma 2, this implies a = aj−1 or a = aj. If a = aj−1, theendpoint vj of fj is contained in Vj and plays the role of t′ in the dynamic program computingthe tree Sa. This implies by Lemma 2 that for a cut C ∈ La we have C = δ(U) for some U withVj−1 ⊆ U ⊆ Vj \ {vj}, and hence fj 6∈ C = δ(U). For the case a = aj a symmetric argumentshows fj 6∈ C for C ∈ Laj . �

Now we show that we indeed construct a spanning tree that crosses the guessed lonely cuts onlyonce.

Lemma 4

The graph (W,S) is a tree. For every cut C ∈ L we have |S ∩ C| = 1.

Proof. For level l = k the chain L is empty, and hence the statement is trivial. So assume l < k.

By the construction of the digraph D we have Ws = V0 ⊂ V1 ⊂ V2 ⊂ · · · ⊂ Vm ⊂ Vm+1 = V \Wt.We have fj ∈ δ(Vj) and fj 6∈ δ(Vh) for h 6= j. By induction, (Vj+1 \ Vj, S

aj ) is a tree for everyj ∈ {0, 1, . . . ,m}. The edges fj (for j ∈ [m]) connect these trees to a tree spanning W . Weobserve that S ∩ δ(Vj) = {fj} for every Vj with j ∈ [m].

By induction we have |Sa ∩ C| = 1 for all a ∈ E(P ) and C ∈ La. Moreover, note that edges ofSa are not contained in any cut C ∈ L \ La. As observed above, the tree (W,S) is constructedsuch that S ∩ δ(Vj) = {fj} for every j ∈ [m]. Thus, it only remains to show that an edge fj forj ∈ [m] can not be contained in a cut C ∈ La for any a ∈ E(P ) which is precisely the statementof Lemma 3. �

Now we bound the cost of the spanning tree S and the contribution λl ·y to the parity correctionvector.

11

Page 12: Approaching 3 for the s t-path TSP - arXiv · s-t-path TSP), the classical algorithm achieves only the approximation ratio 5 3. Initiated by the work of An, Kleinberg, and Shmoys

Lemma 5

For levels l < k the cost d(P ) of the path P equals the cost c(S) + λl+1 · c(y′) of the tree S and

the vector λl+1 · y′.

Proof. We have

c(S) =∑

a∈E(P )

c(Sa) +

m∑

j=1

c(fj),

and

λl+1 · c(y′) = λl+1 ·

a∈E(P )

c (ya) + λl+1 ·m∑

j=1

c(fj).

Together with the definition (6) of the arc cost in D this shows d(P ) = c(S) + λl+1 · c(y′). �

We fix an optimum s-t-tour H. We say an input Ws,Wt, s′, t′,B to the dynamic program is

consistent with the tour H if H (traversed from s to t) visits s′ before t′ and the s′-t′-path in Hcontains exactly the vertices in V \ (Ws ∪Wt) and |H ∩C| 6= 1 for every cut C ∈ B. We say thata path P̄ in the auxiliary digraph D is consistent with the tour H if

• δ(U) ∩H = {{v,w}} for every (U, v,w) ∈ Vin(P̄ ), and

• for every cut C ∈ N \ {δ(U) : (U, v,w) ∈ Vin(P̄ )} we have |H ∩ C| 6= 1,

where Vin(P̄ ) denotes the set of inner vertices of the path P̄ . Note that for parity reasons|H ∩ C| 6= 1 implies |H ∩ C| ≥ 3 for every s-t-cut C.

We denote by H[s′,t′] the edge set of the unique path from s′ to t′ that is contained in the path(V,H).

Lemma 6

If the input to the dynamic program is consistent with the tour H, we have

c(S) + λl · c(y) ≤ (1 + λl) · c(

H[s′,t′]

)

.

Proof. If the input of the dynamic program is consistent with the tour H, the incidence vectorof H[s′,t′] is a feasible solution to the linear program (5) and thus

c(x∗) ≤ c(

H[s′,t′]

)

. (7)

For l = k we therefore have c(y) = c(x∗) ≤ c(H[s′,t′]); moreover (W,H[s′,t′]) is a tree and thereforewe have c(S) ≤ c(H[s′,t′]).

Now assume l < k. Let P̄ be the unique (Ws, ∅, s′)-(V \Wt, t

′, ∅)-path in D whose set of innervertices is exactly the set of vertices (U, v,w) ∈ V (D) with {{v,w}} = H ∩ δ(U). Then P̄ is

12

Page 13: Approaching 3 for the s t-path TSP - arXiv · s-t-path TSP), the classical algorithm achieves only the approximation ratio 5 3. Initiated by the work of An, Kleinberg, and Shmoys

consistent with the tour H.

For a = ((U1, v1, w1), (U2, v2, w2)) ∈ E(P̄ ) let sa := w1 and ta := v2. The tour H is the disjointunion of the H[sa,ta] for a ∈ E(P̄ ) and the edges {v,w} for (U, v,w) ∈ Vin(P̄ ). By induction onk − l, we have

c (Sa) + λl+1 · c (ya) ≤ (1 + λl+1) · c

(

H[sa,wa]

)

.

Hence,

d(P̄ ) =∑

a∈E(P̄ )

c (Sa) + λl+1

a∈E(P̄ )

c (ya) + (1 + λl+1)∑

(U,v,w)∈Vin(P̄ )

c(v,w)

≤∑

a∈E(P̄ )

(1 + λl+1) · c(

H[sa,ta]

)

+∑

(U,v,w)∈Vin(P̄ )

(1 + λl+1) · c(v,w)

= (1 + λl+1) · c(

H[s′,t′]

)

.

Using Lemma 5 and the fact that P is no longer than P̄ we get

c(S) + λl+1 · c(y′) = d(P ) ≤ d(P̄ ) ≤ (1 + λl+1) · c

(

H[s′,t′]

)

.

Using also (7) andλl · y = λl+1 · y

′ + (λl − λl+1) · x∗

we get

c(S) + λl · c(y) = c(S) + λl+1 · c(y′) + (λl − λl+1) · c(x

∗)

≤ (1 + λl+1) · c(

H[s′,t′]

)

+ (λl − λl+1) · c(

H[s′,t′]

)

= (1 + λl) · c(

H[s′,t′]

)

.

The remaining lemmas of this section will be needed to prove that we obtain a feasible paritycorrection vector.

Lemma 7

If l < k, the support of the vector y′ is a subset of E[W ] and we have y′(δ(Vj)) = 1 for every cutδ(Vj) with j ∈ [m].

Proof. The vector y′ is defined as the sum of vectors with support contained in E[W ]. Thus,also the support of y′ is a subset of E[W ]. Next, we prove y′(δ(Vj)) = 1 for every cut δ(Vj)with j ∈ [m]. We have E(P ) = {aj : j ∈ {0, 1, . . . ,m}} and for every edge aj the support ofyaj is contained in E[Vj+1 \ Vj ]. Thus, for every pair of indices j, r ∈ {0, 1, . . . ,m} we haveyaj (δ(Vr)) = 0. As an edge fr is contained in δ(Vr), but not in any other cut δ(Vj) with j 6= r,we have y′(δ(Vj)) = y′(fj) = 1. �

13

Page 14: Approaching 3 for the s t-path TSP - arXiv · s-t-path TSP), the classical algorithm achieves only the approximation ratio 5 3. Initiated by the work of An, Kleinberg, and Shmoys

δ(Vjmin) δ(Vjmin+1) δ(Vjmax

) δ(Vjmax+1)

U

Figure 5: The picture illustrates the definition of jmin and jmax. The dashed lines show thecuts written below. The indices jmin and jmax are chosen such that the two light bluesubsets are both nonempty.

Lemma 8

The vector y′ (for l < k) and the vector y are feasible solutions to the following linear program:

min c(x)

s.t. x(δ(U)) ≥ 2 for ∅ 6= U ⊆ W \ {s′, t′}

x(δ(U)) ≥ 1 for {s′} ⊆ U ⊆ W \ {t′}

x(e) ≥ 0 for e ∈ E[W ]

x(e) = 0 for e ∈ E \ E[W ].

(8)

Proof. The vector x∗ is a feasible solution to the linear program (5), and hence, also a solutionto (8). If l = k, we have y = x∗, completing the proof for this case. We now assume l < k andshow, that also y′ is a solution to (8). As y is a convex combination of x∗ and y′, this impliesthe statement of the Lemma.

The vector y′ is defined as the sum of nonnegative vectors with support contained in E[W ], soy′ ≥ 0 and y′(e) = 0 for e ∈ E \ E[W ]. It remains to check the cut constraints.

First consider δ(U) with {s′} ⊆ U ⊆ W \ {t′}. If there exists an index j ∈ {0, 1, . . . ,m} suchthat (Vj+1 \Vj)∩U and (Vj+1 \Vj)\U are both not empty, we have y′(δ(U)) ≥ yaj (δ(U)) ≥ 1 byinduction. Otherwise, there exists an index j ∈ [m] such that δ(U) separates the sets Vj+1 \ Vj

and Vj \ Vj−1. Then, the edge fj is contained in δ(U), implying y′(δ(U)) ≥ χfj(C) ≥ 1.

Now consider δ(U) with ∅ 6= U ⊆ W \ {s′, t′}.

Let jmin ∈ {0, 1, . . . m} be the minimal index such that (Vjmin+1 \ Vjmin) ∩ U is nonempty and

jmax ∈ {0, 1, . . . m} the maximal index such that (Vjmax+1 \ Vjmax) ∩ U is nonempty (see Figure

5).

If wjminis not contained in U (Figure 6 (a)), the set (Vjmin+1 \ Vjmin

) \U is nonempty, and thus,we have yajmin (δ(U)) ≥ 1. This shows

yajmin (δ(U)) + |{wjmin} ∩ U | ≥ 1. (9)

14

Page 15: Approaching 3 for the s t-path TSP - arXiv · s-t-path TSP), the classical algorithm achieves only the approximation ratio 5 3. Initiated by the work of An, Kleinberg, and Shmoys

U UUU

(a) (b) (c) (d)

fjminfjmax+1

δ(Vjmax) δ(Vjmax+1) δ(Vjmax

) δ(Vjmax+1)δ(Vjmin)δ(Vjmin+1)δ(Vjmin

) δ(Vjmin+1)

vjmax+1

vjmax+1

wjmin

wjmin

Figure 6: Different cases occurring in the proof of Lemma 8. The dashed vertical lines indicatethe cuts written below. The set U is shown in blue. The light blue subset is nonempty.

Similarly, if vjmax+1 is not contained in U (Figure 6 (d)), we have yajmax (δ(U)) ≥ 1. This shows

yajmax (δ(U)) + |{vjmax+1} ∩ U | ≥ 1. (10)

If |{wjmin} ∩ U | = 1, we have jmin 6= 0 and χfjmin (δ(U)) = 1 (Figure 6 (b)). If |{vjmax+1} ∩ U | = 1,

we have jmax < m and χfjmax+1(δ(U)) = 1 (Figure 6 (c)). As we have jmin ≤ jmax < jmax+1 theedges fjmin

(for jmin > 0) and fjmax+1 (for jmax < m) are distinct edges. Thus, unless jmax = jmin

and|{wjmin

} ∩ U | = |{vjmax+1} ∩ U | = 0,

the inequalities (9) and (10) imply y′(δ(U)) ≥ 2.

So it remains to consider the case when U is a subset of Vjmax+1 \ Vjmax= Vjmin+1 \ Vjmin

andcontains neither wjmin

nor vjmax+1. But then

y′(δ(U)) ≥ yajmax (δ(U)) ≥ 2.

The next lemma will be used to prove that busy cuts C guessed on levels l < l have a sufficientlylarge LP value y(C). The first part (11) of the lemma will be applied to guessed busy cutsactually passed to the dynamic program on the current level l. (These are the red (denselydotted) busy cuts in Figure 1.) The second part (12) of the lemma will be used to show that itis indeed sufficient to pass only guessed busy cuts δ(U) with U1 ∪ {w1} ⊆ U ⊆ U2 \ {v2}, i.e., wedo not need to pass the gray (loosely dotted) busy cuts in Figure 1 to the next level.

Lemma 9

For every cut C ∈ B we have

y(C) ≥ 3. (11)

15

Page 16: Approaching 3 for the s t-path TSP - arXiv · s-t-path TSP), the classical algorithm achieves only the approximation ratio 5 3. Initiated by the work of An, Kleinberg, and Shmoys

UU

(a) (b)

fj fj+1

δ(Vj) δ(Vj+1)δ(Vj) δ(Vj+1)

vj+1wj

Figure 7: Different situations occurring in Case 1 of the proof of Lemma 9. The picture (a) showsthe situation where wj 6∈ U . Then j 6= 0 and fj ∈ δ(U). The picture (b) shows thesituation where vj+1 ∈ U . Then j 6= m and fj+1 ∈ δ(U).

For every U with Ws ⊂ U ⊂ V \Wt with s′ /∈ U or t′ ∈ U we have

y(δ(U)) + |{s′} \ U |+ |{t′} ∩ U | ≥ 3. (12)

Proof. We first show (12). For Ws ⊂ U ⊂ V \Wt we have by Lemma 8 that y(δ(U)) ≥ 1, and ifs′, t′ ∈ U or s′, t′ /∈ U we have y(δ(U)) ≥ 2.

To prove (11) we again use induction on k−l. For k = l we have y = x∗ and the claimed inequalityfollows from the LP constraints (5). Let now l < k. We fix a busy cut C = δ(U) ∈ B withWs ⊂ U ⊂ V \Wt. Note that s′ ∈ U and t′ /∈ U , because busy cuts are (Ws∪{s′})-(Wt∪{t′})-cuts.We will show

y′(δ(U)) ≥ 3. (13)

As we have x∗(C) ≥ 3 by the LP constraints (5) and y is a convex combination of y′ and x∗, thiswill complete the proof. To show (13), we consider two cases.

Case 1: Vj ⊂ U ⊂ Vj+1 for some j ∈ {0, . . . ,m}.

We pass C as a busy cut to the next level, i.e. we have C ∈ Baj , or we have wj 6∈ U or vj+1 ∈ U .If C ∈ Baj , we apply the induction hypothesis (11) to the sub-instance corresponding to aj ,which implies (13) by the definition of y′. Otherwise we use (12) and get

yaj (C) + |{wj} \ U |+ |{vj+1} ∩ U | ≥ 3.

Recall that we have w0 = s ∈ U and vm+1 = t /∈ U . If |{wj}\U | = 1, then j 6= 0 and χfj(C) = 1.If |{vj+1} ∩ U | = 1, then j 6= m and χfj+1(C) = 1. See Figure 7. This implies (13) by thedefinition of y′.

Case 2: Vj ⊂ U ⊂ Vj+1 holds for no j ∈ {0, . . . ,m}.

Then the cut C must cross some cut δ(Vj) with j ∈ [m], i.e. U \ Vj and Vj \ U are nonempty(see Figure 8). Recall that s′ ∈ Vj ∩ U and t′ 6∈ Vj ∪ U .

16

Page 17: Approaching 3 for the s t-path TSP - arXiv · s-t-path TSP), the classical algorithm achieves only the approximation ratio 5 3. Initiated by the work of An, Kleinberg, and Shmoys

U

C = δ(U)

s′

t′

Vj

Figure 8: Case 2 of the proof of Lemma 9, where the busy cut C is crossing the cut δ(Vj), i.e.the two light blue sets U \ Vj and Vj \ U are nonempty.

Since neither s′ nor t′ is contained in Vj \ U , we have by Lemma 8

y′(δ(Vj \ U)) ≥ 2.

Similarly neither s′ nor t′ is contained U \ Vj and we have by Lemma 8 that

y′(δ(U \ Vj)) ≥ 2.

Now by Lemma 7, we have y′(δ(Vj)) = 1. Hence,

y′(δ(U)) + 1 = y′(δ(U)) + y′(δ(Vj)) ≥ y′(δ(Vj \ U)) + y′(δ(U \ Vj)) ≥ 4.

This shows (13). �

We now fix the constants λ1, . . . , λk. We set the scaling constant Λ to be Λ := 2k+1 − 3. Forl ∈ [k] we set

λl :=2k−l+1 − 1

Λ.

Let 0 < ε ≤ 12 . We choose the recursion depth k to be

k := ⌈log2 (1/ε)⌉ .

Then we have k ≥ log2(

32 +

14ε

)

and thus,

λ1 =2k − 1

Λ=

2k − 1

2k+1 − 3=

1

2+

1/2

2k+1 − 3≤

1

2+

1

4 ·(

32 + 1

)

− 6=

1

2+ ε.

Now we prove that every cut C with a “small” LP value y(C) is a guessed lonely cut. (UsingLemma 4, we will get that the guessed lonely cuts are no T -cuts and thus these cuts are notrelevant for showing that we obtain a feasible parity correction vector.)

17

Page 18: Approaching 3 for the s t-path TSP - arXiv · s-t-path TSP), the classical algorithm achieves only the approximation ratio 5 3. Initiated by the work of An, Kleinberg, and Shmoys

Lemma 10

If y(C) < 2− 1Λ·λl

for some (Ws ∪ {s′})-(Wt ∪ {t′})-cut C, then C ∈ L.

Proof. If l = k, we have y(C) ≥ 1 = 2− 1Λ·λk

by Lemma 8. Let now l < k.

Let C = δ(U) with Ws ∪ {s′} ⊆ U ⊆ V \ (Wt ∪ {t′}) and y(C) < 2 − 1Λ·λl

. By Lemma 8, thevector y is a feasible solution to the linear program (8). Hence, the set

Ny :={

δ(U ′) : y(δ(U ′)) < 2,Ws ∪ {s′} ⊆ U ′ ⊆ V \ (Wt ∪ {t′})}

of narrow cuts is a chain (by Proposition 1). By definition of the sets Vj, all cuts δ(Vj) (forj ∈ [m]) are contained in the set N of narrow cuts of the vector x∗. In particular, we havex∗(δ(Vj)) < 2. By Lemma 7, we have y′(δ(Vj)) = 1. As y is a convex combination of x∗ and y′,this shows y(δ(Vj)) < 2, and thus, δ(Vj) ∈ Ny for all j ∈ [m]. From this we can conclude thateither C = δ(Vj) for some j ∈ [m], or Vj ⊂ U ⊂ Vj+1 for some j ∈ {0, 1, . . . ,m}.

If C = δ(Vj) for some j ∈ [m], we have C ∈ L by construction of L. Otherwise, we haveVj ⊂ U ⊂ Vj+1 for some j ∈ {0, 1, . . . ,m}. We distinguish two cases.

Case 1: C /∈ N and wj ∈ U and vj+1 /∈ U .

If C ∈ Laj , we have C ∈ L. Otherwise we have yaj (C) ≥ 2 − 1Λ·λl+1

by induction. Moreover,

x∗(C) ≥ 2. As

y =λl − λl+1

λl· x∗ +

λl+1

λl· y′,

this implies

y(C) ≥λl − λl+1

λl· 2 +

λl+1

λl·

(

2−1

Λ · λl+1

)

= 2 −1

Λ · λl.

Case 2: C ∈ N or wj /∈ U or vj+1 ∈ U .

Then C ∈ Baj or wj /∈ U or vj+1 ∈ U . By Lemma 9 applied to this call of the dynamic program,we have

yaj (C) + |{wj} \ U |+ |{vj+1} ∩ U | ≥ 3.

If |{wj} \U | = 1, then j 6= 0 and χfj(C) = 1. If |{vj+1} ∩U | = 1, then j 6= m and χfj+1(C) = 1.Thus,

y′(C) ≥ 3.

18

Page 19: Approaching 3 for the s t-path TSP - arXiv · s-t-path TSP), the classical algorithm achieves only the approximation ratio 5 3. Initiated by the work of An, Kleinberg, and Shmoys

By the LP constraints (5), we have x∗(C) ≥ 1, and hence,

y(C) ≥λl − λl+1

λl· x∗(C) +

λl+1

λl· y′(C)

≥λl − λl+1

λl+ 3 ·

λl+1

λl

= 2 +2 · λl+1 − λl

λl

= 2 +2 ·

(

2k−l − 1)

−(

2k−l+1 − 1)

Λ · λl

= 2−1

Λ · λl.

5 The approximation ratio 3

2+ ε

In this section we prove the approximation ratio of 32 + ε for any fixed ε > 0. Let S∗ be the

spanning tree, y∗ ∈ RE the parity correction vector, and L∗ the chain of cuts returned by the

dynamic program with input Ws = Wt = ∅, s′ = s, t′ = t, B = ∅, and level l = 1.

Lemma 11

If OPT denotes the cost of an optimum s-t-tour, we have

c(S∗) + λ1 · c(y∗) ≤

(

3

2+ ε

)

· OPT.

Proof. The input of the dynamic program computing S∗ and y∗ is consistent with any s-t-tour,in particular with an optimum s-t-tour H Thus, we get from Lemma 6 that

c(S∗) + λ1 · c(y∗) ≤ (1 + λ1) · c(H).

By the choice of k we have

1 + λ1 ≤ 1 +1

2+ ε =

3

2+ ε,

implying

c(S∗) + λ1 · c(y∗) ≤

(

3

2+ ε

)

· OPT.

19

Page 20: Approaching 3 for the s t-path TSP - arXiv · s-t-path TSP), the classical algorithm achieves only the approximation ratio 5 3. Initiated by the work of An, Kleinberg, and Shmoys

Lemma 12

ForT = {v ∈ V : |δ(v) ∩ S∗| odd}△{s}△{t}

the vector λ1 · y∗ is contained in the T -join polyhedron

{x ∈ RE≥0 : x(δ(U)) ≥ 1 for |U ∩ T | odd, ∅ 6= U ⊂ V }.

Proof. From Lemma 4 we get that |S∗ ∩ C| = 1 for every cut C ∈ L∗. Moreover, we have thatall cuts C ∈ L∗ are s-t-cuts. Thus, none of the cuts in L∗ is a T -cut, i.e. we have |U ∩ T | evenfor every cut δ(U) ∈ L∗. Hence, it suffices to show y∗(C) ≥ 1 for all cuts C 6∈ L∗. Consider sucha cut C. By Lemma 10, we have y∗(C) ≥ 2− 1

Λ·λ1. Thus,

λ1 · y∗(C) ≥ 2 · λ1 −

1

Λ= 2 ·

2k − 1

Λ−

1

Λ=

2k+1 − 3

Λ= 1.

Theorem 13

Let 0 < ε ≤ 12 . Denote by p(n, k) an upper bound on the time needed to solve a linear program (5)

with |V | = n and |B| ≤ k · n. Then there exists a(

32 + ε

)

-approximation algorithm with runtime

O(

n6⌈log2(1/ε)⌉ · p (n, ⌈log2(1/ε)⌉))

.

Proof. We call the dynamic programming algorithm with level l = 1, Ws = ∅, Wt = ∅, s′ = s,t′ = t, and B = ∅. Let (V, S∗) be the returned spanning tree and y∗ the returned parity correctionvector. We set T := {v ∈ V : |δ(v) ∩ S∗| odd}△{s}△{t}, compute a cheapest T -join J and anEulerian trail in (V, S∗

.∪ J), and shortcut. By Lemma 12 the cost c(S∗) + c(J) is at most

c(S∗) + c(y∗). By Lemma 11 this is at most(

32 + ε

)

· OPT, where OPT denotes the cost of anoptimum s-t-tour.

Calling the dynamic program with level l = k requires solving the linear program (5) once. Forl < k, the digraph D has at most n3 vertices (because there are at most n− 1 narrow cuts), andhence at most n6 edges. Thus, calling the dynamic program with level l < k requires solving thelinear program (5) once, computing the narrow cuts (cf. Proposition 1), and calling at most n6

times the dynamic program with level l+1. In every recursion step we add only (a subset of the)narrow cuts of the computed LP solution to the set B. As the narrow cuts form a chain, theseare at most n cuts. Thus, for the recursion depth k = ⌈log2 (1/ε)⌉ we have |B| ≤ ⌈log2 (1/ε)⌉ · n.The runtime is dominated by solving one LP and calling the dynamic program at most n6

times recursively. If we denote by tl the maximum runtime of the dynamic program on level l(including recursive calls), then tk ≤ p (n, ⌈log2(1/ε)⌉) and tl = O

(

p (n, ⌈log2(1/ε)⌉) + n6 · tl+1

)

for 1 ≤ l < k. By induction on k − l, we obtain a runtime of tl = O(

n6(k−l) · p (n, ⌈log2(1/ε)⌉))

.�

One can improve the n6⌈log2(1/ε)⌉ bound to n4⌈log2(1/ε)⌉ by observing that there are at most n4

20

Page 21: Approaching 3 for the s t-path TSP - arXiv · s-t-path TSP), the classical algorithm achieves only the approximation ratio 5 3. Initiated by the work of An, Kleinberg, and Shmoys

sub-instances of any instance. Note that p(n, k) can be chosen as a polynomial because the busycut constraints can be checked explicitly, and the separation problem for the other cut constraintsreduces to O(n) minimum cut computations. Hence, we have a polynomial-time algorithm forany fixed ε > 0.

We remark that we do not need the explicit LP solutions for our algorithm. The only propertieswe use from the LP solutions are the LP value and the set of narrow cuts.

Acknowledgements

We thank the anonymous reviewers for their helpful comments and suggestions.

References

[1] An, H.-C., Kleinberg, R., and Shmoys, D.B. [2015]: Improving Christofides’ algorithm forthe s-t path TSP. Journal of the ACM 62 (2015), Article 34

[2] Christofides, N. [1976]: Worst-case analysis of a new heuristic for the traveling salesmanproblem. Technical Report 388, Graduate School of Industrial Administration, Carnegie-Mellon University, Pittsburgh 1976

[3] Edmonds, J., and Johnson, E.L. [1973]: Matching, Euler tours and the Chinese postman.Mathematical Programming 5 (1973), 88–124

[4] Goemans, M.X., and Bertsimas, D.J. [1993]: Survivable networks, linear programmingrelaxations and the parsimonious property. Mathematical Programming 60 (1993), 145–166

[5] Gottschalk, C., and Vygen, J. [2018]: Better s-t-tours by Gao trees. Mathematical Pro-gramming B 172 (2018), 191–207

[6] Held, M., and Karp, R.M. [1970]: The traveling-salesman problem and minimum spanningtrees. Operations Research 18 (1970), 1138–1162

[7] Hoogeveen, J.A. [1991]: Analysis of Christofides’ heuristic: some paths are more difficultthan cycles. Operations Research Letters 10 (1991), 291–295

[8] Lovász, L. [1976]: On some connectivity properties of Eulerian graphs. Acta MathematicaAcademiae Scientiarum Hungaricae 28 (1976), 129–138

[9] Monma, C.L., Munson, B.S., and Pulleyblank, W.R. [1990]: Minimum-weight two-connected spanning networks. Mathematical Programming 46 (1990), 153–171

[10] Sebő, A. [2013]: Eight fifth approximation for TSP paths. In: Integer Programmingand Combinatorial Optimization; Proceedings of the 16th IPCO Conference; LNCS 7801(J. Correa, M.X. Goemans, eds.), Springer 2013, pp. 362–374

21

Page 22: Approaching 3 for the s t-path TSP - arXiv · s-t-path TSP), the classical algorithm achieves only the approximation ratio 5 3. Initiated by the work of An, Kleinberg, and Shmoys

[11] Sebő, A., and van Zuylen, A. [2019]: The salesman’s improved paths trough forests. Journalof the ACM 66 (2019), Article 28

[12] Serdjukov, A.I. [1978]: Some extremal bypasses in graphs [in Russian]. UpravlyaemyeSistemy 17 (1978), 76–79

[13] Traub, V., and Vygen, J. [2019]: An improved upper bound on the integrality ratio for thes-t-path TSP. Operations Research Letters 47 (2019), 225–228

[14] Vygen, J. [2016]: Reassembling trees for the traveling salesman. SIAM Journal on DiscreteMathematics 30 (2016), 875–894

[15] Wolsey, L.A. [1980]: Heuristic analysis, linear programming and branch and bound. Math-ematical Programming Study 13 (1980), 121–134

[16] Zenklusen, R. [2019]: A 1.5-approximation for path TSP. Proceedings of the 30th ACM-SIAM Symposium on Discrete Algorithms (SODA 2019), 1539–1549

22