Next Article in Journal
Fixed-Point Results for Meir–Keeler Type Contractions in Partial Metric Spaces: A Survey
Next Article in Special Issue
The Permutation Flow Shop Scheduling Problem with Human Resources: MILP Models, Decoding Procedures, NEH-Based Heuristics, and an Iterated Greedy Algorithm
Previous Article in Journal
Fast Image Restoration Method Based on the L0, L1, and L2 Gradient Minimization
Previous Article in Special Issue
Electric-Vehicle Routing Planning Based on the Law of Electric Energy Consumption
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Variable Neighborhood Search Algorithms to Solve the Electric Vehicle Routing Problem with Simultaneous Pickup and Delivery

Department of Industrial Engineering, Faculty of Engineering, Pamukkale University, Pamukkale 20160, Turkey
*
Author to whom correspondence should be addressed.
Mathematics 2022, 10(17), 3108; https://doi.org/10.3390/math10173108
Submission received: 22 July 2022 / Revised: 22 August 2022 / Accepted: 25 August 2022 / Published: 29 August 2022

Abstract

:
This paper addresses the Electric Vehicle Routing Problem with Simultaneous Pickup and Delivery (EVRP-SPD), in which electric vehicles (EVs) simultaneously deliver goods to and pick up goods from customers. Due to the limited battery capacity of EVs, their range is shorter than that of internal combustion vehicles. In the EVRP, in addition to the depot and the customers, there are also charging stations (CS) because EVs need to be charged when their battery is empty. The problem is formulated as an integer linear model, and an efficient solution is proposed to minimize the total distance traveled. To create a feasible initial solution, Clarke and Wright’s savings algorithm is used. Several variants of variable neighborhood search are tested, and the reduced-variable neighborhood search algorithm is used to find the best solution in a reasonable time. Computer experiments are performed with benchmark instances to evaluate the effectiveness of our approach in terms of solution quality and time. The obtained results show that the proposed method can achieve efficient solutions in terms of solution quality and time in all benchmark instances.

1. Introduction

In recent years, research and development of alternative energy sources have accelerated as countries seek to reduce their energy dependence on fossil fuels. As in many other areas, regulations are being introduced to avoid environmental problems associated with logistical activities. One of the concepts developed to reduce the economic, social, and environmental impacts of urban transportation in growing cities is the concept of sustainable urban logistics. Sustainable urban logistics can be defined as the use of vehicles that use sustainable resources to distribute goods in cities. Many logistics and e-commerce companies currently use EVs for transportation in urban areas because they are quiet and do not produce carbon emissions. Despite these advantages, the need for on-road charging due to the limited range of EVs creates new difficulties in planning and managing logistics activities carried out with EVs. Therefore, it is important to create an ideal charging plan for EVs that takes into account impacts on total travel time and route length.
In this paper, we discuss sustainable urban transportation through the problem of routing EVs with simultaneous pickup and delivery (EVRP-SPD), a variant of the Vehicle Routing Problem (VRP) well known in the literature. As shown in Figure 1, the amount of cargo in the EVs increases and decreases based on the SPD constraint, depending on the pickup and delivery requirements of the customers. The vertical bars in red, green, and gray represent the load to be picked up or delivered by the EV and the state of charge (SoC) of the EV. The horizontal bars in red and green represent the pickup and delivery requirements of the customers, respectively. In general terms, the goal of the EVRP is to efficiently route a fleet of EVs to serve customer demand. This is done with respect to optimizing a given objective function, which is (usually) the total travel distance (to be minimized). Due to difficulties arising from the limited range of EVs and simultaneous pickup and delivery, it is often not possible to derive an optimal solution for large instances. Thus, a variable neighborhood search (VNS)-based solution is proposed to solve the given problem.
To obtain a feasible initial solution for the metaheuristic solution approach, a method based on the Clark and Wright Savings Algorithm is developed. It generates an initial solution that takes into account the assumptions and properties of EVRP-SPD. While VNS systematically modifies (shakes) the neighborhood structures, it ensures that the determined solution does not get stuck in a local optimum. It also provides strong search performance by intensifying the search in the neighborhood (local search). In addition to the classical operators for shaking and local search, we have also applied well-known operators for searching large neighborhoods, called “destroy and repair”, to improve the performance of VNS.
The main contribution of this work can be summarized as follows:
  • An integer programming model for EVRP-SPD is developed, which is the first time it has been studied in the literature.
  • A new set of instances is created based on the benchmark instances proposed by Schneider et al. [1]. Customer demands in the original dataset are recalculated in accordance with the method used by Salhi and Nagy [2] to create pickup and delivery demands.
  • A modified Clark and Wright sparse algorithm is proposed to obtain a feasible initial solution to the problem.
  • Different neighborhood structures are extensively tested on the benchmark instances, and the performance of the structures in terms of algorithm speed and efficiency are shown.
  • Several VNS variants are investigated, and the results are compared in detail.
In this paper, we address a particular variant of the EVRP, where goods are assumed to be transported from different origins to different destinations, and each customer has both delivery and pickup needs that must be met simultaneously. The structure of the paper is as follows: Section 2 reviews the scientific literature, while Section 3 proposes an integer linear programming model for EVRP-SPD. Section 4 describes the solution heuristics, neighborhood structures, and operators used to find the best solutions for benchmark instances. In Section 5, optimal solutions for small instances derived from the CPLEX solver are compared with the heuristic solution method in terms of solution quality and CPU time. In addition, some illustrative numerical examples are analyzed. Finally, in Section 6, the conclusions are presented, and some future work is described.

2. Literature Review

The Vehicle Routing Problem (VRP) was first introduced in the literature by Dantzig and Ramser [3]. The VRP is an important combinatorial optimization problem in transportation and logistics. The classical VRP is defined as finding routes that serve a given number of customers, where the routes start and end at a central depot, each customer is served exactly once, the total time is constrained, and the vehicle capacity is limited. The main objective is generally to minimize costs. The VRP has been expanded to include several variants as different constraints have been added from real-world uses.
Interest in the Electric Vehicle Routing Problem (EVRP) has been increasing in recent years, as the use of EVs in logistics operations has increased. EVRP is an NP-hard problem in which routing and charging plans are optimized simultaneously [4]. Charging strategy assumptions can be classified as partial and fully charging. Charging the battery fully takes longer, so it affects the solution in terms of time. Partial charging of the battery is more practical because it takes less time. The battery only needs to be charged enough to visit customers on the route and return to the depot, eliminating unnecessary charging time. In addition, charging EVs at the depot is cheaper than at charging stations, and the overall cost of charging can be reduced with partial charging [5,6]. Felipe, Ortuño, Righini, and Tirado [6]; Bruglieri et al. [7]; and Keskin and Catay [8] have considered partial charging strategies in which battery charging of EVs is adjusted at each charging station. Desaulniers et al. [9] proposed the EVRPTW and designed four variants with single or multiple charges per tour and partial or full charges.
Montoya et al. [10] developed a mixed-integer linear programming formulation with a nonlinear charging function and a hybrid metaheuristic to minimize the total time (driving and charging time). They tried to find an efficient charging plan under the fixed route assumption. Lin et al. [11] focused on the EVRP by taking into account the effect of payload on the battery consumption rate. They assumed charging time of EVs is constant, and EV load capacity was not considered. Erdoĝan and Miller-Hooks [12] developed a modified Clarke and Wright Savings heuristic to solve the Green Vehicle Routing Problem. Some assumptions included constant charging time and linear energy consumption with distance traveled. On the contrary, Kancharla and Ramadurai [13] assumed nonlinear charging time and load-dependent energy consumption. Strehler et al. [14] proposed a solution approach for a mixed fleet in which electric and hybrid vehicles are routed based on different strategies. In this context, they developed a mathematical model for both types of vehicles that tries to find the shortest path, use recyclable sources, and find charging stations. In the literature, there are other studies that assume nonlinear charging times, such as Froger et al. [15], Keskin et al. [16], and Koç et al. [17].
In the real world, when deciding on the size of the fleet and the characteristics of the EVs in the fleet, companies must consider customer demand, the characteristics and quantity of the loads to be transported, regional legal obligations, the physical characteristics of the demand points, and so on. In the literature, this problem is commonly referred to as the fleet size and mix (FSM) problem, and there are studies that focus on this problem in electric vehicle routing. Goeke and Schneider [18] studied the EVRPTW with a mixed fleet (E-VRPWTMF) of EVs and internal combustion engine vehicles. They investigated the effects of load and various objectives. They developed an accurate model for energy consumption. Hiermann et al. [19] considered time windows and charging stations to solve the electric fleet size and vehicle mix routing problem (E-FSMFTW). Hiermann et al. [20] presented a routing problem for a mixed fleet with different vehicle types, e.g., internal combustion engine vehicles, plug-in hybrids, and EVs.
In real-world applications, the time window is another essential constraint for EVRP. Schneider, Stenger, and Goeke [1] studied the EVRP with a time window (EVRPTW) for the first time in the literature. They assumed charging would be linear and EVs would be fully charged. Keskin, Laporte, and Catay [16] considered that charging stations have limited capacity. They also assumed time windows and time-dependent waiting times using a queuing system for charging stations. Lu et al. [21] considered the impact of traffic during peak hours for the time-dependent EVRP.
The location of charging stations has been combined with EVRP in some recent studies. Yang and Sun [22] presented the problem of battery-swap station locations for EVs with that capacity (BSS-EV-LRP). The authors developed models and four-phase and two-phase heuristic methods to solve the problem. Li-Ying and Yuan-Bin [23] presented the multiple EV charging station siting problem with time windows (EV-MCS-LRPTW) to optimize both infrastructure selection and charging station siting. Schiffer and Walther [5], Hof et al. [24], and Gatica et al. [25] proposed a novel EV location system that can simultaneously find charging stations and route EVs. Zhang et al. [26] constructed the routing problem for finding electric battery replacement stations with stochastic requirements. Paz et al. [27] proposed the electric location routing problem with time windows for multiple depots. The Electric Vehicles Integrated Planning Problem (EVs-IPP) was presented by Arias et al. [28]. The optimal placement of charging stations was performed considering the routes of EVs and the impact on the power-distribution system. Chen et al. [29] propose the problem of location and routing battery swap stations with time windows and a mixed fleet of electric and conventional vehicles (BSS-MF-LRPTW). Çalık et al. [30] assumed a heterogeneous fleet of EVs with limited capacity in solving the EVLRP.
One of the extensions of the EVRP is the pickup-and-delivery problem (PDP), where a customer must either be delivered or picked up. To the best of our knowledge, there are six journal articles in the current literature that propose different approaches to solving the electric vehicle routing problem with pickup and delivery and time windows (EVRP-PDP-TW). In this context, Lin, Zhou, and Wolfson [11] introduced the assumption that vehicle load affects battery consumption, and Zhao and Lu [31] considered a heterogeneous EV fleet with fixed charging times at charging stations. Grandinetti et al. [32] and Yang et al. [33] also proposed a homogeneous EV fleet with a linear charging function. Goeke [34] and Ahmadi et al. [35] both assume partial charging with linear and nonlinear charging functions, respectively. Ghobadi et al. [36] propose a multi-depot pickup and delivery problem for EVs with fuzzy time windows. Soysal et al. [37] studied the impact of stochastic battery discharge of EVs by visiting battery swap stations instead of charging stations for EVRP-PDP. Nolz et al. [38] developed an ALNS-based procedure to solve EVRP-PDP under the assumptions of a linear charging function, partial charging, and a heterogeneous EV fleet.
In summary, the current EVRP literature is limited to studies in which customer demand implies either delivery only or non-simultaneous delivery and pickup. To our knowledge, there is no study of EVRP in the literature that considers simultaneous pickup and delivery. Table 1 provides a summary of the literature on EVRP with pickup and delivery.

3. Mathematical Model

In this work, we address the problem of designing a network that simultaneously delivers/picks up freight from a central depot to customers and vice versa using EVs that need to visit multiple charging stations due to their limited range. In this context, the assumptions of EVRP-SPD can be formulated as follows: A group of customers is located in a distribution network in which customers require both deliveries and pickups. Partial deliveries and partial pickups are not allowed. Each customer must be served once for both operations with a given fleet of identical EVs; the EV fleet is homogeneous. Each vehicle leaves the central depot with the total amount of goods to be delivered and returns to the depot with the total amount of goods picked up. The vehicle load cannot exceed the vehicle capacity at any time during the tour. The capacity of the depot is unlimited. An EV visiting the charging station leaves with a full load; partial loads are not allowed. Charging stations may be visited more than once by the same EV. It is assumed that EVs are charged at a constant rate at charging stations. The objective function is to minimize the total distance traveled by the EVs.
An integer-model program based on three index nodes with the following notation is proposed for EVRP-SPD:
Notation and Sets
n d = number   of   depots
n r = number   of   charging   stations
n c = number   of   customers
n k = number   of   EVs
N D = the   set   of   depot   1 ,   ,   n d
N R = the   set   of   charging   stations   n d + 1 ,   ,   n d + n r
N C = the   set   of   customers   n d + n r + 1 ,   ,   n d + n r + n c
N R C = the   set   of   charging   stations   and   customers   n d + 1 ,   , n d + n r + n c
N D R C = the   set   of   depots ,   charging   stations   and   customers   n d ,   ,   n d + n r + n c
N = the   set   of   nodes   1 ,   ,   n d + n r + n c
N k = the   set   of   EVs   at   the   depot   1 ,   ,   n k
Parameters
d i j =   distance   from   nodes   i   to   j
Q k = maximum   loading   capacity   of   EV   k
B C k = maximum   battery   capacity   of   EV   k
g k = charging   rate   of   EV   k
h k = energy   consumption   rate   of   EV   k
D j = delivery   goods   demand   of   customer   j   j N C
P j =   pick - up   goods   demand   of   customer   j j N C
Decision Variables
x k i j = 1 , i f   n o d e   j   v i s i t e d   b y   E V   k   after   node   i ; 0 , o t h e r w i s e k   N k   ,   i , j N D N R N c
U k i j = amount   of   goods   to   be   delivered   by   EV   k   on   the   arc   ( i , j )   i , j N ,   k N k
V k i j = amount   of   goods   picked - up   by   EV   k   on   the   arc   ( i , j )   i , j N ,   k N k
B S C a i k = charge   level   of   EV   k   upon   arrival   at   node   i   i N ,   k N k
B S C d i k =   charge   level   of   EV   k   at   departure   from   node   i   i N ,   k N k
MODEL
M i n   Z = k N k i N j N d i j x k i j
k N k i N x k i j = 1 ,   j N C
i N x k j i i N x k i j = 0 ,   k N k   ,   j N
j N R C x k i j 1 ,   k N k   ,   i N D
j N R C x k j i 1 ,   k N k   ,   i N D
U k i j = 0 ,   i N R C   ,   j N D , k N k
V k j i = 0 ,   i N R C   ,   j N D , k N k
U k i j + V k i j Q k x k i j ,   i , j N ,   k N k
x k i i = 0 ,   i N ,   k N k
B S C a i k 0 ,   i N ,   k N k
B S C d i k = B C k ,   i N D ,   k N k
B S C a j k B S C a i k h k d i j x k i j + B C k 1 x k i j ,   i N C   , j N ,   i j , k N k
B S C a j k B S C d i k h k d i j x k i j + B C k 1 x k i j ,   i , j N ,   i j ,   k N k
B S C a i k B S C d i k ,   i N ,   k N k
B S C d i k B C k ,   i N ,   k N k
B S C a i k = B S C d i k ,   i N C ,   k N k
B S C d i k = B C k ,   i N R ,   k N k
i N U k i j = i N U k j i ,   j N R ,   k N k
i N V k i j = i N V k j i ,   j N R ,   k N k
k N k i N U k i j k N k i N U k j i = D j ,   j N R C
k N k i N D R C V k i j k N k i N D R C V k j i = P j ,   j N R C
d i j x k j i ,   i , j N ,   k N k
x k i j 0 , 1 ,   k N k ,   i , j N D N R N C
U k i j ,   B S C a i k ,   B S C d i k , V k i j 0 ,   i , j N ,   k N k
The objective function (1) aims to minimize the total distance traveled by EVs. Constraint (2) ensures that each customer is visited exactly once, while Constraint (3) ensures that EVs depart immediately after visiting a customer or charging station, and that EVs leaving the depot return to the depot. Constraints (4), (5), and (22) allow EVs to be used only when needed at the depot. Constraint (6) states that no goods are delivered in EVs returning to the depot from the customer. Constraint (7) states that no goods will be picked up in EVs traveling from the depot to the customer. Constraint (8) states that the total number of goods picked up and to be delivered by the EV shall not exceed the capacity of the EV. Constraint (9) prevents the formation of a sub-tour with an element by preventing a trip from the current node to the node itself. Constraint (10) ensures that the charge level of EV k upon arrival at node i shall not be negative. Constraint (11) states that EVs leave the depot fully charged. Constraint (12) ensures that the charge level of vehicle k arriving at node j is less than or equal to the charge level arriving at node i . Constraint (13) ensures that the charge level of vehicle k arriving at node j is less than or equal to the charge level at departure from node i . Constraints (14)–(17) are other constraints related to the battery state of charge. Constraint (18) states that the amount of goods to be delivered by an EV visiting the charging station remains the same, while Constraint (19) states that the amount of goods picked up remains the same. Constraints (20) and (21) ensure that customer demand for the goods to be delivered and the goods to be picked up are satisfied by the same EV. Constraints (23) and (24) define the nature of the variables.

4. The Proposed Solution Methodology

Considering the complexity of the problem, we developed a metaheuristic solution approach based on the VNS algorithms to solve the EVRP-SPD. Several variants of the VNS solution approach were implemented in this methodology. A modified Clark and Wright Savings algorithm, which takes into account the assumptions and characteristics of the problem, was developed to obtain a feasible initial solution. Algorithm 1 details the creation of a feasible initial solution. In addition to the shaking and local search operators of the VNS, we also used well-known destruction and repair operators to improve the performance of the VNS. VNS was first proposed by Mladenović and Hansen [39]. The basic idea is to explore distant neighborhoods of the current solution and switch to a new solution only when improvement has been achieved. It is widely used to solve different variants of VRPs [1,7,29,40,41,42,43,44,45]. In this paper, we integrated the features of the proposed problem into the VNS. The details of the proposed solution approach are described in Algorithm 2.
Algorithm 1 Modified CW Savings Algorithm for EVRP-SPD
1: Start
2: while There are customers not added to the routes do
3:      Create back-forth (BF) tours (depot-customer-depot)
4:      if EV charge level insufficient to complete the tour then
5:      Add the CS with the lowest cost to the tour
6:      if energy constraint is not met then
7:        Cancel the tour and remove from tour list
8:        Add customer to the list of unvisited customers
9:      else
10:       Add the tour to the tour list
11:     end if
12:     else
13:     Add the BF tour to the tour list
14:     end if
15: end while
16: Create savings list by computing the savings
17: Sort the savings in descending order
18: while the savings list is not empty do
19:     Select two BF tours with largest savings
20:     if customer(s) have already been added to the current tours then
21:     Cancel the merge
22:     Remove the relevant customer pair from the savings list
23:     else
24:     Check remaining capacity of EV
25:     if capacity constraint is not met then
26:         Cancel the merge
27:         Remove the relevant customer pair from the savings list
28:     else
29:       Check remaining charge level of EV
30:       if energy constraint is not met then
31:        Add CS to the tour with minimum cost
32:        if energy constraint is not met then
33:         Cancel the merge
34:         Remove the relevant customer pair from the savings list
35:        else
36:         Merge selected BF tours
37:         Update the tour list
38:        end if
39:       else
40:        Merge selected BF tours
41:        Update the tour list
42:       end if
43:     end if
44:     end if
45:     Update the savings list based on new tour list
46: end while
47: Add customers from the list of unvisited customers to existing tours using the greedy insertion operator
48: End
Algorithm 2 VNS Framework
1: Function VNS Variants ( x ,   k m a x ,   N )
2: f b e s t x Initial Solution
3: while the stopping condition is not fulfilled do
4:   k 1
5:  while k k m a x  do
6:   x Shake ( x ,   k ,   N );
7:   x Local Search ( x , N );
8:  Neighborhood Change: Sequential or Pipe or Cyclic ( x , x , k );
9:  if f x < f b e s t then
10:     x x ; f b e s t = f x ;
11:   end if
12:  end while
13: end while
14: Return x

4.1. Construction of the Initial Solution

To generate a feasible initial solution, we employ the savings heuristic proposed by Clarke and Wright [46] for EVRP-SPD. There are variations of saving heuristics developed for VRP and its extensions in the literature, but to our knowledge, a version for EVRP-SPD does not yet exist. To this end, we have adapted a savings heuristic that takes into account the limited range of EVs and simultaneous pickup and delivery.
Unlike the original method, a greedy insertion operator inserts a charging station with the maximum savings value (minimum insertion cost) into the back–forth tour (depot–customer–depot). If the battery constraint is not met even after the charging station is added, the relevant tour is removed, and the customer in the tour is added to the list of unvisited customers ( L u n v i s i t e d ) . A savings list is generated that includes each pair of customers in back-and-forth tours and the savings values of those pairs. To calculate the savings values of each pair of customers, we used the formulation proposed by Clarke and Wright [46]. In Equation (25), d i 0 , d 0 j , and d i j represent the distances between the depot and customer i , the depot and customer j , and customer i and customer j , respectively.
s i j = d i 0 + d 0 j d i j
After the saving list is created, the list is sorted in descending order of savings values. Then, tours involving those customers are merged, starting with the pair of customers with the greatest savings value. If the new tour violates vehicle capacity, the merge is canceled, the relevant customer pair is removed from the savings list, and the merge continues with the next customer pair with the highest savings value. If the new tour violates battery constraint, the charging station with the minimum insertion cost is added to the tour. Minimum insertion cost represents the one that increases the tour distance the least among all possible charging stations, which, when added to the tour, makes the tour convenient. If feasibility cannot be achieved even after the charging station is added, a second charging station is not added, and the merge process is canceled. The relevant customer pair is removed from the savings list. The cycle continues with the next customer pair with the highest savings value until there are no pairs of customers left on the savings list. After merging of the tours is complete, the customers that have not yet been visited ( L u n v i s i t e d ) are inserted into the created tours using a greedy insertion operator.

4.2. Variable Neighborhood Search

Metaheuristics are expected to explore the solution space efficiently to find good-quality solutions and to do so as quickly as possible. By using multiple neighborhood structures and changing them systematically during the search, VNS has an excellent ability to explore the search space and shows superior performance over its competitors [1,7,21,24,43,47,48,49]. While shaking operators are used to diversify the search and to explore different neighborhoods, local search operators are used to find the local optima of a particular neighborhood. Therefore, it is crucial to choose the best neighborhood operators to obtain high-quality solutions to the problem.
In this work, different VNS variants, such as reduced VNS (RVNS), basic VNS (BVNS), general VNS (GVNS), nested VNS (NVNS), and random VNS (RNDVNS), and different neighborhood change steps, such as sequential, pipe, and cyclic, were tested to solve the EVRP-SPD. The purpose of the neighborhood change steps is to guide the VNS in exploring the solution space. In other words, it decides which neighborhood to explore after the incumbent solution and which solution or solutions to accept as the new incumbent solution(s). Commonly used neighborhood change steps are sequential, pipe, and cyclic [50]. In sequential neighborhood change, exploration continues in the first neighborhood structure of the new incumbent solution if improvement in the incumbent solution occurs in any neighborhood structure; otherwise, exploration continues in the next neighborhood. Regardless of whether there is improvement in the incumbent solution in the current neighborhood, exploration continues in the next neighborhood structure in the cyclic neighborhood change step, whereas in the pipe neighborhood change step, exploration continues in the current neighborhood. In this work, sequential, pipe, and cyclic neighborhood change steps are used in the VNS variants. Details can be found in Table 2.
Reduced VNS is a variant of the VNS heuristic introduced by Mladenović and Hansen [39] for solving combinatorial optimization problems [51,52,53]. RVNS is practical for large instances where local search is computationally intensive. Instead of searching for all solutions of a neighborhood structure, RVNS randomly selects one solution and immediately performs the neighborhood change step. Another variant of VNS is basic VNS, which examines neighborhood structures in a predefined order. If the solution improves when any neighborhood structure is applied, the search should be restarted at the first structure [54]. Therefore, BVNS uses a sequential step to change the neighborhood. General VNS uses local search with variable neighborhood descent (VND) within the BVNS scheme [55]. A simplification of VNS, called nested VNS, consists of applying a VNS variant to each point of a predefined nested (combined) neighborhood structure as a local search procedure [56]. Random VNS (RNDVNS) differs from BVNS by selecting the nearest neighborhood structure to visit. RNDVNS consists of randomly selecting an unvisited neighborhood to continue the search when a neighborhood structure cannot find an improved solution [57]. This variant does not depend on a predetermined order of visits to neighborhood structures.
For a pseudocode overview of the VNS and its variants, see Algorithm 2. First, the algorithm takes as input an initial solution generated by the modified C&W savings algorithm. A local search phase is used to improve the solution, and a shaking phase is used to avoid local minima traps. The neighborhood change step is performed sequentially until a predefined stop condition is satisfied. In this study, a reasonable time limit considering the problem size of datasets is applied as a termination criterion on the same hardware configuration. Thus, a fair performance comparison among algorithms is provided.

4.3. Neighborhood Structures

The neighborhood structures used in this work are described below. They are based on neighborhoods used in the VRP and EVRP literature. Four inter-route operators (replace, cross, exchange, and shift) and five intra-route operators (swap, 2-opt, 3-opt, insert customer, and insert charging station) are used, while six removal operators (Shaw customer, maximum distant n customer, random n customer, minimum capacity route, random route, and maximum distant one customer removal) are used in the shaking step. When a removal operator is used in the shaking step, repair operators (inserting a distance base, inserting a greedy customer, and creating a route from the list of removed customers) are used in the local search step. Further, four operators for best move (best swap of customers, best swap of all customers and charging stations), best insertion, and best reverse route) are used in the local search step. See Table 3 for details on the neighborhood structures.

5. Numerical Investigations

5.1. Implementation

Experiments with the proposed solution approaches and CPLEX were performed on a machine with an Intel Core i7-9750H CPU with 6 cores at 2.60 GHz and at least 16GB RAM. The mathematical model we developed for EVRP-SPD was solved using CPLEX 12.1 in one-threaded mode for small instances. The proposed algorithms were coded in MATLAB, a simple and effective programming language. Moreover, each experiment was performed in one-threaded mode using the asynchronous structure of the Parallel Computing Toolbox of MATLAB R2020b. Thus, by taking advantage of this parallel computing structure, replications of the experiments were obtained sooner than if the experiments had been run in sequence. CPLEX, on the other hand, was used to obtain exact results for small instances and to confirm that the VNS algorithms can reach these optimal results.

5.2. Generation of EVRP-SPD Instances

There is no available instance set for EVRP-SPD, as the problem has not yet been studied in the literature. Therefore, we created new instance sets to test our solution approach. EVRP-SPD instances were derived from EVRP-TW instance sets by Schneider, Stenger, and Goeke [1]. The original instance sets have 36 small and 56 large instances, but in this study 36 small and 34 large instances were derived from the instance sets by Schneider, Stenger, and Goeke [1] for EVRP-SPD. While all large instances from Schneider, Stenger, and Goeke [1] are identical in terms of customer and charging station locations, the 34 large instances differed in terms of pickup and delivery requirements, battery, and load capacity of EVs in EVRP-SPD. The small instances consisted of 5, 10, and 15 customers, and the large instances included 100 customers and 21 charging stations. There were three types of instances in terms of geographical distribution of customer coordinates: random distribution (R), clustered distribution (C), and a combination of both (RC).
One of the precautions taken in the datasets used was to redetermine customer demand in accordance with the model. The simultaneous pickup and delivery constraint requires two different sets of demand data for each customer, for both pickup and delivery. In this context, customer demand was recalculated in the original dataset, as in the method used by Salhi and Nagy [2].
In this method, a coefficient k i = min x i / y i , y i / x i is determined based on the coordinates of each customer x i , y i . Then, this coefficient and customer demand q i of the original dataset are used to calculate the delivery D i and pickup P i demand of each customer. The equations D i = k i q i and P i = k i q i are used for delivery and pickup demand, respectively.

5.3. Neighborhood Structure Tests on Instances

In this section, 26 neighborhood structures were tested on three types of instances with respect to the geographic distribution of customer coordinates (C, R, and RC) to decide which neighborhoods to use and in what order. All operators of the shaking and local search steps started with the same solution ( x ) in their own step, since it is important that each operator competes under the same conditions. New neighborhoods ( N s ,   s = 1 , ,   s m a x ) explored by each operator in the shaking step are determined as the incumbent solutions ( x ) for each local search operator. Then, new neighborhoods ( N l ,   l = 1 , ,   l m a x ) are explored by each operator in the local search. Similarly, the fitness values of the newly explored neighborhoods are compared, and the best one is determined as the incumbent solution ( x ), so that one iteration is completed. This cycle continues until the established termination criteria are met. In summary, the average success rate ( A S R k ) of each operator can be calculated as follows:
A S R k = 100 N S k / N T k
where N S k represents the number of successes of the k ’th operator. Success means that a new neighborhood with better fitness is explored. N T k represents the total number of attempts of the k ’th operator. The average success rates of the most successful operators used in this work are shown in descending order for small and large instances in Figure 2 and Figure 3, respectively.
Algorithm 3 Neighborhood Structure (NS) Performance Test Algorithm
1: Function Fair Performance Comparison
2: Select the set of NS for Shake Phase ( S H i ,   i = 1 ,   ,   i m a x )
3: Select the set of NS for Local Search Phase ( L S j ,   j = 1 ,   ,   j m a x )
4: N o S S H i 0 // Initialize No of Success for S H i
5: N o S L S j 0 // Initialize No of Success for L S j
6: N o T S H i 0 // Initialize No of Total Usage for S H i
7: N o T L S j 0 // Initialize No of Total Usage for L S j  
8: A S R S H i   : Average Success Rate of S H i
9: A S R L S j : Average Success Rate of L S j  
10: x b e s t Initial Solution by Modified CW Savings
11: while the stopping condition is not fulfilled do
12:   x x b e s t ;
13:  for  i = 1 : i m a x  do
14:     x i  Shake ( x , S H i );
15:     N o T S H i = N o T S H i + 1   ;
16:    if  f x i < f x then
17:       N o S S H i = N o S S H i + 1   ;
18:    end if
19:    if  f x i < f b e s t   then
20:       x b e s t = x i ;
21:    end if
22:    for  j = 1 : j m a x  do
23:       x j Local Search ( x i , L S j );
24:       N o T L S j = N o T L S j + 1 ;
25:      if f x j < f x i then
26:         N o S L S j = N o S L S j + 1 ;
27:      end if
28:      if   f x j < f b e s t then
29:         x b e s t = x j ;
30:      end if
31:    end for
32:  end for
33: end while
34: for  i = 1 : i m a x  do
35:   A S R S H i = 100 × N o S S H i ÷ N o T S H i ;
36: end for
37: for  j = 1 : j m a x  do
38:   A S R L S j = 100 × N o S L S j ÷ N o T L S j ;
39: end for
40: Return  x b e s t ,   A S R S H i ,   A S R L S j
When operators were ranked by success rate, similar results were obtained for three different customer location groups (C, R, and RC), but different results were obtained in terms of problem size. For this reason, the same set of operators was used for the three types of instances. Since the success rates of the operators were different for large and small problems, two sets of operators were created in which the operators and their order were different. The operators that could not improve the solution, i.e., with a success rate of zero ( A S R k = 0 % ), were eliminated. Moreover, each neighborhood structure was ordered in descending order of success rate to reduce the solution time. The operator sets to solve all the problems in the corresponding instances are listed in Table 4.

5.4. Numerical Results

Small test instances for EVRP-SPD were used to analyze the performance of our VNS-based solution approaches. For this purpose, the instances were solved with VNS variants, and the results were compared with the optimal solution found by the commercial solver CPLEX 12.1 using the EVRP-SPD formulation presented in Section 3.
An overview of the results is given in Table 5 and Table 6. For both CPLEX and VNS, the computation time in seconds is given in column t . For the solutions obtained with CPLEX, the distance traveled (column f ) corresponds to the optimal solution. For VNS, column f provides the best solution found in six runs, and column Δ f denotes the gap to the traveled distance found by CPLEX.
The results show that the proposed solution heuristic is able to optimally solve small EVRP-SPD instances in only a few seconds. If CPLEX finds an optimum within 7200 s, we always obtain the optimal solution, regardless of the structure or size of the instance. For all large instances, CPLEX is not able to find an optimal solution or an upper bound within 7200 s. The results show that the proposed solution approach can identify highly efficient vehicle routes that utilize the available charging stations.
A total of six instances, two of each instance type (C, R, and RC), were selected from the large instances and solved with VNS variants. The results are shown in Table 7, where the computation time for all tests was limited to 2400 s. For the solutions obtained, column f indicates the best solution found in six runs, and column Δ f denotes the distance to the best solution found within all VNS variants. The bottom row gives the average values of the gaps for each variant. As can be seen in Table 7, the smallest average of the gaps belongs to RVNS with cyclic neighborhood change step (V3) and GVNS with cyclic neighborhood change step (V6). After that, the order continues as follows: V7, V1, V9, V2, V8, V5, V12, V10, and V11.
Comparison of the results in terms of the gaps of each variant for C, R, and RC instances is shown in Figure 4a–c. According to the results, the most efficient solution approach is V6 for C, V3 for R, and V3 for RC. Comparison of the average gaps of the twelve solution approaches in selected large instances is shown in Figure 5. Considering all selected large instances, the solution approaches with the smallest gaps are V3 and V6. For this reason, the large instances were solved using V3 and V6.
Comparison of the results obtained with VNS variants V3 and V6 for all large instances is shown in Table 8. The computation time was limited to 2400 s for all tests. For the obtained solutions, column f indicates the best solution found in six runs, and column Δ f denotes the distance from the best solution found with VNS variants V3 and V6. The bottom row contains the average values of the gaps for each variant. As can be seen in Table 8, the smallest average of the gaps belongs to RVNS with cyclic neighborhood change step (V3).
Real-world problems have generally unknown search spaces with many difficulties. In optimization, such difficulties significantly reduce the performance of optimization algorithms that were implemented well on benchmark functions or simple case studies. In this study, the electric vehicle routing problem with simultaneous pickup and delivery (EVRP-SPD), encountered in real life applications, especially in city logistics, is solved theoretically. The problem can also be extended to logistics problems in the industry. The EVRP-SPD cannot be easily solved due to its np-hard nature. Therefore, several VNS variants and neighborhood structures were extensively tested, and the results were compared in detail. We observed that reduced VNS with cyclic neighborhood change step (V3) gives better results than other VNS variants. The reduced VNS, which uses only the shake step and the cyclic neighborhood change step procedure without the use of the local search step has a better exploration capability than other variants. The proposed solution approach can be used, especially in real-life applications of the EVRP-SPD.

6. Conclusions

VNS is a metaheuristic solution approach generating good results for a wide variety of problems with efficient computation time. On the other hand, it requires effort to design problem-specific neighborhood structures that explore the solution space quickly while avoiding local optima.
In this paper, an integer programming model formulation based on three index nodes is proposed for the EVRP-SPD. It is assumed that goods need to be transported from a central depot to different customers and vice versa using EVs that visit charging stations along the route in case of an empty battery. An important innovation of our model is that we assume that each customer has a delivery need and a pickup need at the same time. To solve small and large instances, a modified C&W saving algorithm considering SPD was developed to construct an initial solution. Then, a total of 12 solution approaches, consisting of 5 VNS variants with 3 neighborhood modification steps, were presented to improve the initial solution and to find the best solution in a reasonable time. Moreover, the neighborhood structures of VNS were determined by experiments for each type of instance set. Computational experiments with different instance sets showed the importance of neighborhood structures, solution methodology, and the neighborhood change step to find high-quality solutions in an efficient time by moving between neighbors in the search space.
The solution approaches presented can be used by companies to reduce operating costs and emissions in transportation. Future research could focus on studying mixed fleets of EVs and how to use them efficiently given their limited range and battery capacity. The problem we studied could also be extended by considering partial and nonlinear charging strategies and multi-echelon distribution systems that would better fit the context of sustainable urban logistics.

Author Contributions

Conceptualization, Y.Y. and C.B.K.; Data curation, Y.Y. and C.B.K.; Formal analysis, Y.Y. and C.B.K.; Funding acquisition, C.B.K.; Investigation, Y.Y. and C.B.K.; Methodology, Y.Y. and C.B.K.; Project administration, Y.Y. and C.B.K.; Resources, Y.Y. and C.B.K.; Software, Y.Y. and C.B.K.; Supervision, C.B.K.; Validation, Y.Y. and C.B.K.; Visualization, Y.Y. and C.B.K.; Writing—original draft, Y.Y. and C.B.K.; Writing—review & editing, Y.Y. and C.B.K. All authors have read and agreed to the published version of the manuscript.

Funding

This research is funded by the Scientific and Technological Research Council of Turkey (TUBITAK) under grant number 119M236.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. 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]
  2. Salhi, S.; Nagy, G. A cluster insertion heuristic for single and multiple depot vehicle routing problems with backhauling. J. Oper. Res. Soc. 1999, 50, 1034–1042. [Google Scholar] [CrossRef]
  3. Dantzig, G.B.; Ramser, J.H. The Truck Dispatching Problem. Manag. Sci. 1959, 6, 80–91. [Google Scholar] [CrossRef]
  4. Afroditi, A.; Boile, M.; Theofanis, S.; Sdoukopoulos, E.; Margaritis, D. Electric Vehicle Routing Problem with Industry Constraints: Trends and Insights for Future Research. Transp. Res. Procedia 2014, 3, 452–459. [Google Scholar] [CrossRef]
  5. Schiffer, M.; Walther, G. The electric location routing problem with time windows and partial recharging. Eur. J. Oper. Res. 2017, 260, 995–1013. [Google Scholar] [CrossRef]
  6. 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]
  7. Bruglieri, M.; Pezzella, F.; Pisacane, O.; Suraci, S. A Variable Neighborhood Search Branching for the Electric Vehicle Routing Problem with Time Windows. Electron. Notes Discret. Math. 2015, 47, 221–228. [Google Scholar] [CrossRef]
  8. Keskin, M.; Catay, 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]
  9. Desaulniers, G.; Errico, F.; Irnich, S.; Schneider, M. Exact Algorithms for Electric Vehicle-Routing Problems with Time Windows. Oper. Res. 2016, 64, 1388–1405. [Google Scholar] [CrossRef]
  10. Montoya, A.; Gueret, C.; Mendoza, J.E.; Villegas, J.G. The electric vehicle routing problem with nonlinear charging function. Transp. Res. B Methodol. 2017, 103, 87–110. [Google Scholar] [CrossRef] [Green Version]
  11. Lin, J.; Zhou, W.; Wolfson, O. Electric Vehicle Routing Problem. Transp. Res. Procedia 2016, 12, 508–521. [Google Scholar] [CrossRef]
  12. 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]
  13. Kancharla, S.R.; Ramadurai, G. Electric vehicle routing problem with non-linear charging and load-dependent discharging. Expert Syst. Appl. 2020, 160, 113714. [Google Scholar] [CrossRef]
  14. Strehler, M.; Merting, S.; Schwan, C. Energy-efficient shortest routes for electric and hybrid vehicles. Transp. Res. B Methodol. 2017, 103, 111–135. [Google Scholar] [CrossRef]
  15. Froger, A.; Mendoza, J.E.; Jabali, O.; Laporte, G. Improved formulations and algorithmic components for the electric vehicle routing problem with nonlinear charging functions. Comput. Oper. Res. 2019, 104, 256–294. [Google Scholar] [CrossRef]
  16. Keskin, M.; Laporte, G.; Catay, B. Electric Vehicle Routing Problem with Time-Dependent Waiting Times at Recharging Stations. Comput. Oper. Res. 2019, 107, 77–94. [Google Scholar] [CrossRef]
  17. 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]
  18. Goeke, D.; Schneider, M. Routing a mixed fleet of electric and conventional vehicles. Eur. J. Oper. Res. 2015, 245, 81–99. [Google Scholar] [CrossRef]
  19. Hiermann, G.; Puchinger, J.; Ropke, S.; Hartl, R.F. The Electric Fleet Size and Mix Vehicle Routing Problem with Time Windows and Recharging Stations. Eur. J. Oper. Res. 2016, 252, 995–1018. [Google Scholar] [CrossRef]
  20. Hiermann, G.; Hartl, R.F.; Puchinger, J.; Vidal, T. Routing a mix of conventional, plug-in hybrid, and electric vehicles. Eur. J. Oper. Res. 2019, 272, 235–248. [Google Scholar] [CrossRef] [Green Version]
  21. Lu, J.; Chen, Y.N.; Hao, J.K.; He, R.J. The Time-dependent Electric Vehicle Routing Problem: Model and solution. Expert Syst. Appl. 2020, 161, 113593. [Google Scholar] [CrossRef]
  22. Yang, J.; Sun, H. Battery swap station location-routing problem with capacitated electric vehicles. Comput. Oper. Res. 2015, 55, 217–232. [Google Scholar] [CrossRef]
  23. Li-Ying, W.; Yuan-Bin, S. Multiple charging station location-routing problem with time window of electric vehicle. J. Eng. Sci. Technol. Rev. 2015, 8, 190–201. [Google Scholar] [CrossRef]
  24. Hof, J.; Schneider, M.; Goeke, D. Solving the battery swap station location-routing problem with capacitated electric vehicles using an AVNS algorithm for vehicle-routing problems with intermediate stops. Transport. Res. B Methodol. 2017, 97, 102–112. [Google Scholar] [CrossRef]
  25. Gatica, G.; Ahumada, G.; Escobar, J.W.; Linfati, R. Efficient Heuristic Algorithms for Location of Charging Stations in Electric Vehicle Routing Problems. Stud. Inform. Control 2018, 27, 73–82. [Google Scholar] [CrossRef]
  26. Zhang, S.; Chen, M.Z.; Zhang, W.Y. A novel location-routing problem in electric vehicle transportation with stochastic demands. J. Clean. Prod. 2019, 221, 567–581. [Google Scholar] [CrossRef]
  27. Paz, J.C.; Granada-Echeverri, M.; Escobar, J.W. The multi-depot electric vehicle location routing problem with time windows. Int. J. Ind. Eng. Comput. 2018, 9, 123–136. [Google Scholar] [CrossRef]
  28. Arias, A.; Sanchez, J.D.; Granada, M. Integrated planning of electric vehicles routing and charging stations location considering transportation networks and power distribution systems. Int. J. Ind. Eng. Comput. 2018, 9, 535–550. [Google Scholar] [CrossRef]
  29. Chen, Y.; Li, D.; Zhang, Z.; Wahab, M.I.M.; Jiang, Y. Solving the battery swap station location-routing problem with a mixed fleet of electric and conventional vehicles using a heuristic branch-and-price algorithm with an adaptive selection scheme. Expert Syst. Appl. 2021, 186, 115683. [Google Scholar] [CrossRef]
  30. Çalık, H.; Oulamara, A.; Prodhon, C.; Salhi, S. The electric location-routing problem with heterogeneous fleet: Formulation and Benders decomposition approach. Comput. Oper. Res. 2021, 131, 105251. [Google Scholar] [CrossRef]
  31. Zhao, M.T.; Lu, Y.W. A Heuristic Approach for a Real-World Electric Vehicle Routing Problem. Algorithms 2019, 12, 45. [Google Scholar] [CrossRef]
  32. Grandinetti, L.; Guerriero, F.; Pezzella, F.; Pisacane, O. A pick-up and delivery problem with time windows by electric vehicles. Int. J. Product. Qual. Manag. 2016, 18, 403–423. [Google Scholar] [CrossRef]
  33. Yang, S.; Ning, L.; Tong, L.C.; Shang, P. Optimizing electric vehicle routing problems with mixed backhauls and recharging strategies in multi-dimensional representation network. Expert Syst. Appl. 2021, 176, 114804. [Google Scholar] [CrossRef]
  34. Goeke, D. Granular tabu search for the pickup and delivery problem with time windows and electric vehicles. Eur. J. Oper. Res. 2019, 278, 821–836. [Google Scholar] [CrossRef]
  35. Ahmadi, S.; Tack, G.; Harabor, D.; Kilby, P. Vehicle Dynamics in Pickup-and-Delivery Problems Using Electric Vehicles. 2021. Available online: https://drops.dagstuhl.de/opus/volltexte/2021/15302/ (accessed on 6 April 2022).
  36. Ghobadi, A.; Tavakkoli Moghadam, R.; Fallah, M.; Kazemipoor, H. Multi-depot electric vehicle routing problem with fuzzy time windows and pickup/delivery constraints. J. Appl. Res. Ind. Eng. 2021, 8, 1–18. [Google Scholar]
  37. Soysal, M.; Cimen, M.; Belbag, S. Pickup and delivery with electric vehicles under stochastic battery depletion. Comput. Ind. Eng. 2020, 146, 106512. [Google Scholar] [CrossRef]
  38. Nolz, P.C.; Absi, N.; Feillet, D.; Seragiotto, C. The consistent electric-Vehicle routing problem with backhauls and charging management. Eur. J. Oper. Res. 2022, 302, 700–716. [Google Scholar] [CrossRef]
  39. Mladenović, N.; Hansen, P. Variable neighborhood search. Comput. Oper. Res. 1997, 24, 1097–1100. [Google Scholar] [CrossRef]
  40. Bräysy, O. A Reactive Variable Neighborhood Search for the Vehicle-Routing Problem with Time Windows. INFORMS J. Comput. 2003, 15, 347–368. [Google Scholar] [CrossRef]
  41. 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]
  42. 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]
  43. Schneider, M.; Stenger, A.; Hof, J. An adaptive VNS algorithm for vehicle routing problems with intermediate stops. OR Spectr. 2015, 37, 353–387. [Google Scholar] [CrossRef]
  44. Zhu, X.N.; Yan, R.; Huang, Z.C.; Wei, W.C.; Yang, J.Q.; Kudratova, S. Logistic Optimization for Multi Depots Loading Capacitated Electric Vehicle Routing Problem From Low Carbon Perspective. IEEE Access 2020, 8, 31934–31947. [Google Scholar] [CrossRef]
  45. Paul, A.; Kumar, R.S.; Rout, C.; Goswami, A. A bi-objective two-echelon pollution routing problem with simultaneous pickup and delivery under multiple time windows constraint. OPSEARCH 2021, 58, 962–993. [Google Scholar] [CrossRef]
  46. 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]
  47. Li, L.; Li, T.; Wang, K.; Gao, S.; Chen, Z.; Wang, L. Heterogeneous fleet electric vehicle routing optimization for logistic distribution with time windows and simultaneous pick-up and delivery service. In Proceedings of the 16th International Conference on Service Systems and Service Management (ICSSSM), Shenzhen, China, 13–15 July 2019. [Google Scholar]
  48. Salhi, S.; Imran, A.; Wassan, N.A. The multi-depot vehicle routing problem with heterogeneous vehicle fleet: Formulation and a variable neighborhood search implementation. Comput. Oper. Res. 2014, 52, 315–325. [Google Scholar] [CrossRef]
  49. Wang, L.; Gao, S.; Wang, K.; Li, T.; Li, L.; Chen, Z.Y. Time-Dependent Electric Vehicle Routing Problem with Time Windows and Path Flexibility. J. Adv. Transp. 2020, 2020, 19. [Google Scholar] [CrossRef]
  50. Hansen, P.; Mladenovic, N.; Todosijevic, R.; Hanafi, S. Variable neighborhood search: Basics and variants. Euro J. Comput. Optim. 2017, 5, 423–454. [Google Scholar] [CrossRef]
  51. Hansen, P.; Mladenovic, N. Variable neighborhood search: Principles and applications. Eur. J. Oper. Res. 2001, 130, 449–467. [Google Scholar] [CrossRef]
  52. Hansen, P.; Mladenović, N. Developments of Variable Neighborhood Search. In Essays and Surveys in Metaheuristics; Springer: Berlin/Heidelberg, Germany, 2002; pp. 415–439. [Google Scholar]
  53. Hansen, P.; Mladenović, N.; Brimberg, J.; Pérez, J.A.M. Variable Neighborhood Search. In Handbook of Metaheuristics; Springer: Berlin/Heidelberg, Germany, 2019; pp. 57–97. [Google Scholar]
  54. Marinho Diana, R.O.; de Souza, S.R. Analysis of variable neighborhood descent as a local search operator for total weighted tardiness problem on unrelated parallel machines. Comput. Oper. Res. 2020, 117, 104886. [Google Scholar] [CrossRef]
  55. Mladenović, N.; Dražić, M.; Kovačevic-Vujčić, V.; Čangalović, M. General variable neighborhood search for the continuous optimization. Eur. J. Oper. Res. 2008, 191, 753–770. [Google Scholar] [CrossRef]
  56. Todosijević, R.; Benmansour, R.; Hanafi, S.; Mladenović, N.; Artiba, A. Nested general variable neighborhood search for the periodic maintenance problem. Eur. J. Oper. Res. 2016, 252, 385–396. [Google Scholar] [CrossRef]
  57. Kramer, A.; Subramanian, A. A unified heuristic and an annotated bibliography for a large class of earliness–tardiness scheduling problems. J. Sched. 2019, 22, 21–57. [Google Scholar] [CrossRef] [Green Version]
Figure 1. An illustration of the EVRP-SPD.
Figure 1. An illustration of the EVRP-SPD.
Mathematics 10 03108 g001
Figure 2. Most-successful operators in shaking and local search steps in small-sized instances.
Figure 2. Most-successful operators in shaking and local search steps in small-sized instances.
Mathematics 10 03108 g002
Figure 3. Most-successful operators in shaking and local search steps in large-sized instances.
Figure 3. Most-successful operators in shaking and local search steps in large-sized instances.
Mathematics 10 03108 g003
Figure 4. Gaps for (a) C, (b) R, and (c) RC instances.
Figure 4. Gaps for (a) C, (b) R, and (c) RC instances.
Mathematics 10 03108 g004
Figure 5. Gaps for selected large-sized instances.
Figure 5. Gaps for selected large-sized instances.
Mathematics 10 03108 g005
Table 1. EVRP with pickup and delivery in the literature.
Table 1. EVRP with pickup and delivery in the literature.
PaperSPDPDPTWPDBSSMDDMECMOCMTMHEFPCCF
Grandinetti, Guerriero, Pezzella, and Pisacane [32] L
Lin, Zhou, and Wolfson [11] L
Goeke [34] L
Zhao, and Lu [31] FT
Soysal, Cimen, and Belbag [37]
Ahmadi, Tack, Harabor, and Kilby [35] NL
Ghobadi, Tavakkoli Moghadam, Fallah, and Kazemipoor [36] FT
Yang, Ning, Tong, and Shang [33] L
Nolz, Absi, Feillet, and Seragiotto [38] L
SPD: Simultaneous Pickup and Delivery; PDP: Pickup and Delivery Problem; TW: Time Windows; PD: Partial Delivery; BSS: Battery Swap Station; MD: Multi-Depot; DM: Distance Minimization; ECM: Energy Cost Minimization; OCM: Other Costs Minimization; TM: Time Minimization; HEF: Heterogenous Fleet; PC: Partial Charging; L: Linear Charging Function; FT: Fixed Time; NL: Non-linear Charging Function.
Table 2. Neighborhood change steps considered in VNS variants.
Table 2. Neighborhood change steps considered in VNS variants.
NCSBVNSGVNSRVNSRNDVNSNVNS
Sequential(v4)-(v1)(v7)(v10)
Pipe-(v5)(v2)(v8)(v11)
Cyclic-(v6)(v3)(v9)(v12)
Table 3. VNS neighborhood structures.
Table 3. VNS neighborhood structures.
NameApplied toNameApplied to
Shaking StepCCSLocal Search StepCCS
Swap Best Swap Customer
2-Opt Best Swap All
3-OptBest Insert
Insert Customer (C) Best Reverse Route
Insert Charging Station (CS)
Replace
Cross
Exchange
Shift
Shaking StepDescriptionCCS
Shaw Customer RemovalSeedC (Random), C (Similarity)
Maximum Distant N Customer RemovalN (Random), C (Distance)
N Random Customer RemovalN (Random), C (Random)
Minimum Capacity Route RemovalR (Min Cap)
Random Route RemovalR (Random)
Maximum Distant One Customer RemovalC (Distance)
Local Search Step CCS
Distance Base InsertionDistance Change (Calc by Whole Route)
Greedy Customer InsertDistance Change (Calc by Pred. and Succ. Nodes)
Create a Route from List of RemovedCreates Routes from Single Customers that Cannot be Added to the Same Route
C: Customer, CS: Charging Station.
Table 4. Operator sets employed in small-sized and large-sized instances.
Table 4. Operator sets employed in small-sized and large-sized instances.
Small-Sized InstancesLarge-Sized Instances
ShakeShake
ReplaceReplace
ExchangeShift
CrossExchange
ShiftCross
InsertCSInsertCS
SwapMinCapRouteRem
NRandCustRemRandRouteRem
2-OptNRandCustRem
MaxDistant1CustRemMaxDistantNCustRem
ShawCustRemShawCustRem
MaxDistantNCustRemMaxDistant1CustRem
RandRouteRemSwap
MinCapRouteRemSingleCustRRem
3-OptInsertC
InsertC
Local SearchLocal Search
BestSwapALLBestInsert
BestInsertBestSwapALL
BestSwapCBestSwapC
BestRoutebyCSBestRoutebyCS
DistBasedCustInsDistBasedCustIns
GreedyInsertGreedyInsert
LremTo1RouteLremTo1Route
Table 5. Comparison of CPLEX vs. VNS variant results on small-sized instances.
Table 5. Comparison of CPLEX vs. VNS variant results on small-sized instances.
Reduced VNSBasic VNSGeneral VNS
CPLEXV1 SeqV2 PipeV3 CyclicV4 SeqV5 PipeV6 Cyclic
Instance f t Δ f f t Δ f f t Δ f f t Δ f f t Δ f f t Δ f f t Δ f
C101C5208.91.350%208.90.050.00%208.90.030.00%208.90.050.00%208.90.160.00%208.90.160.00%208.90.130.00%
C103C5154.51.20%154.50.170.00%154.50.170.00%154.50.20.00%154.50.70.00%154.50.340.00%154.50.360.00%
C206C5201.551.920%201.550.030.00%201.550.030.00%201.550.030.00%201.550.080.00%201.550.060.00%201.550.080.00%
C208C5158.481.340%158.480.060.00%158.480.080.00%158.480.080.00%158.480.060.00%158.480.060.00%158.480.090.00%
R104C5 *136.691.750%136.690-136.690-136.690-136.690-136.690-136.690-
R105C5 *139.481.230%139.480-139.480-139.480-139.480-139.480-139.480-
R202C5128.781.290%128.781.730.00%128.780.230.00%128.780.330.00%128.780.750.00%128.780.360.00%128.780.330.00%
R203C5179.061.370%179.060.220.00%179.060.20.00%179.060.20.00%179.0616.360.00%179.066.140.00%179.066.140.00%
RC105C5208.431.890%208.430.130.00%208.430.130.00%208.430.230.00%208.430.750.00%208.430.410.00%208.430.340.00%
RC108C5211.531.360%211.530.250.00%211.530.230.00%211.530.220.00%211.530.830.00%211.530.410.00%211.530.390.00%
RC204C5176.392.540%176.393.170.00%179.161.361.60%176.390.20.00%179.161.131.60%179.160.521.60%179.160.521.60%
RC208C5167.982.290%167.980.020.00%167.980.020.00%167.980.020.00%167.980.060.00%167.980.050.00%167.980.050.00%
C101C10260.014.850%260.015.670.00%260.013.130.00%260.017.360.00%265.759.522.20%260.0113.960.00%260.0119.950.00%
C104C10239.133.390%239.134.980.00%239.133.710.00%239.131.530.00%239.1317.080.00%239.139.120.00%239.139.420.00%
C202C10214.964.120%214.967.20.00%214.963.570.00%214.968.730.00%214.9610.720.00%214.966.030.00%214.964.540.00%
C205C10224.784.450%227.080.791.00%227.080.731.00%224.780.360.00%227.082.661.00%227.081.731.00%227.081.081.00%
R102C10220.9719.010%220.970.740.00%220.970.720.00%220.972.440.00%220.9711.10.00%220.9720.00%220.971.560.00%
R103C10160.4110.350%160.413.870.00%160.412.550.00%160.4111.170.00%160.4118.150.00%160.4116.380.00%160.419.270.00%
R201C10183.112.360%197.541.97.90%183.112.30.00%183.114.730.00%197.548.987.90%183.1115.550.00%183.1113.630.00%
R203C10214.95.430%214.92.30.00%214.92.980.00%214.92.880.00%214.912.030.00%214.96.270.00%214.93.590.00%
RC102C10346.74.030%346.71.650.00%346.75.570.00%346.74.50.00%354.316.552.20%346.78.150.00%346.77.120.00%
RC108C10317.9660%317.9613.130.00%317.966.630.00%317.963.30.00%345.5310.828.70%317.9620.730.00%317.9650.00%
RC201C10246.995.260%246.9927.070.00%246.9926.490.00%246.999.780.00%247.2616.970.10%247.268.670.10%247.2611.80.10%
RC205C10306.824.140%306.820.790.00%306.821.30.00%306.820.920.00%306.823.560.00%306.821.940.00%306.822.080.00%
C103C15255.6830.810%255.6849.810.00%255.6821.630.00%255.6834.230.00%255.68126.460.00%255.6820.290.00%255.6846.590.00%
C106C15223.84142.650%223.84172.210.00%223.846.360.00%223.8488.610.00%223.8461.630.00%223.8416.10.00%223.8419.60.00%
C202C15314.62373.20%326.57205.193.80%314.6252.620.00%314.62129.310.00%314.6295.090.00%314.6248.330.00%326.57243.033.80%
C208C15262.5244.40%262.57.550.00%262.54.790.00%262.52.840.00%262.527.330.00%262.56.050.00%262.55.340.00%
R102C15258.59681.120%258.59110.030.00%259.79144.020.50%258.5923.270.00%259.79106.540.50%258.5949.210.00%258.5930.680.00%
R105C15231.96119.880%231.9640.640.00%231.9619.040.00%231.9611.730.00%233.92284.610.80%231.9629.160.00%231.9628.650.00%
R202C15275.0464.310%275.0442.010.00%275.0444.880.00%275.0413.640.00%275.04108.50.00%275.0436.390.00%275.0434.260.00%
R209C15239.749.60%239.710.760.00%239.726.310.00%239.79.220.00%239.776.070.00%239.7239.620.00%239.746.260.00%
RC103C15291.0752.730%291.0722.780.00%291.0722.250.00%291.079.730.00%291.0762.430.00%291.0735.310.00%291.0734.670.00%
RC108C15330.011197.230%330.016.220.00%330.015.760.00%330.017.270.00%330.0161.840.00%330.019.970.00%330.0126.470.00%
RC202C15295.6870%319.3285.218.00%295.6201.460.00%295.694.690.00%315.2260.756.60%295.650.440.00%315.2249.436.60%
RC204C15255.68300%255.6851.880.00%255.6816.120.00%255.6829.240.00%255.68118.240.00%255.6814.640.00%255.6840.240.00%
Avg. 87.94 24.450.60% 17.430.10% 14.250.00% 37.180.90% 18.740.10% 19.520.40%
* Optimal solution found by the C&W savings heuristic as the initial solution. Notes: f denotes distance traveled; t denotes CPU time in seconds; Δ f denotes the gap to the distance traveled found by CPLEX. Optimality is guaranteed for CPLEX results.
Table 6. Comparison of CPLEX vs. VNS variant results on small-sized instances.
Table 6. Comparison of CPLEX vs. VNS variant results on small-sized instances.
Random VNSNested VNS
CPLEXV7 SeqV8 PipeV9 CyclicV10 SeqV11 PipeV12 Cyclic
Instance f t Δ f f t Δ f f t Δ f f t Δ f f t Δ f f t Δ f f t Δ f
C101C5208.901.350%208.900.020.0%208.900.020.0%208.900.030.0%208.900.160.0%208.900.170.0%208.900.160.0%
C103C5154.501.200%154.500.110.0%154.500.170.0%154.500.130.0%154.500.330.0%154.500.340.0%154.500.280.0%
C206C5201.551.920%201.550.060.0%201.550.080.0%201.550.060.0%201.550.020.0%201.550.020.0%201.550.020.0%
C208C5158.481.340%158.480.080.0%158.480.060.0%158.480.080.0%158.480.050.0%158.480.060.0%158.480.090.0%
R104C5 *136.691.750%136.690.00-136.690.00-136.690.00-136.690.00-136.690.00-136.690.00-
R105C5 *139.481.230%139.480.00-139.480.00-139.480.00-139.480.00-139.480.00-139.480.00-
R202C5128.781.290%128.780.390.0%128.780.380.0%128.780.360.0%128.780.390.0%128.780.420.0%128.780.380.0%
R203C5179.061.370%179.060.050.0%179.060.030.0%179.060.050.0%179.062.390.0%179.062.520.0%179.061.800.0%
RC105C5208.431.890%208.430.160.0%208.430.140.0%208.430.140.0%208.430.560.0%208.430.520.0%208.430.480.0%
RC108C5211.531.360%211.530.190.0%211.530.190.0%211.530.160.0%211.530.630.0%211.530.470.0%211.530.440.0%
RC204C5176.392.540%179.160.591.6%179.160.531.6%179.160.551.6%185.160.285.0%185.160.275.0%179.162.411.6%
RC208C5167.982.290%167.980.080.0%167.980.060.0%167.980.050.0%167.980.050.0%167.980.060.0%167.980.230.0%
C101C10260.014.850%260.018.840.0%260.013.510.0%260.015.160.0%260.0111.940.0%260.0113.680.0%260.0129.000.0%
C104C10239.133.390%239.133.440.0%239.132.950.0%239.137.500.0%239.1319.180.0%239.1322.240.0%239.1320.900.0%
C202C10214.964.120%214.964.610.0%214.964.610.0%214.963.050.0%231.078.797.5%231.078.317.5%214.967.320.0%
C205C10224.784.450%227.080.521.0%224.783.520.0%224.7817.950.0%227.081.761.0%227.081.921.0%227.081.321.0%
R102C10220.9719.010%220.974.430.0%220.973.540.0%220.972.260.0%220.977.220.0%220.976.030.0%220.974.360.0%
R103C10160.4110.350%164.582.362.6%160.4123.150.0%160.4111.880.0%164.587.592.6%164.588.112.6%160.4115.170.0%
R201C10183.112.360%183.1111.160.0%183.1111.250.0%183.1118.570.0%197.542.927.9%197.543.467.9%183.4226.990.2%
R203C10214.905.430%214.902.140.0%214.902.340.0%214.901.860.0%214.902.580.0%214.902.860.0%214.902.320.0%
RC102C10346.704.030%346.706.800.0%346.705.930.0%346.705.640.0%354.312.222.2%354.311.832.2%346.7018.640.0%
RC108C10317.966.000%329.939.413.8%317.968.420.0%317.9614.750.0%317.9623.790.0%317.9625.740.0%317.9626.440.0%
RC201C10246.995.260%247.2612.700.1%247.2612.000.1%247.2611.980.1%260.779.325.6%260.7711.065.6%247.2621.190.1%
RC205C10306.824.140%306.821.450.0%306.821.620.0%306.821.220.0%306.827.940.0%306.829.060.0%306.822.180.0%
C103C15255.6830.810%255.6830.160.0%255.6830.820.0%255.6823.250.0%255.68206.500.0%255.68206.380.0%255.6857.030.0%
C106C15223.84142.650%223.8435.760.0%223.8495.400.0%223.8493.700.0%227.7830.761.8%227.7830.121.8%223.84222.960.0%
C202C15314.62373.200%314.6240.320.0%314.6268.190.0%314.6263.720.0%334.21203.736.2%334.21205.386.2%314.62252.760.0%
C208C15262.50244.400%262.505.990.0%262.506.160.0%262.505.830.0%262.5017.380.0%262.504.960.0%262.505.890.0%
R102C15258.59681.120%259.7948.230.5%259.7922.920.5%259.7936.620.5%259.79158.440.5%259.79157.340.5%259.7954.840.5%
R105C15231.96119.880%231.9646.060.0%231.9618.040.0%231.9610.780.0%234.46102.501.1%234.46101.791.1%231.9632.260.0%
R202C15275.0464.310%275.04220.290.0%275.04155.400.0%275.04109.750.0%276.42221.230.5%276.42221.080.5%275.0459.990.0%
R209C15239.7049.600%239.7021.160.0%239.7032.720.0%239.7030.100.0%247.2738.903.2%247.2738.023.2%239.7090.170.0%
RC103C15291.0752.730%291.07156.430.0%295.9540.171.7%291.0727.880.0%305.4946.145.0%305.4945.555.0%291.07115.490.0%
RC108C15330.011197.230%330.0112.540.0%330.0132.080.0%330.0134.120.0%332.40104.080.7%332.40104.680.7%330.0148.190.0%
RC202C15295.6087.000%315.2261.146.6%319.3250.388.0%319.3213.658.0%315.22198.386.6%315.22198.126.6%295.60250.790.0%
RC204C15255.6830.000%255.6824.440.0%255.6824.530.0%255.6817.520.0%255.68192.450.0%255.68190.640.0%255.6843.870.0%
Avg. 87.94 21.450.5% 18.370.3% 15.840.3% 45.291.7% 45.091.7% 39.340.1%
* Optimal solution found by the C&W savings heuristic as the initial solution. Notes: f denotes distance traveled; t denotes CPU time in seconds; Δ f denotes the gap to the distance traveled found by CPLEX. Optimality is guaranteed for CPLEX results.
Table 7. Comparison VNS variants results on selected large-sized instances.
Table 7. Comparison VNS variants results on selected large-sized instances.
Reduced VNSBasic VNSGeneral VNSRandom VNSNested VNS
V1 SeqV2 PipeV3 CyclicV4 SeqV5 PipeV6 CyclicV7 SeqV8 PipeV9 CyclicV10 SeqV11 PipeV12 CyclicBFS
Instance f Δ f f Δ f f Δ f f Δ f f Δ f f Δ f f Δ f f Δ f f Δ f f Δ f f Δ f f Δ f f
C101_21730.882.6%734.053.0%734.893.1%752.185.6%738.503.6%718.960.9%714.520.3%712.520.0%759.076.5%849.2819.2%849.2819.2%724.391.7%712.52
C201_21574.001.9%589.584.7%567.140.7%600.126.6%591.405.0%563.090.0%585.734.0%582.673.5%565.360.4%680.5720.9%680.5720.9%597.986.2%563.09
R101_21842.732.3%868.075.4%823.510.0%878.066.6%861.244.6%843.742.5%847.032.9%847.032.9%848.293.0%943.6614.6%943.6614.6%899.269.2%823.51
R201_21704.532.0%694.340.5%690.730.0%752.468.9%723.704.8%713.903.4%714.973.5%732.996.1%697.230.9%725.465.0%725.465.0%717.223.8%690.73
RC101_21894.953.5%875.071.2%887.662.6%903.664.5%896.423.7%885.962.4%864.850.0%906.844.9%902.264.3%1052.7621.7%1052.7621.7%976.3212.9%864.85
RC201_21705.773.4%722.445.8%682.650.0%786.9915.3%702.122.9%698.372.3%709.563.9%709.563.9%710.734.1%816.9519.7%816.9519.7%743.829.0%682.65
Avg. 2.6% 3.4% 1.1% 7.9% 4.1% 1.9% 2.4% 3.5% 3.2% 16.8% 16.8% 7.1%
Notes: f denotes distance traveled; Δ f denotes the gap to the best-found solution within all VNS variants.
Table 8. Comparison of VNS variants V3 and V6 results on large-sized instances.
Table 8. Comparison of VNS variants V3 and V6 results on large-sized instances.
Reduced VNSGeneral VNSBest Found Solution
V3 CyclicV6 Cyclic
Instance f t Δ f f t Δ f f
C101_21734.8921852.2%718.962402.70.0%718.96
C201_21567.1420670.7%563.092244.50.0%563.09
C204_21585.6324051.0%579.592356.90.0%579.59
C206_21569.2022880.0%597.462155.35.0%569.20
C207_21567.7625130.0%599.721793.25.6%567.76
R101_21823.5123050.0%843.742395.32.5%823.51
R104_21880.7712220.0%888.242334.80.8%880.77
R106_21864.5818120.0%886.882290.62.6%864.58
R107_21856.4623470.0%864.492363.40.9%856.46
R108_21842.0122910.0%857.772188.11.9%842.01
R109_21865.4722721.3%854.321848.10.0%854.32
R110_21880.7712352.7%857.251834.60.0%857.25
R111_21879.5015962.0%862.002333.70.0%862.00
R112_21876.1916372.6%854.321924.60.0%854.32
R201_21690.7321330.0%713.901687.43.4%690.73
R202_21690.3822470.0%711.741791.33.1%690.38
R203_21708.4119640.0%713.902239.70.8%708.41
R204_21698.5914770.0%708.642282.21.4%698.59
R205_21690.3524250.0%704.022378.92.0%690.35
R206_21694.5420990.2%692.952205.30.0%692.95
R207_21701.6610200.0%701.422265.30.0%701.42
R208_21687.2322830.0%714.122210.43.9%687.23
R209_21696.1721410.5%692.952178.90.0%692.95
R210_21708.4119910.0%713.902166.80.8%708.41
R211_21701.6610310.2%700.532208.00.0%700.53
RC101_21887.6624040.2%885.961812.10.0%885.96
RC201_21682.6517670.0%698.371658.42.3%682.65
RC202_21703.0321870.0%710.302100.21.0%703.03
RC203_21685.0923050.0%698.372358.51.9%685.09
RC204_21723.1423410.0%731.652168.81.2%723.14
RC205_21715.5118280.0%721.602437.40.9%715.51
RC206_21691.1724020.0%735.661682.56.4%691.17
RC207_21685.0923090.0%707.512024.83.3%685.09
RC208_21721.4121000.0%743.132438.83.0%721.41
Avg. 0.4% 1.6%
Notes: f denotes the distance traveled; t denotes CPU time in seconds; Δ f denotes the gap to the best-found solution within all VNS variants.
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Yilmaz, Y.; Kalayci, C.B. Variable Neighborhood Search Algorithms to Solve the Electric Vehicle Routing Problem with Simultaneous Pickup and Delivery. Mathematics 2022, 10, 3108. https://doi.org/10.3390/math10173108

AMA Style

Yilmaz Y, Kalayci CB. Variable Neighborhood Search Algorithms to Solve the Electric Vehicle Routing Problem with Simultaneous Pickup and Delivery. Mathematics. 2022; 10(17):3108. https://doi.org/10.3390/math10173108

Chicago/Turabian Style

Yilmaz, Yusuf, and Can B. Kalayci. 2022. "Variable Neighborhood Search Algorithms to Solve the Electric Vehicle Routing Problem with Simultaneous Pickup and Delivery" Mathematics 10, no. 17: 3108. https://doi.org/10.3390/math10173108

APA Style

Yilmaz, Y., & Kalayci, C. B. (2022). Variable Neighborhood Search Algorithms to Solve the Electric Vehicle Routing Problem with Simultaneous Pickup and Delivery. Mathematics, 10(17), 3108. https://doi.org/10.3390/math10173108

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