paper3V2x

plantationscarfΤεχνίτη Νοημοσύνη και Ρομποτική

25 Νοε 2013 (πριν από 3 χρόνια και 10 μήνες)

79 εμφανίσεις

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