Available online at www.sciencedirect.com
Electronic Notes in Discrete Mathematics 47 (2015) 285–292 www.elsevier.com/locate/endm
A variable neighborhood search for solving the multi-vehicle covering tour problem Manel Kammoun a b
a,1
Houda Derbel Bassem Jarboui
a,2
Mustapha Ratli
b,3
a,4
FSEGS, MODILS, Route de l’a´eroport km4, Sfax 3018,Tunisia
Institut des Sciences et Techniques, Campus du Mont Houy, 59313 Valenciennes cedex 9
Abstract In this article, we consider a transportation problem with different kinds of locations: V , T , and W . The set T ⊂ V consists of vertices that must be visited through the use of potential locations in V and W consists of locations that must be covered. The problem consists in minimizing vehicle routes on a subset of V including T . We develop a variable neighborhood search heuristic based on a variable neighborhood descent in which a set of locations must be visited, whereas another subset must be close enough to the planned routes. We tested and compared our algorithm on datasets based on TSP Library instances. Keywords: Covering Tour Problem, variable neighborhood search, heuristic algorithms.
1 2 3 4
Email: Email: Email: Email:
kamoun
[email protected] [email protected] [email protected] bassem
[email protected]
http://dx.doi.org/10.1016/j.endm.2014.11.037 1571-0653/© 2014 Elsevier B.V. All rights reserved.
286
1
M. Kammoun et al. / Electronic Notes in Discrete Mathematics 47 (2015) 285–292
Introduction
Logistic problems are now being among the most famous ones in operations research. The majority of problems in logistics and transportation are considered as hard optimization problems and many efforts are developed to solve them efficiently. In this paper, we deal with the multi-vehicle covering tour problem (m-CTP), recently studied in some variants in the family of logistic problems. The m-CTP is a generalization of the vehicle routing problem (VRP), a generic name given to a whole class of problems in which a set of routes must be determined and a set of customers must be delivered by a set of vehicles when the capacity constraints are respected. We focus on the possibility of solving the problem by exploiting different neighborhoods using the variable neighborhood search (VNS) and its variants [6]. Then, we evolve from the VNS to solve our m-CTP. Generally speaking, the m-CTP is defined by an undirected graph G = (V UW, E), where V ∪W is the vertex set and E = {(vi , vj ) : vi , vj ∈ V ∪W, i < j} is the edge set. V is the set of vertices that can be visited and W is the set of vertices that must be covered by up to m vehicles. T ⊆ V is the set of vertices that must be visited including the depot where identical vehicles are located.The problem consists of determining the shortest Hamiltonian cycle on V such that every vertex in W is within a pre-specified distance d from the cycle. The m-CTP is an NP-hard problem as it reduces to a TSP when d = 0 and V = W , to a VRP with unit demand when T = V and W = ∅ or simply to a CTP when there is no capacity constraints, see e.g [8]. The m-CTP is characterized by the following constraints: • • • • •
Each vehicle route starts and ends at the depot; Each vertex of T belongs to exactly one route while each vertex of V \ T belongs to at most one route; Each vertex of W must be covered by a route; The number of vertices on a route (excluding the depot) is less then a given value p; The length of each route is less then a given value q.
To our knowledge, the CTP was first considered by [1]. Firstly, a formulation of the problem is given in [2]. Since then, the authors of [3] introduced an integer linear programming formulation and solved the problem exactly by a branch and cut algorithm.The CTP is classified as an NP-Hard combinatorial optimisation problem since it combines between two classical NP-Hard problems, the Traveling Salesman Problem (TSP) and the Set Covering Problem(SCP) [2].
M. Kammoun et al. / Electronic Notes in Discrete Mathematics 47 (2015) 285–292
287
For the mutli-vehicle version, [7] firstly proposed a column generation approach ans solved the problem for |V | + |W | = 100 and |T | = 1. Recently, [4] developed a branch and cut algorithm for the m-CTP without length constraint and solved the problem exactly as well as with a metaheuristic based on the evolutionary local search (ELS) method. Computational results up to 200 vertices with a tour containing up to 100 vertices are reported and the results of their algoirthm outperforms the algorithm of [7]. The remainder of this paper is organized as follows: A review of the VNS approach is given in the next Section. The third Section provides our solution technique. Section 3 presents our experimental results followed by the conclusions in Section 4.
2 A Variable Neighborhood Search For The Multi-Vehicle Covering Tour Problem 2.1 A VNS Overview Variable neighborhood search (VNS) is classified among several local search techniques for solving combinatorial and global optimization problems. Generally, the local search attempts to find a local optimum by applying a sequence of local changes which improve the value of the objective function at each move. The basic idea of the VNS and its variants is the systematic change of the neighborhood when the search is trapped at local minimum ([6],[9]). Let Nk , k = 1...kmax be the set of neighborhoods used in the VNS and Nk (x) be the neighbors of a solution x via a neighborhood structure Nk . A local search with the first neighborhood from an initial solution x is performed and a new solution x∗ is returned. Then, a random neighbor x ∈ Nk (x∗ ) is calculated using a function Shake(x∗ , k) followed by a local search from x using the first neighborhood N1 which gives rise to a new solution x . Finally, the neighborhood change is performed using a procedure ChangeNeighborhood(x∗ , x , k) as follows: if x is better then x∗ then the process is iterated with x and k = 1 otherwise k = k + 1 and the process is iterated with the current solution x∗ . The different steps of the VNS algorithm are summarized in algorithm 1. The variable neighborhood descent (VND) is a simple case of VNS. It is based on finding the best neighbor x ∈ Nk (x∗ ). If the obtained solution is better then x ← x and k = 1 otherwise the VND changes the neighborhood to Nk+1 . It is a deterministic version of the VNS. Our algorithm is described step by step in the next section.
288
M. Kammoun et al. / Electronic Notes in Discrete Mathematics 47 (2015) 285–292
Algorithm 1 x ← initial solution, k ← 1 Repeat the following steps until a stopping condition is met or k = kmax Step 1: x ← Shake(x∗ , k) /** Shaking **/ Step 2: x ← L-S(x , kmax ) /** Local search **/ Step 3: Change-Neighborhood(x∗, x , k) 2.2 Our Solution Technique In this section, we introduce a nested VNS algorithm for solving our m-CTP. First, we generate a feasible solution for a vehicle routing problem (VRP) by fixing the vertices in V that will be visited to cover those in W . Then, we apply local search to improve this solution. In our work, we use a semi-nested VND as a local search in step 2 of algorithm 1. Hereafter, we give more details of the proposed heuristic to solve the m-CTP. The first phase consists of generating an initial solution. We randomly use the vertices of T and then select randomly the vertex thay may be visited to cover a maximum number of vertices in V ∪ W . The process is repeated until a feasible solution is reached. The initial solution is then improved by applying the VND. The neighborhood structures within the VND algorithm are insertion and swap. Denote by S the set of vertices in this solution. Let R = V S be the remaining set of vertices. We attempt to determine a better feasible solution by applying a semi-nested VND for each vertex in R. The algorithm is based on two main steps: a swap move and a VND already described. More precisely, we consider different new combinations of routes by replacing a vertex from S with a vertex from R and then applying VND to the induced problem. Let f be an evaluation function, the steps of the semi-nested VND are given in Algorithm 2. Algorithm 2 Semi-Nested VND(S) 1 for i ∈ R do 2 for j ∈ S do 3 Swap move between i and j to get S 4 S =VND(S ) 5 iff (S ) < f (S) then 6 S ← S 7 end for 8 end for
Algorithm 3 summarizes the steps of the shaking phase. As input, we
M. Kammoun et al. / Electronic Notes in Discrete Mathematics 47 (2015) 285–292
289
remove k vertices from S T randomly and we explore new solutions by inserting each time the vertex from V S that maximizes the number of covered vertices in V ∪ W . The insertion is made randomly. The search continues until the solution is feasible and the resulting VNS is summarized by algorithm 4. Algorithm 3 Shaking(S, k) 1 Remove k vertices randomly from S T 2 repeat 3 Select i ∈ V S that maximizes the number of covered vertices in V ∪ W 4 Insert i in S randomly 5 until Feasible solution
Algorithm 4 Resulting VNS 1k=0 2 repeat 3 S ← Shaking(S, k) 4 S ← Semi-Nested VND(S ) 5 Change-Neighborhood(S, S , k) 6 until Stopping condition
3
Computational Results
We use the instances of TSPLIB to generate our instances. We follow the same procedure as in ([4], [3], [5]). The instances are labeled X-T -n-W -p ,where X is the name of the TSPLIB instance. Our results are summarized in Tables 1 and 2. The column headings are as follows: Data: name of instance, m: the maximum number of vehicles, GapU B : the deviation between our results and the best known solutions and Time is the running time in seconds. Table 1 presents the results for 64 instances with 100 vertices and Table 2 presents the results for 32 instances with 200 vertices. The results in bold are proved to be optimal and the results marked with a star indicate that our method gives the best known solution. We can solve 64 instances successfully (see Table 1) and we can find the optimal solution for 32 instances, 4 of them are improved (see Table 2). In addition, our results show that our method is faster then that of [4] in all solved instances.
290
M. Kammoun et al. / Electronic Notes in Discrete Mathematics 47 (2015) 285–292
Minh Hoang Ha
Our method Data
Branch - and - cut
Metaheuristic
Time
Result
m
Time
Result
GapU B
m
Time
Result
GapU B
A1-1-25-75-4
0.016
8479
2
1.113
8479
0
2
0.16
8479
0
A1-1-25-75-5
0.016
8479
2
3.27
8479
0
2
0.17
8479
0
A1-1-25-75-6
0.013
8479
2
3.27
8479
0
2
0.17
8479
0
A1-1-25-75-8
0.014
7985
1
20.10
7985
0
1
0.16
7985
0
A1-5-25-75-4
0.015
10827
2
9.49
10827
0
2
0.13
10827
0
A1-5-25-75-5
0.014
8659
2
0.11
8659
0
2
0.14
8659
0
A1-5-25-75-6
0.015
8659
2
0.63
8659
0
2
0.16
8659
0
A1-5-25-75-8
0.017
8265
1
4.20
8265
0
1
0.14
8265
0
A1-1-50-50-4
0.022
10271
3
9.91
10271
0
3
0.80
10271
0
A1-1-50-50-5
0.017
9220
2
12.36
9220
0
2
0.78
9220
0
A1-1-50-50-6
0.023
9130
2
24.79
9130
0
2
0.81
9130
0
A1-1-50-50-8
0.018
9130
2
203.93
9130
0
1
0.81
9130
0
A1-10-50-50-4
1.041
17953
5
4828.55
17953
0
5
3.26
17973
0.11
A1-10-50-50-5
0.020
15440
4
173.61
15440
0
4
3.81
15440
0
A1-10-50-50-6
0.041
14064
3
1586.21
14064
0
3
3.85
14064
0
A1-10-50-50-8
0.078
13369
-
7200.12
-
-
3
3.92
13369
0
B1-1-25-75-4
0.004
7146
2
1.81
7146
0
2
0.22
7146
0
B1-1-25-75-5
0.005
6901
2
3.23
6901
0
2
0.18
6901
0
B1-1-25-75-6
0.004
6450
1
4.33
6450
0
1
0.23
6450
0
B1-1-25-75-8
0.004
6450
1
10.88
6450
0
1
0.20
6450
0
B1-5-25-75-4
0.004
9465
2
0.22
9465
0
2
0.17
9465
0
B1-5-25-75-5
0.004
9460
2
5.74
9460
0
2
0.16
9460
0
B1-5-25-75-6
0.004
9148
2
18.07
9148
0
2
0.17
9148
0
B1-5-25-75-8
0.004
8306
1
8.94
8306
0
1
0.17
8306
B1-1-50-50-4
0.012
10107
2
16.63
10107
0
2
0.62
10107
0
0
B1-1-50-50-5
0.009
9723
2
84.08
9723
0
2
0.64
9723
0
B1-1-50-50-6
0.016
9382
2
162.24
9382
0
2
0.58
9382
0
B1-1-50-50-8
0.016
8348
2
76.06
8348
0
2
0.58
8348
0
B1-10-50-50-4
0.004
15209
4
127.64
15209
0
4
2.53
15209
0
B1-10-50-50-5
0.052
13535
3
149.24
13535
0
3
2.08
13535
0
B1-10-50-50-6
0.012
12067
3
104.70
12067
0
3
1.97
12067
0
B1-10-50-50-8
0.016
10344
2
32.27
10344
0
2
1.99
10344
0
C1-1-25-75-4
0.004
6161
1
2.82
6161
0
1
0.16
6161
0
C1-1-25-75-5
0.004
6161
1
5.81
6161
0
1
0.16
6161
0
C1-1-25-75-6
0.004
6161
1
7.73
6161
0
1
0.15
6161
0
C1-1-25-75-8
0.004
6161
1
9.42
6161
0
1
0.17
6161
0
C1-5-25-75-4
0.011
9898
2
0.39
9898
0
2
0.16
9898
0
C1-5-25-75-5
0.004
9707
2
2.98
9707
0
2
0.18
9707
0
C1-5-25-75-6
0.004
9321
2
4.17
9321
0
2
0.19
9321
0
C1-5-25-75-8
0.004
7474
2
0.35
7474
0
1
0.19
7474
0
C1-1-50-50-4
0.028
11372
3
8.12
11372
0
3
0.64
11372
0
C1-1-50-50-5
0.013
9900
2
13.28
9900
0
2
0.67
9900
0
C1-1-50-50-6
0.017
9895
2
56.91
9895
0
2
0.67
9895
0
C1-1-50-50-8
0.007
8699
2
8.47
8699
0
2
0.65
8699
0
C1-10-50-50-4
0.025
18212
4
164.37
18212
0
4
2.23
18212
0
C1-10-50-50-5
0.043
16362
4
126.79
16362
0
4
2.14
16362
0
C1-10-50-50-6
0.017
14749
3
240.39
14749
0
3
2.00
14749
0
C1-10-50-50-8
0.043
12394
2
5.62
12394
0
2
2.07
12414
0.16
D1-1-25-75-4
0.020
7671
2
1.04
7671
0
2
0.16
7671
0
D1-1-25-75-5
0.022
7465
2
5.38
7465
0
2
0.16
7465
0
D1-1-25-75-6
0.015
6651
1
3.80
6651
0
1
0.15
6651
0
D1-1-25-75-8
0.014
6651
1
12.85
6651
0
1
0.16
6651
0
D1-5-25-75-4
0.013
11820
2
1.6516.7211820
0
2
0.18
11820
0
D1-5-25-75-5
0.016
10982
2
16.72
10982
0
2
0.17
10982
0
D1-5-25-75-6
0.018
9669
2
3.40
9669
0
2
0.17
9669
0
D1-5-25-75-8
0.020
8200
1
1.25
8200
0
1
0.17
8200
0
D1-1-50-50-4
0.021
11606
3
9.34
11606
0
3
0.93
11606
0
D1-1-50-50-5
0.263
10770
2
29.32
10770
0
2
0.85
10770
0
D1-1-50-50-6
0.026
10525
2
281.28
10525
0
2
0.82
10680
1.47
D1-1-50-50-8
0.028
9361
2
110.62
9361
0
2
0.93
9361
0
D1-10-50-50-4
0.038
20982
5
10.93
20982
0
5
3.82
20982
0
D1-10-50-50-5
0.164
18576
4
393.45
18576
0
4
3.38
18576
0
D1-10-50-50-6
0.011
16330
3
116.08
16330
0
3
2.91
16330
0
D1-10-50-50-8
0.008
14204
3
248.39
14204
0
3
3.54
14204
0
Table 1 Computational results with 100 vertices
M. Kammoun et al. / Electronic Notes in Discrete Mathematics 47 (2015) 285–292
291
Minh Hoang Ha
Our method Data
Branch and cut
metaheuristic
Time
Result
m
Time
Result
GapUB
m
Time
Result
GapUB
A2-1-50-150-4
0.024
11550
2
82.21
11550
0
2
0.89
11550
0
A2-1-50-150-5
0.025
10407
2
340.58
10407
0
2
0.87
10407
0
A2-1-50-150-6
0.023
10068
2
107580
10068
0
2
0.89
10068
0
A2-1-50-150-8
0.063
8896
1
153.40
8896
0
1
0.94
8896
0
A2-10-50-150-4
0.474
17083
4
1256.98
17083
0
4
2.03
17083
0
A2-10-50-150-5
0.120
14977
3
494.66
14977
0
3
1.50
14977
0
A2-10-50-150-6
0.190
13894
3
978.92
13894
0
3
1.95
13894
0
A2-10-50-150-8
0.068
11942
2
280.21
11942
0
2
2.07
11942
0
A2-1-100-100-4
0.154
11885
3
4593.91
11885
0
3
2.89
11885
0
A2-1-100-100-5
0.058
10234
2
1440.13
10234
0
2
2.82
10234
0
A2-1-100-100-6
0.026
10020
-
7200.13
-
-
2
2.92
10020
0
A2-1-100-100-8
0.270
9093
-
7200.12
-
-
2
2.92
9093
0
A2-20-100-100-4
0.891
26594
-
7200.08
-
-
7
43.91
26594
0
A2-20-100-100-5
5.201
23419
-
7200.13
-
-
6
37.29
23419
0
A2-20-100-100-6
5.813
20966
-
7200.14
-
-
5
39.50
20966
0
A2-20-100-100-8
123.884
18415*
-
7200.08
-
-
4
4242
18418
0.016
B2-1-50-150-4
0.177
11175
3
166.00
11175
0
3
0.91
11175
0
B2-1-50-150-5
0.020
10502
2
1114.67
10502
0
2
0.90
10502
0
B2-1-50-150-6
0.018
9799
2
1273.97
9799
0
2
0.91
9799
0
B2-1-50-150-8
0.072
8846
2
629.77
8846
0
2
0.87
8846
0
B2-10-50-150-4
0.019
16667
5
5972.52
16667
0
2
2.87
16667
0
B2-10-50-150-5
0.010
14188
4
124.21
14188
0
2
2.87
14188
0
B2-10-50-150-6
0.026
12954
3
773.56
12954
0
2
2.53
12954
0
B2-10-50-150-8
0.016
11495
2
732.65
11495
0
1
2.53
11495
0
B2-1-100-100-4
0.057
18370
4
6614.98
18370
0
2
15.03
18370
0
B2-1-100-100-5
0.076
15876
4
1471.99
15876
0
2
15.61
15876
0
B2-1-100-100-6
0.05
14867*
-
7200.08
-
-
2
14.83
14926
0.39
B2-1-100-100-8
0.026
13137
-
7200.09
-
-
1
15.68
13137
0
B2-20-100-100-4
0.033
34062*
-
7200.14
-
-
9
117.01
34073
0.032
B2-20-100-100-5
78.155
29412
-
7200.11
-
-
7
126.00
29412
0
B2-20-100-100-6
0.06
25960
-
7200.16
-
-
6
116.79
25960
0
B2-20-100-100-8
168.606
22082*
-
7200.10
-
-
5
114.01
22156
0.33
Table 2 Computational results with 200 vertices
4
Conclusion
This work presents an extension version of the CTP named multi-vehicle covering tour problem (mCTP). Our contribution includes a VNS algorithm to
292
M. Kammoun et al. / Electronic Notes in Discrete Mathematics 47 (2015) 285–292
solve the problem. Computational tests show that our results outperform those in [4].
References [1] Current, J. R., Multiobjective design of transportation networks, Ph.D. thesis, Department of Geography and Environmental Engineering, The Johns Hopkins University, (1981). [2] Current, J. R. and D. A. Schilling, The Covering salesman problem, Transportation Science 23 (1989), pp. 208–213. [3] Gendreau, M., G. Laporte and F. Semet, The Covering Tour Problem, Operations Research 45 (1997), pp. 568–576. [4] H` a, H., M. Ho`ang, N. Bostel, A. Langevin and L. M, Rousseau, An exact algorithm and a metaheuristic for the multi-vehicle covering tour problem with a constraint on the number of vertices, European Journal of Operational Research 226 (2013), pp. 211–220. [5] Hachicha, M., M. Hodgson, G. Laporte and F. Semet, Heuristics for the multivehicle covering tour problem, Computers & Operations Research 27 (2000), pp. 29–42. [6] Hansen, P., N. Mladenovi´c and J. A. M. P´erez, Variable neighborhood search: methods and applications, Annals of Operations Research 175 (2010), pp. 367– 407. [7] Jozefowiez, N., A column generation approach for the muti-vehicle covering tour problem, in Proc. of Recherche Op´erationnelle et Aide `a la D´ecision Fran¸caise (ROADEF 2011), Saint-Etienne, France (2011). [8] Laporte, G., The vehicle routing problem: an overview of exact and approximate algorithms, European Journal of Operational Research 59 (1992), pp. 345–358. [9] Mladenovi´c, N. and P. Hansen, Variable neighborhood search, Computers and Operations Research 24 (1997), pp. 1097–1100.