Title: On the traveling salesman problem with neighborhoods
1On the traveling salesman problem with
neighborhoods
- With
- Khaled Elbassioni
- Aleksei Fishkin
- Hans Bodlaender
- Corinne Feremans
- Alexander Grigoriev
- Eelko Penninkx
- Thomas Wolle
2Euclidean Group TSP
Given n sets of points in the plane find a tour
of minimum length tour that connects all sets.
3TSP with neighborhoods
4TSP with neighborhoods
VLSI design
5TSP with neighborhoods (discrete)
6TSP with neighborhoods
- Known
- 2-e inapproximability (Safra, Schwarz 2003)
- log n approximation (Mata, Mitchell 1995)
7TSP with neighborhoods
- Known
- 2-e inapproximability (Safra, Schwarz 2003)
- log n approximation (Mata, Mitchell 1995)
- O(1)-approx. for
- fat regions (De Berg et al. 2005)
- fat objects (Elbassioni et al. 2005)
- lines (Dumitrescu, Mitchell 2003)
8TSP with neighborhoods
- Known
- 2-e inapproximability (Safra, Schwarz 2003)
- log n approximation (Mata, Mitchell 1995)
- O(1)-approx. for
- fat regions (De Berg et al. 2005)
- fat objects (Elbassioni et al. 2005)
- lines (Dumitrescu, Mitchell 2003)
- PTAS for unit disks (Dumitrescu, Mitchell 2003)
- PTAS for fat objects (Mitchell 2007)
9Group TSP (3? / 2 -approximation)
Each group contains at most ? points.
- Algorithm
- Solve LP
- Round
- Apply Christofides algorithm on selected
pointset.
10Group TSP
11Group TSP
- Algorithm (3? / 2 -approximation)
- Solve LP-2
- Apply Christofides algorithm on A.
12Group TSP
13Group TSP
14O(1)-approximation for fat regions
D
Fatness a MinD Area(R?O)/Area(D) D has
centre in region R and boundaries intersect
Examples
disk a 1/4
line a 0
halfspace a 1/2
15O(1)-approximation for fat regions
Packing lemma The length of the shortest path
connecting k a-fat regions in R2 is at least
, where d is the diameter of the smallest
region.
16O(1)-approximation for fat regions
Packing lemma The length of the shortest path
connecting k a-fat regions in R2 is at least
, where d is the diameter of the smallest
region.
Proof
- If the centre of a disk with diameter follows
the path T , then the total area covered is - at least times
- at most
?
17O(1)-approximation for fat regions
18O(1)-approximation for fat regions
7
6
1
4
5
2
3
Step 1 Order the regions by their diameter
19O(1)-approximation for fat regions
1
Step 1 Order the regions by their diameter
Step 2 In each region pick the point that is
nearest to the already chosen points.
20O(1)-approximation for fat regions
2
Step 1 Order the regions by their diameter
Step 2 In each region pick the point that is
nearest to the already chosen points.
21O(1)-approximation for fat regions
3
Step 1 Order the regions by their diameter
Step 2 In each region pick the point that is
nearest to the already chosen points.
22O(1)-approximation for fat regions
4
Step 1 Order the regions by their diameter
Step 2 In each region pick the point that is
nearest to the already chosen points.
23O(1)-approximation for fat regions
5
Step 1 Order the regions by their diameter
Step 2 In each region pick the point that is
nearest to the already chosen points.
24O(1)-approximation for fat regions
6
Step 1 Order the regions by their diameter
Step 2 In each region pick the point that is
nearest to the already chosen points.
25O(1)-approximation for fat regions
7
Step 1 Order the regions by their diameter
Step 2 In each region pick the point that is
nearest to the already chosen points.
26O(1)-approximation for fat regions
Step 1 Order the regions by their diameter
Step 2 In each region pick the point that is
nearest to the already chosen points.
Step 3 Find a minimum tour on chosen points.
27Analysis
How does it compare with the optimal TSP tour?
28Analysis
How does it compare with the optimal TSP tour?
region j
Path starts at region j and visits the next
k regions in OPT.
29Analysis
The algorithms cost.
xj
region j
xj Connection cost of region j.
30Analysis
Packing lemma The length of the shortest path
connecting k a-fat regions in R2 is at least
, where d is the diameter of the smallest
region.
If k 3/a then T_j is at least the smallest
diameter on the path T_j.
31Analysis
Packing lemma The length of the shortest path
connecting k a-fat regions in R2 is at least
, where d is the diameter of the smallest
region.
If k 3/a then T_j is at least the smallest
diameter on the path T_j.
Consider some region j. Let region h have
smallest diameter on path T_j..
h
If hj then
j
32Analysis
Packing lemma The length of the shortest path
connecting k a-fat regions in R2 is at least
, where d is the diameter of the smallest
region.
If k 3/a then T_j is at least the smallest
diameter on the path T_j.
Consider some region j. Let region h have
smallest diameter on path T_j..
h
If h j, then
j
Otherwise,
33Analysis
Let be set of regions j for which
.
Length of constructed tree is at most
34Analysis
Let be set of regions j for which
. Let be set of regions j for which
Length of constructed tree is at most
35Analysis
Let be set of regions j for which
. Let be set of regions j for which
Length of constructed tree is at most
36Analysis
Let be set of regions j for which
. Let be set of regions j for which
Length of constructed tree is at most
?
37Higher dimensions
38Intersecting fat regions (discrete)
39Intersecting fat regions (discrete)
TSP with neighborhoods (unit disks).
40Intersecting fat regions (discrete)
TSP with neighborhoods (unit disks).
Algorithm Dumitrescu and Mitchell 2003 - Find
maximal independent set. - Connect through walk
over bounderies.
41Intersecting fat regions (discrete)
TSP with neighborhoods (unit disks).
Algorithm Dumitrescu and Mitchell 2003 - Find
maximal independent set. - Connect through walk
over bounderies.
42Intersecting fat regions (discrete)
Algorithm B
43Intersecting fat regions (discrete)
Algorithm B
Step 1 Compute minimum covering box X.
44Intersecting fat regions (discrete)
Algorithm B
Step 1 Compute minimum covering box X.
Step 2 Find minimal hitting set P inside X.
45Intersecting fat regions (discrete)
Algorithm B
Step 1 Compute minimum covering box X.
Step 2 Find minimal hitting set P inside X.
Step 3 Compute a (1e)-approximate TSP-tour on
P.
46Minimum corridor connection problem
Open problem CCCG 2000 Given a rectilinear
decomposition of a square, find the minimum tree
along the edges that connects all sections.
room
47Minimum corridor connection problem
Open problem CCCG 2000 Given a rectilinear
decomposition of a square, find the minimum tree
along the edges that connects all sections.
room
48Minimum corridor connection problem
Open problem CCCG 2000 Given a rectilinear
decomposition of a square, find the minimum tree
along the edges that connects all sections.
w(e)
room
More general Given a weighted planar graph,
connect all faces.
49Subexponential time exact algorithm
Lipton-Tarjan planar separator theorem There
exists a subset of size that cuts
the graph roughly in half.
-time algorithm
50Graphs with small branchwidth
Branch decomposition
5
3
5
1
1
6
3
6
4
2
2
4
G
T
51Graphs with small branchwidth
Branch decomposition
5
3
5
1
1
6
3
6
e
4
2
2
4
G
T
52Graphs with small branchwidth
Branch decomposition
5
3
5
1
1
6
3
6
e
4
2
2
4
G
T
Example - 2 vertices in middle set of e. -
Width of decomposition is 2 (maximum over all e
of T). Branchwidth of graph is minimum width over
all decompositions.
53Graphs with small branchwidth
Planar graphs Sphere cut decomposition
54Graphs with small branchwidth
Planar graphs Sphere cut decomposition
Theorem Seymour and Thomas (1994), Dorn et al.
(2005) If a planar graph has branchwidth B,
then a sphere cut branch decomposition of width B
can be found in O(n3) time.
55Graphs with small branchwidth
Planar graphs Sphere cut decomposition
Theorem Seymour and Thomas (1994), Dorn et al.
(2005) If a planar graph has branchwidth B,
then a sphere cut branch decomposition of width B
can be found in O(n3) time.
Theorem Given a planar graph of branch width B,
the minimum corridor connection problem can be
solved in O(n3 2O(B)) time.
56Graphs with small branchwidth
- For each edge e and triple (S,R,X) we store the
optimal cost of subproblem. - S is a subset of the middle set of e
- R is equivalence relation on S
- X is set of faces inside that are connected.
- Size of table for one edge 2O(B)
57Graphs with small branchwidth
- For each edge e and triple (S,R,X) we store the
optimal cost of subproblem. - S is a subset of the middle set of e
- R is equivalence relation on S
- faces inside that are connected.
- Size of table for one edge 2O(B)
Given a sphere cut branch decomposition of width
B, the optimal tree can be found by DP in time
2O(B).
58Graphs with small branchwidth
Fact k-outerplanar graphs have branchwidth at
most 2k.
Corollary The mcc can be solved in O(n32O(k))
time on k-outerplanar graphs
59PTAS for equal sized rooms
room
60PTAS for Euclidean TSP (Arora)
- round the instance- build quad tree- restrict
the instance futher by defining portals on the
dissection lines- apply DP to restricted
instance.
61PTAS for Euclidean TSP (Arora)
- round the instance- build quad tree- restrict
the instance further by defining portals on the
dissection lines- apply DP to restricted
instance.
62PTAS for Euclidean TSP (Arora)
- round the instance- build quad tree- restrict
the instance further by defining portals on the
dissection lines- apply DP to restricted
instance.
level 0
63PTAS for Euclidean TSP (Arora)
- round the instance- build quad tree- restrict
the instance further by defining portals on the
dissection lines- apply DP to restricted
instance.
level 0
level 1
64PTAS for Euclidean TSP (Arora)
- round the instance- build quad tree- restrict
the instance further by defining portals on the
dissection lines- apply DP to restricted
instance.
level 0
level 1
level 2
65PTAS for Euclidean TSP
- round the instance- build quad tree- restrict
the instance further by defining portals on the
dissection lines- apply DP to restricted
instance.
level 0
level 1
level 2
level 3
66PTAS for Euclidean TSP
- round the instance- build quad tree- restrict
the instance further by defining portals on the
dissection lines- apply DP to restricted
instance.
m portals per side, mO((log n) / c)
use at most r portals per side for crossing. r
O(1/c)
67PTAS for Euclidean TSP
- round the instance- build quad tree- restrict
the instance further by defining portals on the
dissection lines- apply DP to restricted
instance.
m portals per side, mO((log n) / c)
use at most r portals per side for crossing. r
O(1/c)
size of table for one node mO(r)f(r)
68PTAS for Euclidean TSP
- round the instance- build quad tree- restrict
the instance further by defining portals on the
dissection lines- apply DP to restricted
instance.
m portals per side, mO((log n) / c)
use at most r portals per side for crossing. r
O(1/c)
size of table for one node mO(r)f(r)
time to compute one entry (mO(r)f(r))4 ?
running time n (logn)O(1/c)
nodes in tree n log n
69PTAS for equal sized rooms
Adjusting Aroras algorithm to the mcc problem
Assumption - Each room contains q x q square,
- Perimeter is at most tq for some constant
t 4.
Changes - dissection curves i.o. lines
70PTAS for equal sized rooms
Adjusting Aroras algorithm to the mcc problem
Assumption - Each room contains q x q square,
- Perimeter is at most tq for some constant
t 4.
Changes - dissection curves i.o. lines
71PTAS for equal sized rooms
Adjusting Aroras algorithm to the mcc problem
Assumption - Each room contains q x q square,
- Perimeter is at most tq for some constant
t 4.
Problems - dissection curves i.o. lines
72PTAS for equal sized rooms
Adjusting Aroras algorithm to the mcc problem
Assumption - Each room contains q x q square,
- Perimeter is at most tq for some constant
t 4.
Problems - dissection curves i.o. lines
- crossing paths i.o. points
73PTAS for equal sized rooms
Adjusting Aroras algorithm to the mcc problem
Assumption - Each room contains q x q square,
- Perimeter is at most tq for some constant
t 4.
Problems - dissection curves i.o. lines
- crossing paths i.o. points
portal
- solution follows dissection curves
dis. curve
74PTAS for fat regions (Mitchell 2007)
75PTAS for fat regions
Step 1 Rounding Step 2 D.P.
76PTAS for fat regions
- Step 1 Rounding
- Lines n / e
- Error
- O(n L e / n) O(OPT/e)
L
77PTAS for fat regions
Step 2 D.P.
78PTAS for fat regions
Step 2 D.P. Fix mO(1/ e)
79PTAS for fat regions
Step 2 D.P. Fix mO(1/ e)
80PTAS for Euclidean TSP (Mitchell)
m 2
- Theorem Any set of segments L can be extended to
a set L such that - L is m-guillotine and
- L (12v2 / m) L .
81PTAS for Euclidean TSP (Mitchell)
- Definitions
- a point is on the m-span of a line ? if
- a point is m-dark w.r.t. a line ? if ......
?
- Lemma
- There is a line ? for which m-span?
m-dark? .
82PTAS for Euclidean TSP (Mitchell)
Charged for from below
Each point is charged at most once from each
side. Each segment is charged at most 2v2 / m
times its length.
83PTAS for Euclidean TSP (Mitchell)
- sub problems
- - O(n4) boxes
- 2m points per side
- f(m) ways to combine gt O(n4n16m)
subproblems.
84PTAS for fat regions
M-region span
- Lemma
- There is a line ? s.t.
- m-span? M-region span? m-dark?
M-region dark?.
85PTAS for fat regions
- Theorem Any set of segments L can be extended to
a set L such that - L is (m,M)-guillotine and
- L (12v2 / m )L C0 / M .
C0 O(D1D2 ... Dn).
(Di is diameter of region i).
86PTAS for fat regions
Lemma OPT O(D1D2 ... Dn-1) / log n.
- M log n / e , m 1/e , C0O(log n OPT) ,
LOPT - L (12v2 / m )L C0 / M
- (12v2 e)OPT log n OPT / (log n / e)
- OPT 2v2 e OPT e OPT.
subproblems O(n4n64m) 2(8M) cn O(1/ e)
87Some open problems
MCC for planar graphs Find O(1)-approximation.
TSP on line segments Find O(1)-approximation.
TSP for non-fat regions Find
O(1)-approximation.
Group TSP Find O(log n)-approximation.