Escolar Documentos
Profissional Documentos
Cultura Documentos
.
...
A Survey on Crossover for TSP
.
.
M1 Koji Jakudo
Introduction
Crossover
Conclusion
Outline
Introduction
Crossover
Conclusion
What’s TSP (1)
1
TSP: ja9847.tsp
1
http://www.tsp.gatech.edu/ 1 / 61
What’s TSP (2)
2
TSP: Traveling Salesman Problems
Given a list of cities and their pairwise
distances, the task is to find a shortest
possible tour that visits each city exactly once.
2
http://en.wikipedia.org/wiki/Travelling_salesman_problem
2 / 61
What’s TSP (2)
2
TSP: Traveling Salesman Problems
Given a list of cities and their pairwise
distances, the task is to find a shortest
possible tour that visits each city exactly once.
NP-hard
Combinatorial optimization
2
http://en.wikipedia.org/wiki/Travelling_salesman_problem
2 / 61
Path Representation and Simple Crossover (1)
3 / 61
Path Representation and Simple Crossover (2)
4 / 61
Lethal Genes
Lethal genes:
Fatal for Evolutionary Computations
5 / 61
Lethal Genes
Lethal genes:
Fatal for Evolutionary Computations
5 / 61
Lethal Genes
Lethal genes:
Fatal for Evolutionary Computations
5 / 61
What’s Better Crossover for TSP (1)
6 / 61
What’s Better Crossover for TSP (1)
Respectful:
Common edges must be inherited.
6 / 61
What’s Better Crossover for TSP (1)
Respectful:
Common edges must be inherited.
Transmit edges:
Each edge is present in at least one of its
parents.
6 / 61
What’s Better Crossover for TSP (2)
Watson said:
Crossover should introduce new edges into the
children.
7 / 61
What’s Better Crossover for TSP (2)
Watson said:
Crossover should introduce new edges into the
children.
Trade-off
Inherit parents’ edges
7 / 61
What’s Better Crossover for TSP (2)
Watson said:
Crossover should introduce new edges into the
children.
Trade-off
Inherit parents’ edges
preserve parents’ traits
Introduce new edges
diversity
escape from local optima
7 / 61
Crossover Operators for TSP
8 / 61
Crossover Operators for TSP
8 / 61
Crossover Operators for TSP
8 / 61
Crossover Operators for TSP
8 / 61
Crossover Operators for TSP
8 / 61
Crossover Operators for TSP
8 / 61
Crossover Operators for TSP
8 / 61
Outline
Introduction
Crossover
Conclusion
PMX
9 / 61
Process of PMX (1)
10 / 61
Process of PMX (2)
11 / 61
Process of PMX (3)
12 / 61
Process of PMX (4)
13 / 61
Process of PMX (5)
14 / 61
Process of PMX (6)
Result of PMX
15 / 61
Properties of PMX
PMX:
Based on two-point Crossover
Inherit edges between crossover-points
Tend to introduce new edges at outside of
crossover-points
Computation complexity: O(n)
16 / 61
SXX
17 / 61
Process of SXX (1)
18 / 61
Process of SXX (2)
19 / 61
Properties of SXX
SXX:
Tend to inherit edges
Need to find subtours only including common
vertices
Computation complexity: O(n3 )
20 / 61
EX
21 / 61
Process of EX (1)
EX:
Tend to inherit parents’ edges
Introduce less new edges (1-5[%])
Computation complexity: O(n)
25 / 61
EXX
26 / 61
Process of EXX (1)
27 / 61
Process of EXX (2)
28 / 61
Process of EXX (3)
29 / 61
Process of EXX (4)
30 / 61
Process of EXX (5)
Result of EXX
31 / 61
Properties of EXX
EXX:
Definitely, inherit parents’ edges
It is proved that EXX always stops.
Computation complexity: O(n) - O(n2 )???
32 / 61
EAX
33 / 61
Process of EAX
34 / 61
AB-cycle
AB-cycle:
Subtour in GAB
Alternately select edges of tour-A and tour-B
35 / 61
Intermediate Solutions
Intermediate solutions
D = {∀ edge ∈ AB cycle}
iA = (V, (EA ∩ D̄) ∪ (EB ∩ D))
iB = (V, (EA ∩ D) ∪ (EB ∩ D̄))
36 / 61
Modify Intermediate Solutions
Image of modification
37 / 61
Properties of EAX
EAX:
AB-cycle
Inherit parents’ edges
Introduce some new edges
Computation complexity: O(n2 )?
38 / 61
Experiment
39 / 61
Elitist Recombination
Initialization:
Npop individuals
Selection:
Parents: Npop /2 pairs
Sampling without restoration
Reproduction:
Each pair reproduces Ncross children
Select 2 best individuals from parents and
children
40 / 61
Result
41 / 61
PX
42 / 61
Process of PX (1)
Graph G:
Merging the vertices and edges from parents
43 / 61
Process of PX (2)
Graph G*:
Delete common edges from G
44 / 61
Process of PX (3)
45 / 61
Properties of PX
PX:
Need to find two or more partitions
Children are created only from parents’ edges
Computation complexity: O(n)
Fitness:
f (P 1) + f (P 2) = f (C1) + f (C2)
46 / 61
Experiment 1: Random Local Optima
Configuration:
ATT532 (best known: 27686)
10 random local optima
45 combinations
47 / 61
Result of Experiment 1
Success: 43 / 45 (95%)
48 / 61
Experiment 2: Optima near the Global
49 / 61
Result of Experiment 2
50 / 61
Partition Crossover
Advantage:
Tunnel between local optima
If parents are near the global optimum, the
child can jump directly to the global optimum.
Disadvantage:
Cannot generate new edges
Need to find two or more partitions
51 / 61
Outline
Introduction
Crossover
Conclusion
Summary
52 / 61
Tips: Local Search for TSP
53 / 61
2-opt Method
cycle.initialize randomly()
while 1 do
for all i, j, k, l do
if dik + djl < dij + dkl then
cycle = cycle − dij − dkl + dik + djl
break
end if
end for
end while
return cycle
54 / 61
LK Method
Based on k-opt
Variable k
55 / 61
Tips: Mutation for TSP
56 / 61
Process of 2-change Mutation (1)
57 / 61
Process of 2-change Mutation (2)
58 / 61
Process of 2-change Mutation (3)
59 / 61
Process of 2-change Mutation (4)
60 / 61
Process of 2-change Mutation (5)
61 / 61
Thank you for your attention.