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
2
1. Introduction
2. Cooperative
search framework
3. Guidance mechanism
4. Heuristic search threads
5.
Some computational results
6
. Conclusion
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
6
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.
Cooperative
search framework
7
• 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.
Cooperative
search framework
8
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
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,
• A
ccumulative
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
a
ccumulative
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.
O
nly
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
16
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.
Heuristic search threads
17
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.
Heuristic search threads
18
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.
Heuristic search threads
19
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),
Heuristic search threads
20
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.
46
27
12
47
32
••••••
43
39
35
40
36
Sorted node list:
Heuristic search threads
21
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 inter

route operations.
•
Using these 4 types of reinsertion, together with
other neighborhood structures, 4 types of TS threads
are built.
Heuristic search threads
22
Intra

route
neighborhood structures:
Reinsertion: move a node to
another
position.
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.
0
1
3
4
2
0
0
1
2
3
4
0
Some computational results
23
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
Some computational results
Benchmark set 1
24
Golden et al
Prev.
Vidal et al. 2012
Our results
best
Average
Best
Average
Best
value
1
240
C,D
5623.47
5625.10
5623.47
5624.01
5623.47
2
320
C,D
8404.61
8419.25
8404.61
8431.19
8409.15
3
400
C,D
11036.22
11036.22
11036.22
11036.22
11036.22
4
480
C,D
13592.88
13624.52
13624.52
13620.14
13592.40
5
200
C,D
6460.98
6460.98
6460.98
6460.98
6460.98
6
280
C,D
8400.33
8412.90
8412.90
8407.88
8400.33
7
360
C,D
10102.70
10134.90
10102.70
10136.97
10107.50
8
440
C,D
11635.30
11635.30
11635.30
11636.81
11635.30
9
255
C
579.71
581.08
579.71
580.32
579.71
10
323
C
736.26
738.92
736.26
736.98
736.26
11
399
C
912.84
914.37
912.84
913.12
912.39
12
483
C
1102.69
1105.97
1102.69
1103.37
1101.17
13
252
C
857.19
859.08
857.19
858.89
857.19
14
320
C
1080.55
1081.99
1080.55
1080.55
1080.55
15
396
C
1337.92
1341.95
1337.92
1340.50
1337.87
16
480
C
1612.50
1616.92
1612.50
1614.96
1611.28
17
240
C
707.76
707.84
707.76
707.80
707.76
18
300
C
995.13
996.95
995.13
999.48
996.67
19
360
C
1365.60
1366.39
1365.60
1366.20
1365.60
20
420
C
1818.25
1819.75
1818.32
1819.70
1817.96
Average gap from best known
0.16%
0.02%
0.12
0.00%
Average time(min)
58.56
37.12
Some computational results
25
Problem
n
Prev.
Groer
et al.
2011 (129
p)
Our
results (24p)
best
Average
Best
Average
Best
value
21
560
16212.74
N/A
16212.83
16214.12
16212.83
22
600
14575.19
14584.42
14562.10
14539.79
23
640
18801.12
18801.13
18853.80
18801.13
24
720
21389.33
21389.43
21390.96
21389.43
25
760
16739.84
16763.72
16733.07
16709.44
26
800
23971.74
23977.73
23981.30
23980.12
27
840
17408.66
17433.69
17380.24
17343.38
28
880
26565.92
26566.03
26569.96
26567.23
29
960
29154.34
29154.34
29157.42
29154.33
30
1040
31742.51
31742.64
31746.20
31742.64
31
1120
34330.84
34330.94
34333.66
34330.94
32
1200
36919.24
37185.85
37188.36
37162.54
Average gap from best known
0.09%
0.07%

0.01%
Average time(min)
5
36.18
Benchmark set 2
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
28
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
Comments 0
Log in to post a comment