Next Article in Journal
The Effect of CO2 Gas Emissions on the Market Value, Price and Shares Returns
Next Article in Special Issue
Chemical Damage Constitutive Model Establishment and the Energy Analysis of Rocks under Water–Rock Interaction
Previous Article in Journal
Dynamic DNR and Solar PV Smart Inverter Control Scheme Using Heterogeneous Multi-Agent Deep Reinforcement Learning
Previous Article in Special Issue
Factors Affecting Soybean Crude Urease Extraction and Biocementation via Enzyme-Induced Carbonate Precipitation (EICP) for Soil Improvement
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Electric Vehicle Routing Problem with Simultaneous Pickup and Delivery: Mathematical Modeling and Adaptive Large Neighborhood Search Heuristic Method

1
Department of Engineering, Applied Technology College of Soochow University, Kunshan 215325, China
2
School of Rail Transportation, Soochow University, Suzhou 215137, China
*
Authors to whom correspondence should be addressed.
These authors contributed equally to this work.
Submission received: 18 October 2022 / Revised: 24 November 2022 / Accepted: 2 December 2022 / Published: 5 December 2022
(This article belongs to the Special Issue Energy Saving in Traffic Infrastructure)

Abstract

:
Electric vehicles (EVs) are a promising option to reduce air pollution and shipping costs, especially in urban areas. To provide scientific guidance for the growing number of logistics companies using EVs, we investigated an electric-vehicle-routing problem with simultaneous pickup and delivery that also considers non-linear charging and load-dependent discharging (EVRPSPD-NL-LD). The objective was to minimize the total number of EVs and the total working time, including travel time, charging time, waiting time, and service time. We formulated the problem as a mixed integer linear program (MILP), and small-size problems could be solved to optimality in an acceptable amount of time using the commercial solver IBM ILOG CPLEX Optimization Studio (CPLEX). In view of the fact that the problem is NP-hard, an adaptive large neighborhood search (ALNS) metaheuristic method was proposed to solve large-size problems. Meanwhile, new operators and a time priority approach were developed to provide options for different scenarios. The results of our computational investigation and sensitivity analysis showed that the proposed methods are effective and efficient for modified benchmark instances.

1. Introduction

In the past decade, due to the increasing energy crisis and the pressure of environmental protection, electric vehicles (EVs) have become one of the main directions of future automotive development for zero carbon emissions, higher driving experience, and lower cost [1]. The Emissions Gap Report [2] also notes that economic recovery after the COVID-19 crisis should be used as an opportunity to promote a low-carbon transition in the transportation sector. Currently, increasingly more logistics and distribution companies are adopting EVs for cargo distribution. With the tightening of environmental protection policies, regulations have been introduced to avoid traditional fossil fuel vehicles for distribution in the urban areas of some cities. However, the large-scale application of EVs is still hampered by technical and cost limitations, such as a long battery-charging time, limited driving range, lack of charging infrastructure, and high charging cost [3] These problems also bring challenges to vehicle scheduling and route planning. Therefore, it is critical to establish an excellent scheduling policy, including charging plans, which can not only reduce the total travel time but also lower the distribution cost.
Reverse logistics is receiving increasingly more attention from manufacturing and distribution companies, which are increasingly faced with the reverse flow of finished goods or raw materials while distributing goods to customers. Thus, a practical variant of the electric-vehicle-routing problem (EVRP) is that customers may require both pickup and delivery services simultaneously. The problem derives from the traditional vehicle-routing problem with simultaneous pickup and delivery (VRPSPD), which was first introduced by Min [4]. Compared to only pickup or delivery, the business model of simultaneous pickup and delivery can find numerous applications in the express service industry, manufacturing industry, and retail industry.
EVs are troubled not only by the limitations of the charging infrastructure and battery capacity but also by the accurate prediction of power consumption while driving. The vast majority of the literature assumes that the power consumption of EVs depends only on the distance traveled [5,6]. However, the energy consumption is affected not only by the driving distance but also by several other parameters, such as the gross vehicle weight, acceleration, and braking and road attributes. Therefore, to ensure that EVs are able to pick up and deliver goods from/to customers, it is necessary to take these factors into account to estimate energy consumption and to make reasonable visits to CSs and specify charging schedules.
In this paper, we address a variant of a practical electric-vehicle-routing problem that considers customers requiring both delivery and pickup services simultaneously, non-linear charging (NL), and load-dependent discharging (LD). The objective is to minimize (i) the number of vehicles and (ii) the total working time.
The novel contributions of this paper can be summarized as follows:
(1)
A new mixed integer linear programming model for EVRPSPD-NL-LD is presented, in which (i) each customer has both pickup and delivery requests with time windows, (ii) the non-linear charging function is considered instead of a constant charging rate, and (iii) the power of EVs is discharged depending on not only the travel distance but also the weight of the current load.
(2)
We developed efficient metaheuristics, i.e., an ALNS with and without new operators, and a time priority method to solve EVRPSPD-NL-LD.
The remainder of the paper is organized as follows: a literature review is presented in Section 2. Section 3 describes the problem and formulates a mathematical programming model. The proposed ALNS heuristic methods are designed in Section 4. Section 5 provides the computational investigation and discusses the results, including sensitivity analysis. Finally, in Section 6, conclusions and future research directions are presented.

2. Literature Review

2.1. Vehicle-Routing Problem with Simultaneous Pickup and Delivery

Parragh et al. [7] categorized general pickup and delivery problems into two problem classes, of which the simultaneous pickup and delivery problem we discuss in this paper is highlighted in Figure 1.
The earliest vehicle-routing problem with simultaneous pickup and delivery model was proposed by Min (1989) [4]. The prototype of his research came from the library book distribution problem in Franklin County, Ohio. The author showed that a large amount of travel time can be saved through his simultaneous delivery model and algorithm from experimental results.
Zachariadis and Kiranoudis [8] designed a local search meta-heuristic solution method and tested it on 18 existing large-scale benchmark instances. They concluded that the algorithm is robust and effective, improving previous solutions to most of the best-known test problems. Olgun et al. [9] established a green-vehicle-routing problem model for simultaneous pickup and delivery (G-VRPSPD) and studied the impact of a green objective function on the total fuel consumption cost. They proposed an HH-ILS heuristic algorithm and conducted sensitivity analysis. The results revealed that the green objective function has a significant impact on the total fuel consumption cost. Yu et al. [10] incorporated parcel lockers into the vehicle-routing problem with simultaneous pickup and delivery. They developed two simulated annealing (SA) algorithms to solve this problem, and the experimental results on a modified example showed that the algorithm is effective in solving VRPSPD-PL. The application of VRPSPD and its variants in industries is also presented in [11,12,13].

2.2. Electric-Vehicle-Routing Problem with Simultaneous Pickup and Delivery

Goeke [14] considered pickup and delivery by EVs with a paired one-to-one service mode and stochastic battery depletion. He developed a granular tabu search (GTS) method and carried out numerical experiments on small and large cases, respectively. The experimental results proved that GTS is competitive on the benchmark instances of pickup and delivery problems with time windows. Soysal et al. [15] proposed a one-to-one pickup and delivery problem focusing on stochastic battery depletion and presented an approximated linear model for the problem. Yilmaz and Kalayci [16] studied the electric-vehicle-routing problem with simultaneous pickup and delivery. After testing several variable neighborhood search variants, they simplified the variable neighborhood algorithm and found a good solution in a reasonable time.

2.3. Elective-Vehicle-Routing Problem—Non-linear Charging and/or Load-Dependent Discharging

Generally, the charging function is non-linear due to the changes in battery temperature, terminal voltage, current, etc. [17,18,19,20,21]. Montoya et al. [3] extended EVRP models to consider a non-linear charging function. They called this problem the electric vehicle routing problem with non-linear charging (EVRP-NL). They proposed a hybrid meta-heuristic algorithm and showed that ignoring non-linear charging may lead to solutions that are infeasible or too expensive. Since then, more scholars have started research on non-linear charging functions [5,22,23,24,25].
However, most scholars have ignored the complexity of the battery depletion process. In reality, load-dependent discharging is an ideal choice that is close to reality. Shao et al. [26] and Kancharla and Ramadurai [27] considered load-dependent discharging in the energy consumption equation for EVs. Zhang et al. [28] also presented the energy consumption of EVs in their model. They proposed a meta-heuristic algorithm based on an ant colony algorithm. The effectiveness of the proposed algorithm was evaluated through a large number of numerical experiments on the newly generated examples. Basso et al. [29] introduced a total-mass-dependent method to estimate the energy cost. From the numerical test of the road network in Gothenburg, Sweden, they presented that the time and energy estimates are more accurate than those found using existing methods. Soon, Kancharla, and Ramadurai [22] considered both NL and LD for the EVRP for the first time. They concluded that LD has a significant impact on the solution obtained. Although they considered both NL and LD, they did not consider simultaneous pickup and delivery.

2.4. Solution Methodology

Like other VRPs and their variants, EVRPSPD is an NP-hard combinatorial optimization problem. Thus, to efficiently deal with large-size EVRPSPD instances that arise in practice, most scholars focus on heuristic and metaheuristic methods that can produce high-quality solutions within limited computational times. Several popular methods of dealing with the EVRP and its variants are summarized and compared in Table 1.
In general, no scholars have integrated non-linear charging and load-dependent discharging with EVRPSPD so far. In EVRPSPD, EVs have both pickup and delivery requests, so the power consumption of EVs is more difficult to predict and the linear assumptions of discharging may produce large errors, which makes it necessary to consider NL and LD simultaneously.

3. Mathematical Programming Model

3.1. Modeling of Battery-Charging Functions

We used the piecewise linear approximation method to fit the non-linear characteristics of the charging process, which has also been used in [3,5,23,24,25]. Montoya et al. [3] proposed three types of CSs (slow, moderate, fast) and corresponding parameters. Figure 2 shows the piecewise linear approximation results of the battery-charging functions for a moderate facility, in which the solid line represents the original data and the dashed line represents the data after linear approximation. Linear approximation helps to construct linear programming models. Theoretically, if the curve is divided into infinite straight lines, the straight line and the curve completely overlap. Considering accuracy, computability, and curve slope variation, we divided the curve into three segments based on the percentage of power charged: the first 60% ( a 0 a 1 ), the middle 30% ( a 1 a 2 ), and the last 10% ( a 2 a 3 ). c b and a b represent the charging time and the power level for the breakpoint b B , respectively, where B = 0 , , b ¯ is the set of breakpoints of the piecewise linear approximation. The slope relationship of each part of the segment is that a 1 c 1 > a 2 a 1 c 2 c 1 > a 3 a 2 c 3 c 2 .

3.2. Estimation of Power Required

The energy estimation model we used was derived from the comprehensive modal emission model (CMEM) [26,27,36]. The output engine power P (kW) of the model is as follows in Equation (1).
P = M a + M g s i n θ + M g C r c o s θ + 0.5 C d ρ A v 2 v 1000 ϵ
where the parameters of the formulation are described in Table 2.
We assumed that all EVs were driving at a constant speed and θ = 0 . In addition, the acceleration start and deceleration stop of EVs were not taken into account in this paper. Hence, Equation (1) can be simplified to Equation (2).
P = M g C r + 0.5 C d ρ A v 2 v 1000 ϵ  
Equation (2) is rewritten as a linear model of load in Equation (3).
P = Φ 1 + Φ 2 M  
where Φ 1 = 0.5 C d ρ A v 3 1000 ϵ is a constant and Φ 2 = g C r v 1000 ϵ is the coefficient of weight, M .
In this paper, we used ρ = 1.2041 , C d = 0.48 , A = 2.3301 , v = 40 , ϵ = 0.89 ,   g = 9.81 , and C r = 0.01 , which are the same as presented in [22].
The values of Φ 1 and Φ 2 can be obtained by the data mentioned before. The only variable in Equation (3), the gross vehicle weight ( M ), is the sum of the vehicle weight ( m ) and the vehicle load weight ( u ).

3.3. Problem Description

A distribution center (depot) in a given area serves a given number of customers, each of whom may have both pickup and delivery requests. Each customer’s pickup and delivery requests may have the same or different time windows. A certain number of EVs departs from the distribution center to visit customer nodes to fulfill the corresponding pickup and delivery requests of customers and returns to the distribution center. A certain amount of service time is required at each customer node.
In addition, throughout the journey, when the power of an EV runs low, it needs to visit a CS and spend a certain amount of time for charging. The charging time and the power charged satisfy a non-linear curve relationship. We assumed that the power consumption rate is non-constant during the journey and the power consumption mainly depends on the distance traveled and the weight of goods on board, which can be calculated using Equation (3).
We defined this problem as an electric-vehicle-routing problem with simultaneous pickup and delivery, considering non-linear charging and load-dependent discharging (EVRPSPD-NL-LD).
To better describe the problem, here is an example for further explanation. In the example, there are 1 distribution center (depot), 5 customers, and 2 CSs. The parameters of customers are shown in Table 3. Figure 3 provide a sample route and the optimal route, respectively, while the detailed route information is shown in Table 4 and Table 5.

3.4. Mathematical Formulation

We formulated EVRPSPD-NL-LD as a mixed integer linear program (MILP). The assumptions of the problem are as follows:
(1)
A request, whether for pickup or delivery, is less than the capacity of an EV and can only be served once by one EV.
(2)
The speed of the homogeneous fleet of EVs is fixed.
(3)
EVs are allowed to arrive earlier than the time window, which means the EV will wait at the customer until the time window is met, but EVs cannot arrive later than the time window.
(4)
Each EV can only be used once under the limited cruising duration.
(5)
The CSs are homogeneous and can be visited multiple times.
(6)
Each EV must depart from the depot and eventually return to the depot.
Let n denote the total number of customers. Because customers may have two requests, let V = 1 ,   2 , , n , n + 1 , ,   2 n denote the set of requests (i.e., request i represents the pickup for customer i and request n + i represent the delivery for customer i ). Let P = 1 ,   2 , ,   n and D = n + 1 , ,   2 n denote the request of pickup and delivery, respectively. Obviously, V = P D . Let 0 and N + 1 denote the depot. Let F and F denote the set of CSs and their duplications. The nodes defined in this paper consist of depot, customers, and charging stations.
Thus, EVRPSPD-NL-LD can be defined on a complete directed graph G = V 0 , N + 1 , A , with the set of arcs A = { i , j | i , j V 0 , N + 1 , i j } . With each arc and node, parameters are summarized in Table 6.
We introduced variable x i j to construct routes, route variable v i to track the route, and variable q i j to track the available capacity of a specific EV through the duration. The variables are summarized in Table 7.
The EVRPSPD-NL-LD model that we developed is as follows.
Minimize:
j V M c x 0 j + i V 0 j V N + 1 , i j t i j x i j + i V T w i + j F θ i + j V s i
Subject to:
Generating routes:
j V N + 1 , i j x i j = 1 , i V
j V N + 1 , i j x i j 1 , i F
j V N + 1 , i j x i j j V 0 , i j x j i = 0 , i V
r j j x 0 j , j V
r j j x 0 j n x 0 j 1 , j V
r j r i + n x i j 1 , i , j V
r j r i + n 1 x i j , i , j V
Tracking store of battery:
v 0 = Q
v 0 v i Φ 1 U i + m + Φ 2 t 0 i Q Φ 1 C + m + Φ 2 t 0 i 1 x 0 i , i V N + 1
v i v j Φ 1 u j + m + Φ 2 t i j Q Φ 1 C + m + Φ 2 t i j 1 x i j , i V , j V N + 1 , i j
Y i v j Φ 1 u j + m + Φ 2 t i j Q Φ 1 C + m + Φ 2 t i j 1 x i j , i F , j V N + 1 , i j
y i = v i , i F
y i = b B α i b a b , i F
o i = b B α i b c b , i F
b B α i b = b B z i b , i F
b B z j b = i V 0 , i j x i j , j F
α i 0 z i 1 , i F
α i b z i b + z i b + 1 , i F , b B \ 0 , b ¯
α i b ¯ z i b ¯ , i F
Y i = b B λ i b a b , i F
O i = b B λ i b c b , i F
b B λ i b = b B w i b , i F
b B w j b = i V 0 , i j x i j , j F
λ i 0 w i 1 , i F
λ i b w i b + w i b + 1 , i F , b B \ 0 , b ¯
λ i b ¯ w i b ¯ , i F
θ i = O i o i , i F
Tracking arrival time:
τ 0 = 0
e i τ i l i , i V
e 0 τ i + t i N + 1 + s i l 0 , i V
2 l 0 t i j s i 1 x i j τ j τ i t i j s i T w j l 0 t i j s i 1 x i j , i V 0 , j V , i j
2 l 0 t i j c b ¯ 1 x i j τ j τ i t i j θ i T w j l 0 t i j 1 x i j , i F , j V , i j
Tracking load on vehicle:
C p j 1 x i j u j u i p j , i V , j P , i j
C d j 1 x i j u i u j d j C d j 1 x i j , i V , j D , i j
C 1 x i j u j u i , i V , j F , i j
C p i 1 x 0 i u i U i p i , i P
C d i 1 x 0 i U i u i d i C d i 1 x 0 i , i D
C 1 x 0 i u i U i , i F
R i q i j R i r i j , i , j V
U i = j D q j i , i V
Domain of variables:
x i j 0 , 1 , i , j A , i j z i b 0 , 1 ,   w i b 0 , 1 , i F , b B 0 Δ i j + , 0 Δ i j , 0 q i j R i , i V , j V 0 U i C , i V 0 u i C , 0 τ i l 0 , i V 0 0 y i Y i Q ,   0 o i O i c b ¯ , i F 0 v i Q , i V 0 , N + 1 0 λ i b 1 , 0 α i b 1 , i F , b B 0 θ i c b ¯ , i F
The objective of minimizing the total number of EVs used and the total time spent, including travel time, charging time, waiting time, and service time, is defined in Equation (4). Constraint (5) enforces the connectivity of node visits for each EV, and Constraint (6) handles the connectivity of visits to CSs for each EV. Constraint (7) guarantees that each EV should leave the depot. Constraints (8)–(11) determine the routes of the requests. Constraint (12) indicates that the EVs are fully charged before departing from the depot. Constraints (13)–(15) ensure that the battery power never falls below 0 under the consideration of load-dependent consumption. Constraints (16)–(30) enforce the power level and charging time of EVs based on the piecewise linear approximation. Constraint (31) captures the time spent at any CS. We assumed that each EV departs the depot at t = 0 , which is defined in Constraint (32). Constraint (33) guarantees that the arrival time is within the time window. Constraint (34) ensures that each route is within the maximum duration. Constraints (35) and (36) track the arrival time at nodes and prevent the subtours of each EV. Constraints (37)–(42) ensure that the load of each EV does not exceed its limit. Constraints (43) and (44) ensure that EVs fulfill the requirement from customers when leaving the depot. Constraints (45) depict the domains of the variables.
Note that the model contains a large positive number M c . The upper bound of M c can be calculated as follows:
M c = i V l i
The linear relaxation of formulations can be strengthened by using valid inequalities. We developed the valid inequalities derived from Koç and Karaoglan [37] to improve our lower bounds, which is shown in Equation (47).
j V x 0 j v e h m i n
where v e h m i n denotes the lower bound of the number of EVs used.
Proposition 1. 
If we remove a request from a route in a feasible solution, the new route will still be feasible.
Proof. 
Obviously, the new route will satisfy the constraint of load and power level if we remove a request. If an EV arrives at the customer earlier than the time window, it will wait there until the customer is available. □
Proposition 2. 
Given any feasible route, the time spent at CSs can be determined with the objective of minimizing the total working time.
Proof. 
There are two cases when an EV arrives at a customer. □
Case 1. Inside the time window. Figure 4 shows a partial route when an EV arrives at a customer inside the time window, and no waiting time is needed to satisfy the customer’s request, where C S and C S denote the charging station, τ i denotes the arrival time, t i j denotes the travel time, and s i denotes the service time. Assume that the power level of the EV arriving at the C S is Q y and the power required to visit all requests between C S and C S is Q c . If Q y Q c , it is unnecessary to charge the EV at the C S . If Q y < Q c , the EV must be charged at least Q c Q y at the C S . If the power level leaving the C S is Q c + Δ Q (i.e., the power level is Δ Q when the EV arrives at the C S , Δ Q 0 ), then the power level leaving the C S is Q c (the EV must charge at least Q c Δ Q at the C S ). Figure 2 defines the relationship between power level and charging time. Thus, the total charging time can be calculated by the power level arriving and leaving the CS. Assume that the piecewise function is y = f ( x ), where x denotes the time and y denotes the battery level. The slope relationship of each part of the segment is a 1 c 1 > a 2 a 1 c 2 c 1 > a 3 a 2 c 3 c 2 . The inverse function of y = f ( x ) is x = f 1 ( y ), where the slope relationship of each part of the segment is c 1 a 1 < c 2 c 1 a 2 a 1 < c 3 c 2 a 3 a 2 in Figure 2. Thus, the total charging time T c can be expressed as f 1 Q c + Δ Q f 1 Q y + f 1 Q c f 1 Δ Q . We can get d T c d Δ Q = f 1 Q c + Δ Q f 1 Δ Q . Due to c 1 a 1 < c 2 c 1 a 2 a 1 < c 3 c 2 a 3 a 2 , when power levels Q c + Δ Q and Δ Q are in the same segment, d T c d Δ Q = 0 ; otherwise, d T c d Δ Q > 0 . So, no matter how Δ Q and Q c change, d T c d Δ Q 0 . This means that when Δ Q increases, T c does not decrease. Therefore, we can conclude that when Δ Q = 0 ,   T c takes the minimum value. Thus, EVs should run out of power when they arrive at CSs, and spend the least charging time to ensure enough power to arrive at the next CS.
Case 2. Outside the time window. In this case, Figure 5a shows a partial route when an EV arrives at a customer outside the time window. When the EV leaves the C S , the power level is Q c . When the EV arrives at Customer 1, it has to wait for T w 1 in order to satisfy the time window requirement, and similarly for Request 3. Since T w 1 and T w 3 will not affect the time to reach C S , it is a good choice to make use of the waiting time to charge at the CS (see Figure 5b). We postponed the departure time in the C S by compressing T w 1 and T w 2 and obtained an extra t * for charging. Using t * for charging will reduce the charging time in C S or subsequent stations and compress the total time spent.

4. Solution Method

As a VRPSPD generalization, EVRPSPD is a NP-hard combinatorial optimization problem. Therefore, to effectively deal with the large-scale EVRPSPD instances that arise in practice, it is important to consider heuristic and meta-heuristic methods that can produce high-quality solutions in a limited computational time. We proposed an ALNS heuristic method to solve EVRPSPD-NL-LD. The ALNS was first introduced by Ropke and Pisinger [38] and improved by Keskin and Çatay [31] for solving EVRPs.

4.1. ALNS Approach

4.1.1. Initial Solution

The initial solution was generated by iteratively inserting feasible nodes. In each iteration, we selected a request from a customer and made an insertion to the current route with the least time spent. For the route obtained in every insertion, all constraints in Section 3 must be guaranteed to be satisfied. The feasibility check process of the solution is given in Pseudocode 1. If the route is infeasible due to the battery power level, we performed the repair operation. When no request from a customer could be inserted into the current route due to load or time window constraints, or a repair process could not be performed, the current route was completed. These steps were repeated to construct new routes until all requests from customers were met. The procedure of the initial solution construction is given in Pseudocode 2, and we provide an example of the process in Figure 6.
Figure 6. Example of initial solution generation.
Figure 6. Example of initial solution generation.
Energies 15 09222 g006
Pseudocode 1: Check and Repair (Route)
1: If Route satisfies the constraints of load then
2:   If Route satisfies the constraints of battery level then
3:     If Route satisfies the constraints of time window then
4:       Return True and f(Route)
5:     Else
6:       Return False
7:   Else
8:     Repair Route
9:     If Route repaired satisfies the constraints of time window then
10:        Return True and f(Route repaired)
11:     Else
12:        Return False
13: Else
14:   Return False
Note: f(Route) is a function that can calculate the time spent for a given route.
Pseudocode 2: Initial Solution Generation
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
Initial CurrentRoute and BestTotalTime
While  V is not empty do
  For EachRequest in V  do
    For EachPosition in position where it can be inserted in CurrentRoute then
      Insert EachRequest at EachPosition and obtain TempRoute
      Check TempRoute in Pseudocode 1
      If TempRoute is feasible and f(TempRoute) < BestTotalTime then
          BestRoute TempRoute
          BestTotalTime   f(TempRoute)
  If no request can be inserted to CurrentRoute then
    InitialSolution append CurrentRoute
    Add another initialized Route
    CurrentRoute   Route
  Else
    Remove request inserted in BestRoute from V
    CurrentRoute BestRoute

4.1.2. ALNS Procedure

The ALNS heuristic method we proposed includes four classes of operations: Request Removal (RR), Request Insertion (RI), Station Removal (SR), and Station Insertion (SI). After the initial solution is obtained, the ALNS improves the solution iteratively within a limited number of iterations. In each iteration, the current feasible solution is destroyed by removing certain nodes, which consist of requests, CSs, or both, by using operator(s) in RR or SR. Next, the new solution after the nodes removed is repaired using operator(s) in RI or SI by inserting removed requests and necessary CSs to the destroyed routes in order to obtain new feasible solutions. Several removal and insertion operations are dynamically and adaptively applied depending on the performance of previous iteration cycles. The simulated annealing (SA) approach used in this paper is referenced from Xu [39]. The procedure of the ALNS heuristic method is provided in Figure 7.

4.2. Operators

The role of removal and insertion operators mentioned in Section 4.1.2 is to destroy current solutions and construct new solutions. The operators selected in this paper are summarized in Table 8. The operators in bold are new or improved operators developed in this paper.
(1)
Shaw Removal Operator: Φ i j is changed as follows: if request i and request j belong to the same customer,   Φ i j = ϕ 1 d i j + ϕ 2 e i e j + ϕ 3 l i j ; otherwise, Φ i j = ϕ 1 d i j + ϕ 2 e i e j + ϕ 3 l i j + ϕ 4 R i R j . If request i P , R i = p i ; otherwise, R i = d n + i . Where ϕ 1 , ϕ 2 , ϕ 3 , and ϕ 4 are the weights, l i j = −1 if request i and j are in the same route, and 1 otherwise.
(2)
Waiting Time Removal Operator: The waiting time cost at each request is calculated by the following equations:
c o s t i = e i τ i 1 t i , i 1 s i 1 , i 1 ϵ V e i τ i 1 t i , i 1 θ i 1 , i 1 ϵ F
where c o s t i represents the cost of removing request i. The operator removes the request with the r λ κ th largest cost where λ 0 ,   1 is a random number and κ 1 is a random parameter introduced to avoid repeated selection of the same request.
(3)
Waiting Time Insertion Operator: The operator traverses all possible insertion positions of the requirement one by one and selects the position with the least increased waiting time as the insertion position to construct a new solution. Equation (48) calculates the increased waiting time:
Δ t = f x n f x c T n S n C n + T c + S c + C c
where T n , S n , and C n represent the travel time, service time, and charging time of the new route, respectively, and T c , S c , and C c represent the travel time, service time, and charging time of the current route, respectively.
Note that two or more CSs are likely to be removed in the SR operation. Thus, there is great potential that a destroyed solution will be feasible by inserting multi-stations instead of only one station. We proposed the multi-insertion of a station to repair the solution in a relatively efficient way, while in the literature, only one or two CSs could be accessed in a route [30,31].
(4)
Greedy Station Insertion Operator: We demonstrated that when the route is determined, the charge of the EV is determined in Proposition 2. The GSI is provided in Pseudocode 3.
Pseudocode 3: Greedy Station Insertion (Route, Rank)
1: Global FeasibleRoute
2: Find position j where the battery level is negative and first appeared in Route
3: For i in range (Rank, j) do
4:   For CS in CSs do
5:     Get TempRoute by inserting CS into position i in Route
6:     If TempRoute is feasible then
7:       FeasibleRoute append TempRoute
8:     Else if TempRoute is still infeasible with battery level then
9:       Run Greedy Station Insertion (TempRoute, i) in given maximum
       recursive depth
10: Select the Route with least time spent among FeasibleRoute
Notes: Because the maximum number of removed stations in SR does not exceed 4, the maximum recursive depth we adopted is no more than 4. The parameter of rank is generally assigned 1 when it is called for the first time.

5. Numerical Experiments

The ALNS designed in this paper was compiled using Python 3.7.1 provided by Spyder 4.1 in Anaconda. The MILP solver was IBM ILOG CPLEX Optimization Studio V12.10. All numerical tests were executed on Inter Processor i7-7700 @ 3.60 GHz and 16 GB memory.

5.1. Data Preparation

The dataset we used derives from the real data of EVRP-NL presented in Montoya et al. [3]. We selected 50 instances that were divided into four subsets with 10, 20, 40, and 80 customers’ requests, respectively. We defined 10 and 20 requests as small-size instances and 40 and 80 requests as large-size instances. The instances in each subset differed by the number of available CSs (low and high availability), the type of charging technology (slow, moderate, and fast), and the distribution modes of customer nodes (random distribution, cluster distribution, and combination of the two), which were distinguished by the letters R, C, and RC, respectively. In all instances, the EVs had a battery power capacity of 16 kWh, and the maximum time in a route was 10 h.
To prepare the data for our EVRPSPD-NL-LD problem, we first determined the customers’ pickup and delivery requests, which were generated by a random uniform distribution between [50, 250]. The maximum load capacity of an EV was 600, which is the same as that mentioned by Kancharla and Ramadurai [22]. Given that each customer may be served twice at most for pickup and deliver requests, the maximum duration was increased by 50% compared to the previous 10 h mentioned in [3]. The time window e i , l i , i V was set according to two criteria: (1) there is at least one EV that can fulfill the request in the time window and (2) the duration of time window t d matches a random uniform distribution between [0.5, 1]. The new instances were named after the customer distribution rules, the number of requests, and the number of CSs. Take R01r10s2 as an example, where R01 represents example 01 with random distribution, r10 represents 10 requests, and s2 represents 2 CSs. An example of dataset R01r10s2 is shown in Table 9.
The parameters of the linear piecewise approximation function shown in Figure 2 were c 0 , c 1 , c 2 , c 3 = 0 ,   0.62 ,   0.77 ,   1.01 and a 0 , a 1 , a 2 , a 3 = 0 ,   13.6 ,   15.2 ,   16 , respectively. According to the description in Section 3.2, Φ 1 = 1.03809 and Φ 2 = 0.0012248 .

5.2. Comparison of CPLEX and the ALNS Heuristic Method

In Table 10, we provide the results for 10-request and 20-request instances. For CPLEX and our ALNS heuristic method, we provided the CPU time in seconds in the “Time (s)” and “TimeAvg. (s)” column, respectively. Since the CPU time might be large to solve the instances, we limited the CPU time of CPLEX to 1200 s for 10-request instances and 3600 s for 20-request instances. We reported the optimal solution or the solution at the end of the time limit for the number of vehicles in the “k” column and the total time spent of all EVs in the “ f b e s t ” column. The “ f A v g . ” column denotes the average objective value (total time spent of all EVs) in 10 runs, while the Δ f b column denotes the gap to the objective found by CPLEX and Δ f a denotes the gap between f b e s t and f A v g . in the ALNS.
The results showed that CPLEX can only solve 3 of 20 instances to optimality within the time limit, while our ALNS method outperformed the direct solution of CPLEX in 13 of 20 instances, and the same results were obtained for the remaining 7 instances. The average CPU time of the ALNS was 73.53 s, while CPLEX could not solve 17 of 20 instances within the time limit. The average gap of the objective value was around −2.92%, which is shown in the “ Δ f b ” column. The average gap between f b e s t and f A v g . shown in the “ Δ f a ” column was 1.6%, which demonstrates the stability of the ALNS to solve small-size instances. Although the solution result of the ALNS in a small-size problems was basically the same as that of CPLEX, we still recommend CPLEX because the solution result of CPLEX can be guaranteed to be the optimal solution.

5.3. ALNS with/without New Operators and the Time Priority Approach

The new operators we proposed include waiting time removal, waiting time insertion, improved shaw removal, and greedy station insertion operators, which are presented in Section 4.2. To reduce the CPU time of the ALNS for practical situations, we developed a time priority approach, in which the upper limit of the number of removal requests was reduced to 20% and the total number of iterations decreased to 50%.
We compare the CPU time and solutions by CPLEX and the ALNS with/without new operators for 40-request instances in Table 11. Table 12 provides the results of the ALNS with/without new operators and the time priority approach for 80-request instances. The “ k A v g . ” column denotes the average number of EVs used in 10 runs in Table 11 and Table 12, while the “ Δ f t ”column denotes the gap of CPU time between the ALNS with new operators and the time priority approach in Table 12. Better results are highlighted in the tables.
As can be seen from Table 11, CPLEX could not solve the problems to optimality in all 10 instances within the specified time limit of 3600 s, while the average CPU time of the ALNS with and without new operators was 169.2 and 165.9 s, respectively.
Table 11 and Table 12 show that the ALNS with new operators achieves better solutions of k A v g . for all 10 40-request instances and 7 of 10 80-request instances. Meanwhile, the ALNS with new operators solved better f A v g . for 7 of 10 40-request instances and 9 of 10 80-request instances. The average gap in f A v g . was −0.9% for 40-request instances and −2.0% for 80-request instances, which demonstrates that the new operators have good results for large-size instances on average. The average gap between f b e s t and f A v g . was 5.5% on 40-request instances and 4.7% on 80-request instances.
Table 12 also shows a significant improvement in CPU time with our time priority approach. The average CPU time to solve 80-request instances for the time priority approach was only 65.9 s compared with 594 s for the ALNS without new operators and 609.1 s for the ALNS with new operators. The average gap of f A v g . between the ALNS with new operators and the time priority approach was 4.1%, which is not significant. Therefore, if the problem needs to be solved in a short amount of time, the time priority approach may be a good choice.
Figure 8 depicts the analysis of solution results of the ALNS with and without new operators and the time priority approach for 40- and 80-request instances, respectively. It is obvious that the ALNS with new operators performed better for f A v g . and f b e s t for both 40- and 80-request instances. For the 80-request instances, the time priority approach performed the worst but it reduced the CPU time by around 90%.
Figure 9 shows the metric analysis of the solution results for the different requests. The metrics include the total number of visits to charging stations, the total waiting time, and the total charging time. As the size of the problem increased, the number of visits to charging stations and the total charging time grew exponentially, while the total waiting time grew linearly. As the number of customers increased, the number of time windows increased accordingly. EVs may be fully used without increasing much waiting time when the routes are optimized with the time windows reasonably arranged; however, an increase in power consumption and a corresponding increase in the number of visits to charging stations will increase much faster.

5.4. Sensitivity Analysis

Sensitivity analysis was performed to investigate the relationship between the number of iterations in the ALNS and the quality of the results obtained. We studied the number of iterations in the ALNS for 80-request instances of 250, 500, 750, and 1000. The average results, which are the average CPU times, the average gap of number of vehicles, and the total time spent, are shown in Figure 10. As the number of iterations increased, the average CPU time increased accordingly from 205 s for 250 iterations to 609 s for 1000 iterations. However, the average gap increased by 5.6% for the number of vehicles and 6.2% for the total time spent when the number of iterations decreased to 250. Sensitivity analysis may also provide management with a trade-off between the quality of the solution and the CPU time to obtain the solution.

6. Conclusions

In this paper, we addressed an electric-vehicle-routing problem with simultaneous pickup and delivery considering non-linear charging and load-dependent discharging (EVRPSPD-NL-LD), with the objectives of minimizing the number of EVs and the total working time of all EVs. First, we developed a mixed integer linear programming model for this problem. Due to the difficulty of solving the model for large-size instances directly using IBM ILOG CPLEX Optimization Studio (CPLEX), we developed an adaptive large neighbourhood search (ALNS) heuristic method. Compared with the traditional ALNS, we introduced four new or improved operators (waiting time removal, waiting time insertion, shaw removal, and greedy station insertion), which are suitable for our non-linear charging and load-dependent discharging scenarios. To obtain good results in a small amount of time, we followed a time priority approach by removing some operators and reducing the number of iterations. We modified the instances in Montoya et al. [3] by adding pickup and delivery requests and corresponding time windows. In total, 50 small- and large-size problems were generated to test our mathematical programming model and the ALNS heuristic method.
Our computational investigation and sensitivity analysis revealed that (i) in most cases, the ALNS with new operators outperforms the traditional ALNS under the objectives discussed in this paper, (ii) our ALNS heuristic method has advantages over CPLEX not only in the quality of the solutions but also in the CPU time, (iii) the time priority approach can reduce the CPU time by around 90% with a gap of less than 5%, and (iv) sensitivity analysis can help management to make decisions.
Further research can be conducted by relaxing some assumptions, such as a homogeneous fleet, or by considering other objective functions. It would be also interesting to investigate a mathematical-programming-based solution method, such as column generation or Bender’s decomposition.

Author Contributions

Conceptualization, M.C. and C.Z.; methodology, C.Z.; software, C.Z.; validation, W.X. and M.C.; investigation, W.X.; resources, W.X. and Y.H.; data curation, W.X. and C.Z.; writing—original draft preparation, W.X. and C.Z.; writing—review and editing, M.C. and Y.H.; visualization, C.Z.; supervision, M.C. and Y.H.; project administration, M.C.; funding acquisition, M.C. and Y.H. All authors have read and agreed to the published version of the manuscript.

Funding

This research was partially funded by the Nature Science Foundation of Jiangsu Province (no. BK20150344) and the China Postdoctoral Science Foundation (no. 2016M601885).

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Wang, Z.; Ching, T.W.; Huang, S.; Wang, H.; Xu, T. Challenges faced by electric vehicle motors and their solutions. IEEE Access 2021, 9, 5228–5249. [Google Scholar] [CrossRef]
  2. United Nations Environment Programme. Emissions Gap Report 2021: The Heat Is On—A World of Climate Promises Not Yet Delivered; United Nations Digital Library: Nairobi, Kenya, 2021; pp. 38–43. Available online: https://www.unep.org/resources/emissions-gap-report-2021 (accessed on 20 February 2022).
  3. 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] [Green Version]
  4. Min, H. The multiple vehicle routing problem with simultaneous delivery and pick-up points. Transp. Res. Part A Gen. 1989, 23, 377–386. [Google Scholar] [CrossRef]
  5. 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] [Green Version]
  6. Koyuncu, I.; Yavuz, M. Duplicating nodes or arcs in green vehicle routing: A computational comparison of two formulations. Transp. Res. Part E Logist. Transp. Rev. 2019, 122, 605–623. [Google Scholar] [CrossRef]
  7. Parragh, S.N.; Doerner, K.F.; Hartl, R.F. A survey on pickup and delivery models part ii: Transportation between pickup and delivery locations. J. Für Betr. 2008, 58, 81–117. [Google Scholar] [CrossRef]
  8. Zachariadis, E.E.; Kiranoudis, C.T. A local search metaheuristic algorithm for the vehicle routing problem with simultaneous pick-ups and deliveries. Expert Syst. Appl. 2011, 38, 2717–2726. [Google Scholar] [CrossRef]
  9. Olgun, B.; Koç, Ç.; Altıparmak, F. A hyper heuristic for the green vehicle routing problem with simultaneous pickup and delivery. Comput. Ind. Eng. 2021, 153, 107010. [Google Scholar] [CrossRef]
  10. Yu, V.F.; Susanto, H.; Yeh, Y.-H.; Lin, S.-W.; Huang, Y.-T. The Vehicle Routing Problem with Simultaneous Pickup and Delivery and Parcel Lockers. Mathematics 2022, 10, 920. [Google Scholar] [CrossRef]
  11. Subramanian, A.; Drummond, L.M.A.; Bentes, C.; Ochi, L.S.; Farias, R. A parallel heuristic for the vehicle routing problem with simultaneous pickup and delivery. Comput. Oper. Res. 2010, 37, 1899–1911. [Google Scholar] [CrossRef]
  12. Montané, F.A.T.; Galvao, R.D. A tabu search algorithm for the vehicle routing problem with simultaneous pick-up and delivery service. Comput. Oper. Res. 2006, 33, 595–619. [Google Scholar] [CrossRef]
  13. Zhou, H.; Qin, H.; Zhang, Z.; Li, J. Two-echelon vehicle routing problem with time windows and simultaneous pickup and delivery. Soft Comput. 2022, 26, 3345–3360. [Google Scholar] [CrossRef]
  14. 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]
  15. Soysal, M.; Çimen, M.; Belbağ, S. Pickup and delivery with electric vehicles under stochastic battery depletion. Comput. Ind. Eng. 2020, 146, 106512. [Google Scholar] [CrossRef]
  16. 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. [Google Scholar] [CrossRef]
  17. Löffler, M.; Desaulniers, G.; Irnich, S.; Schneider, M. Routing electric vehicles with a single recharge per route. Networks 2020, 76, 187–205. [Google Scholar] [CrossRef]
  18. 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]
  19. Bruglieri, M.; Pezzella, F.; Pisacane, O.; Suraci, S. A matheuristic for the electric vehicle routing problem with time windows. arXiv 2015, arXiv:1506.00211. [Google Scholar] [CrossRef]
  20. 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] [Green Version]
  21. 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]
  22. 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]
  23. Lee, C. An exact algorithm for the electric-vehicle routing problem with nonlinear charging time. J. Oper. Res. Soc. 2021, 72, 1461–1485. [Google Scholar] [CrossRef]
  24. Zuo, X.; Xiao, Y.; You, M.; Kaku, I.; Xu, Y. A new formulation of the electric vehicle routing problem with time windows considering concave nonlinear charging function. J. Clean. Prod. 2019, 236, 117687. [Google Scholar] [CrossRef]
  25. Froger, A.; Mendoza, J.E.; Laporte, G.; Jabali, O. New Formulations for the Electric Vehicle Routing Problem with Nonlinear Charging Functions. 2017. hal-01559507. Available online: https://hal.archives-ouvertes.fr/hal-01559507 (accessed on 6 November 2020).
  26. Shao, S.; Guan, W.; Bi, J. Electric vehicle-routing problem with charging demands and energy consumption. IET Intell. Transp. Syst. 2018, 12, 202–212. [Google Scholar] [CrossRef]
  27. Kancharla, S.R.; Ramadurai, G. An adaptive large neighborhood search approach for electric vehicle routing with load-dependent energy consumption. Transp. Dev. Econ. 2018, 4, 10. [Google Scholar] [CrossRef]
  28. Zhang, S.; Gajpal, Y.; Appadoo, S.S.; Abdulkader, M.M.S. Electric vehicle routing problem with recharging stations for minimizing energy consumption. Int. J. Prod. Econ. 2018, 203, 404–413. [Google Scholar] [CrossRef]
  29. Basso, R.; Kulcsár, B.; Egardt, B.; Lindroth, P.; Sanchez-Diaz, I. Energy consumption estimation integrated into the Electric Vehicle Routing Problem. Transp. Res. Part D Transp. Environ. 2019, 69, 141–167. [Google Scholar] [CrossRef]
  30. 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] [Green Version]
  31. 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]
  32. Verma, A. Electric vehicle routing problem with time windows, recharging stations and battery swapping stations. EURO J. Transp. Logist. 2018, 7, 415–451. [Google Scholar] [CrossRef]
  33. 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]
  34. Zang, Y.; Wang, M.; Qi, M. A column generation tailored to electric vehicle routing problem with nonlinear battery depreciation. Comput. Oper. Res. 2022, 137, 105527. [Google Scholar] [CrossRef]
  35. Kyriakakis, N.A.; Sevastopoulos, I.; Marinaki, M.; Marinakis, Y. A hybrid Tabu search—Variable neighborhood descent algorithm for the cumulative capacitated vehicle routing problem with time windows in humanitarian applications. Comput. Ind. Eng. 2022, 164, 107868. [Google Scholar] [CrossRef]
  36. Barth, M.; Boriboonsomsin, K. Energy and emissions impacts of a freeway-based dynamic eco-driving system. Transp. Res. Part D Transp. Environ. 2009, 14, 400–410. [Google Scholar] [CrossRef]
  37. Koç, Ç.; Karaoglan, I. The green vehicle routing problem: A heuristic based exact solution approach. Appl. Soft Comput. 2016, 39, 154–164. [Google Scholar] [CrossRef]
  38. 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] [Green Version]
  39. Xu, W. Electric Vehicle Routing with Soft Time Windows. In Proceedings of the 22nd COTA International Conference of Transportation, Changsha, China, 8–11 July 2022; pp. 2516–2525. [Google Scholar] [CrossRef]
Figure 1. Pickup and delivery problems distinguished by Parragh et al. [7].
Figure 1. Pickup and delivery problems distinguished by Parragh et al. [7].
Energies 15 09222 g001
Figure 2. Piecewise linear approximation for the charging function.
Figure 2. Piecewise linear approximation for the charging function.
Energies 15 09222 g002
Figure 3. Sample route of (a) a feasible solution and (b) an optimal solution.
Figure 3. Sample route of (a) a feasible solution and (b) an optimal solution.
Energies 15 09222 g003
Figure 4. Example of case 1.
Figure 4. Example of case 1.
Energies 15 09222 g004
Figure 5. Example of case 2. (a) Not using waiting time and (b) using waiting time.
Figure 5. Example of case 2. (a) Not using waiting time and (b) using waiting time.
Energies 15 09222 g005
Figure 7. Flowchart of the ALNS.
Figure 7. Flowchart of the ALNS.
Energies 15 09222 g007
Figure 8. Comparison of solution results of the ALNS with/without new operators and the time priority approach.
Figure 8. Comparison of solution results of the ALNS with/without new operators and the time priority approach.
Energies 15 09222 g008
Figure 9. Visits to CSs, waiting times, and charging times at instances of different sizes.
Figure 9. Visits to CSs, waiting times, and charging times at instances of different sizes.
Energies 15 09222 g009
Figure 10. Sensitivity analysis of ALNS parameters.
Figure 10. Sensitivity analysis of ALNS parameters.
Energies 15 09222 g010
Table 1. Popular algorithm/method to solve the EVRP and its variants.
Table 1. Popular algorithm/method to solve the EVRP and its variants.
LiteratureProblemSolution Methodology
Schneider et al. (2014) [30]EVRP with time windows
(EVRPTW)
Tabu search
Keskin and Çatay (2016) [31]EVRPTW with partial recharge
(EVRPTW-PR)
Adaptive large neighborhood search algorithm
Shao et al. (2017) [26]Green-vehicle-routing problem with simultaneous pickup and delivery
(G-VRPSPD)
Hyper-genetic algorithm
Kancharla and Ramadurai (2018) [27]EVRP with load-dependent discharging
(EVRP-LD)
Adaptive large neighborhood search algorithm
Verma (2018) [32]EVRP with time windows, recharging stations and battery-swapping stations
(EVRP-RS-BS-SS)
Genetic algorithm
Zhang et al. (2018) [28]EVRP with recharging stations
(EVRP-RS)
Ant colony
Koç et al. (2019) [33]EVRP with shared charging stationsAdaptive large neighborhood search algorithm
Basso et al. (2019) [29]EVRP with energy consumptionLinear programming solver, Bellman–Ford algorithm
Goeke (2019) [14]Pickup and delivery problem with time windows
(EV-PDPTW)
Granular tabu search
Kancharla and Ramadurai (2020) [22]EVRP with non-linear charging and load-dependent discharging
(EVRP-NL-LD)
Adaptive large neighborhood search algorithm
Löffler et al. (2020) [17]EVRP with a single recharge
(EVRP-SR)
Tabu search
Olgun et al. (2021) [9]Green-vehicle-routing problem with simultaneous pickup and delivery
(G-VRPSPD)
Iterative local search and variable neighborhood descent heuristics
Lee (2021) [23]EVRP with load-dependent energy consumption
(EVRP-LD)
Branch and price
Zang et al. (2022) [34]EVRPTW with non-linear battery depreciationColumn generation
Kyriakakis et al. (2022) [35]Capacitated-vehicle-routing problem with time windows
(CVRPTW)
Hybrid tabu search and variable neighborhood descent algorithm
Yilmaz and Kalayci (2022) [16]EVRP with simultaneous pickup and delivery
(EVRPSPD)
Variable neighborhood search
Table 2. Parameters in the CMEM model.
Table 2. Parameters in the CMEM model.
ParameterDescriptionParameterDescription
v Speed (m/s) ρ Air density (kg/m3)
a Acceleration (m/s2) A Frontal surface area (m2)
M Gross vehicle weight (kg) C d Coefficient of aerodynamic drag
g Gravitational constant (m/s2) C r Coefficient of rolling resistance
θ Longitudinal gradient of road ϵ Vehicle drive train efficiency
Table 3. The respective time window and cargo request data of the example.
Table 3. The respective time window and cargo request data of the example.
Customer12345
Time window for pickup[9.8, 10.3][9.4, 10.3][12.9, 13.5][4.0, 4.8][11.8, 12.6]
Time window for delivery[7.6, 8.3][6.9, 7.9][5.8, 6.7][6.2, 6.8][1.5, 2.3]
Pickup (kg)22483193148143
Delivery (kg)219101136141208
Table 4. Detailed route information of Figure 3a.
Table 4. Detailed route information of Figure 3a.
VehicleRoute
Vehicle 10—2 (pickup and delivery)—5 (pickup)—0
Vehicle 20—1 (delivery)—7 (charging)—0
Vehicle 30—5 (delivery)—6 (charging)—4 (delivery)—3 (pickup and delivery)—0
Vehicle 40—4 (pickup)—6 (charging)—1 (pickup)—7 (charging)—0
Table 5. Detailed route information of Figure 3b.
Table 5. Detailed route information of Figure 3b.
VehicleRoute
Vehicle 10—5 (delivery)—2 (pickup and delivery)—5 (pickup)—0
Vehicle 20—6 (charging)—4 (pickup and delivery)—0
Vehicle 30—6 (charging)—3 (delivery)—1 (pickup and delivery)—7 (charging)—3 (pickup)—0
Table 6. Parameters in the EVRPSPD-NL-LD model.
Table 6. Parameters in the EVRPSPD-NL-LD model.
ParameterDescription
n Total number of customers
V Set of requests, V = 1 , 2 , , n , n + 1 , , 2 n
P Set of pickup vertices, P = 1 , 2 , , n
D Set of delivery vertices, D = n + 1 , , 2 n
F Set of charging stations, F = f 1 , f 2 ,
F Set of charging stations and their copies, F = f 1 , f 2 , , f 1 , f 2 ,
0 , N + 1 Depot
V = V F
V 0 = V F 0
V N + 1 = V F N + 1
V 0 , N + 1 = V F 0 N + 1
A Set of arc i , j , i , j V 0 , N + 1 , i j
d i j Distance between vertices i and j , i , j V 0 , N + 1 , i j (km)
t i j Travel time between vertices i and j , i , j V 0 , N + 1 , i j (h)
p i Request of pickup for customer i , i P (kg)
d i Request of delivery for customer i n , i D (kg)
R i R i p 1 , , p n , d n + 1 , d 2 n , i V
C Vehicle capacity (kg)
Q Battery capacity (kwh)
B Set of the breakpoints in charging function, B = 0 , 1 , , b ¯
c b Time at breakpoint b , b B (h)
a b Battery level at breakpoint b (kwh), b B
e i , l i Time window of vertex i , i V 0 , N + 1 , where e 0 = 0 and l 0 is the maximum duration of process
s i Service time for vertex i , where s 0 = s N = 0 , i V 0 , N + 1 (h)
K Set of vehicles, K = k 1 , k 2 ,
Φ 1 Consumption rate with zero load
Φ 2 When the load increases by 1 kg, the consumption rate increases Φ 2
m Weight of vehicle (kg)
M c A sufficiently large coefficient
Table 7. Variables in the EVRPSPD-NL-LD model.
Table 7. Variables in the EVRPSPD-NL-LD model.
VariableDescription
x i j =1, if arc i , j is traveled, otherwise 0
u i Load of EV when departing from node i , i V
U i Load of EV when departing from depot to route i ,   i V
q i j = R i , if node i is in route j , i , j V
τ i Arrival time of EV at node i , i V 0 , N + 1
T w i Waiting time before arriving at node i , i V
v i Remaining battery capacity on arrival at node i , i V 0 , N + 1
y i / Y i Remaining battery capacity on arrival/departure at charging station i
o i / O i Time required to charge to y i / Y i
θ i Charging time at charging station i
z i b / w i b Auxiliary binary variable used to determine whether the arrival/departure power level is between breakpoint b and breakpoint b 1 in the piecewise linear approximation at CS i ,   i F
α i b / λ i b Auxiliary variable to enable the expression of y i , o i / Y i , O i as a convex combination of the breakpoints a b , c b
Table 8. Description of removal and insertion operators.
Table 8. Description of removal and insertion operators.
OperationNodeOperatorDescription
RemovalRequest (RR)RandomThe operator randomly chooses requests and removes them from the routes.
Worst-DistanceThe operator removes the request that increases the largest total distance.
Worst-timeThe operator removes the request with the highest difference between the arrival time of the EV and the earliest allowed arrival time.
ShawThe operator removes the request with high similarity.
ProximityThe operator removes the request with high distance similarity.
Time-basedThe operator removes the request with a high similarity of arrival time.
DemandThe operator removes the request with a high similarity of cargo weight.
ZoneThe operator removes all requests in a random area.
Waiting timeThe operator removes the request that most increased the waiting time.
Station (SR)RandomThe operator randomly removes the CSs from the routes.
Worst-DistanceThe operator removes the CS that most increased the total distance.
Worst-Charge UsageThe operator removes the CSs where the EV arrives with the maximum battery level.
Full ChargeThe operator removes the CSs where the EV is fully charged.
Route (RR’)Random route removal (RRR)The operator randomly chooses a route and removes all the nodes visited in that route.
Greedy route removal (GRR)The routes are sorted in non-decreasing order of the number of customers serviced, and the routes ranked first are removed.
InsertionRequest (RI)GreedyThe operator selects the best insertion position with the minimum total time.
Regret-kThe operator calculates the difference between the total working time of the first and the kth-best insertion of the request and inserts the request with the largest difference to its optimal position.
Waiting timeThe operator inserts the request into the position with the least waiting time.
Station (SI)Greedy station insertion (GSI)The operator insert a CS between the given starting position and the negative power position and chooses the position that requires the least time.
Table 9. An example of dataset R01r10s2.
Table 9. An example of dataset R01r10s2.
TypeCoordinate (km)Request of Pickup (kg)Request of Delivery (kg)Time Window of Pickup (h)Time Window of Delivery (h)Service Time (h)
Depot(0, 0)00[0, 15][0, 15]0
Customer(12.44, 47.61)8457[2.1, 2.67][4.59, 5.44]0.16
Customer(108.2, 93.64)65153[12.64, 13.17][6.31, 6.87]0.16
Customer(58.51, 24.22)180249[11.07, 11.9][8.85, 9.49]0.16
Customer(116.26, 13.76)135147[3.79, 4.3][4.11, 4.77]0.16
Customer(113.56, 85.73)233213[5.52, 6.22][9.33, 9.91]0.16
Customer(5.09, 69.91)60111[1.76, 2.27][6.37, 7.29]0.16
Customer(89.27, 58.94)85165[2.98, 3.89][2.46, 3.09]0.16
Customer(78.54, 57.16)87236[4.51, 5.22][1.93, 2.91]0.16
Customer(111.56, 51.2)238234[4.77, 5.33][2.34, 3.34]0.16
Customer(11.05, 72.52)167106[10.12, 10.81][13.3, 14.17]0.16
Station(93.39, 10.8)00[0, 15][0, 15]0
Station(8.9, 10.98)00[0, 15][0, 15]0
Notes: The numbers in bold were added or modified compared to the instances presented by Montoya et al. [3].
Table 10. Results obtained by CPLEX and ALNS on 10-request and 20-request instances.
Table 10. Results obtained by CPLEX and ALNS on 10-request and 20-request instances.
InstanceCPLEXALNS
k f b e s t   ( I ) Time (s) k f b e s t   ( II ) TimeAvg.
(s)
Δ f b = II I II ( % ) f A v g . ( III ) Δ f a = III II III ( % )
R01r10s2338.95323338.9515038.950
R02r10s2338.351200338.3518038.350
R01r10s3333.71200333.489−0.9%33.40
R02r10s3452.481200452.4831052.480
C01r10s2225.711200225.5620025.560
C02r10s2444.121200444.1236044.120
C03r10s2222.81200222.817022.80
C04r10s2333.531200333.1335−1.2%33.130
C05r10s2336.37651336.3731036.370
C01r10s3325.171200225.1717025.170
C02r10s3331.711200331.7181031.710
C03r10s3223.81200223.842023.80
C04r10s3330.81200330.7783−0.1%30.770
C05r10s3341.63840341.6378041.630
RC01r10s3222.151200222.1519022.150
RC02r10s3224.431200224.4365024.430
R01r20s2658.633600658.6393059.51.5%
R02r20s2447.273600447.2776048.572.7%
R01r20s3559.93600559.9207061.452.5%
R02r20s3546.933600443.48225−7.9%45.544.5%
C01r20s2444.853600442.2460−5.9%43.162.1%
C02r20s2670.63600451.1372−38.1%55.688.2%
C03r20s2555.373600548.582−14.2%49.942.9%
C04r20s2442.783600442.7861046.678.3%
C01r20s3661.433600555.04108−11.6%56.32.2%
C02r20s3441.613600440.04123−3.9%42.96.7%
C03r20s3445.83600445.6591−0.3%46.592.0%
C04r20s3448.553600447.77140−1.6%48.61.7%
RC01r20s3450.683600450.6846052.12.7%
RC02r20s3338.053600337.31145−2.0%37.711.1%
Avg.-----73.53−2.92%-1.6%
Table 11. Results obtained by CPLEX and the ALNS with/without new operators on 40-request instances.
Table 11. Results obtained by CPLEX and the ALNS with/without new operators on 40-request instances.
InstanceCPLEXALNS
Without New OperatorsWith New Operators
k f b e s t Time (s) k k A v g . f b e s t ( I ) f A v g . TimeAvg. (s) k k A v g . f b e s t ( II ) Δ f b = II I II ( % ) f A v g . ( III ) Δ f a = III II III ( % ) TimeAvg. (s)
R01r40s3N/AN/A360099.299.43106.115799.199.710.3%105.785.7%141
R02r40s3N/AN/A360099.6101.19107.2822199.599.85−1.3%108.828.2%171
R01r40s4N/AN/A360088.8104.45109.8545588.4102.27−2.1%106.854.3%401
R02r40s4N/AN/A360077.886.0594.6916177.586.660.7%92.456.3%255
C01r40s3N/AN/A360088.391.5696.8910188.190.91−0.7%96.265.6%103
C02r40s3N/AN/A36007888.894.2316977.988.72−0.1%93.655.2%151
C03r40s3N/AN/A360088.291.595.9811478.186.33−6.0%93.057.2%113
C03r40s319205.37360077.387.5391.212677.387.52−0.0%90.643.4%170
C05r40s3N/AN/A36008880.3784.261018879.76−0.8%833.9%109
C06r40s3N/AN/A360088.792.35100.245488.492.890.6%98.235.4%78
Avg.-------165.9---−0.9%-5.5%169.2
Table 12. Results of ALNS with/without new operators, and time priority approach on 80-request instances.
Table 12. Results of ALNS with/without new operators, and time priority approach on 80-request instances.
InstanceALNS
Without New OperatorsWith New OperatorsTime Priority Approach
k k A v g . f b e s t ( I ) f A v g . TimeAvg.
(s)
k k A v g . f b e s t ( II ) Δ f b = II I II ( % ) f A v g . ( III ) Δ f a = III II III ( % ) TimeAvg. (s) (IV) k k A v g . f b e s t ( V ) Δ f b = V II V ( % ) f A v g . TimeAvg. (s)
(VI)
Δ f t = IV VI IV ( % )
R01r80s51616.9193197.182941616.5186.75−3.3%196.184.8%3241617.5194.153.8%202.823389.8%
R02r80s51515.3173.27181.377931415.1173.710.3%180.773.9%7131415178.912.9%187.324793.4%
R03r80s51616.4183.5191.584391616.5178.46−2.8%190.226.1%5611616.9189.715.9%196.23893.2%
R04r80s51616.2188.66195.124651616.2184.94−2.0%195.255.2%5361616.4189.662.5%193.914591.6%
R01r80s81414.6165.24172.0612911414.7164.46−0.5%171.634.2%10311515.5174.695.9%182.6513786.7%
R02r80s81415.3172.99173.966771415.1162.8−6.3%171.795.2%8561515.2168.233.2%174.669788.6%
R03r80s81617184.24194.015821616.6177.02−4.1%189.456.6%6521617184.063.8%195.568387.2%
R04r80s81616.2189.19195.677351616.2188.56−0.3%193.572.6%6641616.8196.684.1%202.118986.6%
RC01r80s51717.9208.87221.283171717.4206.96−0.9%220.066.0%4181717.8213.333.0%225.926384.9%
RC02r80s51515.9163.78172.623511515.2163.890.1%167.222.0%3361515.6173.385.5%178.342792.0%
Avg.----594---−2.0%-4.7%609.1---4.1%-65.989.4%
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Xu, W.; Zhang, C.; Cheng, M.; Huang, Y. Electric Vehicle Routing Problem with Simultaneous Pickup and Delivery: Mathematical Modeling and Adaptive Large Neighborhood Search Heuristic Method. Energies 2022, 15, 9222. https://0-doi-org.brum.beds.ac.uk/10.3390/en15239222

AMA Style

Xu W, Zhang C, Cheng M, Huang Y. Electric Vehicle Routing Problem with Simultaneous Pickup and Delivery: Mathematical Modeling and Adaptive Large Neighborhood Search Heuristic Method. Energies. 2022; 15(23):9222. https://0-doi-org.brum.beds.ac.uk/10.3390/en15239222

Chicago/Turabian Style

Xu, Wei, Chenghao Zhang, Ming Cheng, and Yucheng Huang. 2022. "Electric Vehicle Routing Problem with Simultaneous Pickup and Delivery: Mathematical Modeling and Adaptive Large Neighborhood Search Heuristic Method" Energies 15, no. 23: 9222. https://0-doi-org.brum.beds.ac.uk/10.3390/en15239222

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