Title: ?????????????? Traveling Salesman Problem (TSP)
1??????????? ????????????????????????
? ??
- ????????????????????
- ????????????????????
- ???????????????????
- ??????????????????,???????
2?????????????? Traveling Salesman Problem (TSP)
3Definition
otherwise Asymmetric TSP
4???????????????????
- ?????(??????)???????
- ??????? ??????????
- ??????????????????
- ??????????????????????????
5TSP??????? naïve ???(????)
- ?????30????????????????????????????????3????!
(???) - (n-1)(n-2)321(n-1)!
- 1 PIPS (Peta Instruction Per Second) 1015
- 29!/1015 (?) ? p1014 (?)
- ? 105
(??) - James Stiring??? n! ?2vpn(n/e)n
- Tom Duff??? p??1????
6World Records of Exact Algorithms for Euclidean
Benchmarks (TSPLIB)
- Dantzig, Fulkerson Johnson 49
cities (1954) - Held Karp
65 cities (1971) - Grotschel
120 cities (1977) - Crowder Padberg
318 cities (1980) - Padberg Rinaldi
532 cities (1987) - Grotschel Holland
666 cities (1991) - Padberg Rinaldi
2392 cities (1991) - Applegate, Bixby, Chvatal Cook 7392 cities
(1996) - Applegate, Bixby, Chvatal Cook 13509 cities
(1998) - Applegate, Bixby, Chvatal Cook 15112 cities
(2001) - Applegate, Bixby, Chvatal Cook 1904771 cities
(????)
7DANTZIG42 solved byGeorge Dantzig, Ray Fulkerson
and Selmer Johnson (1954)
8GR120 solved by Groetschel (1977)
9The optimal tour of ATT532 (532 ATT switch
locations in the USA) found by Padberg and
Rinaldi (1987)
10The optimal tour of GR666 (666 cities in the
world)found by Groetschel and Holland (1987)
11The optimal tour through a layout of 2,392
(PR2392) found byPadberg and Rinaldi (1991)
12PLA7397 (a programmed logic array application
containing 7,397 cities)
13The optimal tour of PLA7397 found by David
Applegate, Robert Bixby, Vasek Chvátal and
William Cook (1994)
14USA13509 (13,509 cities in the United States
having a population of at least 500)
15The optimal tour of USA13509 found by Applegate,
Bixby, Chvátal, and Cook (1998)
16D15112 (15,112 cities in Germany)
17The optimal tour of D15112 found by Applegate,
Bixby, Chvátal, and Cook (2001)
CPU time used is 22.6 years of computer time,
adjusted to a 500 MHz, EV6 Alpha processor
181,904,711-city instance
19????TSP(1)Knight Tour
20A Knight Tour (by Leonhard Euler1707-1783)
21????TSP(2) Icosian Game (Origin of Hamiltonian
Circuit) Invented by W. R. Hamilton (1805-1865)
22Icosian Game (1)
23Icosian Game (2)
24Icosian Game (3)
25Icosian Game (4)
26Icosian Game (5)
27Applications of TSP
28Applications
10 P
2
p
clustering a data array
circuit board assembly
computer wiring
3
circuit board drilling
vehicle routing
4
protein conformations
x-ray crystallography
5
VLSI Scan Chain Optimization
6
VLSI fabrication
7
29??????????????????????
- ??
- ??(CPU??,??????,?????????),??????,????(????,????)
- ???
- ???,????????????,???
- ???
- ???,??????,??????,??????????
- ?????
- ???,???
30??????????????
- ?????
- ??????????????(Christofides algorithm)
- ?????
- ????????????????(Karps algorithm)
- ?????
- ??????????????
31Theoretical Results(?????)
32Approximate Algorithms
- Construction Algorithms
- Nearest Neighbour
- Greedy
- Christiofides
- Insertion
- Karps
- Bucket
- Improvement Algorithm
- 2,3,..k-opt
- Lin-Kernighan opt
33Nearest Neighbor
?????????????????????????????
?????????????????
34Nearest Neighbor (Worst Case Results)
35Greedy (Multiple Fragment)
???????????2????????????????????
36Greedy (Worst Case Results)
37Christofides (1)
??????
38Christofides (2)
????????????????????????????
39Christofides (Worst Case Results)
40Karps Partitioning Method (1)
?????p?????????????
41Karps Partitioning Method (2)
?????????????????????????
42Bucket
??????????????????????????????
43Karps Partitioning Method
Probabilisitcs Analysis(?????)
BHH Theorem (Beardwood, Halton and Hammersley,
1959) ??A????????????????? n??????? lim OPT(I)
(ß?0.7124)
ß0.749 BHH (1959)
ß0.765 Stein (1977)
44?????
- ?????(??)???????????????? (application paper)
- (??????????)?????????????????? (salespitch paper)
- ????????????????????????????????? (experimental
paper)
45?????????????
- Application paper(????)
- ?????????????????
- Salespitch paper(?????)
- ????????(??????????????????????????????????????!)
- Experimental paper (?????)
- ?????????????(E.g., U(0,1 for bin packing)
-gt????? - ???????????????????????????????(E.g., U(a,b for
bin packing) - ????????????(?????????)
46Implementaion
- Geometric data structure
- Bucket
- Delaunay Triangulation
- K-d tree
- Tour data structure
- Array
- Two-level Tree
- Segment Tree
- Splay Tree
47????????
Percent Excess over OPT(I)
30
25
15
5
3
2
1
0
n
nlogn
Running Time
48???????????????
- ???????????(?????????????????)?????
- ????????????
- ???????????????????????(????????)
- ????????????????
- ???????????
- Sexy?????????(?????)
- ???(local search)???????????????(??????????)??????
??
49????????(???)
??????
???? f(x)
???????? F
50????????????
x
?? N(x)
512-opt,3-opt neighborhood
52Local Search
53??????(??????)
?????
54Lin-Kernigan opt (3-opt Depth-first Tabu
Search using 2-opt
neighborhood)
55LK Search (Depth-first Tabu Search using
2-opt neighborhood)
56LK Search (Depth-first Tabu Search using
2-opt neighborhood)
572-opt,3-opt,k-opt (Worst Case Results)
58Simulated Annealing ? (????????)
- ?????(annealing)???????????.
59Simulated Annealing?
60????????????
????
1
??
??
0
?f(y)-f(x)
?????????
61Genetic Algorithm(?????????)
- ??(?????????)?????????.
- ????????(??population)?????????.
- ?????????????,??(crossover)???????(mutation)??????
?????.
62???????
??(crossover)
63Tabu Search (?????)
- ????????????????.
- ??
- ????????? (steepest ascent mildest descent
method) - ???????(adaptive memory programming)
- ?????????????,??????,????????(?????????????????)??
??.
64Tabu Search(???)
TL2
65Tabu Search 1
????????
????????????!
66Tabu Search 2
TL2
67Tabu Search 3
TL2
FIFO
68Tabu Search 4
69Tabu Search 5
70Tabu Search 6
71Tabu Search 7
72Tabu Search 8
73Tabu Search 9
74Tabu Search 10
75???????????
- ?????????????
- ????,??,????????????
- ????????????????????
- ??,??,?????????