an adaptive variable neighborhood search for a...

13
18 IEEE COMPUTATIONAL INTELLIGENCE MAGAZINE | NOVEMBER 2014 1556-603X/14©2014IEEE An Adaptive Variable Neighborhood Search for a Heterogeneous Fleet Vehicle Routing Problem with Three-Dimensional Loading Constraints Abstract—The paper addresses the heterogeneous fleet vehicle routing problem with three-dimen- sional (3D) loading constraints (3L-HFVRP), a new practical variant of the combined routing and loading problem. In this problem, the loads consist of a set of three-dimensional, rectangular shaped items. The fleet is composed of heterogeneous vehicles with different weight and space capacities. The objective is to serve all customers by selecting a set of vehicles such that the total transportation cost is minimized. The cost consists of the fixed cost of the selected vehicles and their travel cost. In addition, loading sequence related constraints frequently encountered in realistic applications are respected when loading and unloading the items. To solve this challenging problem, we develop an adaptive variable neighborhood search (AVNS) which utilizes an extreme point based first fit heu- ristic to find a feasible loading pattern for each route. We design two strategies to accelerate the loading and routing processes. The Trie data structure is used to record the loading information of routes already visited and to control the computational effort spent for each route. The Fibonacci heap data structure is used to maintain all of the possible moves and vehicle type assignments, which avoids the duplicated evaluation of some moves and unnecessary loading check of unpromising solutions. The robustness and effectiveness of the proposed algorithm is validated by computational tests performed both on some newly generated 3L-HFVRP instances and well-known benchmark instances from the literature for two simplified VRP variants: the capacitated vehicle routing prob- lem with 3D loading constraints (3L-CVRP) and the pure heterogeneous fleet vehicle routing problem (HFVRP). The numerical experiments show that the proposed AVNS outperforms other algorithms in 3L-CVRP and improves several best known solutions reported in the literature. The results obtained for the pure HFVRP are very close to the best known solutions. I. Introduction L oading freights and delivering them to geographically dispersed customers play a central role in the distribu- tion and logistics management as it represents a high proportion of the running costs of companies. The most fundamental of such routing problem is known as the vehicle routing problem (VRP) which describes the distribu- tion of freights from a central depot to a set of customers using a homogeneous vehicle fleet.VRP has been well studied and many variants have been presented. In most of these vari- ants, the loading of freights is simplified so that the geometri- cal shape of the freight is ignored and only its weight is taken into account. In practice, decision makers usually have to deal with transporting and loading simultaneously, especially if the loading is non-trivial. For example, when an item is stacked on other items, the stacking stability, fragility and ease of unloading for operators should be carefully considered. Thus, the solutions of these variants may not be practical due to the loading issues. Due to the advances in the computational power of modern computers, complex variants that align bet- ter with real-life applications have become increasingly popu- lar in the research community. Problems such as the capacitated vehicle routing problem with two dimensional (2D) loading constraints (2L-CVRP) and with three dimen- sional (3D) loading constraints (3L-CVRP) have been stud- ied. To the best of our knowledge, in all previous variants that combine the VRP and 3D loading constraints, the vehicles are Date of publication: 13 October 2014 Digital Object Identifier 10.1109/MCI.2014.2350933

Upload: others

Post on 21-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: An Adaptive Variable Neighborhood Search for a ...tarjome98.com/shop-english.files/Adaptive_Variable_Neighborhood_… · Abstract The paper addresses the heterogeneous eet vehicle

18 IEEE ComputatIonal IntEllIgEnCE magazInE | novEmbEr 2014 1556-603x/14©2014IEEE

An Adaptive Variable Neighborhood Search for a Heterogeneous Fleet Vehicle Routing Problem with Three-Dimensional Loading Constraints

Abstract—The paper addresses the heterogeneous fleet vehicle routing problem with three-dimen-sional (3D) loading con straints (3L-HFVRP), a new practical variant of the combined routing and loading problem. In this problem, the loads consist of a set of three-dimensional, rectangular shaped items. The fleet is composed of heterogeneous vehicles with different weight and space capacities. The objective is to serve all customers by selecting a set of vehicles such that the total transportation cost is minimized. The cost consists of the fixed cost of the selected vehicles and their travel cost. In addition, loading sequence related constraints frequently encountered in realistic applications are respected when loading and unloading the items. To solve this challenging problem, we develop an adaptive variable neighborhood search (AVNS) which utilizes an extreme point based first fit heu-ristic to find a feasible loading pattern for each route. We design two strategies to accelerate the loading and routing processes. The Trie data structure is used to record the loading information of routes already visited and to control the computational effort spent for each route. The Fibonacci heap data structure is used to maintain all of the possible moves and vehicle type assignments, which avoids the duplicated evaluation of some moves and unnecessary loading check of unpromising solutions. The robustness and effectiveness of the proposed algorithm is validated by computational tests performed both on some newly generated 3L-HFVRP instances and well-known benchmark instances from the literature for two simplified VRP variants: the capacitated vehicle routing prob-lem with 3D loading constraints (3L-CVRP) and the pure heterogeneous fleet vehicle routing problem (HFVRP). The numerical experiments show that the proposed AVNS outperforms other algorithms in 3L-CVRP and improves several best known solutions reported in the literature. The results obtained for the pure HFVRP are very close to the best known solutions.

I. Introduction

loading freights and delivering them to geographically dispersed customers play a central role in the distribu-tion and logistics management as it represents a high proportion of the running costs of companies. The

most fundamental of such routing problem is known as the vehicle routing problem (VRP) which describes the distribu-tion of freights from a central depot to a set of customers using a homogeneous vehicle fleet. VRP has been well studied and many variants have been presented. In most of these vari-ants, the loading of freights is simplified so that the geometri-cal shape of the freight is ignored and only its weight is taken

into account. In practice, decision makers usually have to deal with transporting and loading simultaneously, especially if the loading is non-trivial. For example, when an item is stacked on other items, the stacking stability, fragility and ease of unloading for operators should be carefully considered. Thus, the solutions of these variants may not be practical due to the loading issues. Due to the advances in the computational power of modern computers, complex variants that align bet-ter with real-life applications have become increasingly popu-lar in the research community. Problems such as the capacitated vehicle routing problem with two dimensional (2D) loading constraints (2L-CVRP) and with three dimen-sional (3D) loading constraints (3L-CVRP) have been stud-ied. To the best of our knowledge, in all previous variants that combine the VRP and 3D loading constraints, the vehicles are Date of publication: 13 October 2014

Digital Object Identifier 10.1109/MCI.2014.2350933

Page 2: An Adaptive Variable Neighborhood Search for a ...tarjome98.com/shop-english.files/Adaptive_Variable_Neighborhood_… · Abstract The paper addresses the heterogeneous eet vehicle

novEmbEr 2014 | IEEE ComputatIonal IntEllIgEnCE magazInE 19

Lijun Wei School of Information Technology, Jiangxi University of Finance and Economics, Nanchang 330013, Jiangxi, ChINa

Zhenzhen ZhangDepartment of Management Sciences, City University of hong Kong, Tat Chee ave, Kowloon Tong, hoNg KoNg

Andrew LimInternational Center of Management Science and Engineering, School of Management and Engineering, Nanjing University, Nanjing 210093, ChINa

assumed to be homogeneous and only one type of vehicle is considered. However, transpor-

tation using heterogeneous vehicles seems to be a common practice. In industry, as suggested in [1], the fleet

of vehicles in a company is rarely homogeneous. They become heterogeneous over time as the company incorporates

vehicles of different features into the original fleet. Sometimes a com-pany has to hire vehicles to handle an unusually large-scale transporta-tion task. A mixed fleet of vehicles also provides the flexibility to design a more cost-effective distribution plan.

This paper introduces and addresses an important practical extension of the VRP, the Heterogeneous Fleet of Ve hicle Routing Problem with 3D Loading Constraints (3L-HFVRP). In this problem, the depot holds a heterogeneous vehicle fleet, the customer demands are formed by a set of 3D rectangular, weighted items. The objective is to select a set of vehicles and determine the route for each vehicle to serve all of the customers and minimize the total cost. The cost consists of the fixed cost of each selected vehicle and the travel cost determined by the product of the vehicle unit

travel cost and the travel distance of this vehicle. The vehicle types are hetero-geneous with respect to their capacity, loading space, fixed cost and unit travel cost, and the number of each type vehicle is unlimited. A route is considered feasible only if there is a feasible loading plan for the items demanded by the customers on this route. The loading plan must meet a series of operational constraints that are frequently encountered in real-world applications, such as the stacking stability, fragility, orientation and the last in, first out (LIFO) policy.

Unlike the 3L-CVRP, the vehicle types in the 3L-HFVRP are heterogeneous. Thus, the 3L-HFVRP provides a more practical, accurate, effective strategy for freight transportation. Many real-world applications fit into this inte-grated model, such as the delivery of beds, night tables, chests of drawers, wardrobes and accessories [2].

The 3L-HFVRP is also of vital importance in theoretical research. It is a combination of two well-known nonde-terministic polynomial hard (NP-hard) optimization problems, namely the heterogeneous fleet vehicle routing prob-lem (HFVRP) and 3D bin packing problem (3BPP). Thus the proposed 3L-HFVRP is also NP-hard.

To solve this problem, we develop an adaptive variable neighborhood search (AVNS) method. An extreme point based first fit heuristic is incorporated to find a feasible loading plan for the given routes. More specifically, the savings algorithm is used to generate the initial solution. Then, variable neighborhood search (VNS) is employed to explore

vehicles— image licensed by ingram Publishing, vehicle routing—© wikimedia commons

Page 3: An Adaptive Variable Neighborhood Search for a ...tarjome98.com/shop-english.files/Adaptive_Variable_Neighborhood_… · Abstract The paper addresses the heterogeneous eet vehicle

20 IEEE ComputatIonal IntEllIgEnCE magazInE | novEmbEr 2014

the solution space systematically. When all of the possible moves of VNS cannot improve the solution, a diversification procedure is invoked to adjust the search trajectory. We pro-pose two diversification methods and each time one of the methods is selected probabilistically according to its historical performance. During the procedure, the program only searches within the feasible solution space. A candidate solu-tion is accepted as the new solution only when it is deter-mined as feasible in terms of the loading constraints. To speed up the process, two data structures are creatively used to reduce the calls to the loading check, which is the most time-consuming operator. The Trie data structure is used to record the feasibility information of the routes already visited and store the times checked by our loading heuristic to help con-trol the computational effort spent on that route. The Fibo-nacci heap data structure is used to maintain all of the possible moves of the current solution and the vehicle type assign-ments, which avoid calling the loading heuristic for unpromis-ing moves. To show the effectiveness of our approach, the pro-posed AVNS is adapted and extensively tested on the 3L-CVRP and pure HFVRP instances. The results demon-strate that our algorithm outperforms all of the other methods on the 3L-CVRP, by producing excellent results for all prob-lem instances and even improving some best known results. In addition, our method produces solutions that are quite close to the optimal solutions for the HFVRP instances. Last but not least, we generate many instances for the 3L-HFVRP and pro-vide the results of our algorithm on these instances.

The remainder of this paper is organized as follows. The next section provides an overview of the relevant literature. Section III describes the 3L-HFVRP in detail. In Section IV, the detailed operators of the proposed AVNS are presented. The loading heuristic to produce the loading plan is discussed in Section V. The results for the pure HFVRP, 3L-CVRP and 3L-HFVRP are reported in Section VI. Section VII concludes the paper.

II. Literature ReviewVRP has numerous variants [3]. One of the well studied vari-ants is the HFVRP with an unlimited number of vehicles for each vehicle type. This HFVRP can be seen as a special case of the 3L-HFVRP, in which only the weight is considered when loading freight into the vehicle. There are three variants of the HFVRP: the HFVRP-F only considers fixed cost of vehicles and was first proposed by [4], the HFVRP-V only considers the unit travel cost [5], and HFVRP-FV considers both the fixed and travel costs [6]. Many algorithms have been reported for this problem, such as tabu search (TS) [7], hybrid evolu-tionary local search [8], VNS [9], [10], genetic algorithm [11], memetic algorithm [12], column generation approach [6], and iterated local search combined with set partitioning formula-tion [13]. Another well-known variant with a heterogeneous fleet fixes the number of vehicles of each type. Recently pro-posed algorithms include the record-to-record travel algo-rithm [14], multi-start adaptive memory programming [15], TS [16], and hybrid population heuristic [17].

The loading component of the 3L-HFVRP is closely related to the single container loading problem (SCLP) which aims to load boxes into a container so as to maximize its vol-ume utilization. The SCLP is a particularly difficult problem and has attracted the attention of many researchers. Detailed description of loading heuristics can be found in [18]–[21].

The routing and loading problems have been studied widely but independently. The two problems have only been recently combined. The proposed 3L-HFVRP becomes the 3L-CVRP when the vehicles are homogeneous. The 3L-CVRP was first introduced by [22] and solved by invok-ing a TS to check the loading subproblem. A guided tabu search (GTS) sharing the advances of TS and guided local search was proposed and a bundle of loading heuristics was used to examine the loading constraints by [23]. The saving-based ant colony optimization (ACO), which makes use of two fast loading heuristics, was developed by [2]. This method is different from others as it allows infeasible solu-tions during the search by penalizing violations. Recently, a two-phase TS incorporating enhanced loading heuristics was addressed by [24]. Another TS method using the tree search for loading was reported in [25]. Both algorithms obtained excellent results and improved several best known solutions. A hybrid approach combining honey bee mating optimiza-tion for routing and six loading heuristics for the loading aspect was introduced by [26]. In [27], the routing subprob-lem was solved by a greedy randomized adaptive search pro-cedure combined with the evolutionary local search (GRASP # ELS) algorithm. The loading component was examined by relaxing it to a resource constrained project scheduling problem. However, this method could only con-sider the 3D and orientation constraints, and additional con-straints encountered frequently, such as fragility, stability, and LIFO constraints, cannot be dealt with.

The 3L-CVRP generalizes the routing and loading prob-lem 2L-CVRP which assumes that the items cannot be

x

y

z

O

Lt

Ht

Wt

Back

Front

Rear Door

FiguRe 1 The 3D coordinate system.

Page 4: An Adaptive Variable Neighborhood Search for a ...tarjome98.com/shop-english.files/Adaptive_Variable_Neighborhood_… · Abstract The paper addresses the heterogeneous eet vehicle

novEmbEr 2014 | IEEE ComputatIonal IntEllIgEnCE magazInE 21

stacked due to a height or weight limit. The 2L-CVRP was first presented by [28] and was solved by an exact algorithm based on the branch-and-cut mechanism. For large scale instances, several algorithms for 3L-CVRP were used to solve 2L-CVRP by incorporating the two-dimensional packing heuristics, such as TS [29], GTS [30], ACO [31] and GRASP # ELS [32]. In addition, extended guided tabu search [33] and simulated annealing [34] frameworks were proposed for the 2L-CVRP. They modified the loading methods by introducing a new scoring based heuristic. A promise-based TS with a compact structure was recently developed which improved many best known solutions [35].

To our knowledge, the integrated heterogeneous fleet vehi-cle routing and loading problem has not attracted much atten-tion from the research community. The only related literature considers the 2L-HFVRP, which assumes that the items cannot be stacked. The 2L-HFVRP was first proposed by [36] and was solved via a simulated annealing algorithm with a heuristic local search. A survey on routing prob-lems with 2D and 3D loading con-straints was summarized by [37].

III. Problem DescriptionFollowing the notations used in the literature, the 3L-HFVRP is defined on a complete graph , ,G V E=^ h where , , ,V N0 1 f= " , is the ver-tex set containing a central depot (node 0) and N customers, and

, , , }E i j i j V i j!!= ^ h" i s the undirected edge set. Each edge

,i j E!^ h is associated with a travel distance dij from the vertex i to .j A fleet of T different types of vehicles is located at the depot and each type of vehicle , ,t t T1 f=^ h has a weight capacity ,Dt fixed cost ,Ft unit travel cost Vt and 3D rectangular loading space of length ,Lt width Wt and height .Ht Each vehicle has an opening at the rear door that is as large as the W Ht t#^ h plane. The number of vehicles for each type is unlimited. As a vehicle of larger capacity usually has higher costs and greater fuel consumption, without a loss of generality, we assume that

,D D D F FT1 2 1 2g g# # # # # FT# and .V V VT1 2 g# # The

travel cost of each edge ,i j E!^ h by a vehicle type t is .C V dij

tt ij#=

The total cost of a route R served by a vehicle type t is defined as .C F d V,R

tt R i R ii

Rt10

#= + +=

^ ^h h/

Each customer , ...,i i N1=^ h requires a set of mi rectangular shaped items, denoted as ,Ii whose total weight is .di Each item

, ,I I k m1ik i if! =^ h has length ,lik width wik and height .hik A fragility flag fik is associated with each item Iik and fik is set to 1 if the item is fragile, otherwise f 0ik = for a non-fragile item. We use the Cartesian coordinate system as in Fig. 1, where the width Wt is parallel to the x-axis, the height Ht is parallel to the y-axis, and the length Lt is parallel to the z-axis.

The objective of the 3L-HFVRP is to select a set of vehi-cles and the routes for those vehicles to service all customers, so that the total cost is minimized. The cost consists of the fixed cost of the selected vehicles and the travel cost of each route. Each vehicle must start and end at the central depot and each customer must be visited exactly once by one vehi-cle. The total weight of the items in one route should not exceed the capacity of the vehicle and a feasible route must satisfy the following constraints:

0

1

2

3 4

5

I52I51

: Central Depot : Customer

(a)

(b)

: Item

Vehicle 1 Vehicle 2

x

y

z

OW x

y

z

O

Vehicle 1 Vehicle 2

I13

I23

I31

I32 I41 I42

I22

I21

I12

I11

I52

I42

I51

I12 I22

I31

I23I13

I32 I21

I11

I41

FiguRe 2 An example of the 3L-HFVRP and its loading plan. (a) An example of the 3L-HFVRP, and (b) a possible loading plan for the vehicles in (a).

Page 5: An Adaptive Variable Neighborhood Search for a ...tarjome98.com/shop-english.files/Adaptive_Variable_Neighborhood_… · Abstract The paper addresses the heterogeneous eet vehicle

22 IEEE ComputatIonal IntEllIgEnCE magazInE | novEmbEr 2014

1) Loading constraint. Items are loaded with their edges parallel to the sides of the vehicle. Every item has a fixed vertical orientation, but a horizontal 90c rotation is permit-ted. The length, width and height of each item cannot exceed the space of the vehicle and there is no overlap between any pair of items.

2) Support constraint. A certain percentage a of item’s base must be supported by the vehicle or by other items.

3) Fragility constraint. Items can be placed on the top of each other, but non-fragile items cannot be stacked on any fragile items.

4) LIFO constraint. For any customer ,i no items demand-ed by other customers visited later than i can be placed above any item Iik or between Iik and the rear of the vehi-cle. Furthermore, each item must be unloaded using only a straight movement parallel to the L-edge.

Fig. 2 gives an example of 3L-HFVRP with two routes and a possible loading plan for these two routes.

We evaluate the influence of different loading constraints on the final solution by removing one or more constraints at a time and the results are reported in the section on compu-tational experiments.

IV. Proposed Solution ApproachAs the 3L-HFVRP is an NP-hard problem, it is impossible for exact methods to solve large instances in the real-world setting within reasonable amount of time. We focus on meta-heuristic methods to provide near-optimal solutions within reasonable computational time. Motivated by the successful application of the VNS scheme to VRP variants in [9], [38], [39], we use the VNS algorithm with an adaptive diversifica-tion procedure to explore the solution space thoroughly. For every candidate solution, an extreme point based first fit heu-ristic is developed to examine whether it has a feasible load-ing plan. The pseudo-code of proposed adaptive variable neighborhood search is outlined in Algorithm 1.

An initial solution is generated by the savings algorithm and the set of shake procedures is defined. At each iteration of the VNS, the current solution is shaken with a shake proce-dure (Line 9) and improved by the local search (Line 10). If the obtained solution is better than the best solution, it is recorded as the best solution (Line 11). Our algorithm differs from the classical VNS as it shakes the current solution up to min(10, K) times, where K is the number of vehicles used in the current solution, unless a better solution has been found (Line 8). This helps to better explore the neighboring search space of the current solution. If all the shake procedures are tried and no improving solution is found, an adaptive diversi-fication procedure is invoked to perturb the best found solu-tion so that the process can escape from the local optimum (Line 15). The VNS restarts its search on the solution gener-ated by the diversification procedure. The above steps are repeated until the given running time elapses. The variable nonImp records the number of successive calls of Diversify, based on whose solution the VNS failed to find an improving solution. We use nonImp to control the strength of the pertur-bation in Diversify. The detailed presentation of each step is provided in the following subsections.

a. Initial Solution ConstructionClark and Wright’s savings algorithm [40] is adapted to con-struct the initial solution. Each customer is assigned to a route which can fully accommodate the customer’s demand and has the most economical cost. The algorithm iteratively merges two routes into one until no more feasible improving merges exist. For any two routes, all possible merges are attempted. These include merging two routes directly, merging the first route and the reverse of the second route, merging the reverse of the first route and the second route, and merging two reversed routes. The merge that results in the largest savings is performed. Savings is calculated as the total costs of two orig-inal routes minus the total cost of the new route. A merging is accepted only if the resulting route is feasible in terms of the loading constraints and the most suitable vehicle with the lowest cost is assigned to each new route. The obtained solu-tion is thus always loading feasible.

B. Shake ProcedureThe shake procedure is to enable the better exploration of the search space by generating various starting points for the local search procedure. The shake procedure has six dif-ferent operators.

For the basic operator SSE2, two routes are randomly selected. For the first route, we randomly select a segment of two customers to be exchanged with a segment of two cus-tomers in the second route by traversing the list of customers in the second route from the front of the list to the back of the list. This is done systematically until a feasible solution is found. For the resulting routes, each vehicle type is examined, the vehicle that has the lowest cost and enables a feasible loading plan is selected.

Algorithm 1: The Adaptive Variable Neighborhood Search for the 3L-HFVRP.

AVNS() 1 Generate an initial solution S via the savings algorithm 2 Define a set of operators in the shake procedure NS 3 nonImp,S S 0= =) 4 while time limit is not exceeded 5 i 1= 6 while i NS '# attempt all of the shake procedures gradually 7 K = number of vehicles used in S 8 repeat , timesmin K10 '" , better explore the

neighboring space 9 shake S to get a random point Sl with NSi 10 S !m LocalSearch Sl^ h 11 if Sm is better than S)

12 nonImp, , ,S S S S i 0 0= = = =) m m

13 break the loop 14 i i 1= +

15 S = Diversify nonImp,S)^ h 16 nonImp nonImp 1= +

17 return S)

Page 6: An Adaptive Variable Neighborhood Search for a ...tarjome98.com/shop-english.files/Adaptive_Variable_Neighborhood_… · Abstract The paper addresses the heterogeneous eet vehicle

novEmbEr 2014 | IEEE ComputatIonal IntEllIgEnCE magazInE 23

For the basic operator SSE3, we choose a segment length of three instead of two. For the basic operator VSE, we ran-domly choose the segment length from one to three in the first route and systematically look for the first feasible exchange of with the second route. The length of segment used in the sec-ond route is between one to three. It is quite evident that it is harder to exchange segments that are longer than shorter. As such, we restrict our segment length to be at most three.

If we perform the SSE2, SSE3, and VSE once, the opera-tors are called SSE21, SSE31, and VSE1, respectively. If we do it twice, the operators are then known as SSE22, SSE32, and VSE2, respectively. As such, we have six different non-basic operators from which the shake procedure can randomly choose to perform diversification.

C. Local Search ProcedureThe local search procedure aims to improve the solution generated by the shake procedure. It consists of three simple but effective basic moves [30], [36], whose details are pre-sented below:1) customer-swap: Swap the positions of a pair of custom-

ers from the same route or different routes. Four old edges are deleted and four new edges are introduced.

2) customer-shift: A customer is erased and shifted to another place in the same route or a different route. Three edges are changed.

3) route-interchange: It can be performed within any sin-gle route or any route pair. Within a given route (also called 2-opt), two original edges are deleted and the middle segment is reversed. Two new edges are intro-duced to connect the segments as a route. It is useful to eliminate intersections within a route. When an intersec-tion occurs between a route pair, one edge from each route is eliminated to cut the route at the starting part and terminating part, then the starting part of the first route is concatenated with the terminating part of the second route, and vice versa.

For each resulting new route, the suitable vehicle with the lowest cost is assigned. An empty dummy route is maintained for operating flexibility. For example, it is easy to assign a sin-gle customer to a new route or split a route into two.

Our local search method uses the best admissible decent strategy to systematically explore the solution space. In the beginning, the three move types are marked as available; then, the following iterations are repeated. In each iteration, one of the available move types is randomly selected. Tentative moves of the chosen type are exhaustively examined and the most improving feasible move is identified and performed on the candidate solution. If no improving move is found, the chosen type is marked unavailable in the next iteration; otherwise, all three types are marked as available. The iterations repeat until there are no available types, i.e., no move of any type can fur-ther improve the solution. It is easy to see that the complexity of each move type is .O N2^ h It is time-consuming to exam-ine the loading feasibility of every move to locate the best fea-

sible move. We accelerate the procedure with the help of the Fibonacci heap, which is a special priority queue structure with fast insertion, deletion, update and minimum retrieval capabilities [41]. For each move type, all of the possible moves and the possible vehicle type assignments for the resulting routes are stored in a Fibonacci heap. They are sorted by the corresponding objective cost in ascending order. However, the loading feasibility of these moves is not checked. Every time the most improving feasible move is the need for one move type, we just repeat to get the move in the top of the heap and check its loading feasibility until we meet a feasible move. According to the property of Fibonacci heap, this move is the feasible move with the lowest cost. When a move is executed, only a limited set of moves are affected. Assuming the per-formed move is related to two routes, R1 and ,R2 only the moves involved with any customer belonged to R1 or R2 must be updated.

The use of Fibonacci heaps can help to prevent many unnecessary calls in the loading check procedure. Once a feasi-ble move is found at the top of the heap, the loading feasibility checks for the rest of the moves in the heap are canceled. This strategy reduces the computational time dramatically because the loading check is the most time-consuming operator.

D. adaptive Diversification MechanismsAfter the local search method terminates at a local optimum, the diversification procedure Diversify is called to adjust the search trajectory. We concentrate on a promising space by perturbing the best found solution to obtain a new initial solution. We propose two mechanisms the ruin-reconstruct (RR) and concat-split (CS) to diversify the search process. One mechanism is selected each time according to their his-torical performances.

Algorithm 2: The Adaptive Diversification Procedure.

DIVERSIFY nonImp,S)^ h 1 ' u is used to record the selected approach, 1 indicates RR

and 2 indicates CS 2 callNumberi' stores the number of times that mechanism i

performed 3 impNumberi' records the number of times that mechanism i

leads to a better solution 4 if the best found solution S) has been updated 5 impNumber impNumber 1u u '= + update the

corresponding value

6 Evaluate the callNumberimpNumber

score11

i

ii =

+

+ for approach 1 and 2

7 Calculate the probability score scorescorepi

i

1 2=

+ for approach

1 and 2 8 Select an approach probabilistically according to p1 and ,p2 and

set the value u 9 callNumber callNumber 1u u '= + update the corresponding

call times 10 if u 1==

11 nonImpRR ,S S= )^ h 12 else 13 nonImpCS ,S S= )^ h 14 return S

Page 7: An Adaptive Variable Neighborhood Search for a ...tarjome98.com/shop-english.files/Adaptive_Variable_Neighborhood_… · Abstract The paper addresses the heterogeneous eet vehicle

24 IEEE ComputatIonal IntEllIgEnCE magazInE | novEmbEr 2014

The pseudo-code of the diversification procedure is pro-vided in Algor ithm 2. Two var iables, callNumberi and

,impNumberi are used to record the historical performance for mechanism i (1 for RR, 2 for CS). They are initialized as 0, then callNumberi increases by one whenever the mecha-nism i is performed (Line 9), and impNumberi increases by one if a new best solution is obtained based on the initial solution generated by mechanism i (Lines 4–5). A score of the historical performance for each mechanism i is evaluated (Line 6). Our diversification procedure chooses mechanism i to perform with the probability pi which is calculated in Line 7, so that the mechanism with the better performance is used more often. Then a new solution is generated the selected mechanism (Lines 10–13). The experimental results show that RR and CS each perform better in different situa-tions. RR can change the structure of a solution more dra-matically whereas CS subtly alters the structure with the least incremental cost, so that the solution is improved to a new local optimum quickly.1) Ruin-Reconstruct approach: The ruin-reconstruct (RR)

approach partially destructs a solution and then rebuilds it to obtain a complete solution. This is similar to the prin-ciple of the large neighborhood search method [42], which has strong power to solve tightly constrained prob-lems. The solution is initially destroyed by deleting several randomly chosen customers. As the feasibility of a route is mainly determined by the loading constraints, our rebuilding process prefers to insert the customers with large volume items. The erased customers are sorted by the decreasing volume of their items and are reinserted into the partial solution one by one. Every position of each route is investigated for a customer before it is inserted. For the resulting route, each vehicle type is examined in terms of the loading constraints and the

insertion costs are calculated for the loading feasible vehi-cle types. The customer is inserted into the best position with the minimum incremental cost and the correspond-ing vehicle is assigned to the route. If the current custom-er cannot be served by an existing vehicle, a new suitable vehicle is added. The rebuilding process terminates when a complete solution is generated.

It becomes increasingly difficult to escape from a local optimum during the process. The diversification strength increases with the nonImp, which is the number of successive iterations in which no improving solution is found based on the solution generated by Diversify (see Algorithm 1 for details). Excessive diversification should be avoided to retain the good elements of the original solution. The number of the erased customers is defined as min(0.5 # N, 0.1 # N + nonImp), where N is the number of total customers.2) Concat-Split approach: The concat-split (CS) approach is

based on the principle of concatenating the 3LHFVRP solution into a giant tour that is a sequence of customers, like the classical traveling salesman problem. The edge with the highest cost is eliminated to obtain a new sequence, followed by the optimal split procedure to con-vert the giant tour back into the 3L-HFVRP solution. The split approach has been proven to be effective for numerous vehicle routing problems [43], [12], [32]. The proposed CS method takes advantages of this approach and is tuned to diversify our search process. Our CS is different from the original split approach as the stage of erasing the expensive edge is introduced with the aim of identifying and eliminating the poor features from the current solution. It is executed as the following steps.

Step (1), Concat: To connect the routes as a giant tour, we should consider introducing low-cost edges and bring the diversification. First, a route is randomly selected and put into

0

1

2

3

4

5

6

1 542 3 6

3 164 5 2

3 164 5 20

F2+V2*(c06+c61+c10)

F3+V3*(c03+c34+c45+c50)

F1+V1*2c02

Original Solution

Giant Tour

(1).Concat

(2).Change

(3).Split (4).Extract

New Solution

0 Dummy Node i Customer

cij : Cost Between Node i and Node j

: Feasible Arc (Route)

: Optimal Shortest Path

Auxiliary Graph and Split Procedure

Type3

Type 3

0

1

2

3

4

5

6

Type3

Type 1

Type2

FiguRe 3 A simple example of the split approach for a 3L-HFVRP instance.

Page 8: An Adaptive Variable Neighborhood Search for a ...tarjome98.com/shop-english.files/Adaptive_Variable_Neighborhood_… · Abstract The paper addresses the heterogeneous eet vehicle

novEmbEr 2014 | IEEE ComputatIonal IntEllIgEnCE magazInE 25

the empty initial giant tour. Then, other routes are iteratively selected and connected at the end of giant tour until all the routes are in the giant tour. In each iteration, the unlinked routes are sorted by increasing distance between the last cus-tomer of the giant tour and the first customer of route, and the route ranked at the i th place is chosen with the probabil-ity /p M i M M2 1 1i = - + +^ ^h h (M is the number of unlinked routes) so that a route with a higher rank has a higher probability of being selected. The final obtained cus-tomer sequence is our original giant tour.

Step (2), Change: If we perform the split procedure on the giant tour obtained in Step (1) directly, the generated new solution might be a better one in terms of cost, but in most cases it is the same as the original solution from our prelimi-nary experiments. Thus, it is necessary to alter the giant tour before splitting it.

We alter the giant tour through eliminating the most expensive edge based on the fact that long edges are usually not contained in the optimal solution. Note that the nodes of this edge should not be the end points of different routes. In particular, we pick the edge ,i j^ h that maximizing the utility function , ( / )/( )U i j d avg et1ij ij ij= +^ h used in [30], where etij is the times of edge ,i j^ h eliminated, and avgij is the average distance of all edges starting from nodes i and .j This func-tion helps select the edge with relatively large distance com-pared to its neighborhoods and having been eliminated for few times. Therefore it leads to a more balanced edge selec-tion than simply choosing the longest edge. After the edge is eliminated, the giant tour is cut into two parts. We relink the first part after the last part such that the two nodes ,i j are the two end points of the resulting giant tour. In addition, we also randomly select /n nImp 2q pairs of customers and exchange their positions in order to introduce more diversification.

Step (3), Split: The split procedure first constructs an auxil-iary graph , ,H X A Z=^ h with the given giant tour as shown in the Fig. 3, where X is a set of N 1+ nodes indexed from 0 to N with node 0 as a dummy node, A represents the arc set, and Z provides the cost of arcs. The nodes , ...,N1 corre-spond to the customer sequence in the given giant tour

, ..., .T v vn1=^ h One arc ,i j^ h is created only if the route with customers vi 1+ to v j can be feasibly served by at least one type of vehicle in terms of loading constraints. And the most economical vehicle type is assigned to this route. So its weight is the route cost CR

t defined in Section III.An optimal split corresponds to a min-cost path from

node 0 to N in ,H which can be computed using Dijkstra’s algorithm. Building the graph and solving the shortest path problem can be done in O N2^ h time. In practice, the required time is much less because of the tight loading constraints which dramatically reduce the number of arcs. For more detailed description and the pseudo-code of the split proce-dure, the reader is referred to [43] and [32].

Step (4), Extract: Each arc in the auxiliary graph H corre-sponds to a feasible route. This step converts the arcs of the optimal path into routes to obtain a new solution.

Fig. 3 illustrates the proposed concat-split procedure for a 3L-HFVRP instance with six customers and two vehicles of type 3. Two routes are concatenated to obtain the giant tour. The most expensive edge (2, 3) is eliminated and a new giant tour , , , , ,T 3 4 5 6 1 2^ h is generated. The auxiliary graph is constructed and the optimal split is obtained via the shortest path algorithm. The three corresponding routes are extracted and a new diversified solution is generated.

An alternative method can be used at step (2). To eliminate the edge ,i j^ h with the maximum utility function, the nodes ,i j are erased and reinserted after their nearest neighbors.

These two step (2) methods are randomly chosen between with equal probability when concat-split mechanism is called.

V. The Extreme Point Based First Fit Heuristic for the Loading SubproblemWe use the procedure RandomLSPack to check the loading feasibility of a route. The RandomLSPack procedure is given in Algorithm 3. It takes a route tour R containing the ordered customers visited by a vehicle and a parameter t representing the vehicle type as inputs. If the procedure finds a feasible load-ing for this vehicle, it reports a const success, otherwise, it returns a const failure. We use different strategies based on ,n which is the number of items required by the customers in .R

If n is not larger than the user defined parameter max_enumeration_num (set to 8 in our implementation), we try all of the permutations of I and call the process FirstFitPack (see Section V-A for details) on each permutation. FirstFitPack regards the length dimension of the vehicle as open and tries to pack all of the items into the open vehicle such that the used length of the vehicle is minimized. If the FirstFitPack

Algorithm 3: RandomLSPack Procedure.

RandomLSPack (R, t) 1 Let n be the number of items in R 2 if max enumeration numn _ _#

3 I = all of the items demanded by the customers in R 4 for each permutation I) of I 5 if FirstFitPack ,I t Lt#)^ h 6 return success 7 return failure 8 else 9 for each sorting rule 10 I = sort sequence of all of the items demanded by the

customers in R 11 Let n be the number of items in I 12 FirstFitPack ,L I t '= ^ h the length used to load all

of the items 13 if L Lt#

14 return success 15 for tok n1 '= attempt with other sequences to

load the items 16 Generate new sequence I) by swapping two randomly

selected items in I 17 FirstFitPack ,L I t=) )^ h 18 if L L#)

19 ,I I L L= =) )

20 if L Lt#

21 return success 22 return failure

Page 9: An Adaptive Variable Neighborhood Search for a ...tarjome98.com/shop-english.files/Adaptive_Variable_Neighborhood_… · Abstract The paper addresses the heterogeneous eet vehicle

26 IEEE ComputatIonal IntEllIgEnCE magazInE | novEmbEr 2014

finds a loading pattern whose used length is less than the vehicle length L ,t success will be returned. Otherwise, fail-ure is returned.

If n is larger than the user defined parameter max_enumer-ation_num, a random local search procedure is used to test some of the permutations of .I We use two sorting rules to generate an initial sequence I of the items demanded by the customers in R (line 10). The first sorting rule sorts the items in the following steps:1) If the LIFO constraint is not enforced, go to the next

step. Otherwise, sort the items in the reverse visiting order of the corresponding customer and break ties using the rule in the next step.

2) If the fragility constraint is not enforced, go to the next step. Otherwise, sort the items so that the non-fragile items are before the fragile items and break ties using the rule in the next step.

3) If the support constraint is not enforced, go to next the step. Otherwise, sort the items by decreasing order of the base area, i.e., l wi i# for item ,i and break ties using the rule in the next step.

4) Sort the items by decreasing order of volume.The second sorting rule is the same as the first rule except

that step 3 is replaced by the following step:3) Sort the items by decreasing order of their length and

break ties using the rule in the next step.For each sorted sequence of items and a vehicle type, we

use a heuristic loading procedure FirstFitPack to try to pack the items into the vehicle surface. If FirstFitPack finds a load-ing pattern whose used length is less than the vehicle length

,Lt success will be returned. Otherwise, we attempt to opti-mize the solution in terms of the used length through a ran-dom local search mechanism. The number of iterations is lim-ited to the number of items n (lines 15–21). In each iteration, a new sequence is generated by swapping the positions of two randomly selected items and FirstFitPack is called on the new sequence. If the resulting length is less than the length of the

old solution, we set our sequence to the new sequence. At any point in the process, if a loading pattern whose used length is less than the vehicle length is found, the procedure halts with success. If this does not occur, a failure will be returned at the end of the procedure.

To speed up our procedure, we use the data structure Trie to keep track of the loading feasibility of the routes already examined for a given vehicle type. Similar strategies are also used by other researchers, such as the tree structure [30], pool [2] and hash table [35]. However, our Trie stores not only the feasibility information of the routes, but also the number of times that RandomLSPack is called on the same route and vehicle type. Given a sequence of customers R representing a route and the vehicle type t to determine whether the route is feasible, we retrieve the information from Trie. If the stored feasibility information is success or the number of times that RandomLSPack is called on this route and the vehicle type reach the maximum allowed number maxCallTime, we just return the stored feasibility information. Otherwise, we call RandomLSPack again and update the feasibility information. The calling number is updated as follows. If the number of items demanded by the customers in R is not larger than max_enumeration_num, all of the permutations of these items have been enumerated, there is no need to call RandomLS-Pack on this route again, and we set the calling number to maxCallTime. Otherwise, we increase the calling number by one. In our implementation, we set the maximum calling time maxCallTime to , / ,max n V L W H100 1 I t t t# $ $-^ ^ ^ hhh where n is the number of items, VI is the volume of all of the items and L W Ht t t$ $ is the volume of the vehicle surface. The larger the ratio between the item volume and vehicle volume, the fewer times RandomLSPack can be called. The larger this ratio is, the lower the probability that a feasible loading solution exists for this route so we spend less effort on this route.

The Trie can save time, in that, if RandomLSPack has found a feasible loading for a route, the stored information in Trie will avoid unnecessary calls of RandomLSPack on the same route later. We also limit the maximum calling number of RandomLSPack on the same route and vehicle type so that not too much time will be spent on routes without feasi-ble loading plans.

C1

CO

C2 D1

D2

B2

B1

x

y

z

DA

B

FiguRe 4 The method to generate new extreme points.

00.10.20.30.40.50.60.7

3 4 5 6 13 14 15 16 17 18 19 20

Gap

to B

KS

(%

)

Instances Id

HFVRP-V

HFVRP-F

HFVRP-FV

FiguRe 5 Comparison of the performance of the AVNS and BKS on instances of the pure HFVRP.

Page 10: An Adaptive Variable Neighborhood Search for a ...tarjome98.com/shop-english.files/Adaptive_Variable_Neighborhood_… · Abstract The paper addresses the heterogeneous eet vehicle

novEmbEr 2014 | IEEE ComputatIonal IntEllIgEnCE magazInE 27

a. Extreme Point Based First Fit Loading heuristicOur FirstFitPack procedure is given in Algorithm 4. It takes as input a sequence of items I and a parameter t representing the vehicle type. In the loading procedure, we regard the length dimension of the vehicle as unlimited and try to load all the items into the vehicle according to the given sequence so that the used length is minimized.

FirstFitPack places the items in I one by one. FirstFitPack maintains a list of extreme points [44] that are the candidate positions to place an item in. Initially, the empty vehicle is represented by one extreme point (0, 0, 0) (line 2). When a new item is placed, it occupies one extreme point and up to six new extreme points are introduced. The method to intro-duce the six extreme points is shown in Fig. 4. Assume that the corner of the item closest to the origin O is A and that the three adjacent corners of A are B, C, and D. From each of B, C, and D, we can extend two rays along the opposite direc-tion of the axis (given by B1, B2, C1, C2, D1, and D2). The place where the ray first intersects the surface of either another packed item or the vehicle is an extreme point.

At each step of our loading process (lines 4–9), we sort the list of extreme points. We check each extreme point in the sorted order. For each extreme point ,p we try to place the first unpacked item in the sequence at this point. If the placement is feasible, we place it at ,p update the extreme point list and pro-ceed to the next step. Other-wise, we try the next point in the list. If all of the extreme points are examined and no fea-sible placement for the first unpacked item is found, the process terminates with an infi-nite length. The above process is repeated until all of the items are placed. The used length of the vehicle is returned at the end of the procedure.

VI. Computational ResultsThis paper is the first to intro-duce the 3L-HFVRP. To test the effectiveness of our approach in terms of routing, we first test the AVNS on the pure HFVRP instances. We then test the AVNS on 3L-CVRP instances. We generate a set of new 3L-HFVRP instances and report the results obtained by the

AVNS. Our algorithm is coded in C++, and all of the experi-ments are executed on an Intel Xeon E5430 with a 2.66 GHz (Quad Core) CPU and 8 GB RAM running the CentOS 5 Linux operating system. All of the problems are assigned a run-time limit: 900 CPU seconds for ,N 25# 1800 CPU seconds for N25 501 1 and 3600 CPU seconds for ,N 50$ where N is the number of customers. As in the existing literature on

840

890

940

990

1040

All NoFragility

NoSupport

No LIFO LoadingOnly

Ave

rage

Cos

t GTS

DMTS

VRLH1

AVNS

TS

ACO

HA

(a)

2640

2690

2740

2790

2840

2890

2940

2990

Ave

rage

Cos

t

Constraints

GTS

DMTS

VRLH1

AVNS

All NoFragility

NoSupport

No LIFO LoadingOnly

(b)

Constraints

FiguRe 6 Comparing the performances of our AVNS and existing approaches on the 3LCVRP data set. (a) Comparison on data set 1, and (b) comparison on data set 2 excluding instances 9 and 12.

Algorithm 4: Extreme Point based First Fit Procedure.

FirstFitPack (I, t) 1 Let n be the number of items in I 2 extreme points set , ,EP 0 0 0 '= ^ h" , initialize the extreme point set 3 for tok n1= 4 sort the extreme point in EP in ascending order, first by z-coordi-

nate, then by x-coordinate, then by y-coordinate 5 for each extreme point p in EP 6 if Ik can be placed at p 7 place Ik at ,p update the extreme point, break 8 if Ik is not placed 9 return 3 10 return used length of the vehicle

Page 11: An Adaptive Variable Neighborhood Search for a ...tarjome98.com/shop-english.files/Adaptive_Variable_Neighborhood_… · Abstract The paper addresses the heterogeneous eet vehicle

28 IEEE ComputatIonal IntEllIgEnCE magazInE | novEmbEr 2014

the 3L-CVRP, the support ratio a is set at 75%. The user defined parameter max_enumeration_num used in RandomLS-Pack is set to eight after preliminary tests. The AVNS experi-ments are run 30 times by setting the random seed from 1 to 30 unless explicitly stated. All of the benchmark instances used in this paper and the detailed computational results, including routing and loading plans, can be downloaded from [45].

a. Comparison on Pure hFVRPTo test the performance of the AVNS for routing, we first test the AVNS on pure HFVRP instances and compare it with the best known solutions (BKS) of recent algorithms such as CG [6], SMA_D1 [12], VNS1 [9], ILS_RVND [46], and ILS_RVND_SP [13]. The instances are classified into three catego-ries according to the cost func-tion: with fixed cost only (HFVRP-F, ),V 1t = with travel cost only (HFVRP-V, )F 0t = and with both fixed and travel costs (HFVRP-FV). The per-centage gap between the best results obtained by the AVNS and BKS is depicted in Fig. 5. Almost all of the BKS have been proven to be optimal except two instances (instance 20 of HFVRP-F and HFVRP-FV). Although our algorithm is not tailored for the pure routing problem and does not use the complicated moves used in other approaches, the obtained results are quite satisfying. Our algo-rithm performs quite well for the HFVRP as the gaps between the best results obtained by the AVNS and the BKS are limited to about 0.2% for all instances

except one. The detailed comparison results are presented in Table 1 of the supplement material which can be downloaded from our website [45].

B. Results for 3L-CVRPWe investigate the effectiveness of the proposed algorithm by adapting our algorithm to test on the instances of the 3L-CVRP. The 3L-CVRP is a special case of the 3L-HFVRP as only one type of vehicles is used. The fixed cost is not con-sidered and the unit travel cost is set to one. 3L-CVRP is slightly different from our 3L-HFVRP because 3L-CVRP has a fixed number of available vehicles. To obtain a solution sub-ject to the vehicle number limit, we adjust the objective func-tion by giving a very large penalty (1,000,000 in our imple-mentation) to each extra vehicle. The benchmark instances contain 27 instances generated in [22] and 12 larger scale instances introduced by [23]. The results are compared with other algorithms reported in the literature, TS [22], GTS [23], ACO [2], DMTS [24], VRLH1 [25] and HA [26]. The com-putational environments for these approaches are summarized

0

1

2

3

4

5

6

32 64 128 256 512 1024 2048 3600

Gap

to B

est

(%)

t (s)

N#25

25<N<50

50#N<75

N$75

All

(a)

0.0

0.5

1.0

1.5

2.0

2.5

3.0

3.5

4.0

Gap

to B

est

(%)

N=50

N=75

N=100

N=125

All

32 64 128 256 512 1024 2048 3600

t (s)

(b)

FiguRe 7 The convergence of AVNS on the 3L-CVRP data set. (a) AVNS convergence on data set 1, and (b) AVNS convergence on data set 2, excluding instances 9 and 12.

01234567

128 256 512 1024 2048 3600

Gap

to B

est (

%)

t (s)

N=20N=50N=75N=100All

FiguRe 8 The convergence of the AVNS on 3L-HFVRP instances.

Page 12: An Adaptive Variable Neighborhood Search for a ...tarjome98.com/shop-english.files/Adaptive_Variable_Neighborhood_… · Abstract The paper addresses the heterogeneous eet vehicle

novEmbEr 2014 | IEEE ComputatIonal IntEllIgEnCE magazInE 29

in Table 2 of the supplement material. The ACO, DMTS and VRLH1 were run 10 times, here our AVNS runs 30 times. And we compare the average cost obtained for each instances during the runs. As our approach is not designed for 3L-CVRP, we do not limit the number of used vehicles in the initial solution construction and the VNS search procedure. As a result, the solutions for instances 9 and 12 in set 2 found by the AVNS used one more vehicle than the limit. Thus, in order for comparison, we exclude these two instances from set 2 in the following comparison.

Fig. 6(a) and Fig. 6(b) compare the average cost obtained by the AVNS and other existing algorithms on the set 1 and 2 respectively. In addition, in order to test the effect of each constraint on the final solution, we also test different versions by removing one or more constraints. From these two fig-ures, we can see that the average cost incurred by the AVNS is smaller than all the existing approaches for each test ver-sion. The constraint affecting AVNS the most is the LIFO constraint and the least is the fragility constraint. The average costs found by each algorithms on these two sets are given in Table 1; and the details of the cost on each instance are given in Tables 4, 5, 6 and 7 of the supplement material which can be downloaded from [45].

To investigate the convergence behavior of our AVNS, we perform an additional experiment on these instances by set-ting the random seed to 1. For each instance, we record the solution found by the AVNS at the time of 1, 2, 4, ... , 2048, 3600s. The results are shown as Fig. 7, where we divide the instances into groups based on the number of customers .N For each group, we plotted the gap between the average cost and the final average cost found by the AVNS as the compu-tational time increases. More specifically, for each group, assume the final average cost found by AVNS is cfinal and the average cost found at time t is ,ct then the gap (%) is defined as ./c c100 1finalt# -^ h We can see from these figures that our AVNS exhibits rapid convergence in most of these instances. For the small instances with ,N 25# the AVNS converges after 512s on all instances; for the medium instances with

,N25 501 1 most of the instances found its best solutions before 2048s; for the instances with ,N 50$ our AVNS con-verges near 3600s on the majority of the instances.

C. Results for 3L-hFVRPTo our knowledge, this is the first exploration of the 3L-HFVRP. We first present our method to generate the instances of 3L-HFVRP, which is similar to the method used in [22] for the 3L-CVRP. The benchmarks are derived from the 36 Euclidean HFVRP instances used in Section VI-A by

adding the 3D attribute to the items and vehicles and retaining the other attributes. A standard loading space is set as ,L 120= W 50= and .H 60= For each vehicle type , ..., ,t t T1=^ h a random qt is uniformly selected from the interval [0.7, 1.3] and the corresponding loading space is defined as ,L q Lt t #= W q Wt t #= and .H q Ht t #= The order ...q q qT1 21 1 1 is maintained. For each customer ,i a number mi of requested items is uniformly and randomly generated from 1 to 3. For each item ,Iik its length ,lik width wik and height hik are uni-formly and randomly generated from the corresponding inter-vals [0.2L, 0.6L], [0.2W, 0.6W ] and [0.2H, 0.6H ], respectively. In addition, every item has a 20% probability of being fragile.

Table 2 provides the average results for the various 3L-HFVRP versions with different constraints, where the best cost ,cbst average cost cavg and the average time to find the best cost ttb(s) over 30 runs are reported. For each version, with some constraints removed, we also calculate the improvement over the fully constrained version in terms of the average best cost and average cost. The results are shown in the columns gap (%). For example, excluding fragility improves the average best cost by 100 # (4662.81/4796.70 - 1). According to the results, the LIFO is the hardest constraint. Excluding the LIFO constraints improves the average cost by up to 6.35%, while fragility, being the least influential constraint, results in an improvement by only 2.51% with its exclusion. When only the 3D-loading constraint is imposed, the average cost improves by up to 8.91%. The detailed results are provided in Table 9 of the supplement material which can be downloaded from our website [45].

The investigation of convergence behavior of our AVNS on the 3L-HFVRP is performed as that for the 3L-CVRP, and the results are depicted in Fig. 8. According to the Figure, the algorithm converges fast for small scale instances, finding

TAbLe 1 Comparison of the average cost between AVNS and existing approaches on 3L-CVRP instances set (Set 2 excluding instance 9 and 12).

SeT CoNSTRAiNTS TS gTS ACo DMTS VRLH1 HA AVNS1 ALL CoNSTRAINTS 1042.26 997.18 966.67 962.08 953.79 960.10 942.121 No FRAGILITY 1014.49 965.14 945.04 941.08 934.38 935.92 920.001 No SuPPoRT 939.53 934.96 919.69 913.43 902.55 903.18 892.041 No LIFo 951.19 950.59 916.25 887.71 912.05 912.47 874.321 LoADING oNLY 876.31 876.39 856.66 846.44 864.54 858.07 842.132 ALL CoNSTRAINTS — 2951.96 — 2883.81 2895.63 — 2800.132 No FRAGILITY — 2915.83 — — 2850.90 — 2768.562 No SuPPoRT — 2837.74 — — 2792.34 — 2731.772 No LIFo — 2807.83 — — 2799.87 — 2694.242 LoADING oNLY — 2737.35 — — 2729.87 — 2649.49

TAbLe 2 The summary results of AVNS on 3L-HFVRP instances.

CoNSTRAiNTS cbst gapbst cavg gapavg ttb(s)ALL CoNSTRAINTS 4796.70 — 4915.70 — 1895.1No FRAGILITY 4662.81 -2.79 4792.29 -2.51 1804.4No SuPPoRT 4555.71 -5.02 4667.12 -5.06 1817.3No LIFo 4482.16 -6.56 4603.71 -6.35 1835.9LoADING oNLY 4272.08 -10.94 4369.51 -8.91 1620.5

Page 13: An Adaptive Variable Neighborhood Search for a ...tarjome98.com/shop-english.files/Adaptive_Variable_Neighborhood_… · Abstract The paper addresses the heterogeneous eet vehicle

30 IEEE ComputatIonal IntEllIgEnCE magazInE | novEmbEr 2014

best solutions at about 1024s for instances with 20 customers. It converges after 2048s for instances of 50 and 75 customers.

VII. ConclusionsWe introduce a new variant of the integrated routing and loading problem, 3L-HFVRP, and generate benchmark instances for future studies. The vehicle fleet is heteroge-neous in capacity, loading space, and fixed and variable costs. The number of each type of vehicle is unlimited. The cus-tomer demand consists of 3D, rectangular, weighted items. It is a challenging NP-hard problem and has many practical applications.

We develop a hybrid VNS algorithm to intensively explore the solution space and an adaptive diversification mechanism is incorporated to adjust the search trajectory. An extreme point-based first fit heuristic is frequently invoked to produce the loading pattern for the candidate solutions. And the loading is the most time-consuming operator, the data structures Trie and Fibonacci heap are creatively used to speed up the process, which dramatically reduces the loading check for the routes.

The proposed algorithm was extensively tested on instances of the pure HFVRP, 3L-CVRP and 3L-HFVRP. For the pure HFVRP, the obtained results are quite close to the optimum. The AVNS outperforms the existing algorithms and improves several best known results for the 3L-CVRP.

References[1] A. Hoff, H. Andersson, M. Christiansen, G. Hasle, and A. Løkketangen, “Industrial aspects and literature survey: Fleet composition and routing,” Comput. Oper. Res., vol. 37, no. 12, pp. 2041–2061, 2010.[2] G. Fuellerer, K. F. Doerner, R. F. Hartl, and M. Iori, “Metaheuristics for vehicle rout-ing problems with three-dimensional loading constraints,” Eur. J. Oper. Res., vol. 201, no. 3, pp. 751–759, 2010.[3] P. Toth and D. Vigo, The Vehicle Routing Problem. Philadelphia, PA: Soc. Ind. Appl. Math., 2002.[4] B. Golden, A. Assad, L. Levy, and F. Gheysens, “The f leet size and mix vehicle routing problem,” Comput. Oper. Res., vol. 11, no. 1, pp. 49–66, 1984.[5] É. D. Taillard, “A heuristic column generation method for the heterogeneous f leet VRP,” RAIRO—Oper. Res., vol. 33, no. 1, pp. 1–14, 1999.[6] E. Choi and D.-W. Tcha, “A column generation approach to the heterogeneous f leet vehicle routing problem,” Comput. Oper. Res., vol. 34, no. 7, pp. 2080–2095, 2007.[7] J. Brandão, “A deterministic tabu search algorithm for the f leet size and mix vehicle routing problem,” Eur. J. Oper. Res., vol. 195, no. 3, pp. 716–728, June 2009.[8] C. Duhamel, P. Lacomme, and C. Prodhon, “A hybrid evolutionary local search with depth f irst search split procedure for the heterogeneous vehicle routing problems,” Eng. Appl. Artif. Intell., vol. 25, no. 2, pp. 345–358, Mar. 2012.[9] A. Imran, S. Salhi, and N. A. Wassan, “A variable neighborhood-based heuristic for the heterogeneous f leet vehicle routing problem,” Eur. J. Oper. Res., vol. 197, no. 2, pp. 509–518, 2009.[10] D. C. Paraskevopoulos, P. P. Repoussis, C. D. Tarantilis, G. Ioannou, and G. P. Prastacos, “A reactive variable neighborhood tabu search for the heterogeneous f leet ve-hicle routing problem with time windows,” J. Heuristics, vol. 14, no. 5, pp. 425–455, Oct. 2007.[11] S. Liu, W. Huang, and H. Ma, “An effective genetic algorithm for the f leet size and mix vehicle routing problems,” Transp. Res. Part E Logist. Transp. Rev., vol. 45, no. 3, pp. 434–445, May 2009.[12] C. Prins, “Two memetic algorithms for heterogeneous f leet vehicle routing prob-lems,” Eng. Appl. Artif. Intell., vol. 22, no. 6, pp. 916–928, 2009.[13] A. Subramanian, P. H. V. Penna, E. Uchoa, and L. S. Ochi, “A hybrid algorithm for the heterogeneous f leet vehicle routing problem,” Eur. J. Oper. Res., vol. 221, no. 2, pp. 285–295, 2012.[14] F. Li, B. Golden, and E. Wasil, “A record-to-record travel algorithm for solving the heterogeneous f leet vehicle routing problem,” Comput. Oper. Res., vol. 34, no. 9, pp. 2734–2742, 2007.[15] X. Li, P. Tian, and Y. Aneja, “An adaptive memory programming metaheuristic for the heterogeneous f ixed f leet vehicle routing problem,” Transp. Res. Part E Logist. Transp. Rev., vol. 46, no. 6, pp. 1111–1127, Nov. 2010.[16] J. Brandão, “A tabu search algorithm for the heterogeneous f ixed f leet vehicle routing problem,” Comput. Oper. Res., vol. 38, no. 1, pp. 140–151, 2011.

[17] S. Liu, “A hybrid population heuristic for the heterogeneous vehicle routing prob-lems,” Transp. Res. Part E Logist. Transp. Rev., vol. 54, pp. 67–78, Aug. 2013.[18] A. Bortfeldt and H. Gehring, “A hybrid genetic algorithm for the container loading problem,” Eur. J. Oper. Res., vol. 131, no. 1, pp. 143–161, May 2001.[19] D. Pisinger, “Heuristics for the container loading problem,” Eur. J. Oper. Res., vol. 141, no. 2, pp. 382–392, Sept. 2002.[20] L. Wei, W.-C. Oon, W. Zhu, and A. Lim, “A reference length approach for the 3D strip packing problem,” Eur. J. Oper. Res., vol. 220, no. 1, pp. 37–47, 2012.[21] W. Zhu and A. Lim, “A new iterative-doubling greedy-lookahead algorithm for the single container loading problem,” Eur. J. Oper. Res., vol. 222, no. 3, pp. 408–417, Nov. 2012.[22] M. Gendreau, M. Iori, G. Laporte, and S. Martello, “A tabu search algorithm for a routing and container loading problem,” Transp. Sci., vol. 40, no. 3, pp. 342–350, 2006.[23] C. D. Tarantilis, E. E. Zachariadis, and C. T. Kiranoudis, “A hybrid metaheuristic algorithm for the integrated vehicle routing and three-dimensional container-loading problem,” IEEE Trans. Intell. Transport. Syst., vol. 10, no. 2, pp. 255–271, 2009.[24] W. Zhu, H. Qin, A. Lim, and L. Wang, “A two-stage tabu search algorithm with enhanced packing heuristics for the 3L-CVRP and M3L-CVRP,” Comput. Oper. Res., vol. 39, no. 9, pp. 2178–2195, 2012.[25] A. Bortfeldt, “A hybrid algorithm for the capacitated vehicle routing problem with three-dimensional loading constraints,” Comput. Oper. Res., vol. 39, no. 9, pp. 2248–2257, Sept. 2012.[26] Q. Ruan, Z. Zhang, L. Miao, and H. Shen, “A hybrid approach for the vehicle rout-ing problem with three-dimensional loading constraints,” Comput. Oper. Res., vol. 40, no. 6, pp. 1579–1589, June 2013.[27] P. Lacomme, H. Toussaint, and C. Duhamel, “A GRASP#ELS for the vehicle rout-ing problem with basic three-dimensional loading constraints,” Eng. Appl. Artif. Intell., vol. 26, no. 8, pp. 1795–1810, Sept. 2013.[28] M. Iori, J.-J. Salazar-González, and D. Vigo, “An exact approach for the vehicle routing problem with two-dimensional loading constraints,” Transp. Sci., vol. 41, no. 2, pp. 253–264, 2007.[29] M. Gendreau, M. Iori, G. Laporte, and S. Martello, “A tabu search heuristic for the vehicle routing problem with two-dimensional loading constraints,” Networks, vol. 51, no. 1, pp. 4–18, 2008.[30] E. E. Zachariadis, C. D. Tarantilis, and C. T. Kiranoudis, “A guided tabu search for the vehicle routing problem with two-dimensional loading constraints,” Eur. J. Oper. Res., vol. 195, no. 3, pp. 729–743, 2009.[31] G. Fuellerer, K. F. Doerner, R. F. Hartl, and M. Iori, “Ant colony optimization for the two-dimensional loading vehicle routing problem,” Comput. Oper. Res., vol. 36, no. 3, pp. 655–673, 2009.[32] C. Duhamel, P. Lacomme, A. Quilliot, and H. Toussaint, “A multi-start evolution-ary local search for the two-dimensional loading capacitated vehicle routing problem,” Comput. Oper. Res., vol. 38, no. 3, pp. 617–640, 2011.[33] S. C. H. Leung, X. Zhou, D. Zhang, and J. Zheng, “Extended guided tabu search and a new packing algorithm for the two-dimensional loading vehicle routing problem,” Comput. Oper. Res., vol. 38, no. 1, pp. 205–215, 2011.[34] S. C. H. Leung, J. Zheng, D. Zhang, and X. Zhou, “Simulated annealing for the vehicle routing problem with two-dimensional loading constraints,” Flex. Serv. Manuf. J., vol. 22, no. 1, pp. 61–82, 2010.[35] E. E. Zachariadis, C. D. Tarantilis, and C. T. Kiranoudis, “Integrated distribution and loading planning via a compact metaheuristic algorithm,” Eur. J. Oper. Res., vol. 228, no. 1, pp. 56–71, Jan. 2013.[36] S. C. H. Leung, Z. Zhang, D. Zhang, X. Hua, and M. K. Lim, “A meta-heuristic algorithm for heterogeneous f leet vehicle routing problems with two-dimensional load-ing constraints,” Eur. J. Oper. Res., vol. 225, no. 2, pp. 199–210, 2013.[37] M. Iori and S. Martello, “Routing problems with loading constraints,” TOP, vol. 18, no. 1, pp. 4–27, 2010.[38] K. Fleszar, I. H. Osman, and K. S. Hindi, “A variable neighbourhood search al-gorithm for the open vehicle routing problem,” Eur. J. Oper. Res., vol. 195, no. 3, pp. 803–809, 2009.[39] V. C. Hemmelmayr, K. F. Doerner, and R. F. Hartl, “A variable neighborhood search heuristic for periodic routing problems,” Eur. J. Oper. Res., vol. 195, no. 3, pp. 791–802, 2009.[40] G. Clarke and J. W. Wright, “Scheduling of vehicles from a central depot to a number of delivery points,” Oper. Res., vol. 12, no. 4, pp. 568–581, Aug. 1964.[41] M. L. Fredman and R. E. Tarjan, “Fibonacci heaps and their uses in improved net-work optimization algorithms,” J. ACM, vol. 34, no. 3, pp. 596–615, July 1987.[42] D. Pisinger and S. Ropke, “Large neighborhood search,” in Handbook Metaheuristics, vol. 146, M. Gendreau and J.-Y. Potvin, Eds. Berlin Heidelberg, Germany: Springer-Verlag, 2010, pp. 399–419.[43] C. Prins, “A simple and effective evolutionary algorithm for the vehicle routing problem,” Comput. Oper. Res., vol. 31, no. 12, pp. 1985–2002, 2004.[44] T. G. Crainic, G. Perboli, and R. Tadei, “Extreme point-based heuristics for three-dimensional bin packing,” INFORMS J. Comput., vol. 20, no. 3, pp. 368–384, 2008.[45] L. Wei, Z. Zhang, and A. Lim. (2014, July). Supplement for ‘an adaptive variable neighborhood search for a heterogeneous f leet vehicle routing problem with three-di-mensional loading constraints’. [Online]. Available: http://www.computational-logistics.org/orlib/3l-hfvrp[46] P. Penna, A. Subramanian, and L. Ochi, “An iterated local search heuristic for the het-erogeneous f leet vehicle routing problem,” J. Heuristics, vol. 19, no. 2, pp. 201–232, 2013.