A Variable Neighborhood Search-Based Heuristic for the Multi-Depot Vehicle Routing Problem

The multi-depot vehicle routing problem (MDVRP) is addressed using an adaptation of the variable neighborhood search (VNS). The proposed VNS algorithm besides using several neighborhoods and a number of local searches has a number of additional features. These include a scheme for identifying borderline customers, a diversification procedure and a mechanism that aggregates and disaggregates routes between depots. The proposed algorithm is tested on the data instances from the literature and produces competitive results.


Introduction
The multi depot vehicle routing problem (MDVRP) can be found in many logistics companies as many logistics companies operate from more than one depot to serve their customers.In this problem, we are given a number of customers, n, and a number of depots, m.Each customer must be served by one vehicle only and each vehicle must start and finish its journey at a depot.The capacity of a vehicle and the maximum length of a route must not be exceeded.The objective is to find the least cost routes by considering several depots.
There are several published papers addressing the MDVRP.The first heuristic is developed by Tillman [29].He used the Clarke and Wright saving criterion [6].Tillman and Cain [30] incorporated the procedure in Tillman [29] within a partial enumerative scheme that maximizes a saving criterion.Wren and Holliday [31]; Gillett and Johnson [11] presented a two-phase algorithm that utilised the sweep procedure.Golden et al. [13] put forward two algorithms.The first one constitutes a modification of the saving method of Yellow [32], and the second is a two-stage approach based on an assignment first and route second.In this work, they introduce the borderline customer concept to assign customers to the depots, which we are using later in this study.Laporte et al. [19] proposed a branch and bound algorithm to address the MDVRP with the symmetric distance case.They also presented an algorithm for solving the asymmetric case (Laporte et al., [20]).
Chao et al. [4] developed a multi-phase heuristic that use a search procedure based on the record-to-record travel algorithm of Dueck [10] and the 2-opt of Lin [21].Renaud et al. [25] and Cordeau et al. [7] put forward a tabu search approach.
1* Department of Industrial Engineering, National Institute of Technology, Jl.P.H.H Mustafa 23 Bandung 40124, Indonesia.Email: arifimr@yahoo.comSalhi and Sari [27] used multi-level heuristic which enhanced by two reduction tests which made it considerably faster when compared to other heuristics with no serious effect on the solution quality.Two hybrid genetic algorithms are developed by Ho et al. [14].Yu et al. [33] put forward an ant colony optimization with weight and mutation strategy (ACO-WM) and an ant colony optimization with parallel improvement (PIACO) to solve the MDVRP.

Some Applications
The MDVRP is used in many practical problems.Cassidy and Bennet [3] developed a two phase approach to address the school meal delivery problem.A two-phase approach, a route first cluster second, is presented by Ball et al. [1] for the distribution of chemical product in the USA and Canada.Perl and Daskin [24] incorporate in their locationrouting formulation to solve the distribution of manufacturing products in the USA.Benton [2] put forward a saving method combined with a branch and bound based algorithm to address delivery to retail outlets from a bakery in Indiana.A combination of linear programming and heuristics is presented by Klot et al. [15] to tackle the distribution problem of dairy products in Haifa, Israel.Min et al. [22] used a combination of exact methods and heuristic for backhauls to address a distribution problem of the hardware products in the USA.Tarantilis and Kiranoudis [28] used the list-based threshold accepting (LBTA) algorithm to solve an open MDVRP that was faced by the Greek industry distributing meat from depots to butchers' shops.The proposed algorithm was able to improve the operations of the company.
We propose an adaptation of the basic VNS algorithm of Mladenovic and Hansen [23] to solve the MDVRP.This implementation is similar to the one designed for the multi-depot heterogeneous vehicle routing problem (MDHFVRP) in Imran [16] and Salhi et al. [26] except here it is used to deal with homogeneous vehicles and in this paper more calculations are applied.
The paper is organized as follows.The proposed VNS algorithm is presented in the methods section, followed by a brief explanation of its main steps in.Computational results are analyzed in result and discussion section.The last section summarizes the findings and highlights some research avenues that worth pursuing in the future.

A Variable Neighborhood Search Method
The basic VNS algorithm is presented in Figure 1.VNS starts by selecting a set of neighbourhood structures , where is the neighbourhood in distances, and by generating an initial solution .A random point in is generated.A local search is performed to find .If is better than then , and the search returns to , otherwise the search continues to .This inner loop is repeated until .The algorithm is stopped after a certain number of stopping criteria such as the maximum total number of iterations, the maximum CPU time, or the maximum number of iterations between two successive improvements or when is reached.

An Overview of the Proposed Algorithm
At the beginning, we split the customers into two subsets; one for those who will be served from their nearest depots and the others which we refer to as the Figure 1.VNS Algorithm borderline customers.Each depot is initially considered individually and solved as a standard VRP.In each depot, giant tours are first created using the sweep method and then refined by the 2-opt procedure.Dijkstra's algorithm is then used for each giant tour to construct its corresponding optimal partitioning (i.e., the routes).As optimality is guaranteed only on the chosen giant tour, the solution is then improved using our VNS-based heuristic for this set of routes.
All borderline customers are then inserted into their best possible place in the routes originating from their nearest or the second nearest depot.We then treat all routes from all depots together by considering them as one large set of routes identified by their first and end node which correspond to their originating depot.The implementation of the VNS is then applied over all these routes to improve the overall solution.Once this is completed this large set of routes is split back to its original subset of routes, each served from one depot only.A diversification procedure is then applied to each depot and its corresponding routes.This process of having all routes as one large set of routes and re-arranging them into single depot problems and vice versa is repeated several times until a stopping criterion is met.In addition, at the last stage we also re-arrange the routes into their corresponding depots where Dijkstra's algorithm is then used as our final post optimiser.If this produces an improved solution, the entire search is repeated by putting all routes together again where VNS is activated, otherwise the search terminates.

Explanation of the Main Step Initial Solution (Step 0)
The initial solution without borderline customer is obtained in three steps; (i) construct a giant tour for each depot using the sweep algorithm of Gillett and Miller [12], (ii) improve this tour using the 2-opt of Lin [21], (iii) construct the cost network and (iv) apply Dijkstra's algorithm [8] to find the optimal solution for the shortest path based on the corresponding cost network.
This partitioning procedure based on solving the shortest path problem was presented by several authors for the VRP and by Salhi and Sari [27] for the multi-depot HFVRP.To avoid using the largest distance between two successive customers in a given route, these 2 customers, say a and b are used as the starting and ending points, in the construction of the cost network, in the giant tour.For instance starting from 'a' anticlockwise till reaching 'b' and starting from 'b' clockwise till reaching 'a' will lead to two cost networks.For each depot, the construction of the cost network is performed and Dijkstra's algorithm implemented, see Imran et al. [18] for details.

Neighborhood Structures (Step 1b(i) and Step 4b(i))
Six neighborhoods are used in this study (i.e.kmax = 6).These include the 1-1 interchange (swap), two types of the 2-0 shift, the 2-1 interchange, and two types of the perturbation.The order of the neighborhoods is as follows; the 1-1 interchange is used as N1, the 2-0 shift of type 1 as N2, the 2-1 interchange as N3, the perturbation of type 1 as N4, the perturbation of type 2 as N5, and finally the 2-0 shift of type 2 as N6.The detailed description of these neighborhoods can be found in Imran et al. [18] for the single depot case.

Local Search (Step 1b(ii) and Step 4b(ii))
Six refinement procedures are adopted as our local searches and which also make up our multi-level heuristic.The order of the refinement procedures is as follows: the 1-insertion inter-route as the first refinement procedure R1, the 2-opt inter-route as R2, the 2-opt intra-route as R3, the swap intra-route as R4, 1-insertion intra-route as R5, and finally the 2-insertion intra-route as R6.The process starts by generating a random feasible solution x from N1, which is used as the temporary solution.The multilevel approach then starts by finding the best and the search returns to R1, otherwise the next refinement procedure is applied.This process is repeated until R6 cannot produce a better solution.As these six local searches are very similar to the ones developed by Imran et al. [18] and Imran and Okdinawati [17] and for the single depot case, these are not reported here.

Definition and Insertion of Borderline Customers (Step 2)
A borderline customer is a customer that happens to be situated approximately half a way between its nearest and its second nearest depots.Here, we determine the borderline customers as follows: For each customer i = 1,2,…, n find the nearest and second nearest depots (i.e., respectively) Set , the set of borderline customer.For each customer -Identify its nearest and second nearest depots respectively ( -Compute ⁄ If allocate customer to its nearest depot, otherwise consider customer i as a borderline customer, which will be left temporarily unassigned, and set .
The larger the value of , the smaller the number of borderline customers is.In particular if , there will be no borderline customers except if some customers happen to be situated exactly half way between the two corresponding depots.If , any customer is a borderline customer.According to previous experiments by Salhi and Sari [27], the value of was found to be appropriate in generating an enough number of borderline customers.

Insertion of the Borderline Customers (Step 2)
All borderline customers are inserted in their best possible place using the nearest or the second nearest depot.This is carried out using the 1-0 insertion procedure.For each customer , compute where and denote the set of routes originating from the nearest and second nearest depots of customer i, and In this step all routes are considered together to form a large set of routes irrespective of their originating depots.As each route is defined as a string where the first and last elements represent the depot number from which such a route originates, it is therefore a simple procedure to apply the VNS to all these routes (Step 4) as some customers may now have the opportunity to shift between routes that are not necessarily originating from the same depot.An illustration in the case of two depots with four routes (two routes in the first depot and two routes in the second one) is given in Figure 3 where the j th depot is represented by n+j (j=1,…,m).Figure 2 represents a brief flow chart that describes how routes are aggregated, the VNS applied, then the routes regrouped again depot by depot which then allowed the diversification procedure and the Dijkstra's algorithm to be used on each depot.This procedure is repeated several times until the stopping criterion is fulfilled.

The Diversivication Procedure (Steps 5)
This procedure is used when there is no further improvement after all the local searches are performed.The idea is to explore other regions of the search space that may not have been visited otherwise.The incumbent best solution is used as an input for the diversification procedure to obtain the new initial solution.The idea is to construct a cost network by starting from a node which is not the first point of any route, when following clockwise direction, and also not the end point of any route, when following anticlockwise direction.
This will ensure that a route from this incumbent best solution will be split, a new cost network constructed and hence a new solution generated.
Step (0) Initialization.Define a set of neighbourhood structures and set of local search for .Set NbDivMax=5, maxDijk=5, NbDiv = 0, NbDijk=0.maxiter1=50 and maxiter2=250.Allocate the customers to the depots and determine the borderline customers.enerate an initial solution i for each depot i and set , Step (1) Repeat the following sequence until maxiter1 is reached: (a) For each depot i, set (b) Repeat the following steps until (i) Shaking.Generate a point at random from the neighbourhood of ; (ii) Local search: Apply a multi-level approach to find the best neighbour .
(iii) Move or not.If the local optimum is better than the incumbent , set and go to (a); otherwise set .
Step (2) Insert the borderline customers to its closest or second closest depot.
Step (3) Define xt as the solution of all depots.
Step (4) Repeat the following sequence until maxiter2 is reached: (a) Set (b) Repeat the following steps until (i) Shaking.Generate a point at random from the neighbourhood of ; (ii) Local search: Apply a multi-level approach to find the best neighbour .(iii) Move or not.If the local optimum is better than the incumbent , set and go to (5); otherwise set .
Step (5) While NbDivMax is not reached, re-arrange the routes according to their depots, apply the diversification procedure within each depot and go to Step (3).
Step (6) If maxDijk is met stop, Else -re-arrange the routes for each depot for each depot construct the cost network using the partial solution of the incumbent and apply Dijkstra's algorithm to get the partial solution of the new .-if the new solution is better than , set , NbDiv = 0 and go to Step (4), else stop.The steps of the diversification procedure are presented in Figure 4.

Use of the Dijkstra's Algorithm as an Extra Refinement (Step 6)
Dijkstra's algorithm, besides being used to generate an initial solution, is also applied as a post optimizer.Here, the cost network is constructed from the incumbent best solution.The aim is to see whether the optimal solution for the shortest path based on the corresponding cost network is better to the current one or not.In this procedure, the two end points of the first route of the incumbent best solution are used as the starting points and then all the other routes are combined to form the giant tour.

Results and Discussion
The implementation of the VNS-based algorithm is tested on 23 problems from Christofides and Eilon [5] (problem no.1-no.7),Gillett and Johnson [11] (problem no.8-no.11)and Chao et al. [4] (problem no.12no.23)and executed using a Pentium IV-M PC with 1 GB of RAM.
The results obtained are then compared with the existing results.In Table 1 the best solutions are recorded in bold and the new best solutions are underlined.The average deviation (AD) is calculated as ∑ where NI, and denote the number of instances, the cost for the k th instance and the best known solution for the k th instance respectively.Table 1 shows that the proposed algorithm produces competetive result.The algorithm produces 8 ties with the existing best known solutions.In terms of the average deviation it produces better average deviation than the ones of Chao et al. [4], Renaud et al. [25], Dorigo et al. [9], Salhi and Sari [27] and Yu et al. [33] (ACO-WM algorithm) but it is not as good as the ones of Yu et al. [33] that uses the PIACO algorithm.
The CPU time of other researchers are obtained from various machines.The comparison of computational effort discussed in this paper, as the run time not only depends on the CPU of the machines but also on the operating system, the compiler, the programming language and the precision used during the execution of the code.Table 2 shows that the CPU time used by the proposed algorithm is acceptable.

Conclusion
In this study, an efficient implementtation of the VNS-based algorithm is put forward to solve the MDVRP.The algorithm is equipped with a scheme for determining borderline customers, a multi-level based approach acting as the set of local searches, the Dijkstra's algorithm, a diversification procedure and a mechanism to aggregate the routes from The result can be improved by combining VNS with other method or introducing new local searches and neighborhoods into the VNS algorithm.The proposed methodology could be developed to solve related multi-depot routing problems such as variants that include the presence of time windows, the case of pickups and deliveries, among others.

Figure 4 .
Figure 4.The diversification procedure Table1.Comparison of VNS-based algorithm average deviation with other algorithms No n m Q Best Solution Chao et al. [4]Renaud et al.[25]

Table 2 .
CPU time of different algorithms (in minutes) re-aggregate them into corresponding depots accordingly.The algorithm produce competitive result when compared to the results from the literature.