A variable neighborhood search for solving the multi-vehicle covering tour problem

A variable neighborhood search for solving the multi-vehicle covering tour problem

Available online at www.sciencedirect.com Electronic Notes in Discrete Mathematics 47 (2015) 285–292 www.elsevier.com/locate/endm A variable neighbo...

194KB Sizes 0 Downloads 112 Views

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.