Transcript Slide 1

A solution clustering based guidance
mechanism for parallel cooperative
metaheuristic
Jianyong Jin
Molde University College, Specialized University in Logistics
Arne Løkketangen
Molde University College, Specialized University in Logistics
Teodor Gabriel Crainic Interuniversity Research Centre on Enterprise Networks,
Logistics and Transportation (CIRRELT)
Outline
1. Introduction
2. Cooperative search framework
3. Guidance mechanism
4. Heuristic search threads
5. Some computational results
6. Conclusion
2
Introduction
• The quality of a metaheuristic is largely a result
of the interplay between intensification and
diversification.
• Intensification drives the search to intensively
investigate the vicinity of previously found good
solutions.
• Diversification encourages searching in the
unexplored search space. (Glover and Laguna,
1997).
3
Introduction
To perform intensification/diversification, it would be
beneficial to have some search history knowledge
which refers to:
• How search effort has been consumed.
• Which region has been intensively searched and which
has not.
• What kinds of solutions have been
found in a certain search region.
4
Introduction
The focus of this work:
• Cluster solutions found into groups according
to their similarities.
• Use solution clusters to represent search
regions which have been explored.
• Use the attributes of the solutions in a cluster
to estimate how promising a search region
may be.
• Use cluster knowledge to guide the search
towards the promising or less explored
regions.
5
Introduction
The capacitated vehicle routing problem (CVRP) is
used to examine the effectiveness of the algorithm.
To solve CVRP is to
determine a set of
vehicle routes which
satisfy customers’
demands and minimize
the cost of delivery.
6
Cooperative search framework
• Multiple Tabu search
threads work in parallel.
• Search threads exchange
solutions with the pool.
• Solution pool manages the
solutions, does the clustering
and identifies features.
7
Cooperative search framework
Communication strategies:
• Each search thread exchanges solutions with the pool
periodically, they decide when to exchange solution on their
own, the exchange is asynchronous.
• If a thread finds a feasible solution better than its starting
solution, then sends the solution to the pool.
• If a thread does not find a better feasible solution, the best
infeasible solution found can be sent to the pool.
• During exchange, a thread also receives a solution from the
pool as its new starting solution
8
Guidance mechanism
The definition of the cluster:
• A cluster is a collection of solutions which share a certain
number of solution elements (edges for CVRP) in common.
• A cluster is used to approximately represent a search
region.
• The number of solutions a cluster contains can indicate
how thoroughly a search region has been explored.
• The quality of the solutions a cluster contains can indicate
how promising a search region may be.
9
Guidance mechanism
The components of a cluster:
•
•
•
•
•
•
•
•
Feasible solution list,
Infeasible solution list,
Accumulative edge frequency list,
Average feasible solution value,
Average infeasible solution value,
Feasible solution counter,
Infeasible solution counter,
Cluster ID.
10
Guidance mechanism
The similarity measure:
: the number feasible solutions in a cluster in which edge
(i j) occurs, this number is countered and saved in the
accumulative edge frequency list.
: 1 if edge (i j) occurs in solution s, 0 otherwise.
FSC: Feasible solution counter, the number of feasible
solutions that have been put into a cluster.
: the number of edges included in solution s.
similarity=
11
Guidance mechanism
The clustering approach:
When a solution enters the pool,
1) it will be added into an existing cluster if the similarity
is bigger than the minimum requirement,
2) create a new cluster if the solution does not satisfy the
similarity requirement to any existing cluster or there is no
existing cluster.
Only feasible solutions are used to update accumulative edge
frequency.
12
Guidance mechanism
TS threads for Intensification
• Only receive solutions from the cluster with the
lowest average feasible solution value.
• Use smaller Tabu tenure.
• Use 3 TS threads among every
7 search threads.
13
Guidance mechanism
TS threads for Diversification
• Receive solutions only from clusters which have
been less explored (the number of feasible
solutions a cluster contains is below a threshold).
• Use bigger Tabu tenure.
• Use 4 TS threads among every
7 search threads.
14
Guidance mechanism
Evolvement of the focus of TS threads:
• During the beginning of the search, intensification
and diversification mechanism is not active.
• When there are more than one clusters,
intensification threads will always focus on the
cluster with the lowest average feasible solution
value.
• When the number of solutions in a cluster exceeds
a threshold, the cluster will be ignored by
diversification threads.
15
Heuristic search threads
Features of the TS threads:
• Use multiple neighborhood structures,
• Use granular neighborhood reduction technique.
• Randomly select a neighborhood structure at each iteration
with equal probability.
• Use different types of implementation of reinsertion.
• Infeasible solutions are allowed.
• The tabu status of moves leading to new best solutions are
overridden.
• Initial solution is constructed with the saving algorithm.
16
Heuristic search threads
Tabu search procedure:
1: Construct a feasible starting solution.
2: Initialization (best sol, current sol, Tabu list, penalty multipliers).
3: While termination conditions not met do
4: Randomly select a neighborhood.
5: Generate and evaluate neighboring solutions.
6: Select and perform the best non-tabu move.
7: Set the attributes of reverse moves as tabu.
8: Refine the routes modified.
9: Update best found solutions.
10: If communication, exchange solution and re-initialize the search.
11: end while
12: Print best found solution.
17
Heuristic search threads
Inter-route neighborhood structures :
Reinsertion: move a node to
another route.
2-opt*: swap the head/tail parts
of two routes.
CROSS-exchange: swap two
segments between two routes.
18
Heuristic search threads
Neighbors generation and evaluation:
Reinsertion: for a customer node i, move i to the position
after one of its K nearest nodes (node j). Node i and j are
not in the same route.
2-opt*: for a customer node i, connect i with one of its K
nearest nodes (node j), connect the nodes right after i and j.
i, j are in two different routes.
Cross-exchange: exchange route segments containing less
than 4 nodes for pairs of routes. Among new edges, at least
one node is connected to one of its K nearest nodes.
Augmented objective function: F(s) = C(s)+αQ(s)+βD(s),
19
Heuristic search threads
Four types of implementation of reinsertion:
Purpose. Increase the possibilities of modifying the route
structure that is far from the depot.
Theme: Divide customer nodes equally into groups according
to their distance to the depot, generate neighbors for each
group separately, Select and perform a move for each group
at every iteration.
Sorted node list:
46 27 12 47 32
••••••
43 39 35 40 36
20
Heuristic search threads
Four types of implementation of reinsertion:
Implementation:
• The number of groups can be from 1 to 4. Thus
there are 4 types of reinsertion implementations.
• Such reinsertion implementations are only for interroute operations.
• Using these 4 types of reinsertion, together with
other neighborhood structures, 4 types of TS threads
are built.
21
Heuristic search threads
Intra-route neighborhood structures:
Reinsertion: move a node to
another position.
0
1
3
4
2
0
0
1
2
3
4
0
2-opt: remove and add
two edges.
The two neighborhoods are implemented as local search
procedures. For improving a route, 2-opt is used first, then
reinsertion.
22
Some computational results
1. The algorithm can be configured to use different
numbers of threads for utilizing various levels of
computing power.
2. The following results are obtained from a version
with 24 threads.
TS threads for diversification: 14
TS threads for intensification: 9
Solution pool: 1
23
Some computational results
Benchmark set 1
Golden et al
1
240C,D
2
320C,D
3
400C,D
4
480C,D
5
200C,D
6
280C,D
7
360C,D
8
440C,D
9
255C
10
323C
11
399C
12
483C
13
252C
14
320C
15
396C
16
480C
17
240C
18
300C
19
360C
20
420C
Average gap from best known
Average time(min)
Prev.
best
value
5623.47
8404.61
11036.22
13592.88
6460.98
8400.33
10102.70
11635.30
579.71
736.26
912.84
1102.69
857.19
1080.55
1337.92
1612.50
707.76
995.13
1365.60
1818.25
Vidal et al. 2012
Average
Best
5625.10
8419.25
11036.22
13624.52
6460.98
8412.90
10134.90
11635.30
581.08
738.92
914.37
1105.97
859.08
1081.99
1341.95
1616.92
707.84
996.95
1366.39
1819.75
0.16%
58.56
5623.47
8404.61
11036.22
13624.52
6460.98
8412.90
10102.70
11635.30
579.71
736.26
912.84
1102.69
857.19
1080.55
1337.92
1612.50
707.76
995.13
1365.60
1818.32
0.02%
Our results
Average
Best
5624.01
8431.19
11036.22
13620.14
6460.98
8407.88
10136.97
11636.81
580.32
736.98
913.12
1103.37
858.89
1080.55
1340.50
1614.96
707.80
999.48
1366.20
1819.70
0.12
37.12
5623.47
8409.15
11036.22
13592.40
6460.98
8400.33
10107.50
11635.30
579.71
736.26
912.39
1101.17
857.19
1080.55
1337.87
1611.28
707.76
996.67
1365.60
1817.96
0.00%
24
Some computational results
Benchmark set 2
Problem n
Prev.
best
value
21
560
16212.74
22
600
14575.19
23
640
18801.12
24
720
21389.33
25
760
16739.84
26
800
23971.74
27
840
17408.66
28
880
26565.92
29
960
29154.34
30
1040
31742.51
31
1120
34330.84
32
1200
36919.24
Average gap from best known
Average time(min)
Groer et al. 2011 (129 p)
Average
Best
N/A
Our results (24p)
Average
Best
16212.83
14584.42
18801.13
21389.43
16763.72
23977.73
17433.69
26566.03
29154.34
31742.64
34330.94
37185.85
0.09%
16214.12
14562.10
18853.80
21390.96
16733.07
23981.30
17380.24
26569.96
29157.42
31746.20
34333.66
37188.36
0.07%
5
36.18
16212.83
14539.79
18801.13
21389.43
16709.44
23980.12
17343.38
26567.23
29154.33
31742.64
34330.94
37162.54
-0.01%
25
Conclusion
• The computational experiments show that the
suggested metaheuristic is effective and
competitive.
• The guidance mechanism can improve the
performance of the algorithm.
• The clustering approach can provide insight
regarding how the search effort have been
consumed.
• The potential of the cluster knowledge seems not
fully utilized.
26
27
References
•
•
•
•
•
•
•
Crainic, T.G. (2008), Parallel solution methods for vehicle routing problems. In B. Golden, S.
Raghavan, and E. Wasil, editors, The Vehicle Routing Problem: Latest Advances and New
Challenges, pages 171–198. Springer, New York.
Glover, F. and Laguna, M. (1997). Tabu Search, Kluwer.
Golden, B.L., Wasil, E.A. , Kelly, J.P. and Chao, I.-M. (1998), The impact of metaheuristics on
solving the vehicle routing problem: algorithms, problem sets, and computational results. In: T.
Crainic and G. Laporte, Editors, Fleet management and logistics, Kluwer, Boston, pp. 33–56.
Groer, C. B.L. Golden, and E.A. Wasil. A parallel algorithm for the vehicle routing problems.
INFORMS Journal on Computing, 23:315–330, 2011.
Li, F., B.L. Golden and E.A. Wasil (2005). Very large-scale vehicle routing: New test problems,
algorithms and results. Computers & Operations Research 32, 1165–1179.
Toth, P. and Vigo, D. (2003), The granular tabu search and its application to the vehicle routing
problem, INFORMS Journal on Computing 15, 333–346.
Vidal, T., Crainic, T.G., Gendreau M., Lahrichi, N., Rei, W. (2012). A hybrid genetic algorithm
for multi-depot and periodic vehicle routing problems. Operations Research, Forthcoming
28