A multistart adaptive memory-based tabu search algorithm for the heterogeneous fixed fleet open vehicle routing problem

A multistart adaptive memory-based tabu search algorithm for the heterogeneous fixed fleet open vehicle routing problem

Expert Systems with Applications 39 (2012) 365–374 Contents lists available at ScienceDirect Expert Systems with Applications journal homepage: www...

573KB Sizes 3 Downloads 85 Views

Expert Systems with Applications 39 (2012) 365–374

Contents lists available at ScienceDirect

Expert Systems with Applications journal homepage: www.elsevier.com/locate/eswa

A multistart adaptive memory-based tabu search algorithm for the heterogeneous fixed fleet open vehicle routing problem Xiangyong Li a, Stephen C.H. Leung b,⇑, Peng Tian c a

School of Economics & Management, Tongji University, Shanghai 200092, China Department of Management Sciences, City University of Hong Kong, Hong Kong c Antai College of Economics & Management, Shanghai Jiao Tong University, Shanghai 200052, China b

a r t i c l e

i n f o

Keywords: Vehicle routing Distribution management Heterogeneous fleet Metaheuristics Adaptive memory programming

a b s t r a c t This paper addressed the heterogeneous fixed fleet open vehicle routing problem (HFFOVRP), in which the demands of customers are fulfilled by a fleet of fixed number of vehicles with various capacities and related costs. Moreover, the vehicles start at the depot and terminate at one of the customers. This problem is an important variant of the classical vehicle routing problem and can cover more practical situations in transportation and logistics. We propose a multistart adaptive memory programming metaheuristic with modified tabu search algorithm to solve this new vehicle routing problem. The algorithmic efficiency and effectiveness are experimentally evaluated on a set of generated instances. Ó 2011 Elsevier Ltd. All rights reserved.

1. Introduction Transportation plays a significant role in logistics and supply chain management. In today’s economy, outsourcing has become routine in business activities. More and more enterprises contract their physical distribution tasks to third party logistics companies. These outsourcing carriers are paid on the basis of fixed costs and traveling distances of the ‘for-hire’ vehicles. Hence, the vehicle starts at the depot and is not required to return to the depot after servicing the last customer on its route. This problem is regarded as an open vehicle routing problem (OVRP), and the route of each vehicle is not a Hamiltonian cycle, but a Hamiltonian path. For more real-life applications of this type of problem, readers are referred to Li, Golden, and Wasil (2007b), Repoussis, Tarantilis, and Ioannou (2007), Tarantilis, Kiranoudis, and Vassiliadis (2004), Tarantilis, Ioannou, Kiranoudis, and Prastacos (2005). Sariklis and Powell (2000) firstly introduced the OVRP and a cluster-first route-second approach is developed. Different heuristic and metaheuristic algorithms have been developed to solve the OVRP such as tabu search (Brandão, 2004; Fu, Eglese, & Li, 2005), record-to-record travel algorithm (Li, Golden, & Wasil, 2007a), neighborhood search algorithm (Fleszar, Osman, & Hindi, 2009), and ant colony optimization (Li, Tian, & Leung, 2009). As the company may contract its delivery activities to a number of outsourcing carriers, and the outsourcing carriers may own a heterogeneous fleet of vehicles available for hiring, it is not

⇑ Corresponding author. Tel.: +852 3442 8650; fax: +852 3442 0189. E-mail address: [email protected] (S.C.H. Leung). 0957-4174/$ - see front matter Ó 2011 Elsevier Ltd. All rights reserved. doi:10.1016/j.eswa.2011.07.025

practical if a fleet of homogeneous vehicles is considered in the VRP. Hence, the heterogeneous fleet vehicle routing problem has been investigated such as Gendreau, Laporte, Musaraganyi, and Taillard (1999b), Li et al. (2007a), Li, Tian, and Aneja (2010). Moreover, the number of vehicles available to perform the delivery is limited and the vehicles have different capacities, fixed costs and variable costs per unit distance. We call the above problem as heterogeneous fixed fleet open vehicle routing problem (HFFOVRP) which is a relaxation of the standard vehicle routing problem (VRP). However, to the best of our knowledge, no work has been done to address such a vehicle routing problem. On the other hand, this problem is more practical in distribution management and transportation. From a graph theoretical point of view, we can define the HFFOVRP as follows. Let G = (V, E) be a complete weighted graph, where V = {0, 1, . . . , n} is the node set, and E = {(i, j)ji, j 2 V,i – j} is the edge set. Node 0 is the depot and the customer set C consists of n customers, i.e., C = {1, 2, . . . , n}. Each arc (i, j) is associated with a traveling distance dij. Each customer i has a fixed demand qi, to be delivered from the depot, and a service time di. A fleet of vehicles of different types is located at the depot, and the vehicle type set is denoted as w = {1, 2, . . . , k, . . . , K}. The number of vehicle of type k is limited, i.e., nk. The vehicle of type k has the following characteristics: capacity Qk, fixed cost fk, variable cost vk per unit distance, and the maximum allowed traveling distance Lk. Here we assume that the traveling distance and service times have the same dimension. The objective of the HFFOVRP is to determine a set of vehicle routes with minimum transportation cost (fixed cost plus variable cost), which must satisfy the following constraints: (1) Each vehicle route begins at the depot and does not return to the depot;

366

X. Li et al. / Expert Systems with Applications 39 (2012) 365–374

(2) The demand of each customer must only be fulfilled by one vehicle and exactly once; (3) Total demand of each route cannot exceed the capacity of the corresponding vehicle type; (4) The total traveling distance of each route cannot exceed the distance restriction Lk of the vehicles used; and (5) The number of vehicles of type k used cannot exceed nk. By relaxing the restriction of vehicle heterogeneity, we can convert the HFFOVRP into an open vehicle routing problem (OVRP). Similarly, a VRP with a heterogeneous fixed fleet can be obtained by removing the constraint of Hamiltonian path. Since the special case, OVRP, is NP-hard (Brandão, 2004; Li et al., 2009; Cao & Lai, 2010), HFFOVRP is also a NP-hard combinatorial optimization problem. Hence, it is reasonable to develop a heuristic algorithm to quickly produce solutions. The aim of this paper is to apply the metaheuristic algorithm to deal with the new variant of the VRPs, HFFOVRP. We propose a multistart adaptive memory programming metaheuristic with modified tabu search algorithm. The main mechanism considered is to produce high-quality HFFOVRP by using the search memory and experience. The rest of this paper is organized as follows. In Section 2, the proposed algorithm is described in detail. Experimental evaluation of this algorithm is reported in Section 3. First, we describe a method to generate a set of benchmark problems with different properties. Then, parameters are tuned in a preliminary experiment, where an automatic and adaptive procedure is conducted to return the best configuration over some randomly generated instances. With the obtained parameters, we finally report the computational results of the proposed algorithm based on the generated benchmark problems. In Section 4, we conclude this paper and discuss some possible research extensions in future work. 2. Multistart adaptive memory programming metaheuristic for the HFFOVRP Because of the existence of intrinsic computational complexity, the metaheuristic algorithm is considered to solve the HFFOVRP. A multistart adaptive memory programming (MAMP) metaheuristic with tabu search algorithm for this hard combinatorial optimization problem is proposed, which is based on the framework of the adaptive memory programming procedure constructed by Taillard, Gambardella, Gendreau, and Potvin (2001). In the following sections, the general framework of the adaptive memory procedure is first described. The components of the MAMP are then outlined in detail. 2.1. Background of the adaptive memory programming To successfully implement a metaheuristic, one of the most important elements is how to utilize the search memory to get a compromise between the diversification and intensification in the search space of the combinatorial optimization problem (COP) considered. The intensification forces the search to examine the neighborhood of some good solutions. Such procedure is a kind of utilization and learning of the accumulated experience. However, the diversification is to explore the unexplored regions in the search space. Many memory-based heuristics and metaheuristics have been proposed and successfully implemented for different kinds of hard COPs, such as genetic algorithm (GA), tabu search (TS), and ant colony optimization (ACO). As pointed out in Taillard et al. (2001), these algorithms share similar algorithmic principles, although there are some differences in their detailed implementation. Accordingly, they proposed a unified framework for such memory-based algorithms, i.e., adaptive memory programming (AMP). The main mechanism underlying the AMP is that

better solutions of a COP can be produced by combining different components of other good solutions obtained during the algorithmic iterations. Afterward, it uses the search memory and history to guide subsequent search. The general framework of the AMP for solving the COPs can be sketched as follows. Step 1. Initialize a memory M. Step 2. While (a stopping criteria is not met) do (a) Construct a new solution s based on the data stored in M. (b) Apply a local search to s and produce an improved solution s0 . (c) Update the memory M using the components of s0 . By using the framework of the AMP, the algorithm works as follows. A memory structure M is defined to store good solutions obtained during the iterations. By combining the data in the memory, the provisional solution is produced. Then, it is further improved by a local search algorithm. The information in the new improved solution is considered in the memory. The new memory is then used to produce subsequent solutions. In this way, the search memory and experience are used to produce high-quality solutions for hard COPs. Some work has been done to solve different types of VRPs by using the AMP. Rochat and Taillard (1995) first used the AMP to solve the VRP and the VRP with time windows. In their work, vehicle routes are stored in the adaptive memory and new solutions are constructed by combining those routes. Tarantilis (2005) also proposed the AMP to solve the VRP. In this algorithm, new solutions are built by combining certain sequences of consecutive customers. Olivera (2007) constructed the AMP for solving the vehicle routing problem with multiple trips. 2.2. The proposed metaheuristic for the HFFOVRP As we have outlined in the previous section, the adaptive memory programming (AMP) procedures have successfully been applied to tackle some classes of the VRP. In this section, based on the framework of the AMP, a multistart adaptive memory programming metaheuristic (MAMP) is proposed to solve the HFFOVRP. First of all, some notations to be used are defined as follows: na the number of solutions to be produced, based on the adaptive memory the ith solution generated xi the best solution generated in the current iteration xib the best solution obtained since the start of MAMP xgb M the adaptive memory to store a variety of vehicle routes the maximum size of the memory Mmax E_List the list of the elite solutions maximum size of elite list Lmax the ith route in memory M ri A the set of solutions in the solution construction phase A0 the set of improved solutions obtained in the solution improvement phase The algorithmic framework of MAMP is shown in Fig. 1. This algorithm works as follows. The adaptive memory is defined to store the routes belonging to the HFFOVRP solutions. An initialization procedure is first implemented to produce a variety of HFFOVRP solutions and initialize the memory. At each iteration, the routes in the memory are probabilistically chosen to produce provisional HFFOVRP solutions. Then, these provisional solutions are improved by the improvement-based procedure, and pushed to their local optima. In order to exploit the search memory and accumulated experience, the best one among these improved solutions is considered to renew the memory, where some

X. Li et al. / Expert Systems with Applications 39 (2012) 365–374

367

Fig. 1. The outline of MAMP for the HFFOVRP.

unpromising routes will be removed and replaced by the routes in the improved solutions. The above procedures are performed repeatedly until some termination condition is met. We consider the maximum number of iterations as the stopping criteria. From the framework in Fig. 1, we can know that main characteristics of MAMP are composed of three aspects. First, a multistart strategy is considered, through which several provisional solutions are constructed at each iteration by using the data stored in memory. Such a strategy enhances the diversification and, therefore, increases the possibility of producing better solutions. In contrast with our strategy, only one solution is generated in implementations of AMP for other types of VRPs (Olivera, 2007; Rochat & Taillard, 1995). Second, a modified tabu search (MTS) is developed to improve all the provisional solutions, whereas an elite-list based diversification strategy is considered to lead the algorithm to escape from the local optima. Furthermore, it is allowed to explore infeasible solutions that violate the vehicle capacity constraint in the MTS. But any solution (feasible or infeasible) must satisfy the constraint of vehicle types, i.e., the number of vehicles of each type cannot exceed the allowed number. Third, a post-optimization procedure is considered to find possible improvements for the best solution encountered in the main loop. The components of MAMP are outlined in detail in the following.

2.2.1. Adaptive memory initialization At the start of the algorithm, the memory needs to be initialized for subsequent iterations. This is achieved by the procedure InitializeMemoryStructure in Fig. 1. The memory is composed of a set of vehicle routes belonging to the HFFOVRP solutions. A demand-

based least cost insertion (DBLCI) procedure is developed to produce the solutions, and the corresponding routes are then added to the memory. Let m be the total number of available vehicles of all types in the considered HFFVRP. The DBLCI works as in the following Procedure 1. At the last step, 2-Opt and 3-Opt are considered to optimize the route length. Since these two operators are originally designed for travelling salesman problem (TSP), here, a little modification is carried out for the open vehicle routing problem. Procedure 1. Demand-Based Least Cost Insertion (DBLCI) Randomly select m customers, and initialize m routes Ri (i = 1, 2, . . . , m) for each unrouted customer i do if the demand of customer i with the least cost does not exceed the remaining capacity of one route, then Select one feasible route Rk with maximum remaining capacity, compute insertion cost ski , and insert i into Rk at the position with least cost end if end for while (unrouted customers remain) do Select any unrouted customer j1, and one route Rk1 with maximum remaining capacity, and insert j1 into route Rk1 , where the insertion cost is least end while Optimize each vehicle route by 2-Opt and 3-Opt

368

X. Li et al. / Expert Systems with Applications 39 (2012) 365–374

Insertion cost ski of customer i in the route of type k is computed as follows:

the memory, we randomly choose one route and associate it with higher rank, if two routes have the same rank.

ski ¼ ðdi1 ;i þ di;i2  di1 ;i2 Þ  v k

2.2.2. Construction of provisional solutions for the HFFOVRP One of the main principles in the MAMP is utilization of the search memory to generate promising solutions. This is achieved by procedure SolutionConstruct (M), as in Fig. 1. In the MAMP, the components in the memory are probabilistically selected and appended to the partial solution. As a general practice, the route with a higher rank shall also have a higher probability to be chosen from the memory. From the aforementioned analysis, we can know that utilizing search memory to construct the solution is a learning process, which in fact is a kind of intensification of search. The probability pi of selecting ith route is defined as

ð1Þ

where i1 and i2 are the predecessor and successor nodes, respectively, of the insertion position, and vk is the variable cost of vehicle type k. As a diversification strategy, the MAMP allows to explore infeasible solutions. Therefore, the routes belonging to infeasible solutions can also be stored in the memory. The solution is evaluated by a penalty function,

FðxÞ ¼ f ðxÞ þ

m X

q  ci

ð2Þ

i¼1

where f(x) is the original objective value consisting of fixed and variable costs. ci denotes the violation measure of exceeding vehicle capacity for route i. If a solution is feasible, ci = 0. The parameter q is a penalty factor. To make the algorithm more robust, we set the value of q equal to 100 times the average customer demand in each instance. By repeatedly implementing Procedure 1, Mmax routes are generated and stored, in descending order, according to their ranks in the memory. We use a triple (Vio(x), f(x), F(x)) to label the routes included in solution x, where Vio(x) represents total violation measure of capacity of x as defined in Eq. (2). For two routes r1 and r2 belonging to two different solutions x1 and x2 respectively, the ranks are determined as follows. If the rank of r1 is higher than that of r2 in memory M, one of the following conditions must hold. (1) Both x1 and x2 are feasible solutions, and x1 has less objective value, i.e., Vio(x1) = Vio(x2) = 0 and f(x1) < f(x2); (2) x1 is feasible and x2 is infeasible. i.e., Vio(x1) = 0 and Vio(x2) > 0; (3) Both x1 and x2 are infeasible solutions, and F(x1) < F(x2). For two routes r1 and r2, which belong to the same solution, r1 has a higher rank if it has less route violation, e.g., cr1 < cr2 ; otherwise, they have the same rank. In order to easily store the routes in

pi ¼

2ðI  i þ 1Þ IðI þ 1Þ

ð3Þ

where I represents total number of routes included in current memory M. Since all the routes are stored in descending order, according to their ranks, the route with a higher rank will also have a high selection probability. The first route has maximum probability to be selected, and the Ith route has minimum selection probability 2 . If the number I of routes in current memory is too large, the IðIþ1Þ routes in the last positions will have very small probability to be selected. To enhance diversification search, we consider a pseudorandom rule to select a route in the MAMP, which is shown as follows:





J;

if randðÞ 6 q0

randomly select a feasible route; otherwise

ð4Þ

where j is the route selected, rand() is a random number uniformly distributed in [0, 1], q0 is a control parameter, J is the route determined based on the probability distribution in Eq. (3). Fig. 2 shows the construction procedure of how the HFFOVRP solution is produced, based on memory M. With the above pseudorandom rule, we incrementally choose routes from current memory M0 and append them to the partial solution until current

Fig. 2. Construction procedure of the HFFOVRP solution.

X. Li et al. / Expert Systems with Applications 39 (2012) 365–374

memory is empty. If there still exist unrouted customers, we first create possible empty routes and these unrouted customers are appended to the partial solution by the least cost insertion method. Note that we should check possible existence of empty routes and remove them from current solution s. Because of special characteristics of the HFFOVRP, the solution’s feasibility must be satisfied, while probabilistically selecting the route. After one route is chosen and associated with the partial solution, current memory needs to be updated based on the route last selected. Let V(ri) denote whether the route ri has been chosen and added in partial solution. If ri is chosen, V(ri) = 1; otherwise V(ri) = 0. Let T(ri) be the type of route ri. Procedure 2 shows how the current memory is refreshed. From Procedure 2, we know that some routes will be removed from current memory M0 after one route r is just selected for constructing the solution. Such routes include route r, and the routes in M0 , which contain the same customers as r. In addition, if the number of vehicles of type k has reached the limit nk in the partial solution s, then all routes of type k’s vehicle shall also be removed from current memory M0 .

369

Procedure 2. Update Current Memory M0

Step 1. Compute total number ni of routes of type i in partial solution s; Step 2. Update current memory for i = 1 to I do if (V(ri) = 1) or ri \ r – / or nTðri Þ ¼ nTðri Þ , then 0 M M0 n{ri} end for

We use a multistart strategy in the MAMP, in which provisional solutions,na, are allowed to be generated simultaneously at each iteration. The aim of this strategy is to enhance the diversification and increase the probability of producing better solutions. These provisional solutions are then improved by a local search, which is described in the following section. The influence of multistart strategy on the MAMP performance will be investigated in the following experiments.

Fig. 3. The algorithmic framework of modified tabu search.

370

X. Li et al. / Expert Systems with Applications 39 (2012) 365–374

2.2.3. Solution improvement procedure The function of the procedure SolutionImprovement is to explore the neighborhood of the provisional solutions, which leads the algorithm to focus on intensification. Recently, Tabu search (TS) has been successfully implemented to solve many classes of VRPs (Brandão, 2004; Gendreau, Guertin, Potvin, & Taillard, 1999a; Gendreau et al., 1999b). It typically uses an aggressive local search, which, at each iteration, explores the solution space and tries to make the best possible moves from a current solution x to the best solution x0 in its neighborhood N(x), even if the move may deteriorate the objective function values. A tabu mechanism is put in place to prevent the process from cycling over a sequence of solutions. An intuitive way to prevent cycles is to forbid the process from returning to previously obtained solutions. Some attributes of past solutions are registered and any solution possessing these attributes may not be considered, and temporarily declared tabu. In the MAMP, a modified tabu search (MTS) is proposed to improve all the provisional solutions. The outline of MTS is given in Fig. 3. We choose the maximum allowed iterations as the termination condition in MTS and set its value to 110 in our implementation. The components of MTS are described in the following. (1) GenerateInitialSolution: The function of procedure GenerateInitialSolution is to generate the initial solution for subsequent iterations of MTS. The na provisional solutions, which are generated in the previous section, are the initial solutions of MTS. The solution improvement procedure is applied to all the solutions in set A. (2) GenerateAdmissibleSolutions (x): The procedure GenerateAdmissibleSolutions is to explore the neighborhood of the current solution by applying neighborhood operators and to produce set A of admissible candidate solutions. Four different neighborhood operators are considered, i.e., 2-Opt, RELOCATE, SWAP and 2-Opt*, which are slightly modified in terms of characteristics of the OVRP. 2-Opt operator originally proposed for the travelling salesman problem (TSP) deletes two arcs and reconnects them by two new arcs. Here it is implemented for the intra-route improvement. RELOCATE operator is implemented to eject one node from one route and reinsert it into different positions in the same route, or a different route. SWAP operator is to exchange two nodes in two different positions, which may belong to same or different routes. 2-Opt* is originally proposed for solving the VRP with time windows in Potvin and Rousseau (1995). Its mechanism is to combine two routes crosswise, while preserving the route direction. To accomplish diversification, the neighborhood operator is randomly selected and applied to the current solution. We consider an implementation strategy, as shown in Table 1. At each iteration, a random number r 2 [0, 1] is first generated and then the corresponding operator is selected and implemented according to the strategy in Table 1. (3) EvaluateSolutions (A1): This procedure is to evaluate generated candidate solutions. As discussed in previous sections, the MAMP allows exploration of infeasible solutions all through the iterations. So Eq. (2) is considered as the evaluation function in MTS.

Table 1 Implementation strategy of neighbor operators.

Neighbor operator

r < 0.30

0.30 6 r < 0.60

0.60 6 r < 0.85

r P 0.85

2-Opt

RELOCATE

SWAP

2-Opt*

(4) SelectBestSolution (A1): After all the candidate solutions are generated and evaluated, then the best one will be chosen from A1 as the new current solution. The subsequent iteration of MTS will proceed with the selected solution. This task is accomplished by procedure SelectBestSolution. The best non-tabu, in general, is chosen as the new current solution. However, we may encounter a case, in which one candidate solution is better than the best solution found so far although it is tabu. To overcome such a situation, and facilitate the intensification, an aspiration criterion is considered, which is implemented to override the tabu status of one solution. Different kinds of aspiration criteria have been considered in the literature. Here, we use a simple and direct aspiration criterion, namely, a tabu solution can be overridden only if it has less objective value than the best-so-far solution. (5) UpdateMemoryStructures (x0 ): To prevent cycling, recently selected solutions are forbidden for some iterations (called tabu tenure) and some attributes are inserted into a tabu list. We use the following method to achieve the target. Here, for each modification leading to a new solution, the inverse modification is declared tabu for some iterations, and stored in the tabu list. For 2-opt* operator, SWAP and RELOCATE, the modifications are defined in terms of the links removed from the current solution. Hence, it is forbidden to reinsert the links that were recently removed. For 2-Opt, the tabu status of the solution is defined by the node pair (i, j), i.e., two cities considered for an exchange. Four tabu lists TABUi (i = 1, 2, 3, 4) are defined for four different operators and the corresponding inverse modifications are stored in different tabu lists. TABUi (j, k) specifies the tabu status of the arc (j, k). If TABUi(j, k) 6 0, arc (j, k) is nontabu, otherwise tabu. The procedure UpdateMemoryStructures is to update the tabu list based on the selected solution. At the start of MTS, all the entries of the tabu list are initialized to 0. First, when updating the tabu list, 1 is subtracted from the entries. The new current solution is then used to update the tabu list by setting the entries corresponding to the inverse modifications equal to the tabu tenure, which is an integer randomly generated from [5, 10]. (6) Diversification and intensification strategy: A good metaheuristic should be able to strike a balance between diversification and intensification. In fact, MTS is a TS with short-term memory (STS). It is very easy to stagnate in a local optimal area. As a simple measurement of stagnation behavior, the STS is assumed to be trapped in special regions in the search space, if no improvement is found for the bestso-far solution xgb within ino iterations. To avoid the stagnation behavior, we consider a diversification strategy, namely, a restart strategy based on the elite list. As we know, the simplest and natural strategy to avoid stagnation behavior is to restart the algorithm from a new random solution. However, such a strategy is random, and hence utilizes the search memory to lead the search to escape from local optima. For large instances, much CPU time will be required to find a solution, which has qualities similar to the new current solution x. To overcome this difficulty, a diversification strategy based on the elite list is, therefore, proposed. The elite list E_List records better solutions during the iteration process. The size of E_List is Lmax. At each iteration, the elite list is dynamically updated as follows. If F(x0 ) < F(x) and jE_Listj < Lmax, set E_List E_List [ x0 ; otherwise replace the worst solution in E_List by x0 . In this paper, the size of the elite list is set to 10. The proposed diversification strategy is not a completely random restart, but exploits the search experience to lead the search escaping from local optimal. While

371

X. Li et al. / Expert Systems with Applications 39 (2012) 365–374

implementing the diversification strategy, the MAMP randomly selects one solution from the elite list and proceeds with iteration search from this solution. As an intensification strategy, a post-optimization procedure PostOptimization (xgb) is considered in MTS. The aim of the postoptimization procedure is to focus on possible improvement of traveling distance of the best solution. 2-Opt and 3-Opt are chosen and applied to each route of xgb. The first-best criterion is used to explore the neighboring solutions. It means that we stop these operators after the first improved solution is found. 2.2.4. Adaptive memory update By using the improved solutions, adaptive memory M is updated. Routes of the worst solutions in memory M are replaced by those of the improved solutions. If jMj is too high, the selection probability may also be very small for routes in the last positions in memory M. The maximum size of the memory M is set to Mmax. The update procedure is shown as follows. The best solution in A is first selected and the corresponding routes are labeled by the triple. While preserving the rank order, the labeled routes are then inserted in memory M. If jMj > Mmax, the algorithm removes jMj  Mmax worst routes and replaces them by routes of the improved solution. In the MAMP, the principle to select the routes of the improved solutions s is shown as follows: (1) if s is feasible, each route of s has equal selection probability; and (2) if s is infeasible, routes with less violation will have higher probability to be selected. 2.2.5. Post-optimization strategy As an intensification strategy, we consider a post-optimization procedure to explore possible improvement for the best solution found in the main loop of the MAMP. 2-Opt and 3-Opt similar to those in the MTS are also considered. But they are implemented differently with best-accept criterion, i.e., the two operators ex-

plore the whole neighborhood of the solution and find the best improvement. 3. Experiments and computational results In this section, a series of experiments are carried out to investigate the performance of MAMP in solving the HFFOVPR. We first discuss the method of generating benchmark testing instances. An automatic procedure is then given for tuning the parameters in the experiment. Finally, the effect of the multistart strategy is checked and computational results of MAMP are reported on the benchmark problems. The MAMP metaheuristic is coded in C language and compiled on VC++ 6.0. All the experiments are implemented on a PC with Intel CPU 2.2G under Windows Vista. 3.1. Benchmark testing problems Since it is the first instance of dealing with the HFFOVRP, there is no appropriate set of benchmark testing problems available in the literature. Hence, in this paper, we design a method to generate some instances. In total, we generate 19 test problems, which are divided into five sets, i.e., S1, S2, S3, S4 and S5 with the number of the customers in each set being 50, 75, 100, 150 and 200, respectively. All the problems are labeled as Pi (i = 1, 2, . . . , 19). According to an uniform distribution, the coordinates (xi, yi) of n + 1 nodes are first generated in interval [0, 80]2 for each instance, where (0, 0) represents the depot. The distance dij is defined as the Euclidean distance qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi between two nodes i and j, namely, dij ¼ ðxi  xj Þ2 þ ðyi  yj Þ2 . The demand of each customer is an integer randomly generated in interval [5, 35]. The involved fleet is composed of six types of vehicles, A, B, C, D, E and F. The properties of the vehicle of each

Table 2 Specification for the testing instances. T

A

P

P1

P2

P3

P4

P5

P6

P7

P8

P9

P10

P11

P12

P13

P14

P15

P16

P17

P18

P19

n TD TL

50 986 1100

50 996 1100

50 1105 1190

50 1062 1130

75 1395 1460

75 1428 1450

75 1373 1420

100 1645 1700

100 1543 1580

100 1612 1660

100 1624 1640

150 2594 2690

150 2596 2650

150 2684 2720

150 2726 2730

200 3619 3665

200 3549 3590

200 3584 3640

200 3525 3600

QA fA

20 25 1.1 4

35 40 1.2 4

20 25 1.1 5

120 240 2.6 3

60 120 1.7 4

50 110 1.6 3

20 35 1.3 4

70 170 2.1 6

100 270 2.5 5

60 160 1.8 6

50 150 1.7 5

100 320 2.6 4

200 500 3.6 3

60 210 1.9 4

120 340 2.8 4

35 240 1.5 5

100 420 2.7 5

160 510 3.3 4

200 600 3.7 3

35 40 1.2 4

100 220 2 3

40 50 1.4 4

160 310 3 2

100 230 2.4 4

120 270 2.8 3

50 110 1.6 4

120 310 2.8 4

160 360 3.1 3

200 450 3.5 3

100 270 2.5 4

140 380 3.1 4

250 800 4.4 3

160 410 3.2 3

200 500 3.6 4

100 420 2.7 4

140 480 3.2 5

200 600 3.7 3

250 900 4.5 4

40 50 1.4 4

60 110 1.7 4

200 400 3.4 1

140 290 3 2

200 410 3.4 2

100 230 2.4 3

250 750 4.3 2

250 750 4.3 1

300 1050 5.1 1

140 330 3 1

160 410 3.2 3

300 1100 5.2 3

200 500 3.6 3

250 800 4.4 2

160 510 3.3 4

160 510 3.3 4

250 900 4.5 4

300 1200 5.3 3

70 120 1.8 4

70 120 1.8 3

250 700 4.2 1

200 410 3.4 1

250 710 4.2 1

160 320 3.1 2

300 1050 5.1 1

350 1550 5.9 1

400 2050 6.3 1

200 450 3.5 1

200 500 3.6 3

400 2100 6.4 1

300 1100 5.2 2

300 1100 5.2 2

200 600 3.7 4

200 600 3.7 3

300 1200 5.3 2

350 1700 6.1 2

300 1010 5 1

300 1010 5 1

250 710 4.2 1

250 750 4.3 1

250 800 4.4 1

400 2100 6.4 2

350 1600 6 1

300 1200 5.3 2

250 900 4.5 3

400 2200 6.5 2

400 2200 6.5 1

300 1010 5 1

400 2050 6.3 1

400 2100 6.4 1

350 1700 6.1 3

400 2200 6.5 1

vA nA B

QB fB

vB nB C

QC fC

vC nC D

QD fD

vD nD E

QE fE

vE nE F

Testing problem

QF fF

vF nF

120 240 2.6 2

120 260 2.7 2

140 280 2.9 2

200 400 3.4 1

140 280 2.9 3

200 400 3.4 1

372

X. Li et al. / Expert Systems with Applications 39 (2012) 365–374

instance are summarized in Table 2. In the headings of the columns, T and P represent vehicle type and vehicle property, respectively. For vehicles of different types, the following properties are given: capacity Qi, fixed cost fi, variable cost vi, and available number ni, i = A, B, C, D, E and F. The total demand of all the customers (TD) and total loads (TL) of all the vehicles are also shown in Table 2. 3.2. Parameter tuning Similar to other heuristics and metaheuristics for solving the COPs, MAMP also contains several parameters, which are required to be tuned. These user-controlled parameters affect the performance of algorithm. In general, it is not easy to get the best combination of algorithm parameters. Here, the tuning of MAMP is done in a systematic, statistically well-defined approach. An automatic procedure F-Race is considered to determine the best configuration of MAMP in a preliminary experiment. Birattari (2005) systematically studies the parameter tuning of metaheuristics and proposed the F-Race based approach, which is to automatically configure the metaheuristics. This method returns the configuration of a metaheuristic that performs best with respect to some evaluation metrics, in a number of instances. For detailed description of the F-Race, interested readers can refer to Birattari (2005). In the experiments, the tuning mainly contains the following parameters: Mmax the maximum size of the adapt ive memory M control parameter in solution construction q0 na the number of solutions to be constructed in the multistart strategy Amax the size of candidate set in the MTS maximum allowed iterations without improvements in ino MTS

Table 3 The set of candidate configurations. Mmax

q0

na

Amax

ino

50 100 150 200

0.3 0.5 0.7 0.8 0.9

1 2 3 4

50 100 150

15 25 30 50

The set of candidate configurations consists of all possible combinations of different values of the parameters. Table 3 summarizes the levels of related parameters to be tuned. From Table 3, we can know that total number of configurations considered in experiment, therefore, is 4  5  4  3  4 = 960. To get a testbed for parameters tuning, we randomly generate 120 HFFOVRP instances. Note that the instances for parameter tuning (called tuning set) are different from the benchmark problems generated in the previous section. But their properties are similar to those in the benchmark set. With each configuration, MAMP is executed once in every instance in the tuning set, for 8 s. The objective values of the best solution found in each of the experiments are stored in a twodimensional 120  960 array. To reduce computational time, thirty computers were utilized to carry out the preliminary experiments at the same time. After getting the computational results under different configurations, we switch to the automatic tuning phase with the F-Race approach. The results in the 120  960 array become the input of the F-Race and the final configuration returned is as follows: Mmax = 100, q0 = 0.90, na = 4, Amax = 150, and ino = 50, with which the MAMP has statistically performed better over the randomly generated instances. 3.3. Computational results 3.3.1. Effect of multistart strategy As a basic innovation, the multistart strategy is considered in the proposed algorithm, MAMP. In fact the experiment for configuration tuning has preliminarily indicated that the best value of the na is 4. Here we carried out the experiment to further explore the influence that the multistart strategy has on the performance of the MAMP. With the best configuration, except for na, we implement four versions of MAMP. One is MAMP-1, where only one solution is generated in the SolutionConstruction stage. In other three versions, the multistart strategy is implemented. A total of 4, 15, 20 solutions are generated at each iteration in MAMP-4, MAMP-15 and MAMP-20 respectively. Maximum number of iterations in all MAMPs is set equal to 2500. The results are reported in Table 4. For each considered problem, the average solution (Avg.) and the average computational time (CPU) over 20 trials are reported. The results allow us to draw the following conclusions: In general, the multistart strategy outperforms the single-start

Table 4 Effect of multistart strategy in the MAMP. Instances

P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 P14 P15 P16 P17 P18 P19

n

50 50 50 50 75 75 75 100 100 100 100 150 150 150 150 200 200 200 200

MAMP-1

MAMP-4

MAMP-15

MAMP-20

Avg.

CPU

Avg.

CPU

Avg.

CPU

Avg.

CPU

3226.63 3882.49 4379.34 3932.75 7418.48 7494.94 6040.19 8370.03 8465.63 9080.11 11363.95 14489.10 14407.10 18018.57 12755.01 25099.69 22788.60 22543.23 21117.46

151 142 139 127 198 211 203 265 257 237 245 307 310 321 314 401 399 412 421

3214.32 3860.28 4279.99 3919.64 7181.34 7261.20 5988.16 8389.56 8371.66 9014.45 11176.81 14406.10 14385.47 17145.76 12749.60 25087.34 22773.61 21472.58 21008.04

137 140 128 127 189 205 195 254 244 239 238 305 301 320 309 398 386 407 417

3224.71 3878.33 4376.45 3921.73 7189.63 7270.31 5990.14 8374.22 8372.57 9016.94 11187.91 14415.30 14386.43 17156.06 19751.45 25089.20 22775.27 21494.19 21011.20

148 142 138 139 210 238 217 258 248 259 261 325 332 344 326 415 399 427 440

3224.89 3878.48 4375.91 3920.88 7187.62 7270.48 5989.47 8374.57 8371.88 9016.76 11188.02 14414.73 14386.27 17155.74 19751.72 25088.31 22774.38 21492.25 21013.38

151 152 130 141 208 244 228 263 267 272 269 337 343 349 337 421 404 435 457

Among four versions of MAMP, the best-found solutions are marked in bold.

373

X. Li et al. / Expert Systems with Applications 39 (2012) 365–374 Table 5 Computational results of the MAMP. Instances

n

TV

Veh.

P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 P14 P15 P16 P17 P18 P19

50 50 50 50 75 75 75 100 100 100 100 150 150 150 150 200 200 200 200

19 12 19 7 12 10 15 13 10 11 13 16 10 14 13 22 21 15 13

17 10 17 7 12 10 13 13 10 11 13 16 10 14 13 22 21 12 13

MAMP

TS

Best

Worst

Avg.

Std.

CPUs

Best

Avg.

CPUs

2975.98 3730.42 3943.41 3812.58 6873.83 6804.11 5751.61 8088.18 8022.04 8622.80 10580.94 12373.79 13834.19 16334.39 19567.67 24038.39 22004.29 20914.10 20569.66

3110.78 3820.90 4103.27 3928.77 7032.30 6986.19 5791.66 8177.02 8356.90 8976.63 11800.24 13226.05 14869.35 17126.42 19927.94 25150.05 22780.42 22034.83 20755.95

3108.32 3746.96 4074.99 3910.64 6981.64 6842.20 5780.16 8097.98 8164.13 8679.11 11171.81 12749.60 13996.10 16536.76 19770.32 24387.34 22573.61 21472.58 20638.04

8.29 9.05 7.05 5.75 6.03 7.31 9.81 10.60 12.39 15.56 10.15 13.53 12.48 9.85 11.58 10.19 13.99 11.08 13.71

139 142 129 134 188 207 197 259 244 244 240 305 303 325 311 398 387 413 422

2976.33 3735.48 3963.53 3843.22 6883.18 6853.50 5783.52 8098.47 8029.11 8630.76 10591.93 12380.69 13846.23 16340.41 19583.44 24049.28 22034.32 20928.23 20597.75

3114.68 3823.47 4121.24 3958.55 7143.88 6999.24 5799.73 8187.16 8188.38 8689.25 11179.39 12753.42 14003.27 16540.78 19781.36 24399.21 22588.62 21489.68 20651.28

160 159 148 153 197 260 232 298 277 265 293 358 367 374 383 448 480 473 486

strategy in terms of solution quality and computational efforts. Furthermore, the computational time taken to find the best solution does not increase significantly under the considered multistart strategy. With a multistart strategy, we also observed that MAMP’s performance did not increase with the value of na. Among three versions of MAMP with a multistart strategy, MAMP-4 has got better solutions. Based on these results, it is believed that it is valuable to consider a multistart strategy in the proposed algorithm to get better solution quality. Furthermore, the value of na should be assigned an appropriate number, e.g., na = 4, which is determined in the experiments for parameter tuning. 3.3.2. Computational results of the MAMP In this section, we implemented the MAMP over the whole benchmark set using the selected configuration and reported the computational results. Because the HFFOVRP is a new variant of the classical VRPs, and there has been no related work done in the literature, we only compare MAMP with a tabu search algorithm. It is similar to the solution improvement procedure in MAMP. The MAMP metaheuristic was run over all the benchmark problems, for 20 independent trials. Except for the best combination of algorithm parameters obtained in the previous section, we choose the maximum number of iterations as the stopping criteria. Accordingly, the MAMP was implemented with 2500 iterations in all the instances. We also implemented TS with 20 independent runs. The stopping criterion in TS is also 2500 iterations. Table 5 shows the computational results of the MAMP. On each instance, the best solution (Best), the worst solution (Worst), average solution (Avg.) and standard deviation (Std.) over 20 trials are reported. Additionally the computational time (CPU) is also given, which is taken for the MAMP’s best solution to be located. Furthermore we report the comparison of total number of available vehicles (TV) and the vehicles used in the best solutions (Veh.). For TS, we report the best solution (Best), the average solution (Avg.) and the computational time (CPU) over 20 runs. The results indicate that the MAMP has solved all the problems efficiently. Over all the generated problems, MAMP has a stable performance, which is indicated by the standard deviation. For the large-size instance, the standard deviation is still very small. The results also show that the number of utilized vehicles is less than that of available vehicles for some instances, e.g., P1, P2, P3, P7, and P18. It means that transportation cost can be reduced in

practical operations. Further, in comparison with the pure tabu search, the MAMP has obtained better solutions. Over all 19 instances, the MAMP outperforms TS in terms of best solutions and average best solutions. Additionally, the MAMP also works faster than pure tabu search. As we have pointed out in the previous section, the property of Hamiltonian path is always considered as a practical operational decision in today’s outsourcing of transportation and distribution. In order to give an indicative advantage of such an operational strategy, we also carried out a comparison experiment. MAMP was implemented to solve two different versions of the HFFOVRP; one has an open route for each vehicle, and the other has a complete vehicle route called HFFOVRP-1. We still use the benchmark problems generated in the previous section. Differently, we add the constraint on the vehicle route for HFFOVRP-1. During 10 independent experiments, we found that the transportation cost of the HFFOVRP is, in general, less than that of HFFOVRP-1. It verifies the advantage of the HFFOVRP studied in this paper. Additionally, it also indicates that it is valuable to consider the HFFOVRP to model practical operations in real-life transportation and logistics management. The MAMP can be used to get a better operations scheme of high quality. 4. Conclusion The aim of this paper is to study a variant of the classical vehicle routing problem. In this problem, the fleet consists of vehicles with different attributes and the number of available vehicles is fixed. Additionally, the vehicles do not return to the starting points after completing the service of the last customers. Such a vehicle routing problem is a more general case in transportation and logistics in an economy with wide prevalence of outsourcing. To solve this problem, we propose a multistart adaptive memory programming metaheuristic, which is a new memory-based algorithm. A series of experiments were carried out to check the performance of the proposed algorithm. We first discuss the method to generate some testing problems. Then the parameters tuning is conducted systematically by an automatic procedure. With the obtained best configuration, we verified the advantage of considering a multistart strategy in the MAMP. Finally, the computational results are reported, of tests on the generated instances. The performance of the proposed metaheuristic will be tested on other large-scale practical cases in future work.

374

X. Li et al. / Expert Systems with Applications 39 (2012) 365–374

Acknowledgment This research has been partially supported by National Natural Science Foundation of China (Grant Nos. 70832005, 71002020), NSFC major program (Grant Nos. 71090404/71090400), the Shanghai Pujiang Program, and the Distinguished Youth Scholar Education Program of Tongji University (Grant No. 2010KJ034). The work described in this paper was also partially supported by a grant from City University of Hong Kong (Project No. 7002161).

References Birattari, M. (2005). The problem of tuning metaheuristics as seen from a machine learning perspective. PhD thesis, Universite Libre De Bruxelles. Brandão, J. (2004). A tabu search algorithm for the open vehicle routing problem. European Journal of Operational Research, 157, 552–564. Cao, Erbao., & Lai, Mingyong. (2010). The open vehicle routing problem with fuzzy demands. Expert Systems with Applications, 37, 2405–2411. Fleszar, K., Osman, I. H., & Hindi, K. S. (2009). A variable neighourhood search algorithm for the open vehicle routing problem. European Journal of Operational Research, 195, 803–809. Fu, Z., Eglese, R., & Li, L. Y. O. (2005). A new tabu search heuristic for the open vehicle routing problem. Journal of the Operational Research Society, 56, 267–274. Gendreau, M., Guertin, F., Potvin, J. Y., & Taillard, E. (1999a). Parallel tabu search forreal-time vehicle routing and dispatching. Transportation Science, 33, 381–390. Gendreau, M., Laporte, G., Musaraganyi, C., & Taillard, E. D. (1999b). A tabu search heuristic for the heterogeneous fleet vehicle routing problem. Computers and Operations Research, 26, 1153–1173.

Li, F., Golden, B., & Wasil, E. (2007a). A record-to-record travel algorithm for solving the heterogeneous fleet vehicle routing problem. Computers and Operations Research, 34, 2734–2742. Li, F., Golden, B., & Wasil, E. (2007b). The open vehicle routing problem: Algorithms, large-scale test problems, and computational results. Computers and Operations Research, 34, 2918–2930. Li, X. Y., Tian, P., & Leung, S. C. H. (2009). An ant colony optimization metaheuristic hybridized with tabu search for open vehicle routing problems. Journal of the Operational Research Society, 60, 1012–1025. Li, X., Tian, P., & Aneja, Y. P. (2010). An adaptive memory programming metaheuristic for the heterogeneous fixed fleet vehicle routing problem. Transportation Research Part E, 46, 1111–1127. Olivera, A. O. (2007). Adaptive memory programming for the vehicle routing problem- with multiple trips. Computers and Operations Research, 34, 28–47. Potvin, J. Y., & Rousseau, J. M. (1995). An exchange heuristic for routeing problems with time windows. Journal of the Operational Research Society, 46, 1433–1446. Repoussis, P. P., Tarantilis, C. D., & Ioannou, G. (2007). The open vehicle routing problem with time windows. Journal of the Operational Research Society, 58, 355–367. Rochat, Y., & Taillard, E. D. (1995). Probabilistic diversification and intensification in local search for vehicle routing. Journal of Heuristics, 1, 147–167. Sariklis, D., & Powell, S. (2000). A heuristic method for the open vehicle routing problem. Journal of the Operational Research Society, 51, 564–573. Taillard, E., Gambardella, L., Gendreau, M., & Potvin, J. (2001). Adaptive memory programming: A unified view of metaheuristics. European Journal of Operational Research, 135, 1–16. Tarantilis, C. D. (2005). Solving the vehicle routing problem with adaptive memory programming methodology. Computers and Operations Research, 32, 2309–2327. Tarantilis, C. D., Kiranoudis, C. T., & Vassiliadis, V. S. (2004). A threshold accepting metaheuristic for the heterogeneous fixed fleet vehicle routing problem. European Journal of Operational Research, 152, 148–158. Tarantilis, C. D., Ioannou, G., Kiranoudis, C. T., & Prastacos, G. P. (2005). Solving the open vehicle routeing problem via a single parameter metaheuristic algorithm. Journal of the Operational Research Society, 56, 588–596.