Next Article in Journal
Using Statistical Shape Models to Optimize TKA Implant Design
Next Article in Special Issue
Improving Semantic Dependency Parsing with Higher-Order Information Encoded by Graph Neural Networks
Previous Article in Journal
Nanoindentation of Historic and Artists’ Paints
 
 
Correction published on 24 October 2022, see Appl. Sci. 2022, 12(21), 10737.
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Variable Neighborhood Search for the Two-Echelon Electric Vehicle Routing Problem with Time Windows

1
Artificial Intelligence Research Institute (IIIA-CSIC), Campus of the UAB, 08193 Bellaterra, Spain
2
Department of Industrial Engineering, Pamukkale University, Denizli 20160, Turkey
*
Author to whom correspondence should be addressed.
Submission received: 30 December 2021 / Revised: 12 January 2022 / Accepted: 14 January 2022 / Published: 19 January 2022 / Corrected: 24 October 2022
(This article belongs to the Special Issue Applied and Innovative Computational Intelligence Systems)

Abstract

:
Increasing environmental concerns and legal regulations have led to the development of sustainable technologies and systems in logistics, as in many fields. The adoption of multi-echelon distribution networks and the use of environmentally friendly vehicles in freight distribution have become major concepts for reducing the negative impact of urban transportation activities. In this line, the present paper proposes a two-echelon electric vehicle routing problem. In the first echelon of the distribution network, products are transported from central warehouses to satellites located in the surroundings of cities. This is achieved by means of large conventional trucks. Subsequently, relatively smaller-sized electric vehicles distribute these products from the satellites to demand points/customers located in the cities. The proposed problem also takes into account the limited driving range of electric vehicles that need to be recharged at charging stations when necessary. In addition, the proposed problem considers time window constraints for the delivery of products to customers. A mixed-integer linear programming formulation is developed and small-sized instances are solved using CPLEX. Furthermore, we propose a constructive heuristic based on a modified Clarke and Wright savings heuristic. The solutions of this heuristic serve as initial solutions for a variable neighborhood search metaheuristic. The numerical results show that the variable neighborhood search matches CPLEX in the context of small problems. Moreover, it consistently outperforms CPLEX with the growing size and difficulty of problem instances.

1. Introduction

After the industrial revolution, the increasing consumption of fossil fuels caused numerous environmental and socioeconomic problems. In this context, it is considered a prime objective to replace fossil fuel technologies in many sectors with more sustainable technologies in order to reduce the amount of carbon dioxide released into the atmosphere. Increasing environmental and economic concerns and the decisions taken by states to reduce our dependence on fossil fuels have led to an acceleration of research and development activities in this area. This also holds for the logistics sector, where new regulations are introduced in order to reduce environmental problems. One of the most recent regulations in this field is the decision approved by the European Parliament on 18 February 2019, stating that the emissions of new trucks will need to be 30% lower in 2030 compared to 2019 emissions data [1].
In this context, sustainable city logistics emerged as a concept for reducing the negative impact of urban transportation activities on society, the environment and the economy. Sustainable city logistics is characterized by using environmentally friendly vehicles for freight distribution and designing multi-tier transportation structures to eliminate problems caused by freight vehicles operating in cities. A growing number of logistics and e-commerce companies make use of environmentally friendly electric vehicles for distribution in urban areas due to their low noise and zero exhaust emissions; see, for example, [2]. Despite these advantages, the en-route charging necessity of electric vehicles due to a limited driving range produces new difficulties for the planning and managing of logistics activities. In fact, the ability to derive optimal charging plans for electric vehicles taking into account the total time requirements and route distances is essential.
In this study, the issue of sustainable city logistics is addressed by means of a new variant of the classical vehicle routing problem: the two-echelon electric vehicle routing problem with time windows (2E-EVRP-TW). In two-echelon distribution networks, large trucks transport products from central warehouses to satellites in the surrounding areas of cities. Subsequently, smaller vehicles distribute goods from these satellites to customers located in the cities. Electric vehicles are preferably used in the second echelon of such a distribution network, as they are less noisy and have no exhaust emissions. In other words, two-echelon distribution networks are advantageous for preventing large trucks entering the cities and, in this way, reducing urban traffic jams, noise, and pollution. In addition to these features, our 2E-EVRP-TW problem also considers time window (TW) constraints for the delivery of goods to customers. Note that time windows can be used to control the visiting times of the customers, which might be regulated by local jurisdictions, but also by the customers themselves.

1.1. Our Contribution

First, we define the 2E-EVRP-TW problem by means of a three-index node-based mixed-integer linear programming (MILP) model. Any general-purpose MILP solver, such as CPLEX or Gurobi, may be used to solve this model. However, due to the multi-tier structure of the distribution network, the limited driving range of electric vehicles, and the time window constraints, the 2E-EVRP-TW problem is rather complex. In fact, our computational experiments show that CPLEX is only able to solve small-sized problems to optimality. Therefore, we also developed a variable neighborhood search (VNS) approach to solve the problem. In addition, we developed an initial solution generation method based on Clarke and Wright’s savings algorithm [3], considering 2E-EVRP-TW assumptions and characteristics. The VNS approach makes use of this heuristic to obtain an initial solution.
VNS provides a powerful search performance by systematically changing neighborhood structures (shaking) to avoid getting stuck in local optima and by intensifying the search in the vicinity of the incumbent solution by applying local search. In addition to the classical shaking and local search operators, we also utilize large neighborhood search (LNS) operators known as “destroy and repair”, resp. “removal and insertion”, to enhance the performance of VNS. In this context, note that, since (1) the problem dimension of the first echelon is much smaller than that of the second echelon and (2) the first echelon does not include any constraint, it can easily be solved using a savings heuristic. Therefore, whenever the solution for the second echelon changes, the first echelon tours are generated again by utilizing our Clarke and Wright savings heuristic.
Finally, a last contribution concerns the generation of new problem-specific benchmark sets. This was necessary due to the lack of an available benchmark set for the 2E-EVRP-TW problem.

1.2. Organization of the Paper

The rest of this paper is organized as follows: Section 2 presents the related literature. A formal description of the new 2E-EVRP-TW problem, together with a mixed-integer linear programming model, is provided in Section 3. The proposed solution approach is described in Section 4. Section 5 reports computational experiments, and finally, Section 6 outlines our conclusions and future research directions.

2. Related Literature

Recent decades have witnessed considerable research efforts concerning the vehicle routing problem and its variations. Researchers and practitioners have put great effort into modeling and designing efficient routing strategies considering requirements and conditions that arise in real-life scenarios. Various extensions of vehicle routing problems as well as recent advances and challenges are defined and presented in [4,5]. Moreover, a broad taxonomy and a classification of publications available in the VRP literature are provided in [6]. Apart from introducing new problem variations, researchers also focused on developing solution methodologies to solve already existing problem extensions efficiently. A taxonomic review of metaheuristic solution approaches for vehicle routing problems and their variations is presented in [7]. The problem we address in this study combines two main research lines: the one on electric vehicle routing problems (EVRPs) and the one on two-echelon vehicle routing problems (2E-VRPs). Therefore, before presenting works related to our 2E-EVRP-TW problem, we will first summarize the literature on the EVRP and on the 2E-VRP.
Driven by environmental considerations and a growing interest in the use of alternative fuel in logistics, the related literature has focused on developing optimal routing plans considering the limited driving range and en-route charging necessity of electric vehicles. Respective publications either call the tackled problem an EVRP or, more generally, a green vehicle routing problem. A systematic review of green vehicle routing problems is presented in [8,9]. The study presented in [10] is regarded as the pioneering work that introduced route optimization of rechargeable vehicles to the literature. After this preliminary work, several researchers presented variations of electric vehicle routing problems together with solution methodologies. Erdoğan et al. [11] proposed a mixed-integer programming model as well as two heuristic solution techniques for the generation of routing plans for alternative fueling vehicles. Schneider et al. [12] extended the EVRP by including time window constraints into the model. Moreover, they proposed a metaheuristic algorithm based on VNS and tabu search (TS). Aiming to develop more realistic models and applications, Felipe et al. [13] and Keskin and Çatay [14] analyzed and utilized multiple charging technologies with regard to different charging speeds and the partial recharging of electric vehicles. Moreover, Montoya et al. [15] introduced a new model that takes into account the non-linear charging time of batteries. They reported that the time spent for charging batteries is non-linear, and ignoring this fact may cause the generation of infeasible and/or costly solutions. Sadati and Çatay [16] recently introduced a multi-depot green vehicle routing problem and developed a mixed-integer linear programming model. They proposed a solution method based on VNS and TS and reported on the computational properties of the algorithm. Duman et al. [17] proposed exact and heuristic algorithms based on branch-and-price-and-cut and on column generation to solve the EVRP with TWs.
After Crainic et al. [18] introduced the concept of two echelons in the context of the 2E-VRP as a new concept to the literature, this line of research developed into one of the most popular ones in the context of urban freight transportation [19]. The idea of developing sustainable cities and transportation systems further increases the interest in this field of research. Perboli et al. [20] proposed a mathematical model and math-based heuristics for the 2E-VRP. Various researchers proposed exact solution approaches such as branch-and-cut (see [21,22]) and branch-and-price methods (see [23,24]) as well as dynamic programming [25] to solve various extensions of the 2E-VRP. However, with growing instance size and problem complexity, researchers focused on approximate techniques to solve these problems. Grangier et al. [26] proposed a heuristic based on large neighborhood search (LNS) for the 2E-VRP with time window and satellite synchronization constraints. Wang et al. [27] developed a matheuristic based on VNS and integer programming. Moreover, Belgin et al. [28] formulated the 2E-VRP with simultaneous pickup and delivery constraints as a two-index mixed-integer programming model and developed a hybrid metaheuristic combining variable neighborhood descent and local search.
The related literature on two-echelon electric vehicle routing problems is still rather scarce. The study by Jie et al. [29] was one of the first works proposing a 2E-EVRP considering the option of battery-swapping stations (BSS). More specifically, instead of charging empty batteries, the authors consider the possibility of swapping the battery of an electric vehicle with a full one when needed. A hybrid algorithm combines column generation and LNS to solve the proposed problem. At first, the battery-swapping scenario may seem helpful to overcome deficiencies due to long battery charging times. Nevertheless, the necessity of each BSS to maintain a certain number of spare batteries poses numerous problems related to the environment, safety, logistics, and storage. Therefore, the EVRP literature mainly focuses on the scenario of charging batteries instead of swapping them. Another work in this line is the one by Breunig et al. [30] in which the authors extended their previous work (see [31]) with the idea of using electric vehicles in the second echelon of the distribution network. They proposed a metaheuristic approach based on LNS and an exact mathematical programming algorithm that utilizes decomposition and pricing techniques. Furthermore, Cao et al. [32] studied the design of a two-echelon reverse logistics network for the collection of recyclable waste considering a mixed fleet of electric vehicles and conventional vehicles. Instead of an integrated mathematical model the authors present two separate models, one for each echelon. The hybrid genetic algorithm is tested on a single-instance set. Wu and Zhang [33] developed a branch and price algorithm to solve a 2E-EVRP. They tested the proposed solution approach on small and medium-sized instances containing up to 20 customers and two charging stations. The performance comparison shows that the proposed algorithm can provide optimal results faster than CPLEX. Recently, Wang and Zhou [34] introduced a 2E-EVRP with time windows and battery-swapping stations. They developed a MILP model that minimizes transportation, handling, and fixed costs for the vehicles used in the first and second echelon, in addition to battery-swapping costs. However, the time spent on battery swapping is not considered. A VNS algorithm was proposed to solve large sized problem instances.

3. Problem Description and Mathematical Model

Given is a directed graph G = ( N , A ) in which the set of nodes (N) is composed of the following four subsets: the set of central warehouses ( N D ) , the set of satellites ( N S ) , the set of charging stations ( N R ) , and the set of customers ( N C ) . The set of arcs (A) includes (1) arcs that connect central warehouses and satellites A 1 = { ( i , j ) | i j and i , j N D N S } and (2) arcs that connect satellites, customers and charging stations A 2 = { ( l , m ) | l m and l , m N S N R N C } . In other words, A 1 contains the arcs of the first echelon, and A 2 contains the arcs of the second echelon. Traveling along an arc ( i , j A 1 ) , ( l , m A 2 ) , has a cost/distance of d 1 i j , d 2 l m . Each customer i N C has a demand D 2 i and a time window that indicates the earliest possible visiting time t w e i and the latest possible visiting time t w l i . Two different fleets of vehicles, each one homogeneous in itself, serve in the first and second echelons in order to meet customer demands. A fleet of large trucks V 1 with internal combustion engines are located in the central warehouse and carry products from the central warehouses to the satellites, while a fleet of electric vehicles V 2 are present at the satellites and distribute products to customers (demand points). In the first echelon, a truck k V 1 starts its tour from a central warehouse, visits one or more satellites, and returns to the central warehouse from which the tour started. The total amount of deliveries may not exceed the load capacity Q 1 k of vehicle k. In the second echelon, an electric vehicle e V 2 starts its tour from a satellite, visits one or more customers and charging stations if necessary, and returns to the satellite from which the tour started. The total amount of deliveries cannot exceed the load capacity Q 2 e of electric vehicle e. A customer can only be served by one electric vehicle. An electric vehicle starts its tour with a fully charged battery (battery level B C e ) and the vehicle’s battery is consumed in proportion to the distance traveled. If a charging station is visited, the electric vehicle’s battery is fully charged up to level B C e with a constant charging speed.
Note that an electric vehicle may need to visit a charging station multiple times. Therefore, set N R includes charging stations as well as copies of each charging station in order to allow multiple visits to any charging station. The idea of using such dummy vertices was introduced for the first time in [35] in order to permit multiple visits to intermediate satellites. Moreover, this approach was adopted in [11] for a green vehicle routing problem. Determining the number of copies of each charging station ( ψ ) is, however, not a trivial task. An insufficient number of copies may prevent finding an optimal solution due to not allowing a sufficient number of multiple visits of the same charging station. On the other hand, an unnecessarily large number of copies of each charging station would increase the model size, resulting in longer running times of the MILP solvers. As a result of preliminary experiments on various instance sets, we set ψ to 3.
We developed a three-index node-based integer programming model for 2E-EVRP-TW. Including the vehicles as a third index ensures that the model may be used for instances that contain heterogeneous fleets with different vehicle characteristics. In the following, we first introduce the notations, sets and problem data used by the MILP model. Subsequently, the model is outlined in terms of the decision variables, the objective function and the constraints.
Notations and Sets
n d = number of central warehouses
n s = number of satellites
n c s = number of charging stations
ψ = number of copies of each charging stations
n c = number of customers
n v 1 = number of available vehicles in the first echelon
n v 2 = number of available electric vehicles
N D = set of central warehouses (node indices: 1 , , n d )
N S = set of satellites (node indices: n d + 1 , , n d + n s )
N R = set of charging stations and copies (node indices: n d + n s + 1 , , n d + n s + n c s ψ )
N C = set of customers (node indices: n d + n s + n c s ψ + 1 , , n d + n s + n c s + n c )
N D S = set of central warehouses and satellites (node indices: 1 , , n d + n s )
N R C = set of charging stations and customers (node indices: n d + n s + 1 , , n d + n s + n c s ψ + n c )
N S R C = set of satellites, charging stations and customers (node indices: n d + 1 , , n d + n s + n c s ψ + n c )
N= set of central warehouses, satellites, charging stations and customers (node indices: 1 , , n d + n s + n c s ψ + n c )
V 1 = set of large vehicles serving in the first echelon ( | V 1 | = n v 1 )
V 2 = set of electric vehicles | V 2 | = n v 2
Problem data
d 1 i j = distance between node i and node j, ( i , j N D S )
d 2 l m = distance between node l and node m, ( l , m N S R C )
Q 1 k = loading capacity of large vehicle k V 1
Q 2 e = loading capacity of electric vehicle e V 2
M= a big number
B C e = battery capacity of electric vehicle e V 2
g e = charging rate of electric vehicle e V 2
D 2 i = demand of customer i, ( i N C )
s i = service time of customer i, ( i N C )
t w e i = earliest visiting time of customer i, ( i N C )
t w l i = latest visiting time of customer i, ( i N C )
Decision variables    
x k i j = 1 if vehicle k visits node j after node i in the first echelon 0 otherwise k V 1 , i , j N D S y e l m = 1 if vehicle e visits node m after node l in the sec ond echelon 0 otherwise e V 2 , l , m N S R C z l i = 1 if customer l gets service from satellite i 0 otherwise i N S , l N C
U 1 k i j { 0 , , Q 1 k } i , j N D S , k V 1 Amount of product in vehicle k traveling from node i to node j ( first echelon ) U 2 e l m { 0 , , Q 2 e } l , m N S R C , e V 2 Amount of product in vehicle e traveling from node l to node m ( sec ond echelon ) B S C a l e [ 0 , B C e ] l N S R C , e V 2 Battery level of electric vehicle e at arrival to node l B S C d l e [ 0 , B C e ] l N S R C , e V 2 Battery level of electric vehicle e when departing from node l D 1 j { 0 , , i N C D 2 i } j N S Demand of satellite j N S w 1 k i [ 0 , t w l i ] i N D S , k V 1 Visiting time of node i by vehicle k ( first echelon ) w 2 e l [ t w e l , t w l l ] l N S R C , e V 2 Visiting time of node l by vehicle e ( second echelon )
MILP model
Min k V 1 i N D S j N D S d 1 i j x k i j + e V 2 l N S R C m N S R C d 2 l m y e l m
s . t . k V 1 i N D S x k i j = 1 j N S
i N D S x k i j i N D S x k j i = 0 k V 1 , j N D S
j N S x k i j 1 i N D , k V 1
i N S j N D x k i j 1 k V 1
x k i j = 0 k V 1 , i , j N D
k V 1 i N D S U 1 k i j k V 1 i N D S U 1 k j i D 1 j j N S
U 1 k j i = 0 i N D , j N S , k V 1
U 1 k i j Q 1 k k V 1 x k i j i , j N D S k V 1
D 1 i = l N C z l i D 2 l i N S
e V 2 l N S R C y e l m = 1 m N C
l N S R C y e l m l N S R C y e m l = 0 e V 2 , m N S R C
m N R C y e l m 1 e V 2 , l N S
m N R C y e m l 1 e V 2 , l N S
i N S z l i = 1 l N C
e V 2 y e l i z l i i N S , l N C
e V 2 y e i l z l i i N S , l N C
i N S j N R C y e i j 1 e V 2
y e l m + z l i + s N S , s i z m s 2 e V 2 , l N C , m N C , l m , i N S
e V 2 l N S R C U 2 e l m e V 2 l N S R C U 2 e m l D 2 m m N R C
U 2 e i j = 0 i N R C , j N S , e V 2
U 2 e l m Q 2 v e V 2 y e l m l , m N S R C , e V 2
x k i i = 0 i N D S , k V 1
y e l l = 0 l N S R C , e V 2
B S C a l e 0 l N S R C , e V 2
B S C a l e = B C e l N S , e V 2
B S C a m e B S C a l e ( h d 2 l m ) y e l m + B C e ( 1 y e l m ) l N C , m N S R C , l m , e V 2
B S C a m e B S C d l e ( h d 2 l m ) y e l m + B C e ( 1 y e l m ) l N S R C , m N S R C , l m , e V 2
B S C a l e B S C d l e l N S R C , e V 2
B S C d l e B C e l N S R C , e V 2
B S C a l e = B S C d l e i N C , e V 2
B S C d l e = B C e l N R , e V 2
l N S R C U 2 e l m = l N S R C U 2 e l m m N R , e V 2
w 1 k i = 0 i N D , k V 1
w 1 k j w 1 k i + d 1 i j + s i M ( 1 x k i j ) i N D S , j N S , k V 1
w 2 e j w 1 k i + d 1 i j + s i M ( 1 x k i j ) i N D S , j N S , e V 2 , k V 1
w 2 e j w 2 k i + d 2 i j + s i M ( 2 y e i j h N D S ) x k h i ) i N S , j N S R C , e V 2 , k V 1
w 2 e m w 2 e l + d 2 l m + s l M ( 1 y e l m ) l , m N R C , e V 2
w 2 e m + d 2 l m y e l m + g v ( B C e B S C a l e ) ( M + g v B C e ) ( 1 y e l m ) w 2 e m l N R , m N S R C , l m e V 2
w 1 k i t w e i i N D S , k V 1
w 2 e l t w e l l N S R C , e V 2
w 1 k i t w l i i N D S , k V 1
w 2 e l t w l l l N S R C , e V 2
The objective function (1) minimizes the total distance traveled by all utilized vehicles in both echelons. Constraint (2) guarantees that each satellite will be visited by a truck. Constraints (3) and (12) ensure the balance of flow for the satellites and customers, respectively. Constraints (4) and (5) ensure that vehicles in the first echelon are used only if needed. Constraint (6) does not allow direct transportation between central warehouses if there is more than one warehouse. Constraints (7) and (20) guarantee that the demand of each satellite and customer is met by the vehicles serving in the relevant echelon, respectively. Constraints (8) and (21) ensure that no product remains in the vehicle when returning to the central warehouse in the first echelon and to the satellite in the second echelon, respectively. Constraints (9) and (22) indicate that the vehicle capacity cannot be violated. Constraint (10) determines each satellite’s demand to be the total demand of those customers served by the relevant satellite. Constraint (11) guarantees that each customer is visited only once. Constraints (13) and (14) ensure that vehicles in the second echelon are only used when they are needed. Constraint (15) ensures that each customer is served by only one satellite. Constraints (16), (17), and (19) ensure that each electric vehicle completes its tour at the same satellite from which it started the tour. Constraint (18) guarantees that each electric vehicle can provide service through only one satellite. Constraints (23) and (24) prevent returning to the node from which a vehicle just departed. Constraints (25)–(32) are battery state constraints. Constraint (33) states that the load of a vehicle is the same when arriving and departing from a charging station. Constraints (34)–(39) calculate arrival and departure times considering service and battery charging times. Moreover, constraints (40)–(43) restrict the visiting time of each customer with respect to the time windows. Finally, constraint (44) defines variable domains.
The classical VRP is NP-Hard [36]. The multi-tier distribution structure (two echelons) and additional limitations such as the driving range of electric vehicles and customers’ time windows further increase the complexity. As the computation time required to solve such complex problems to optimality increases dramatically with a growing instance size, most approaches from the related literature for similar problems are approximate techniques, especially in the context of large-sized problem instances. In this study, we propose an approach based on VNS to solve the 2E-EVRP-TW. Algorithm 2 presents the general structure of the proposed algorithm. It starts with the application of a modified version of the Clarke and Wright Savings Algorithm to obtain an initial solution quickly and efficiently. Subsequently, shaking and local search procedures are applied to improve the initial solution. However, before describing the proposed algorithm, we first explain how a solution S is represented, and subsequently we outline an extended objective function used to handle infeasible solutions.

4. Solution Approach

In the following, we first provide the representation of solutions and the description of an extended objective function for dealing with infeasible solutions. Then, an extended Clarke and Wright algorithm is provided, followed by the description of the VNS procedure.

4.1. Solution Representation and Extended Objective Function

In our implementation, a solution S is represented by two sets of routes: R 1 and R 2 . Each route τ 1 R 1 starts from a central warehouse, visits one or more satellites from N S , and returns to the same central warehouse. Each route τ 2 R 2 starts from a satellite s N S , visits a sequence of locations/nodes v N R C , and returns to the same satellite. Figure 1 shows an exemplary solution for a 2E-EVRP-TW instance with a single central warehouse, two satellites, three charging stations and five customers. The solution contains one route in the first echelon ( τ 1 1 ) and two routes in the second echelon ( τ 2 1 and τ 2 2 ).
The usefulness of allowing the algorithm to visit unfeasible solutions during the search process has already been recognized in the metaheuristics community, especially in the field of evolutionary computation [37]. In this work, we do this in a similar way as in [12] in the context of the EVRP. In particular, the extended objective function that evaluates both feasible and unfeasible solutions by means of penalty values for capacity, battery, and time windows violations is defined as follows:
f e x t ( S ) = f ( S ) + ω c P c a p ( S ) + ω b P b a t ( S ) + ω t w P t w ( S )
Here, f ( S ) refers to the objective function of the 2E-EVRP-TW problem, that is, the sum of the distances traveled by all utilized vehicles from the first and the second echelon. Furthermore, P c a p ( S ) , P b a t ( S ) and P t w ( S ) denote the capacity, battery and time windows violations in solution S. In this context, the function for calculating the capacity violations of a solution S with m routes in the first echelon and n routes in the second echelon is defined as follows:
P c a p ( S ) = i = 1 m max j τ 1 i D 1 j Q 1 , 0 + k = 1 n max l τ 2 k D 2 l Q 2 , 0
In words, if the total demand of the satellites (resp. the customers) on a route exceeds the vehicle capacity, the capacity violation of the route is determined as the difference between the vehicle capacity and the total demand of the route. Otherwise, it is set to zero. Note that, in an abuse of notation, j τ 1 i refers to a satellite j visited by route τ 1 i and l τ 2 k refers to a customer l visited by route τ 2 k .
Next, the total battery violation of a solution S, P b a t ( S ) , is calculated using Equations (46) and (47):
P b a t ( S ) = k = 1 n P b a t ( τ 2 k ) , where
P b a t ( τ 2 k ) = l τ 2 k | min { B S C a l e , 0 } |
That is, this function sums (for all second echelon routes τ 2 k ) the battery level violations of the electric vehicles at the arrival to all nodes l τ 2 k . Hereby, the term node refers to customers and charging stations. Finally, similar to the approach used to calculate P b a t , P t w is calculated using Equations (48) and (49):
P t w ( S ) = k = 1 n P t w ( τ 2 k ) , where
P t w ( τ 2 k ) = l τ 2 k max w 2 e i t w l i , 0
These three penalty terms are added as a weighted sum to the original objective function value (see Equation (46)). The corresponding three weights are denoted by ω c , ω b and ω t w . At the start of the VNS algorithm, all three weights are set to an initial value p i n i t . Then, they are dynamically updated between p min and p max . More specifically, if any of three terms (capacity, battery, and time windows violations) are greater than zero for p i t e r successive iterations, the respective penalty weight is increased by p + > 0 . On the other hand, if the respective solution is feasible in terms of any of three constraint violation types, the respective weight is decreased by means of a division by p > 1 .

4.2. Initial Solution Construction

The VRP literature offers numerous heuristic approaches in order to construct initial solutions to different VRP variants. The Clarke and Wright (C&W) savings algorithm is one of the most commonly used methods because of its simplicity, performance, and ease of adaptation to different problem variants. This study proposes a savings-based initial solution construction algorithm that considers the multi-tier transportation structure and additional constraints (capacity, battery, and time windows) of the 2E-EVRP-TW. Algorithm 1 provides a high-level pseudo-code of this procedure.
First, each customer is assigned to the nearest satellite. After this assignment, set N C s N C contains all customers assigned to satellite s, for all s N S . Note that, with this assignment, an indirect time window arises for each satellite based on the customer’s time windows. Assume, for example, that goods are transported from central warehouse 0 to satellite s, and then from satellite s to customers i and j, that is, i , j N C s . As illustrated in Figure 2, the electric vehicle must depart from satellite s before a certain time in order to be able to visit customers within their time windows. Therefore, the large truck in the first echelon must deliver goods to satellite s no later than t w l s : = min { t w l v d 2 s v v N C s } such that the electric vehicle is able to visit customer i and j before t w l i and t w l j , respectively.
After calculating time windows for each satellite, first, the routes for the large vehicles in the first echelon and, second, the routes for the electric vehicles in the second echelon are constructed using the savings heuristic. In the following, we explain the steps for constructing the routes for the electric vehicles in the second echelon. In particular, for each satellite s N S the following steps are applied:
  • A set of direct routes R 2 = { ( s i s ) i N C s } is created. However, note that not all of these single-customer tours are necessarily battery feasible. If this occurs, a charging station with the minimum insertion cost is inserted into the route. To achieve this, first, for each charging station r N R the cost C i n s e r t ( r ) of inserting r between satellite s and customer i is calculated as C i n s e r t ( r ) = d 2 s r + d 2 r i d 2 s i . Then, a charging station r N R such that C i n s e r t ( r ) C i n s e r t ( r ) for all r N R is inserted into the infeasible route. Only one charging station is allowed to be inserted to fix infeasibility. In the unique case that the battery infeasibility cannot be eliminated despite charging station insertion, the relevant tour is removed, and the customer in the tour is added to the initially empty list of unvisited customers L u .
  • Subsequently, a savings list formed by all possible pairs of nodes (customers and charging stations) together with their respective savings values is generated. A pair of nodes ( i , j N R C i j ) must fulfill the following conditions to be included in the savings list: (1) node i and node j must belong to different routes, and (2) both i and j must be directly connected to the satellite in the route to which they belong. With regard to the calculation of the savings value s 2 i j for two nodes i and j, the literature offers various enhancements and extensions. In this study, we have utilized the formulation introduced by [38]:
    s 2 i j = d 2 s i + d 2 s j λ d 2 i j + μ | d 2 s i d 2 s j | + γ D 2 i + D 2 j D ¯
    Note that, according to this formula, both the distances between nodes as well as the customer demands have an influence on the route construction process. More precisely, the first four terms of Equation (50) are based on the distances between nodes, while the last term ( ( D 2 i + D 2 j ) D ¯ ) takes into account the customer demands. Hereby, D 2 i and D 2 j refer to the demands of customers i and j, while D ¯ indicates the average demand of customers in N C s \ L u . As a result, tours that include customers with higher demands are prioritized during tour merging operations and vehicle capacities are used more effectively. Finally, note that the so-called route shape parameter λ adjusts the selection priority based on the distance between customers i and j [39], while μ is used to scale the asymmetry between customers i and j [40]. Parameter γ weights the demand information. Note that well-working values for these parameters are obtained by parameter tuning which is presented in Section 5.2. Finally, the savings list is sorted according to non-increasing savings values.
  • At each iteration, the two routes that contain a pair of nodes ( i , j ) with the highest savings value s 2 i j are selected from R (e.g., τ 2 1 , τ 2 2 ). Then, the chosen routes are merged by connecting nodes i and j. All of the merging scenarios are graphically illustrated in Figure 3. Based on the way in which nodes i and j are connected to the respective satellite, one or both of the routes must be reversed in order to be able to connect nodes i and j. In this context, note that the reversed version of a tour τ 2 1 is denoted by rev ( τ 2 1 ) . If the merged route is infeasible in terms of vehicle capacity or time windows, the route is eliminated, and merging continues considering the pair of nodes with the next-highest savings value. If the merged route is battery infeasible, a charging station r with a lowest insertion cost is inserted between node i and j (e.g., < s i r j s > ). In these cases in which the route is still infeasible after charging station insertion, it is eliminated, and merging continues with the next pair of customers from the savings list. This procedure is repeated while the savings list is not empty. After merging, some of the charging stations that were previously added to the routes may become redundant. These charging stations are removed from the merged route.
  • Update the savings list as described in step 2 and repeat step 3 until no further pairs of tours can be merged.
  • Finally, the customers in L u (the list of unvisited customers) are inserted into the constructed tours using the greedy insertion operator, which is described in detail in Section 4.3.3.
Algorithm 1 Modified C&W Savings Heuristic for the 2E-EVRP-TW.
1:
Assign customers to the nearest satellite
2:
Determine the latest possible visiting time ( t w l s ) for each satellite s N S
3:
Construct first echelon routes using the savings heuristic
4:
for each satellite s do
5:
   Create back-and-forth tours for each customer i N C s ( s i s )
6:
   if the created tour is infeasible in terms of the battery constraints then
7:
     Insert a charging station using the greedy CS insertion operator (see Section 4.3.3)
8:
     if the tour is still infeasible then
9:
        Discard the tour and add the customer to the unvisited customer list L u
10:
     end if
11:
   end if
12:
   Generate the savings list and sort it in descending order based on the savings values
13:
   while savings list is not empty do
14:
     Merge the two tours with the greatest savings value
15:
     if vehicle capacity or time window constraints are violated then
16:
        Discard the tour and remove the corresponding pair of customers from the savings list
17:
     else
18:
        if the merged tour is infeasible in terms of the battery constraint then
19:
          Insert a charging station with a minimum insertion cost
20:
          if the tour is still infeasible then
21:
             Discard the tour and remove the pair of customers from the savings list
22:
          else
23:
             Accept the merged tour and update the saving list
24:
          end if
25:
        else
26:
          Accept the merged tour and update the saving list
27:
        end if
28:
     end if
29:
   end while
30:
   Insert all customers from L u into the constructed tours using the greedy customer insertion operator (see Section 4.3.3)
31:
end for
Finally, note that the same procedure is applied to construct routes for the large vehicles in the first echelon. In this case, all aspects related to batteries and charing stations are removed from the heuristic procedure.

4.3. Variable Neighborhood Search for the 2E-EVRP-TW

The initial solution constructed by our version of the C&W savings heuristic from above is used as input for a variable neighborhood search (VNS) approach outlined in the following. VNS was proposed by [41] to solve complex combinatorial optimization problems. Unlike other algorithms based on local search, VNS uses multiple neighborhood structures and makes use of them during the search based on a set of pre-defined rules. This dynamic search mechanism allows the algorithm to intensify the search in the vicinity of good solutions, but also to diversify the search in order to avoid getting stuck in local optima. In particular, intensification is achieved by applying a local search procedure in order to reach locally optimal solutions, while shaking operators are used in order to diversify the search process and to explore different neighborhoods. For these reasons, the choice of appropriate neighborhood structures/operators for local search and for shaking is crucial. So far, VNS has shown state-of-the-art performance for a wide range of optimization problems, including the facility layout problem [42], scheduling problems [43,44,45], portfolio optimization [46,47], assembly and disassembly line balancing [48] and various routing problems [49,50,51,52].
Algorithm 2 presents a pseudo-code of our implementation of VNS for the 2E-EVRP-TW. The proposed algorithm starts by taking an initial solution S i n i t as input. Then, the neighborhood structures used for shaking N k s h a k e , ( k = 1 , , k m a x ) and the ones used for local search N h l o c a l , ( h = 1 , , h m a x ) are determined. These neighborhood structures will be explained in detail in following sections. However, note that, in addition to rather standard inter-route and intra-route operators, our VNS also makes use of so-called destroy-and-repair operators for the shaking step. Operators such as these ones were mostly introduced in the context of approaches based on large neighborhood search (and very large neighborhood search) algorithms and have shown to be highly useful for exploring large search spaces [53]. In particular, the reconstruction of a partially destroyed solution using various reinsertion operators has the potential to produce solutions that may have been difficult to reach otherwise. Concerning the specific case of VRP problems, removing rather large components of a solution and reinserting them into other positions of the solution may help reduce the number of routes and the number of vehicles, respectively.
After obtaining the initial solution S i n i t , both the current solution S c u r and the best-so-far solution S b s f are initialized to S i n i t . At each main iteration of VNS, the shaking neighborhoods are randomly ordered. This order is then used until the current neighborhood utilized for shaking (indicated by k) is the k m a x -th neighborhood. Next, a random solution S s h a k e is chosen from the current shaking neighborhood k. In case this neighborhood is a removal/destroy operator, the partially destroyed solution must subsequently be repaired with an insertion operator; see lines 15–17 of Algorithm 2. After re-constructing the first echelon tours of S s h a k e using our C&W savings algorithm (line 18), local search is applied to S s h a k e . For this purpose we applied the variable neighborhood descent (VND) method shown in Algorithm 3. In the VND phase, a set of local search operators are applied to S s h a k e in a predefined and fixed order. In this context, note that after each application of a shaking and/or a local search operator, the first echelon routes must be reconstructed since satellite demands may have changed.
In a basic VNS, only improved solutions are accepted. However, in the context of problems with many unfeasible solutions, this may cause the algorithm to get stuck during the search process. Therefore, we have adopted the method introduced by [54] for the solution acceptance decisions (lines 20–29). Based on this method, while improved solutions are always accepted, non-improving solutions are accepted with a certain probability p a c c e p t . At each iteration, function ClcAcceptanceProbability() calculates p a c c e p t as follows:
p a c c e p t = e ( ( f e x t ( S l o c a l ) f e x t ( S c u r ) ) ) T
Here, f e x t ( S c u r ) and f e x t ( S l o c a l ) are values of the extended fitness function of the current solution and of the solution after local search, respectively. Lastly, T refers to the actual temperature value. At the beginning, T is initialized to an initial temperature T i n i t which is decreased by t at each main iteration of VNS (see line 30). In this way, while a non-improving solution is more likely to be accepted early during the search, the probability of accepting non-improving solutions will decrease with a growing iteration number. However, in case no improved solution was found during i t e r _ n i m a x iterations, T is reset to T i n i t in order to enhance diversification.
Algorithm 2 VNS for the 2E-EVRP-TW.
1:
input: an initial solution S i n i t
2:
S s h a k e : Solution obtained after shaking
3:
S l o c a l : Local solution after VND
4:
S c u r : Current solution
5:
S b s f : Best-so-far solution
6:
i t e r _ n i : The number of non-improving solutions
7:
i t e r _ n i m a x : The maximum iteration limit for non-improving solutions
8:
Determine set of neighborhood structures for shaking { N k s h a k e k = 1 , , k m a x } and local search { N h l o c a l h = 1 , , h m a x }
9:
S c u r , S b s f S i n i t
10:
while the computational time limit is not reached do
11:
   Create π of the shaking neighborhoods N k s h a k e
12:
   Set k 1
13:
   while  k k m a x  do
14:
     Apply shaking: Choose S s h a k e from N π ( k ) s h a k e ( S c u r ) , the π ( k ) th shaking neighborhood of S c u r
15:
     if  N π ( k ) s h a k e is a removal/destroy operator then
16:
        Repair S s h a k e
17:
     end if
18:
     Re-construct first echelon tours using C&W savings algorithm
19:
     Apply local search: S l o c a l VND (Sshake)
20:
      p a c c e p t ClcAcceptanceProbability ( fext(Scur), fext(Slocal), T)
21:
      ρ rand ( )
22:
     if  f e x t ( S l o c a l ) < f e x t ( S b s f ) then S b s f S l o c a l
23:
     if  f e x t ( S l o c a l ) < f e x t ( S c u r ) or ρ < p a c c e p t  then
24:
         S c u r S l o c a l
25:
         k 1
26:
     else
27:
         k k + 1
28:
         i t e r _ n i i t e r _ n i + 1
29:
     end if
30:
     Decrease T by t
31:
     if  i t e r _ n i = i t e r _ n i m a x  then
32:
         T T i n i t
33:
         i t e r _ n i 0
34:
     end if
35:
   end while
36:
end while
The following four sections will provide a detailed description of standard shaking operators, removal/destroy operators, repair operators, and local search neighborhoods, respectively.

4.3.1. Standard Shaking Operators

Random cyclic exchange: This operator was originally introduced by [55]. It transfers a node sequence (consisting of customers and/or charging stations) from one route to another in a cyclic way. This operator is quite advantageous for many sequence-based combinatorial optimization problems as it enables the generation of a large variety of moves with a single operator.
Algorithm 3 Variable Neighborhood Decent (VND).
1:
input: S s h a k e
2:
S V N D : Solution obtained after applying a local search operator
3:
Set h 1
4:
while h h m a x do
5:
   Generate S V N D from the hth local search neighborhood of S s h a k e ( S V N D : N h l o c a l ( S s h a k e ) )
6:
   if  f e x t ( S V N D ) < f e x t ( S s h a k e )  then
7:
      S s h a k e S V N D
8:
      h 1
9:
   else
10:
      h h + 1
11:
   end if
12:
end while
13:
output: S s h a k e
The cyclic exchange operator we have applied takes two parameters as input: (1) the number of routes ( ζ ) to be involved in the cyclic move, and (2) the maximum number of nodes ( θ m a x ) to be transferred from one route to another. First, the operator randomly selects ζ routes. Then, a random integer number θ from the interval [1, θ m a x ] is independently determined for each route involved in the cyclic move. This value refers to the route-specific length of the node sequence to be transferred. Finally, θ consecutive nodes are randomly selected from each route and transferred to the next route in the cyclic move. If ζ is greater than the total number of routes existing in a solution, then ζ is set to the total number of routes. Similarly, if θ is greater than the total number of nodes in a route, then θ is readjusted. The optimal values for both parameters are determined by parameter tuning (see Section 5.2). Figure 4 illustrates a cyclic exchange move with three routes.
Random sequence relocation: This operator selects a node sequence from one route and transfers it to another route. The origin and destination routes, the node sequence to be relocated, and the insertion position in the destination route are determined randomly. Parameter m a x n limits the number of nodes to be transferred. The optimal value for m a x n is determined by parameter tuning (Section 5.2).

4.3.2. Removal/Destroy Operators

One of the most critical aspects of a destroy operators is deciding on the number of nodes in the solution to be removed. Limiting the amount of destruction too much may cause a poor exploration performance of the algorithm. On the contrary, repairing a largely destroyed solution can be time-consuming and may result in a poor quality solution depending on the utilized repair procedure [53]. Therefore, we used a random removal rate between a lower and an upper bound to determine how many nodes (or routes) will be removed from the current solution. Well-working upper and lower bounds are decided via parameter tuning (Section 5.2) and fixed for each group of instances.
Random customer removal: First, a random number ρ is drawn from the interval [ r r 1 L b , r r 1 U b ] . This number is the fraction of customers to be removed from the solution, henceforth called the removal rate. Note that r r 1 L b and r r 1 U b are the lower and upper bounds for the removal rate. Finally, a randomly chosen number of max{1, ρ n c } randomly chosen customers are removed from the current solution and added to a removal list L r .
Random route removal: Similar to the random customer removal operator above, a random number ρ is drawn from the interval [ r r 2 L b , r r 2 U b ] . This number is the fraction of routes to be removed from the solution. Assume that solution S has n routes in the second echelon. After drawing number ρ , a number of max{1, ρ n } randomly chosen routes are removed from the current solution and all customers from these routes are added to a removal list L r .
Close satellite: This operator closes a randomly chosen satellite and adds all the customers served through this satellite to a removal list L r .

4.3.3. Repair Operators

A partially destroyed solution may either be repaired using an exact or a heuristic approach. Although exact approaches guarantee the optimal insertion of removed customers or routes, they are much more time consuming than heuristic approaches, especially when a rather large part of the solution is destroyed. Moreover, too much optimality in the repair operator may limit the diversification capabilities of the search. Therefore, we have applied greedy and best-insertion strategies for repairing partially destroyed solutions; see also [56,57]. In the following, partially destroyed solutions are labelled S d .
Greedy customer insertion: This operator reinserts each customer from L r into the partially destroyed solution S d according to the last-in-first-out (LIFO) principle. Henceforth, N S d denotes the set of nodes (customers and charging stations) that still form part of the partially destroyed solution S d . Let v L r be the customer that is to be re-inserted into S d . First, for each pair i , j N S d such that i and j are consecutive nodes in one of the routes of S d , the insertion cost δ v i j is calculated as follows:
δ v i j = d 2 i v + d 2 v j d 2 i j
Then, customer v is inserted at the position with the lowest insertion cost. Suppose that the obtained route after insertion is infeasible in terms of vehicle capacity or time windows constraints. In this case, customer v is inserted at the next-cheapest position in terms of the insertion cost, and so on. If no feasible insertion position can be found, the customer is finally inserted at the initially best position, ignoring the infeasibility. In case of battery infeasibility, a charging station is added to the route. These procedures are applied until no customer remains in L r .
Greedy customer insertion with noise: This operator is a special version of the greedy customer insertion operator described above. It utilizes the following modified cost function with a noise parameter for calculating the insertion cost of a customer v:
δ v i j n o i s e = δ v i j + d m a x + α + β
Here, d m a x refers to the maximum distance between all nodes in N S R C , and α refers to the noise parameter set to 0.1 [57,58,59,60]. Finally, β is a uniform random number generated independently for the calculation of each cost value from the interval [ 1 , 1 ] .
Best customer insertion: Instead of re-inserting customers from L r in the LIFO order, this operator aims to find the best insertion position for all customers. Each time, the insertion costs of all remaining customers from L r are calculated using Equation (52). Then, the customer with the best insertion cost is inserted into the best possible position. This operator is much more time consuming than the greedy customer insertion operator. It may, however, lead to better results. Infeasible insertions are handled in the same way as the greedy customer insertion operator.
Greedy CS insertion: In the case of battery infeasibility, this operator inserts a charging station with the lowest insertion cost at the point at which infeasibility occurs. Figure 5 illustrates the insertion of a charging station to a battery-infeasible route. Assuming that the electric vehicle runs out of battery before reaching node v 4 , the operator first tries to insert a charging station r : = argmax { d 2 3 r + d 2 r 4 d 2 34 r N R } between nodes v 3 and v 4 . In case the battery level is not high enough to reach the charging station that is to be inserted, a possible insertion is tried before node v 3 , etc.

4.3.4. Local Search Neighborhoods

For the local search phase (that is, for the application within VND), the algorithm makes use of three inter-route operators (exchange(1,1), shift(1,0), and swap) and three intra-route operators (relocation, two_opt, and CS_reinsertion). In all these neighborhoods—except for CS_reinsertion—we use the first-improvement strategy, that is, a neighborhood exploration stops once the first improving solution is found. Infeasible moves are also allowed but they are penalized. Figure 6 graphically illustrates these local search neighborhoods.
The exchange(1,1) neighborhood considers all exchanges of each customer with every other customer not in the same route. The shift(1,0) neighborhood looks at all possibilities of removing a customer from its current route and inserting it at any position in the rest of the routes. Next, the relocation operator removes each customer from its current position and inserts it into another position in the same route. The swap neighborhood considers changing the positions of two selected nodes of the same route. The two_opt neighborhood considers all possibilities of selecting two non-consecutive nodes in the same route and reversing the node sequence between the two selected nodes. Note that there must be at least three nodes between the two selected nodes in order not to repeat moves already considered in the swap operator. The CS_relocation operator removes the current charging stations of a route and reinserts them in different positions in the same route in order to find the best positions for the charging stations. Unlike CS_relocation, the CS_reinsertion operator removes the current charging stations from a route. Instead of reinserting the removed ones, the greedy charging station insertion operator from the previous section is applied to repair the route. Thus, charging stations different from the removed ones may be inserted into the route.

5. Computational Experiments

In addition to our C&W savings heuristic and VNS we also tried to solve all problem instances with the MILP solver CPLEX. All experiments were performed on a cluster of machines with Intel Xeon CPU 5670 CPUs with 12 cores of 2.933 GHz and a minimum of 32 GB RAM. Note that CPLEX version 12.10 was used in one-threaded mode.

5.1. Generation of 2E-EVRP-TW Instances

Due to a lack of available benchmark sets for the 2E-EVRP-TW, we generated new problem-specific instance sets by extending the benchmark sets provided in [12]. These instances were proposed for the electric vehicle routing problem with time windows and consist of 36 small and 56 large instances. Small instances are composed of 5, 10, or 15 customers with a varying number of charging stations (between 2 and 5), while the large ones include 100 customers and 21 charging stations. We have extended these instance sets following the methodology proposed in [26]. In particular, first, the number of satellites to be added to each instance was determined. Then, the locations of those satellites and the one of a single central warehouse was specified.
Concerning the number of satellites, we decided to use one single satellite in the case of small instances with at most 10 customers, two satellites in the case of 15 customers, and eight satellites for the large instances. Note that the customers of each instance are scattered over the intersections of a 100 × 100 grid. The location of the single central warehouse was determined for each instance to be outside this area, at ( 50 , 150 ) . The single satellite in the case of instances with at most 10 customers was placed at ( 50 , 75 ) , while the two satellites in the case of instances with 15 customers were places at ( 50 , 25 ) and ( 50 , 75 ) . Finally, the eight satellites for all remaining instances were placed at ( 25 , 25 ) , ( 25 , 50 ) , ( 25 , 75 ) , ( 50 , 25 ) , ( 50 , 75 ) , ( 75 , 25 ) , ( 75 , 50 ) and ( 75 , 75 ) . Figure 7 shows examples of all three cases.
In addition, we updated the customers’ time windows by adding the distance between the location of the central warehouse in the original instance set and the new central warehouse as an offset value. Lastly, we modified the capacities of the electric vehicles and large trucks, considering the fact that instances labeled with C2, R2, and RC2 are more capacity constrained as compared to those labeled C1, R1, and RC1. In particular, we have fixed the capacity ratio between large trucks and electric vehicles to 4 / 0.5 for instances of the first type, and to 2 / 0.25 for instances of the second type. All benchmark instances generated in this study and the executable of the proposed algorithm are available at https://github.com/manilakbay/2E-EVRP-TW, accessed on 12 January 2022.

5.2. Parameter Tuning

In order to determine well-working parameter values for our algorithms we have utilized the scientific tuning software irace [61]. Table 1 and Table 2 summarize the parameters that are subject to tuning for our C&W savings heuristic and for the VNS together with the considered value domains.
Due to large differences in instance size, we decided to tune our VNS algorithm (including the parameters of the C&W savings heuristic) separately for small and for large problem instances. In the first case (small instances), instances C101_C10, R102_C10, RC102_C10, C103_C15, R102_C15 and RC103_C15 were used for tuning. In the case of the large instances, instances C101_21, C201_21, R101_21, R201_21, RC101_21 and RC201_21 were used. For each of the two tuning runs, the budget of irace was fixed to 2000 algorithm runs. In the context of small instances, the computation time limit of each run was fixed to 150 CPU seconds, while it was fixed to 900 CPU seconds in the case of the large problem instances. Table 3 and Table 4 show the obtained parameter value settings for the two cases. It is worth noting, for example, that well-working ranges for the removal rates (in the context of the removal/destroy operators) are considerably smaller in the case of the large instances when compared to those for small instances. One reason for this may be that repairing a largely destroyed solution is time consuming and may lead to a rather bad quality solution. On the other hand, a high removal rate may be considered as a perturbation mechanism that helps to escape from local minima in the context of small instances.

5.3. Numerical Results

In the following we provide a detailed comparison of the following methods. First, we applied both CPLEX (version 12.10) and our C&W savings heuristic to all problem instances. Hereby, CPLEX was given a time limit of 2 h of CPU time for each problem instance. Next we also applied two versions of VNS. The full version of VNS is henceforth denoted by VNS full . In contrast, VNS red is a reduced version of VNS that only utilizes classical inter-route and intra-route shaking operators. A comparison of these two variants is interesting, because it shows how much the destroy and repair operators add to the performance of VNS. Note that both versions of VNS were applied with a computation time limit of 150 CPU seconds in the case of small problem instances, and 900 CPU seconds for large problem instances. Moreover, both versions of VNS were applied 10 times to each problem instance.
Table 5, Table 6 and Table 7 show the numerical results for small problem instances with 5, 10, and 15 customers, respectively. The structure of these tables is as follows. Instance names are given in the first column, and the maximum number of vehicles in the first and second echelons are provided in the second and third columns, respectively. These numbers are only necessary for the application of CPLEX. After the first three table columns, there are four blocks of columns, presenting the results of our four approaches. The first three columns of each block (with headings ‘n’, ‘m’, and ‘dist’) are the same for all four approaches. Hereby, columns ‘n’ and ‘m’ provide the number vehicles utilized by the respective solutions in the first echelon and the second echelon, respectively. In the case of VNS full and VNS red   these numbers refer to the best solution found within 10 independent runs. Column ‘dist’ provides the objective function values of the solutions generated by the four approaches. In the case of VNS full and VNS red , ‘dist’ shows the objective function value of the best solution found in 10 runs, while an additional column with the heading ‘avg’ provides the average objective function value of the best solutions of each of the 10 runs. Next, columns with heading ‘ t ( s ) ¯ ’ show the computation time of CPLEX, our C&W savings heuristic and the average computation times of VNS full and VNS red to find the best solutions in each run. Finally, column ‘gap(%)’ provides the gap (in percent) between the best solution and the best lower bound found by CPLEX. Note that, in the case where the gap value is zero, CPLEX has found an optimal solution.
The following observations can be made: First, apart from instances R103_C10, RC102_C10, and RC108_C10, CPLEX was able to solve the mathematical model—within 2 h of CPU time—for all instances with five and ten customers to optimality. For two of the remaining three cases, CPLEX was able to provide feasible solutions of the same quality as VNS full and VNS red , without being able to prove optimality. However, for the instances with 15 customers, the performance of CPLEX heavily starts to degrade. The reason for the rapidly decreasing performance of CPLEX is that the size and complexity of the MILP model sharply increase based on the instance size. For instance, the average number of variables and constraints of the MILP model for the instances containing five customers is 986 and 2235, respectively. These values increase to 4008 and 9363 for the instances with 10 customers and to 13,125 and 31,482 for the instances with 15 customers. In this latter case, CPLEX could only provide valid solutions (without being able to prove optimality) in seven out of 12 instances. Nevertheless, for one instance (C106_15), CPLEX produced a better solution than both VNS variants.
Both VNS variants performed comparably on small problem instances with 5 and 10 customers. They were able to find solutions with the same objective function values as those of CPLEX. However, the performance of the two VNS variants starts to differ on the instances with 15 customers. While VNS full provides results at least as good as CPLEX for all instances except for C106_C15, VNS red only does so in seven out of 12 cases. Considering those instances for which CPLEX was able to obtain a solution, both VNS variants improved the solution quality of CPLEX, on average, by 0.55% (VNS red ) and 6.86% (VNS full ). In fact, VNS full outperforms VNS red both in terms of best-performance (column ‘dist’) and in terms of average-performance (column ‘avg’). Note also that the running times of both VNS full and VNS red are in the order of seconds. While the superiority of both VNS full and VNS red over CPLEX in terms of CPU time is more significant for the instances with 10 and 15 customers, see Table 6 and Table 7, only VNS red provides better CPU times for the instances with 5 customers. Finally, note that the results of the C&W savings heuristic are, in the context of these small problem instances, approx. 20% worse than the best results obtained. This is, however, achieved in very low computation times of a fraction of a second, which shows that our C&W savings heuristic is a good candidate for producing the initial solutions of VNS.
Next, we analyze the results of the four approaches when applied to the large problem instances of our benchmark set. These results are shown in Table 8, Table 9 and Table 10. The structure of these tables is slightly different to the one of the previous result tables. First, results of CPLEX are not provided, because CPLEX was not able to generate a single valid solution within 2 h of computation time. Second, the additional column with heading ‘imp(%)’ provides the improvement (in percent) of the VNS variants over the results of the C&W savings heuristic. In addition to the tables we also provide critical difference (CD) plots [62] as a statistical tool for assisting the interpretation of the obtained results. First, the Friedman test was used to compare the three approaches simultaneously. As a consequence of the rejection of the hypothesis that the techniques perform equally, the corresponding pairwise comparisons were performed using the Nemenyi post hoc test [63]. The obtained results are graphically shown by means of the above-mentioned CD plots in Figure 8. Note that each considered algorithm variant is placed on the horizontal axis according to its average ranking for the considered subset of problem instances. The performances of those algorithm variants that are below the critical difference threshold (computed with a significance level of 0.05) are considered as statistically equivalent; see the horizontal bars joining the markers of the respective algorithm variants.
The following observations can be made. For the large clustered instances (Table 8) and large random instances (Table 9), VNS full significantly outperforms VNS red , both in terms of best-performance and average-performance. This is also shown in Figure 8b,c. However, the opposite is generally the case in the context of random-clustered instances, as shown in Figure 8d. This means that the removal/destroy operators have a rather negative impact on the performance of VNS in these cases. This is most probably due to their elevated computation time requirements. Nevertheless, Figure 8d also shows that this difference is not statistically significant. Moreover, the superiority of VNS full over VNS red is much more significant in the context of instances with a long scheduling horizon (R2*C2* and RC2*) compared to the instances with a short scheduling horizon (R1*C1* and RC1*); see Figure 8e,f. Finally, when considering all large instances together, VNS full significantly outperforms VNS red (see also Figure 8a).
When comparing the algorithms in terms of the average computation times required to find the best solutions of a run, it can be seen that VNS red was able to provide solutions in lower CPU times than VNS full . We can infer that destroy and repair type operators help to produce better solutions; however, repairing a destroyed solution prolongs the computation time.
Finally, VNS red and VNS full produced comparable results for small problem instances in terms of the number of utilized vehicles. In contrast, the increased effectiveness of VNS full is shown in the context of large problem instances. Even though making use of a lower number of vehicles usually means that a better solution is obtained, note that a smaller fleet size does not always guarantee a better solution. For some of the instances (i.e., C103_C15, R202_C15), even though VNS red provides solutions with a lower fleet size than VNS full , the solutions of VNS full are better. The reason for this is that the objective function only minimizes the traveled distance.
It is also worth noting that the average improvement rate with respect to the solutions of the C&W savings heuristic for large clustered problem instances is lower than in the context of the random and random-clustered instances. One reason for this is possibly the assignment of each customer to the nearest satellite in the initial solution construction phase, which provides most probably a better customer-satellite assignment than in the context of random instances.

6. Conclusions and Future Research Directions

This study presented the two-echelon electric vehicle routing problem with time windows as a valuable concept for sustainable city logistics. A three-index node-based mixed-integer programming model was developed and solved using CPLEX for small instances. In addition, we proposed a variable neighborhood search metaheuristic making use of a wide range of classical and large neighborhood search operators. Moreover, our algorithm allows visiting unfeasible solutions, which is achieved by means of an extended objective function for the evaluation of both feasible and unfeasible solutions. The local search step of our variable neighborhood search approach uses a variable neighborhood descent algorithm. Experimental tests were performed using new problem-specific instance sets generated based on available data sets from the literature. While CPLEX was able to solve the proposed mathematical model only for small problem instances with 5 and 10 customers, it started to struggle deriving even feasible solutions for larger instances. Our variable neighborhood search approach was able to find optimal or near-optimal solutions faster than CPLEX for all small problem instances. Moreover, numerical results showed that destroy-and-repair-type operators generally increased the algorithm’s performance.

Author Contributions

Conceptualization, M.A.A., C.B.K., C.B. and O.P.; Methodology, M.A.A., C.B.K. and O.P.; Data curation, M.A.A.; Software, M.A.A.; Writing—original draft, M.A.A. and C.B.; Writing—polishing, M.A.A. and C.B. All authors have read and agreed to the published version of the manuscript.

Funding

Grant PID2019-104156GB-I00 funded by MCIN/AEI/10.13039/501100011033, grant 119M236 funded by the Technological Research Council of Turkey (TUBITAK). The corresponding author was funded by the Ministry of National Education, Turkey (Scholarship program: YLYS-2019).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

All the problem instances generated for this work and used for the experimental evaluation can be downloaded at https://github.com/manilakbay/2E-EVRP-TW accessed on 12 January 2022. The same repository offers executables of our algorithms for download.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
VNSVariable Neighborhood Search
VNDVariable Neighborhood Descent
2E-EVRP-TWTwo-Echelon Electric Vehicle Routing Problem with Time Windows

References

  1. European Commission. Shaping the Future of Mobility. 2019. Available online: https://ec.europa.eu/transport/sites/transport/files/mobility-package-factsheet-overall.pdf (accessed on 12 January 2022).
  2. Amazon. Amazon’s Custom Electric Delivery Vehicles Are Starting to Hit the Road. 2021. Available online: https://www.aboutamazon.com/news/transportation/amazons-custom-electric-delivery-vehicles-are-starting-to-hit-the-road (accessed on 12 January 2022).
  3. Clarke, G.; Wright, J.W. Scheduling of vehicles from a central depot to a number of delivery points. Oper. Res. 1964, 12, 568–581. [Google Scholar] [CrossRef]
  4. Toth, P.; Vigo, D. Vehicle Routing: Problems, Methods, and Applications; SIAM: Philadelphia, PA, USA, 2014. [Google Scholar]
  5. Golden, B.L.; Raghavan, S.; Wasil, E.A. The Vehicle Routing Problem: Latest Advances and New Challenges; Springer Science & Business Media: Berlin/Heidelberg, Germany, 2008; Volume 43. [Google Scholar]
  6. Montoya-Torres, J.R.; Franco, J.L.; Isaza, S.N.; Jiménez, H.F.; Herazo-Padilla, N. A literature review on the vehicle routing problem with multiple depots. Comput. Ind. Eng. 2015, 79, 115–129. [Google Scholar] [CrossRef]
  7. Elshaer, R.; Awad, H. A taxonomic review of metaheuristic algorithms for solving the vehicle routing problem and its variants. Comput. Ind. Eng. 2020, 140, 106242. [Google Scholar] [CrossRef]
  8. Asghari, M.; Al-e, S.M.J.M. Green vehicle routing problem: A state-of-the-art review. Int. J. Prod. Econ. 2021, 231, 107899. [Google Scholar] [CrossRef]
  9. Moghdani, R.; Salimifard, K.; Demir, E.; Benyettou, A. The green vehicle routing problem: A systematic literature review. J. Clean. Prod. 2021, 279, 123691. [Google Scholar] [CrossRef]
  10. Conrad, R.G.; Figliozzi, M.A. The recharging vehicle routing problem. In Proceedings of the 2011 Industrial Engineering Research Conference, Reno, NV, USA, 21–25 May 2011; IISE Norcross: Norcross, GA, USA, 2011; p. 8. [Google Scholar]
  11. Erdoğan, S.; Miller-Hooks, E. A green vehicle routing problem. Transp. Res. Part E Logist. Transp. Rev. 2012, 48, 100–114. [Google Scholar] [CrossRef]
  12. Schneider, M.; Stenger, A.; Goeke, D. The electric vehicle-routing problem with time windows and recharging stations. Transp. Sci. 2014, 48, 500–520. [Google Scholar] [CrossRef]
  13. Felipe, Á.; Ortuño, M.T.; Righini, G.; Tirado, G. A heuristic approach for the green vehicle routing problem with multiple technologies and partial recharges. Transp. Res. Part E Logist. Transp. Rev. 2014, 71, 111–128. [Google Scholar] [CrossRef]
  14. Keskin, M.; Çatay, B. Partial recharge strategies for the electric vehicle routing problem with time windows. Transp. Res. Part C Emerg. Technol. 2016, 65, 111–127. [Google Scholar] [CrossRef]
  15. Montoya, A.; Guéret, C.; Mendoza, J.E.; Villegas, J.G. The electric vehicle routing problem with nonlinear charging function. Transp. Res. Part B Methodol. 2017, 103, 87–110. [Google Scholar] [CrossRef]
  16. Sadati, M.E.H.; Çatay, B. A hybrid variable neighborhood search approach for the multi-depot green vehicle routing problem. Transp. Res. Part E Logist. Transp. Rev. 2021, 149, 102293. [Google Scholar] [CrossRef]
  17. Duman, E.N.; Taş, D.; Çatay, B. Branch-and-price-and-cut methods for the electric vehicle routing problem with time windows. Int. J. Prod. Res. 2021, in press. [CrossRef]
  18. Crainic, T.G.; Ricciardi, N.; Storchi, G. Models for evaluating and planning city logistics systems. Transp. Sci. 2009, 43, 432–454. [Google Scholar] [CrossRef]
  19. Gayialis, S.P.; Konstantakopoulos, G.D.; Tatsiopoulos, I.P. Vehicle routing problem for urban freight transportation: A review of the recent literature. In Operational Research in the Digital Era–ICT Challenges; Springer: Cham, Switzerland, 2019; pp. 89–104. [Google Scholar]
  20. Perboli, G.; Tadei, R.; Vigo, D. The two-echelon capacitated vehicle routing problem: Models and math-based heuristics. Transp. Sci. 2011, 45, 364–380. [Google Scholar] [CrossRef]
  21. Jepsen, M.; Spoorendonk, S.; Ropke, S. A branch-and-cut algorithm for the symmetric two-echelon capacitated vehicle routing problem. Transp. Sci. 2013, 47, 23–37. [Google Scholar] [CrossRef]
  22. Liu, T.; Luo, Z.; Qin, H.; Lim, A. A branch-and-cut algorithm for the two-echelon capacitated vehicle routing problem with grouping constraints. Eur. J. Oper. Res. 2018, 266, 487–497. [Google Scholar] [CrossRef]
  23. Dellaert, N.; Dashty Saridarq, F.; Van Woensel, T.; Crainic, T.G. Branch-and-price—Based algorithms for the two-echelon vehicle routing problem with time windows. Transp. Sci. 2019, 53, 463–479. [Google Scholar] [CrossRef]
  24. Marques, G.; Sadykov, R.; Deschamps, J.C.; Dupas, R. An improved branch-cut-and-price algorithm for the two-echelon capacitated vehicle routing problem. Comput. Oper. Res. 2020, 114, 104833. [Google Scholar] [CrossRef]
  25. Baldacci, R.; Mingozzi, A.; Roberti, R.; Calvo, R.W. An exact algorithm for the two-echelon capacitated vehicle routing problem. Oper. Res. 2013, 61, 298–314. [Google Scholar] [CrossRef]
  26. Grangier, P.; Gendreau, M.; Lehuédé, F.; Rousseau, L.M. An adaptive large neighborhood search for the two-echelon multiple-trip vehicle routing problem with satellite synchronization. Eur. J. Oper. Res. 2016, 254, 80–91. [Google Scholar] [CrossRef]
  27. Wang, K.; Shao, Y.; Zhou, W. Matheuristic for a two-echelon capacitated vehicle routing problem with environmental considerations in city logistics service. Transp. Res. Part D Transp. Environ. 2017, 57, 262–276. [Google Scholar] [CrossRef]
  28. Belgin, O.; Karaoglan, I.; Altiparmak, F. Two-echelon vehicle routing problem with simultaneous pickup and delivery: Mathematical model and heuristic approach. Comput. Ind. Eng. 2018, 115, 1–16. [Google Scholar] [CrossRef]
  29. Jie, W.; Yang, J.; Zhang, M.; Huang, Y. The two-echelon capacitated electric vehicle routing problem with battery swapping stations: Formulation and efficient methodology. Eur. J. Oper. Res. 2019, 272, 879–904. [Google Scholar] [CrossRef]
  30. Breunig, U.; Baldacci, R.; Hartl, R.F.; Vidal, T. The electric two-echelon vehicle routing problem. Comput. Oper. Res. 2019, 103, 198–210. [Google Scholar] [CrossRef]
  31. Breunig, U.; Schmid, V.; Hartl, R.F.; Vidal, T. A large neighbourhood based heuristic for two-echelon routing problems. Comput. Oper. Res. 2016, 76, 208–225. [Google Scholar] [CrossRef]
  32. Cao, S.; Liao, W.; Huang, Y. Heterogeneous fleet recyclables collection routing optimization in a two-echelon collaborative reverse logistics network from circular economic and environmental perspective. Sci. Total Environ. 2021, 758, 144062. [Google Scholar] [CrossRef] [PubMed]
  33. Wu, Z.; Zhang, J. A branch-and-price algorithm for two-echelon electric vehicle routing problem. Complex Intell. Syst. 2021, in press. [CrossRef]
  34. Wang, D.; Zhou, H. A Two-Echelon Electric Vehicle Routing Problem with Time Windows and Battery Swapping Stations. Appl. Sci. 2021, 11, 10779. [Google Scholar] [CrossRef]
  35. Bard, J.F.; Huang, L.; Dror, M.; Jaillet, P. A branch and cut algorithm for the VRP with satellite facilities. IIE Trans. 1998, 30, 821–834. [Google Scholar] [CrossRef]
  36. Lenstra, J.K.; Kan, A.R. Complexity of vehicle routing and scheduling problems. Networks 1981, 11, 221–227. [Google Scholar] [CrossRef]
  37. Michalewicz, Z. A survey of constraint handling techniques in evolutionary computation methods. In Evolutionary Programming IV: Proceedings of the Fourth Annual Conference on Evolutionary Programming, San Diego, CA, USA, 1–3 March 1995; McDonnell, J.R., Reynolds, R.G., Eds.; MIT Press: Cambridge, MA, USA, 1995; Volume 4, pp. 135–155. [Google Scholar]
  38. Altınel, İ.K.; Öncan, T. A new enhancement of the Clarke and Wright savings heuristic for the capacitated vehicle routing problem. J. Oper. Res. Soc. 2005, 56, 954–961. [Google Scholar] [CrossRef]
  39. Yellow, P. A computational modification to the savings method of vehicle scheduling. J. Oper. Res. Soc. 1970, 21, 281–283. [Google Scholar] [CrossRef]
  40. Paessens, H. The savings algorithm for the vehicle routing problem. Eur. J. Oper. Res. 1988, 34, 336–344. [Google Scholar] [CrossRef]
  41. Mladenović, N.; Hansen, P. Variable neighborhood search. Comput. Oper. Res. 1997, 24, 1097–1100. [Google Scholar] [CrossRef]
  42. Herrán, A.; Colmenar, J.M.; Duarte, A. An efficient Variable Neighborhood Search for the Space-Free Multi-Row Facility Layout problem. Eur. J. Oper. Res. 2021, 295, 893–907. [Google Scholar] [CrossRef]
  43. Wu, X.; Che, A. Energy-efficient no-wait permutation flow shop scheduling by adaptive multi-objective variable neighborhood search. Omega 2020, 94, 102117. [Google Scholar] [CrossRef]
  44. Thevenin, S.; Zufferey, N. Learning Variable Neighborhood Search for a scheduling problem with time windows and rejections. Discret. Appl. Math. 2019, 261, 344–353. [Google Scholar] [CrossRef]
  45. Liu, W.; Dridi, M.; Fei, H.; El Hassani, A.H. Hybrid Metaheuristics for Solving a Home Health Care Routing and Scheduling Problem with Time Windows, Synchronized Visits and Lunch Breaks. Expert Syst. Appl. 2021, 183, 115307. [Google Scholar] [CrossRef]
  46. Bačević, A.; Vilimonović, N.; Dabić, I.; Petrović, J.; Damnjanović, D.; Džamić, D. Variable neighborhood search heuristic for nonconvex portfolio optimization. Eng. Econ. 2019, 64, 254–274. [Google Scholar] [CrossRef]
  47. Akbay, M.A.; Kalayci, C.B.; Polat, O. A parallel variable neighborhood search algorithm with quadratic programming for cardinality constrained portfolio optimization. Knowl.-Based Syst. 2020, 198, 105944. [Google Scholar] [CrossRef]
  48. Kalayci, C.B.; Polat, O.; Gupta, S.M. A variable neighbourhood search algorithm for disassembly lines. J. Manuf. Technol. Manag. 2015, 26, 182–194. [Google Scholar] [CrossRef]
  49. Polat, O.; Kalayci, C.B.; Kulak, O.; Günther, H.O. A perturbation based variable neighborhood search heuristic for solving the vehicle routing problem with simultaneous pickup and delivery with time limit. Eur. J. Oper. Res. 2015, 242, 369–382. [Google Scholar] [CrossRef]
  50. Defryn, C.; Sörensen, K. A fast two-level variable neighborhood search for the clustered vehicle routing problem. Comput. Oper. Res. 2017, 83, 78–94. [Google Scholar] [CrossRef]
  51. Rezgui, D.; Siala, J.C.; Aggoune-Mtalaa, W.; Bouziri, H. Application of a variable neighborhood search algorithm to a fleet size and mix vehicle routing problem with electric modular vehicles. Comput. Ind. Eng. 2019, 130, 537–550. [Google Scholar] [CrossRef]
  52. Herrán, A.; Colmenar, J.M.; Duarte, A. A Variable Neighborhood Search approach for the Hamiltonian p-median problem. Appl. Soft Comput. 2019, 80, 603–616. [Google Scholar] [CrossRef]
  53. Pisinger, D.; Ropke, S. Large neighborhood search. In Handbook of Metaheuristics; Springer: Berlin/Heidelberg, Germany, 2010; pp. 399–419. [Google Scholar]
  54. Hemmelmayr, V.C.; Doerner, K.F.; Hartl, R.F. A variable neighborhood search heuristic for periodic routing problems. Eur. J. Oper. Res. 2009, 195, 791–802. [Google Scholar] [CrossRef]
  55. Thompson, P.M.; Orlin, J.B. The Theory of Cyclic Transfers. 1989. Available online: https://dspace.mit.edu/bitstream/handle/1721.1/5078/OR-200-89-24515982.pdf?sequence=1 (accessed on 12 January 2022).
  56. Ropke, S.; Pisinger, D. An adaptive large neighborhood search heuristic for the pickup and delivery problem with time windows. Transp. Sci. 2006, 40, 455–472. [Google Scholar] [CrossRef]
  57. Demir, E.; Bektaş, T.; Laporte, G. An adaptive large neighborhood search heuristic for the pollution-routing problem. Eur. J. Oper. Res. 2012, 223, 346–359. [Google Scholar] [CrossRef]
  58. Koç, Ç.; Bektaş, T.; Jabali, O.; Laporte, G. A hybrid evolutionary algorithm for heterogeneous fleet vehicle routing problems with time windows. Comput. Oper. Res. 2015, 64, 11–27. [Google Scholar] [CrossRef]
  59. Koç, Ç.; Bektaş, T.; Jabali, O.; Laporte, G. The fleet size and mix location-routing problem with time windows: Formulations and a heuristic algorithm. Eur. J. Oper. Res. 2016, 248, 33–51. [Google Scholar] [CrossRef]
  60. Koç, Ç.; Jabali, O.; Mendoza, J.E.; Laporte, G. The electric vehicle routing problem with shared charging stations. Int. Trans. Oper. Res. 2019, 26, 1211–1243. [Google Scholar] [CrossRef]
  61. López-Ibáñez, M.; Dubois-Lacoste, J.; Cáceres, L.P.; Birattari, M.; Stützle, T. The irace package: Iterated racing for automatic algorithm configuration. Oper. Res. Perspect. 2016, 3, 43–58. [Google Scholar] [CrossRef]
  62. Calvo, B.; Santafé, G. Scmamp: Statistical Comparison of Multiple Algorithms in Multiple Problems. R J. 2016, 8, 1–8. [Google Scholar] [CrossRef]
  63. García, S.; Herrera, F. An Extension on “Statistical Comparisons of Classifiers over Multiple Data Sets” for all Pairwise Comparisons. J. Mach. Learn. Res. 2008, 9, 2677–2694. [Google Scholar]
Figure 1. Example of a solution for a small 2E-EVRP-TW instance with a single central warehouse, two satellites, three charging stations and five customers.
Figure 1. Example of a solution for a small 2E-EVRP-TW instance with a single central warehouse, two satellites, three charging stations and five customers.
Applsci 12 01014 g001
Figure 2. An illustration of the indirect time windows arising for a satellite depending on the customers it must serve. Note that time windows are indicated in green color.
Figure 2. An illustration of the indirect time windows arising for a satellite depending on the customers it must serve. Note that time windows are indicated in green color.
Applsci 12 01014 g002
Figure 3. Graphical illustration of route merging in the C&W savings heuristic.
Figure 3. Graphical illustration of route merging in the C&W savings heuristic.
Applsci 12 01014 g003
Figure 4. An illustration of the cyclic exchange operator with ζ = 3 . Note that the route at the top and the route at the bottom are the same in order to show the cyclic nature of the move.
Figure 4. An illustration of the cyclic exchange operator with ζ = 3 . Note that the route at the top and the route at the bottom are the same in order to show the cyclic nature of the move.
Applsci 12 01014 g004
Figure 5. An illustration of the charging station insertion operator. In the battery-infeasible route, the electric vehicle runs out of battery before reaching node v 4 .
Figure 5. An illustration of the charging station insertion operator. In the battery-infeasible route, the electric vehicle runs out of battery before reaching node v 4 .
Applsci 12 01014 g005
Figure 6. An illustration of local search operators. (a) The exchange(1,1) operator, (b) The shift(1,0) operator, (c) The relocation operator, (d) The swap operator, (e) The two-opt operator, (f) CS_relocation operator, (g) CS_reinsertion operator.
Figure 6. An illustration of local search operators. (a) The exchange(1,1) operator, (b) The shift(1,0) operator, (c) The relocation operator, (d) The swap operator, (e) The two-opt operator, (f) CS_relocation operator, (g) CS_reinsertion operator.
Applsci 12 01014 g006
Figure 7. Illustration of the locations of the central warehouse and the satellite(s) in different cases. Blue dots refer to customers and red triangles are charging stations. (a) Small instance with 10 customers, (b) Small instance with 15 customers, (c) Large instance (100 customers).
Figure 7. Illustration of the locations of the central warehouse and the satellite(s) in different cases. Blue dots refer to customers and red triangles are charging stations. (a) Small instance with 10 customers, (b) Small instance with 15 customers, (c) Large instance (100 customers).
Applsci 12 01014 g007
Figure 8. Critical difference plots concerning the results for large instances. The graphic in (a) considers all large instances, while the other graphics consider subsets of the set of large instances. (a) All large instances; (b) clustered instances; (c) random instances; (d) random-clustered instances; (e) instances R1*; C1* and RC1*; and (f) instances R2*, C2*, and RC2*.
Figure 8. Critical difference plots concerning the results for large instances. The graphic in (a) considers all large instances, while the other graphics consider subsets of the set of large instances. (a) All large instances; (b) clustered instances; (c) random instances; (d) random-clustered instances; (e) instances R1*; C1* and RC1*; and (f) instances R2*, C2*, and RC2*.
Applsci 12 01014 g008
Table 1. Parameters of our C&W savings heuristic together with their domains.
Table 1. Parameters of our C&W savings heuristic together with their domains.
ParameterDescriptionDomain
λ Route redesign parameter { 0.0, 0.1, , 0.9, 1.0}
μ Asymmetry of information { 0.0, 0.1, , 0.9, 1.0}
γ Assignment priority { 1.0, 1.1, , 1.9, 2.0}
Table 2. VNS parameters and their domains.
Table 2. VNS parameters and their domains.
ParameterDescriptionDomain
r r 1 L b , r r 1 U b Customer removal rate and lower and upper bounds { 0.0, 0.1, , 0.9, 1.0}
r r 2 L b , r r 2 U b Route removal rate and lower and upper bounds { 0.0, 0.1, , 0.9, 1.0}
p i n i t Initial penalty value { 10 , 15 , 20 }
p m i n Minimum penalty value { 0.5, 1 , 3 , 5 }
p m a x Maximum penalty value { 25 , 30 , 35 , 40 }
p i t e r Iteration count parameter for penalty procedure { 1 , 2 , 3 }
p + Augmentation parameter for penalty { 3 , 5 , 7 , 9 }
p Reduction parameter for penalty { 1.0, 1.1, , 1.9, 2.0}
T i n i t Initial temperature { 50 , 100 , 150 , 200 }
t Update parameter for the temperature { 1.0, 1.1, , 1.9, 2.0}
i t e r _ n i m a x Maximum number of non-improving iterations { 100 , 200 , 500 , 1000 , 10 , 000 }
ζ The number routes involved in a cyclic exchange { 1 , 2 , 3 , 4 }
θ m a x The maximum number of nodes to be transferred (cyclic exchange) { 1 , 2 , 3 , 4 }
Table 3. Parameter values determined by irace for the C&W savings heuristic.
Table 3. Parameter values determined by irace for the C&W savings heuristic.
ParametersSmall InstancesLarge Instances
λ 1.31.1
μ 0.30.1
γ 0.90.6
Table 4. Parameter values determined by irace for VNS.
Table 4. Parameter values determined by irace for VNS.
ParametersSmall InstancesLarge Instances
r r 1 L b 0.10.3
r r 1 U b 0.70.4
r r 2 L b 0.10.4
r r 2 U b 0.60.4
p i n i t 1520
p m i n 50.5
p m a x 4035
p i t e r 12
p + 95
p 1.61.4
t i n i t 200100
t 1.32
i t e r _ n i m a x 1000100
ζ 24
θ m a x 42
Table 5. Computational results for small-sized instances with 5 customers.
Table 5. Computational results for small-sized instances with 5 customers.
InstancesCPLEXC&W Savings HeuristicVNS red VNS full
Name nv 1 nv 2 mnDistGap(%) t ( s ) ¯ mnDist t ( s ) ¯ mnDistAvg t ( s ) ¯ mnDistAvg t ( s ) ¯
C101_C51212385.4901.6713442.190.0002112385.49385.490.98913385.49385.4912.509
C103_C51111341.3300.0912360.940.0001111341.33341.330.00611341.33341.330.502
C206_C51111417.3105.9713480.90.0001711417.31417.310.00111417.31417.310.001
C208_C51111381.9100.3111383.070.0001111381.91381.910.00111381.91381.910.001
R104_C51212317.0201.6111317.780.0001211317.02317.020.00111317.02317.020.001
R105_C51312453.7409.5711677.610.0001412453.74495.160.00012453.74453.7429.693
R202_C51111347.8200.2111348.290.0001011347.82347.820.00111347.82347.820.001
R203_C51111371.3100.2111387.920.0001611386.48386.480.00111371.31371.317.203
RC105_C51313432.64028.8413496.720.0001512432.64435.770.40412432.64437.3421.488
RC108_C51212460.89024.2412702.230.0001612460.89460.890.00812460.89460.893.281
RC204_C51111332.8600.6411649.440.0001511332.86332.860.01811332.86332.860.015
RC208_C51111327.3000.3711331.770.0001011331.77331.770.00011327.30327.3015.193
average --380.80-6.15--464.9050.00014--382.44386.150.119--380.80381.197.491
Table 6. Computational results for small-sized instances with 10 customers.
Table 6. Computational results for small-sized instances with 10 customers.
InstancesCPLEXC&W Savings HeuristicVNS red VNS full
Name nv 1 nv 2 mnDistGap(%) t ( s ) ¯ mnDist t ( s ) ¯ mnDistAvg t ( s ) ¯ mnDistAvg t ( s ) ¯
C101_C101414538.3103021.7415568.850.0001713538.31538.740.56814538.31538.3113.233
C104_C101312484.3205309.7814663.740.0002412484.32484.320.97912484.32484.327.119
C202_C101312425.530152.01115625.020.0002112425.53425.530.03012425.53425.532.018
C205_C101313415.480157.9713435.370.0002412415.48419.640.00513415.48415.481.006
R102_C101413505.5006150.8414648.650.0001913505.50505.502.47713505.50524.5922.556
R103_C101312436.089.276318.9913613.760.0002412436.08436.082.39612436.08437.513.600
R201_C101212460.7102686.7514730.950.0001712460.71460.712.83812460.71460.7116.455
R203_C101211436.5102192.7111437.750.0002111436.51436.510.00211436.51436.510.002
RC102_C101514618.7516.857079.0915684.930.0002614618.75618.7541.62014618.75618.7511.025
RC108_C101414637.2324.286739.8414721.20.0002013559.88559.880.09713559.88559.880.016
RC201_C101413495.540969.8614634.130.0002112495.54497.040.00413495.54495.542.528
RC205_C101313576.170462.6213702.340.0002512576.17577.760.13013576.17576.1715.366
average --502.51-3436.85--622.220.00022--496.06496.704.262--496.06497.777.910
Table 7. Computational results for small-sized instances with 15 customers.
Table 7. Computational results for small-sized instances with 15 customers.
InstancesCPLEXC&W Savings HeuristicVNS red VNS full
Name nv 1 nv 2 mnDistGap(%) t ( s ) ¯ mnDist t ( s ) ¯ mnDistAvg t ( s ) ¯ mnDistAvg t ( s ) ¯
C103_C1515-----16690.990.0003613575.18582.024.92514575.18575.180.623
C106_C151413500.3213.377182.9116681.310.0002213516.60524.102.10013516.60516.601.027
C202_C151514714.8132.237183.0416729.870.0003414617.24618.6629.96613550.32550.3212.454
C208_C151312550.0215.567182.9514737.610.0002312619.73619.736.97612550.02550.0222.000
R102_C1517-----19950.250.0002615716.56716.569.52315716.56716.5612.056
R105_C1515-----18777.770.0003814607.96607.9630.85014607.96607.9625.605
R202_C151313719.6135.367198.1716990.370.0004312593.69597.798.03313593.69593.6960.988
R209_C151312475.1010.097182.4315711.090.0002412475.10519.460.71211475.10482.3077.386
RC103_C1515-----17745.820.0003514616.32622.101.56515616.32616.321.803
RC108_C1515-----17716.220.0002615603.87603.870.21415603.87615.110.033
RC202_C151313552.7016.067182.6515697.240.0003313601.86601.862.39512552.70587.1111.600
RC204_C151312485.3413.937183.0313604.050.0003512551.56551.560.67012485.34485.3415.566
average -------752.720.00031--591.31597.148.161--570.30574.7120.095
Table 8. Computational results for large-sized clustered instances.
Table 8. Computational results for large-sized clustered instances.
InstancesC&W Savings HeuristicVNS red VNS full
Name n k n v mnDist t ( s ) ¯ mnDistAvgImp(%) t ( s ) ¯ mnDistAvgImp(%) t ( s ) ¯
C101_C213253391941.160.0053201513.911562.7719.49499.703201494.181538.7420.73579.98
C102_C213283331822.020.0053211501.661506.9517.29537.573191447.861487.1118.38572.03
C103_C213263291702.890.0053201447.981463.3414.07509.373191399.251425.8016.27656.63
C104_C213313241580.070.0053201435.041446.178.47405.193191400.521439.768.88540.97
C105_C214433361877.850.0053201522.971541.6017.91359.003201493.691521.1319.00466.13
C106_C214373351791.740.0043201474.741491.7016.75361.263201429.751476.8517.57536.93
C107_C214413341838.830.0053201499.811513.3617.70400.853201485.71513.1817.71582.44
C108_C213333291687.150.0053201461.251476.7212.47483.003201450.961489.6311.71523.87
C109_C214313261619.190.0053201447.361456.9010.02326.593201409.971455.9310.08673.76
C201_C213202351794.830.0042111251.621276.4228.88422.742121208.761233.8731.25545.02
C202_C214202311672.520.0052121228.611260.0824.66532.722121187.871232.7426.29703.08
C203_C213192271554.960.0052121197.451223.1621.34356.272111201.41216.3621.78767.58
C204_C214182221411.070.0052121178.141191.9215.53464.312111161.071181.4016.28577.96
C205_C214202211470.730.0052121226.481249.5915.04460.152121205.231223.9416.78664.39
C206_C213192191399.110.0052121202.521222.9412.59519.782111182.631198.5414.34556.03
C207_C213192201406.550.0052121195.11211.5513.86262.842111173.71188.9215.47562.88
C208_C213172191393.280.0052121193.011221.4012.34429.152111169.691188.8514.67652.98
average 1644.940.005 1351.631371.5616.38431.21 1323.661353.6917.48597.80
Table 9. Computational results for large-sized random instances.
Table 9. Computational results for large-sized random instances.
InstancesC&W Savings HeuristicVNS red VNS full
Name n k n v mnDist t ( s ) ¯ mnDistAvgImp(%) t ( s ) ¯ mnDistAvgImp(%) t ( s ) ¯
R101_C214344462546.450.0064252164.262187.3914.10573.914262179.752306.919.41589.70
R102_C213324372365.850.0063211840.451894.1019.94583.853241843.452025.3114.39300.08
R103_C213233321974.870.0063191696.361754.3611.17657.283191729.911829.337.37350.64
R104_C212203231784.940.0062171473.501641.428.04770.402171470.201628.008.79535.30
R105_C213253392216.40.0053231842.341898.8014.33539.413221909.131975.7810.86463.62
R106_C213283322055.430.0063201737.881870.369.00345.953211723.881887.348.18153.16
R107_C212232301725.890.0072181518.951671.823.13287.012181490.011670.003.24323.49
R108_C212212231603.110.0062181454.991553.473.10322.442181449.131569.622.09184.32
R109_C212243291947.310.0062181547.521694.5412.98356.452191529.711683.8113.53386.16
R110_C212232261650.240.0062171451.041486.159.94597.542171470.571513.508.29660.80
R111_C212243261805.690.0062181487.831572.4912.91579.212171522.491593.3511.76483.22
R112_C212232201460.990.0062201457.061457.060.270.002171413.861452.740.5664.47
R201_C211142341912.590.0061121238.921265.9933.81486.39191218.881252.1734.53639.80
R202_C211122291760.690.006191158.641170.2833.53626.39191135.841166.6733.74564.04
R203_C211142221587.760.007181064.161093.3831.14513.09171067.891096.6930.93542.58
R204_C21192171408.950.00617962.16994.4429.42534.0816965.62977.1930.64591.03
R205_C211141271522.450.006191136.471167.9923.28711.65171134.351155.1424.13452.03
R206_C211121231445.780.006181106.231137.0521.35789.19171092.551117.8822.68512.81
R207_C211131171334.950.006171034.451072.2119.68588.03171025.081055.9320.90512.99
R208_C211121161232.960.00617991.251018.0217.43484.8817970.31996.2019.20519.00
R209_C211151231400.020.006181078.551106.8220.94597.86171078.001089.2822.20597.67
R210_C211121191350.210.006181059.311090.5319.23515.34171045.641068.6520.85480.40
R211_C21191181291.640.006171030.771053.7918.41524.6016999.261034.1519.93421.96
average 1712.400.006 1371.001428.3716.83521.08 1368.071441.1116.44449.10
Table 10. Computational results for large-sized random-clustered instances.
Table 10. Computational results for large-sized random-clustered instances.
InstancesC&W Savings HeuristicVNS red VNS full
Name n k n v mnDist t ( s ) ¯ mnDistAvgImp(%) t ( s ) ¯ mnDistAvgImp(%) t ( s ) ¯
RC101_C213284382467.620.0044232044.992274.237.84294.293221907.522106.4214.64605.26
RC102_C213294362385.730.0054222004.782035.6014.68516.433211834.972047.7914.16397.12
RC103_C213284292189.240.0043201747.981933.4911.68393.233201728.171846.2315.67470.22
RC104_C212262261710.420.0042191644.361686.881.38322.002191645.351688.651.27372.96
RC105_C213235332482.30.0053201789.641821.5326.62471.323201802.851936.8721.97506.77
RC106_C213233332142.630.0053201760.231797.6216.10584.163191750.611807.4215.64450.61
RC107_C213243281901.160.0043191687.901713.759.86493.353191686.761719.839.54681.21
RC108_C213252261737.710.0053191672.751676.553.52440.793181622.761655.214.75760.71
RC201_C211151351809.280.0041141313.011341.9225.83682.081111318.731358.7524.90282.60
RC202_C211131301636.910.0051121218.401246.2923.86691.501101200.591230.9724.80531.87
RC203_C211111221401.030.0051101119.621140.7418.58589.31181103.431138.8218.72624.78
RC204_C211141161267.870.004191045.721077.9314.98462.65181040.091054.9616.79470.14
RC205_C211171251553.790.0041111223.371253.2719.34368.42191217.431245.1619.86356.82
RC206_C211161251536.280.0041101216.701235.3619.59495.64191193.111216.1720.84610.81
RC207_C211121211424.020.004191116.301133.8820.38532.73181106.601146.0819.52442.03
RC208_C211141141253.980.005191038.251081.3813.76535.70181049.421067.8614.84516.79
average 1806.250.004 1477.751528.1515.50492.10 1450.521516.7016.12505.04
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Akbay, M.A.; Kalayci, C.B.; Blum, C.; Polat, O. Variable Neighborhood Search for the Two-Echelon Electric Vehicle Routing Problem with Time Windows. Appl. Sci. 2022, 12, 1014. https://0-doi-org.brum.beds.ac.uk/10.3390/app12031014

AMA Style

Akbay MA, Kalayci CB, Blum C, Polat O. Variable Neighborhood Search for the Two-Echelon Electric Vehicle Routing Problem with Time Windows. Applied Sciences. 2022; 12(3):1014. https://0-doi-org.brum.beds.ac.uk/10.3390/app12031014

Chicago/Turabian Style

Akbay, Mehmet Anıl, Can Berk Kalayci, Christian Blum, and Olcay Polat. 2022. "Variable Neighborhood Search for the Two-Echelon Electric Vehicle Routing Problem with Time Windows" Applied Sciences 12, no. 3: 1014. https://0-doi-org.brum.beds.ac.uk/10.3390/app12031014

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop