Sei sulla pagina 1di 25

A New Approximation Algorithm for the

Asymmetric TSP with Triangle Inequality


By Markus Blaser

Presented By:
Chris Standish
chriss@cs.tamu.edu
23 November 2005

1
Outline
Problem Definition

Friezes Generic Algorithm of 1982

Bottleneck in Friezes Algorithm

LP Formulation for Cycle Covers

Blasers Generic Algorithm of 2003

Dealing with Fractional LP Fractional Solutions

Discussion and Homework

2
The Asymmetric Minimum TSP
The Asymmetric Minimum Traveling Salesman Problem (ATSP) is:

Problem 1 Asymmetric Minimum TSP

Given: A complete, directed, edge-weighted graph G(V, E), without self-loops,


and an edge weight function w which satisfies the triangle inequality, and
which is asymmetric, and non-negative.

Find: A Hamiltonian tour of G of minimum weight.

A weight function w : E Q0 which satisfies the triangle inequality


means that:

w(u, v) w(u, x) + w(x, v) for all distinct u, x, v V .

An asymmetric weight function w is such that w(u, v) 6= w(v, u).


We will abbreviate w(u, v) as wuv

If we consider this problem defined with an arbitrary weight function then


this problem is NPO-complete. So we dont expect to be able to find a PTAS
unless P = NP [1].

3
Definitions
Frieze, et. al. [2] developed an algorithm in 1982 that, until now, has had
the best approximation ratio for minimum ATSP.

But first we need some definitions:

k-cycle - A cycle is called a k-cycle if is has length exactly k.


cycle cover - A cycle cover of a directed graph G is a set of directed simple
cycles such that each node is part of exactly one cycle, i.e., the set of
cycles spans the graph.
k-cycle cover - A cycle cover C is called a k-cycle cover if each cycle in
C has length at least k.
cycle cover weight - Let C = {C1 , C2 , . . .P
, Ct } be a cycle cover. Then the
t
P cover is w(C) = i=1 w(Ci)
weight of the cycle
where w(Ci) = (u,v)Ci wuv
partial cycle cover - If C is a collection of node disjoint cycles, but not a
spanning one, then C is called a partial cycle cover.

4
Friezes Algorithm
Freizes generic algorithm [3] to find an approximate minimum-weighted tour
can be described as:

Algorithm 1 Generic ATSP

Step 1) Create a minimum weight cycle cover C for the graph G

Step 2) For each cycle in C remove a maximum-weighted edge to form a set of


vertex disjoint paths P .

Step 3) Patch together the resulting set of paths in P to produce a tour T of G

The algorithm has a performance ratio of 1 log n. That is, it always delivers
a solution which is at most 1 log n times the weight of an optimal solution
[2].

The goal of this paper is to show that this threshold is not tight. The paper
gives an algorithm with a 0.999 log n performance ratio.

5
An Example

A PARTIAL 2CYCLE COVER A TOUR

Figure 1: Constructing a tour. Most edges are not shown for clarity.

6
Bottleneck in the Generic Algorithm
Notice that if we could construct a n2 -cycle cover we can find an optimal
tour directly. So why dont we?

The problem with the above algorithm is the difficulty of computing a


minimum weight cycle cover.
In fact, computing a minimum weight 3-cycle cover is APX-hard, even
if the weight function satisfies the triangle inequality [4].
This paper adapts Friezes algorithm to find a good partial cycle cover
instead of a cycle cover.

7
Computing Cycle Covers
The problem of computing a minimum weight cycle cover can be solved by
a relaxed linear program (LP).

Let xuv be the variable that represents the edge (u, v).
If xuv = 1 then the edge is included in a cycle,
if xuv = 0 then it is not.

The relaxed linear program can be formulated as:

P
Minimize (u,v)E wuv xuv subject to
P
u xuv = 1 for all v V (in-degree constraints)
P
v xuv = 1 for all u V (out-degree constraints)

xuv 0 for all (u, v) E (non-negativity constraints)

8
Relaxed LP formulation
In this particular LP formulation we encounter something quite nice.

The solution matrix X = (xuv )nn to this relaxed LP happens to be


totally unimodular.
What this results in, is an X that has entries that are either 0 or 1.
So the optimal solution is exact and we dont have to deal with frac-
tional xuv values.
However, we have not constrained the length of the cycles in the cycle
cover.
Notice that the larger the value of k, the better our approximate tour
will be.
This LP can be solved in polynomial time, i.e., O(n3 )

9
Good Partial Cycle Covers
In this paper, the generic ATSP algorithm has been modified to use the no-
tion of a good partial cycle cover, see Figure 1.

TSP(G) - Let T SP (G) be the weight of an optimal tour in G.


b-good partial cycle cover - is a partial cycle cover which satisfies the
condition

b
log
where
0 < b 1,
1 is such that the weight of the partial cycle cover is T SP (G),
and
is such that the number of cycles in the partial cycle cover is
|V |, 0 < < 1.

The generic algorithm of Blaser is also recursive.

10
The b-Good Partial Cycle Cover Problem
The b-Good Partial Cycle Cover Problem is:

Problem 2 The b-Good Partial Cycle Cover Problem (b-GPCC)

Given: A directed graph G(V, E), and an asymmetric edge weight function w
that satisfies the triangle inequality.

Find: A partial cycle cover C of weight w(C) = T SP (G),


which has |V | cycles, and such that

b
log

11
Recursive Generic Algorithm
The generic algorithm this paper uses to find an approximate tour can be de-
scribed as:

Algorithm 2 Generic Recursive ATSP

Step 1) Create a b-good cycle cover C for the graph G



Step 2) For each cycle in C, choose one arbitrary node. Let V be the set of
nodes consisting of these nodes, together with all the nodes in V that are
not contained in any cycle of C.

Step 3) Recursively compute a TSP tour T of the graph G induced by V .

Step 4) For each cycle in C remove a maximum-weighted edge to form a set of


vertex disjoint paths P .

Step 5) Patch together the resulting set of paths in P and T to produce a tour T .

12
An Example

C T T

Figure 2: Constructing a tour using a partial cycle cover, and a tour. Not all edges

are shown. T is the tour constructed by combining C and T .

13
Running Time
In the worst case, step 2 reduces the size of the graph by one. That is, only
one 2-cycle is found.

So the algorithm recursively calls itself at most n = |V | times.

If a b-good cycle cover can be computed in polynomial time, then the generic
recursive cycle cover algorithm will run in polynomial time.

Theorem 1 If the b-GPCC problem can be solved in polynomial time for


some 0 < b 1, then there is a polynomial time (b log n)-approximate
algorithm for ATSP.

The rest of the paper concentrates on showing that a b-GPCC can be found
in polynomial time.

14
Improved Approximation Ratio
This paper improves the approximation ratio of Frieze, i.e., 1 log n,
by solving a relaxed LP with an additional constraint.

In addition to the previous constraints in the LP formulation,


a 2-cycle constraint is added

xuv + xvu 1 for all u 6= v

This constraint eliminates 2-cycles.

However, the solution matrix X is no longer totally unimodular.

So this means we have to deal with fractional solution values xuv .

15
Decomposing a Fractional Solution
The rest of the paper is devoted to showing how to compute a 0.999-good
partial cycle cover given a fractional solution X .

The method is involved so I am just going to give an overview of the main


ideas.

16
Some Definitions and a Lemma
doubly stochastic - A matrix S is called doubly stochastic if all its entries are
non-negative, and the entries in each row, and in each column, sum to 1.

permutation matrix - A matrix P is called a permutation matrix if each entry


has value either 0 or 1, and it is doubly stochastic.

Lemma 1 (B IRKHOFF - VON N EUMANN ) Every doubly stochastic n n matrix


S is a convex combination of at most n2 permutation matrices. Such a decompo-
sition can be found in polynomial time.

Since the solution matrix X is double stochastic (because of the in-degree


and out-degree constraints), we can decompose it:

t
X

X = i Pi
i=1
Pt
where t n2 , the i are non-negative reals such that i=1 i = 1,
(convexity), and the Pi are permutation matrices.

17
A Permutation Matrix
Notice that every permutation matrix induces a cycle cover of G.

1 2
0 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0
3 4
0 0 0 1 0 0 0 0
0 0 1 0 0 0 0 0
0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 1
5 6 0 0 0 0 1 0 0 0
0 0 0 0 0 0 1 0

7 8
PERMUTATION MATRIX

2CYCLE COVER
Figure 3: A 2-cycle cover and its corresponding permutation matrix.

18
Reducing the Number of Cycle Covers
Choose a constant B, such that B is the smallest integer such that B i is
an integer, for each i. Define i = B i .

Blaser claims that all the i are rational. So we can find such a B which
will be polynomial in the problem input size.

Notice that B can be quite large.

So now we can treat each permutation matrix Pi as a cycle cover Ci , which


has a multiplicity i . That is, there are i copies of the cycle cover Ci .

The point is that we can work with a set of t cycle covers Ci instead of
working with all the B cycle covers explicitly.

19
Normalization
So now lets treat each Pi as a Ci . (Note Ci is a set of edges, Pi is a matrix)

Let Ci Cj denote the graph (V, Ei Ej ). This is the graph formed by the
set of the edges in the two cycle covers.
 
t
For each of the possible cycle cover pairs Ci Cj , we transform
2
some particularly shaped strongly connected components, that are formed
by 2-cycles in Ci Cj , into larger length cycles.

This process is called normalization and can be done in polynomial time.

20
Normalization

Figure 4: A strongly connected component formed by 2-cycles in Ci Cj .


Green(dashed) denotes a 2-cycle in Ci , blue(solid) for Cj .

21
Computing Good Partial Cycle Covers
When we normalize the union of two cycle covers, we are eliminating 2-
cycles in each of Ci and Cj , and replacing them with larger length cycles.

After we normalize all pairs of cycle covers, we compute a b-good partial


cycle cover, where b = 0.999, from the normalized set of cycle covers.

Blaser gives a case based analysis, and in each case he shows that we can
compute a 0.999-good partial cycle cover.

So we have the following:

Theorem 2 There is a polynomial time algorithm for the 0.999-GPCC prob-


lem.

Corollary 1 There is a (0.999 log n)-approximate algorithm for the mini-


mum ATSP problem with polynomial running time.

22
Main Results
Presents a recursive generic algorithm which has a 0.999 log n performance
ratio.

Shows that the approximation ratio of 1 log n shown by Frieze, et. al. [2] is
not tight.

This contrasts with the the set cover problem which has a tight threshold of
1 ln n as shown by Feige [5].

The algorithm does not appear to be practical because its running time de-
pends on the value of B.

23
Homework
Do one of the following problems:

1) Write the minimum ATSP problem in the 4-tuple notation < IQ , SQ , fQ , optQ >

2) In a previous slide, we said that if we could construct a minimum weight


n
2
-cycle cover for an input graph G(V, E) (for the ATSP problem, where
n = |V |), we could find an optimal tour directly.

Q) - Why is this so? Assume n is even.

Hint: There are two cases,

1. There are exactly two n2 -cycles


n
2. There is exactly one cycle with size greater than 2

24
References
8
[1] M. Blaser. An 13 -Approximation Algorithm for the Asymmetric Maximum
TSP. Journal of Algorithms, 50(1):2348, 2004.

[2] A.M. Frieze, G. Galbiati, and F. Maffioli. On the Worst-Case Performance


of Some Algorithms for the Asymmetric Traveling Salesman Problem. Net-
works, 12:2339, 1982.

[3] M. Lewenstein and M. Sviridenko. Approximating Asymmetric Maximum


TSP. In Proceedings of the 14th Annual ACM-SIAM Symposium on Discrete
Algorithms, pages 646655, 2003.

[4] M. Blaser. A New Approximation Algorithm for the Asymmetric TSP With
Triangle Inequality. In Proceedings of the 14th Annual ACM-SIAM Sympo-
sium on Discrete Algorithms, pages 638645, 2003.

[5] U. Feige. A Threshold of ln n for Approximating Set Cover. Journal of the


ACM, 45:634652, 1998.

25

Potrebbero piacerti anche