Next Article in Journal
New Perspectives for Mapping Global Population Distribution Using World Settlement Footprint Products
Previous Article in Journal
A System Dynamics Model of Online Stores’ Sales: Positive and Negative E-WOM and Promotion Perspective
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Memetic Algorithm for the Green Vehicle Routing Problem

1
School of Business Administration, Southwestern University of Finance and Economics, Chengdu 610074, China
2
Asper School of Business, University of Manitoba, Winnipeg, MB R3T 5V4, Canada
3
Department of Finance, Wenzhou Business College, Wenzhou, 325035, China
*
Author to whom correspondence should be addressed.
Sustainability 2019, 11(21), 6055; https://doi.org/10.3390/su11216055
Submission received: 17 August 2019 / Revised: 28 September 2019 / Accepted: 15 October 2019 / Published: 31 October 2019
(This article belongs to the Section Economic and Business Aspects of Sustainability)

Abstract

:
The green vehicle routing problem is a variation of the classic vehicle routing problem in which the transportation fleet is composed of electric vehicles with limited autonomy in need of recharge during their duties. As an NP-hard problem, this problem is very difficult to solve. In this paper, we first propose a memetic algorithm (MA)—a population-based algorithm—to tackle this problem. To be more specific, we incorporate an adaptive local search procedure based on a reward and punishment mechanism inspired by reinforcement learning to effectively manage the multiple neighborhood moves and guide the search, an effective backbone-based crossover operator to generate the feasible child solutions to obtain a better trade-off between intensification and diversification of the search, and a longest common subsequence-based population updating strategy to effectively manage the population. The purpose of this research is to propose a highly effective heuristic for solving the green vehicle routing problem and bring new ideas for this type of problem. Experimental results show that our algorithm is highly effective in comparison with the current state-of-the-art algorithms. In particular, our algorithm is able to find the best solutions for 84 out of the 92 instances. Key component of the approach is analyzed to evaluate its impact on the proposed algorithm and to identify the appropriate search mechanism for this type of problem.

1. Introduction

Currently, environmental concerns have driven governments to develop regulations and laws that require organizations to adopt green logistics methods in their operations [1]. As a result, major automotive manufacturers design and produce increasingly more and better alternative fuel vehicles (AFVs). Hence, the number of AFVs on the roads are increasing. AFVs represent a promising opportunity for reducing costs and pollution caused by transportation and mobility operations [2]. This is because many AFV models in the market not only help reduce fuel consumption, but also have advantages in reducing fuel costs and reducing greenhouse gas emissions. However, many AFVs have limited travel distances and must often rely on an underdeveloped refueling infrastructure. Therefore, it may be necessary to include the exact locations of the refueling stations in route planning. Furthermore, refueling delays may also cause considerable negative impacts. For example, for electric vehicles, due to their relatively short driving range and long recharging time, coupled with limited charging infrastructure, it may lead to range anxiety, so consumers may be worried about insufficient energy to reach the desired destination [3]. As a result, new routing models and methods for AFVs have emerged to help provide reliable and adequate levels of service.
As one of the most famous combinatorial optimization problems, the classic vehicle routing problem (VRP) is concerned with designing least cost delivery routes for a fleet of vehicles to serve a set of customers. The green vehicle routing problem (GVRP) is a variation of the classic VRP in which the fleet is composed of alternative fuel powered vehicles with limited autonomy in need of recharge during the execution of their duties [4]. For the GVRP, there is an unlimited homogeneous fleet of alternative fuel vehicles with limited time that starts from a depot node 0 and returns to it with the objective of minimizing the total travel distances incurred by all the vehicles. The vehicles must fulfill all the requests by visiting each customer node once with the constraints on the maximum driving time and maximum fuel capacity available [5]. Figure 1 depicts a feasible solution to a green VRP.
The goal of this research is to propose a highly effective heuristic for solving the green vehicle routing problem and to bring new ideas for this problem or this type of problem. The main contributions of this paper can be summarized as follows. First, to the best of our knowledge, this work is the first to employ a population-based algorithm (i.e., memetic algorithm (MA)) to solve the green vehicle routing problem. Second, we propose a reward and punishment mechanism inspired by reinforcement learning to effectively manage the multiple neighborhood moves and guide the search. Compared with the traditional local search, the adaptive local search can manage the different neighborhood moves to adapt to different instances. Third, a backbone-based crossover operator and a longest common subsequence based (LCS-based) population updating strategy is devised to obtain a better trade-off between intensification and diversification of the search. Compared to the general crossover operator (such as one-point crossover operator), the backbone-based crossover operator can better integrate with the problem structure by inheriting the promising customer and station sequences from the routes. Fourth, our experimental results demonstrate that the performance of our MA is highly effective compared to state-of-the-art approaches in the literature.
The rest of the paper is organized as follows. In Section 2, we present the review of the literature. In Section 3, we give the problem description of GVRP. In Section 4, we provide details of our memetic algorithm. In Section 5, we present the results of extensive computational experiments carried out to assess the performance of the proposed algorithms in comparison to current best-performing approaches. In Section 6, we analyze the important component (i.e., adaptive mechanism for neighborhood moves) of the MA algorithm and study the impact on its performance. In Section 7, we discuss the proposed algorithm in comparison with the other methods in the literature. Finally, we provide concluding remarks as well as potential research directions in Section 8.

2. Review of the Literature

The green vehicle routing problem was first introduced in [6], where a mixed integer linear programming formulation and two heuristics are proposed. One of the proposed heuristics is a modified Clarke and Wright savings algorithm (MCWS) that repairs infeasible routes by inserting fuel vehicle stations (AFSs) using a savings criterion and removes redundant AFSs after merging the routes.
Schneider et al. (2014) [7] introduced the electric vehicle routing problem with time windows and recharging stations (E-VRPTW), which is an extension of the VRP with a fleet of electric vehicles. The E-VRPTW problem considers limited capacities of vehicles, time windows of customers, and the possibility of recharging at any of the available stations using an appropriate recharging scheme. For this problem, they proposed an MILP formulation and a hybrid metaheuristic combining variable neighborhood search and tabu search (VNS/TS). The proposed VNS/TS explores infeasible solutions with respect to capacity, time windows, and battery usage constraints. A dynamic penalizing scheme is used to guide the search toward feasible solutions. Furthermore, Schneider et al. (2014) [7] made improvement over the MILP formulation proposed by Erdogan and Miller-Hooks (2012) [6], and they evaluated their VNS/TS and MILP approaches on the 52 instances proposed by Erdogan and Miller-Hooks (2012) [6]. Computational experiments showed that CPLEX 12.2 was unable to solve to optimality instances with 20 customers using their MILP model, and VNS/TS outperformed the constructive heuristics proposed by Erdogan and Miller-Hooks (2012) [6]. Schneider et al. (2015) [8] introduced the vehicle routing problem with intermediate stops (VRPIS) that generalizes the GVRP and the MDVRPI. To solve this problem, they proposed an adaptive variable neighborhood search (AVNS). Their AVNS uses a modified savings algorithm to generate an initial solution that is later improved with local search. The algorithm uses an adaptive shaking with 24 neighborhood structures, five route selection methods, three vertex sequence selection methods, and an adaptive mechanism to choose the route and vertex selection methods. The solution generated at the shaking step is subsequently improved by several greedy local searches. Furthermore, the AVNS has a dynamic penalization scheme to guide the search toward feasible solutions and a simulated annealing acceptance criterion. Since the green VRP is a special case of the VRPIS, Schneider et al. (2015) [8] evaluated their approach on the instances of Erdogan and Miller-Hooks (2012) [6]. This method outperformed all previous methods both in terms of solution quality and computational time.
More recently, Montoya et al. (2016) [5] presented a new mathematical formulation for the GVRP and a branch-and-cut algorithm. The authors also proposed a simulated annealing heuristic and report results on small instances with up to 20 customers and 310 refueling stations. Andelmin and Bartolini (2019) [1] proposed a multi-start local search (MSLS) algorithm for the GVRP. Their MSLS algorithm consists of three phases. The first two phases iteratively construct new solutions, improve them by local search, and store all vehicle routes from these solutions in a route pool. The third phase optimally combines vehicle routes in the route pool by solving a set partitioning problem and improves the final solution by local search. They reported computational results on benchmark instances with up to 470 customers, showing that the algorithm is highly competitive with the previous best performing heuristics.
Swarm intelligence (SI) is the collective behavior of decentralized and self-organized systems, natural or artificial. The concept is employed in work on artificial intelligence. This method is widely employed to solve hard solving complex combinatorial decision problems [9,10,11,12]. As a type of evolutionary algorithm [3], memetic algorithm is a general-purpose metaheuristic approach that typically combines a local search optimization procedure with a population-based framework. Memetic algorithm has been successfully applied to tackle many classical combinatorial optimization problems, including the machine scheduling problem [13], graph coloring problem [14] and quadratic assignment problem [15]. Hence, in this paper, we first employ the memetic algorithm to tackle the famous green vehicle routing problem.

3. Problem Description and Definitions

Problem Description

For the green vehicle routing problem, the objective is to find a set of routes of minimum total distance such that each customer is visited exactly once; the level of the tank when the vehicle arrives at any vertex is nonnegative; each route satisfies the maximum-duration limit; and each route starts and ends at the depot. Figure 1 depicts a feasible solution to a green VRP.
More precisely, we are given a set N = { 1 , , n } of n customers and a set of F = { n + 1 , , n + s } of s refueling stations. There is an unlimited homogeneous fleet of alternative fuel vehicles with limited time that starts from a depot node 0 and return to it with the objective of minimizing the total travel distances incurred by all the vehicles. The vehicles must fulfill all the requests by visiting each customer node once with the constraints on the maximum driving time and maximum fuel capacity available. More precisely, GVRP can be defined on a complete weighted undirected graph G = ( V , E ) with the following features.
V = N F 0 denotes the set of nodes, where N denotes the set of customer nodes, F is the set of refueling station nodes, 0 denotes the starting and ending node, also called depot, and E = {(u, v): u, vV, uv} is the edge set.
The distance between two nodes ( u , v N ) is denoted by c ( u , v ) .
  • The service time at each customer node u N is denoted by s t u .
  • The refueling time at each refueling station node u F is denoted by f t u .
  • The travel time to traverse the arc ( u , v ) E is denoted by t t u , v .
  • The maximum fuel capacity without refueling for each vehicle is MC (i.e., the maximum fuel capacity constraint).
  • The maximum driving time of each route including the service time, traversal time and refueling time is MT (i.e., the maximum driving time constraint).
  • A route traveling from i to j consumes c ( i , j ) units of distance and t ( i , j ) units of time. The time t ( i , j ) is assumed to be proportional to the distance c ( i , j ) from i to j and computed as t ( i , j ) = c ( i , j ) / v where v is the vehicle speed.
Let R be one route in a solution S and R = { u 0 = 0 , u 1 , u 2 , , u m 1 , u m = 0 } , where u k is the kth node visited in R ( 0 k m ) . It is worth noting that the GVRP expresses the maximum driving range of a vehicle as its maximum fuel capacity MC. However, since vehicle fuel consumption is assumed to be linearly dependent on the distance traveled, the maximum driving range can be equivalently expressed as a distance value. Letting K be the constant rate of fuel consumption per distance unit, the maximum distance Q that a vehicle can travel without refueling is thus defined as Q = M C / K .
If the visited node is a customer node (i.e., u k N ), the corresponding fuel surplus of the vehicle after visiting it is f s ( u k ) = f s ( u k 1 ) c ( u k 1 , u k ) / K . For each node in the route, the corresponding fuel surplus must be non-negative. Note that all vehicles departing from the depot and the refuel stations are assumed to be fully refueled having the maximum fuel amount MC. We denote by D T ( R ) = k = 0 m 1 t t u k , u k + 1 the total traversal time, S T ( R ) = k = 1 m 1 s t u k the total service time if u k is the customer node, and F T ( R ) = k = 1 m 1 f t u k if u k is the refuel station node. The corresponding total duration of each route including the traversal time, service time and refuel time cannot exceed the given maximum driving time, i.e., D T ( R ) + S T ( R ) + F T ( R ) M D (the maximum driving time constraint). The objective is to find a feasible solution with the minimum total travel distance as follows:
M i n i m i z e f ( s ) = i = 1 | S | DT ( R i ) * v ,  
where D T denotes the traversal time and v denotes the vehicle speed.

4. Memetic Algorithm

4.1. Main Framework

A memetic algorithm is a general-purpose metaheuristic approach that typically combines a local search optimization procedure with a population based framework, which has been successfully applied to tackle many classical combinatorial optimization problems, including the job shop scheduling problem [16], p-center problem [17] and nurse rostering problem [18]. The purpose of combining local search and population-based strategies is to take advantage of both the crossover operator as a diversification mechanism for discovering promising unexplored regions of the search space and the local optimization as an intensification procedure to obtain high quality solutions within a search region. We outline our proposed memetic algorithm for GVRP in Algorithm 1. At the beginning of the algorithm, we iteratively employ a hybrid heuristic method to generate the initial population (line 1). Following this, we employ an adaptive local search to optimize the solutions in the population (lines 2–4). Later, we iteratively combine two parent solutions randomly selected from the population to generate offspring solutions using a backbone-based crossover operator until the stopping criterion, i.e., maximum computing time, is satisfied (lines 5–7). After each use of the crossover operator, we improve the generated offspring solution using an adaptive local search to guide the search to promising regions (line 8). During this process, S * records the best solution found so far (lines 9–11). We then apply the longest-common-sequence-based (LCS-based) population updating strategy to possibly replace the worst individual in the population with the improved offspring solution (lines 12–15).
Algorithm 1. Framework of the memetic algorithm for solving GVRP
Require: Benchmark instance (B); the maximum computing time ( T max )
Ensure: Best-found solution ( S * )
/* Generate n p feasible solutions as an initial population (Section 4.2) */
1: P c = { S 1 , , S n p } Initial solutions ( B )
/* Improve each individual S i in the population with an adaptive local search (Section 4.3) */
2: for i = 1 , , n p do
3: S i Adaptive local search ( S i )
4: end for
5: while the maximum computing time T max is not reached do
6: Randomly select parent solutions S i and S j , from P where 1 i , j n p an i j
/* Generate offspring S c from S i , and S j , (Section 4.4) */
7: S c S i S j = Backbone-based-crossover ( S i , S j )
/* Improve S c with an adaptive local search (Section 4.3) */
8: S c Adaptive-local-search ( S c )
9: if S c is better than S * then
10: S * S c
11: end if
/* The longest-common-subsequence based population updating strategy (Section 4.5) */
12: Determine the worst individual S w where the goodness value G S ( S w , P c ) = min { G S ( S k , P c ) } , 1 k n p (see Equation (7))
13:  if G S ( S c , P c S c ) > G S ( S w , P c S c ) then
14: P c P c S c \ S w
15: end if
16: end while
17: return ( S * )

4.2. Initial Solutions

In this section, we employ a constructive heuristic based on a greedy generation method called k-Pseudo Greedy proposed by Felipe et al. (2014) [2] to generate the initial population. The k-Pseudo Greedy focuses more on feasibility and diversification, producing multiple different feasible solutions, rather than on quality or cost that are to be improved later. Specifically, the k-Pseudo Greedy method creates feasible solutions by starting from an empty solution and iteratively extending it (i.e., adding customers and fuel stations in route) until a complete solution is constructed. Specifically, the method first finds up to k unvisited customers that are closest to the current node and are reachable according to capacity, autonomy and time availability, and then select one of them, denoted by j , at random. More precisely, if it is possible to reach the depot directly form j , then j is added to the initial route. If it is possible to reach the depot from j by visiting a recharge node r , the j and r are both added to the initial route. Otherwise, the current route is ended in depot. The above procedure iteratively continues until all the customers are added in the initial solution.
If k = 1 , it reduces to a nearest neighbor greedy algorithm, visiting the closest customer and recharging at the closest recharge station when needed, until the capacity or time limit is reached. If k > 1 , the next node to be visited is chosen randomly from the set of k closest candidates, allowing the generation of different feasible solutions in different runs. This algorithm is focused more on feasibility and diversification, producing multiple different feasible solutions, rather than on quality or cost, that are to be improved later. However, if k is small, the produced solutions are expected to have an acceptable quality.
Generally speaking, the initial solution procedure will have an insignificant impact on the performance of the overall algorithm, if the algorithm itself is powerful enough. Therefore, we adopt in this study this simple but effective initial solution construction process above to generate the initial population.

4.3. Adaptive Local Search

One of the key components of our memetic algorithm is the adaptive local search procedure that plays the critical role of intensifying the search. With the exception of tabu search, traditional local search utilizes a set of moves to search the solution regions without maintaining a memory of the process, while the local search based on our reinforcement learning mechanism is able to effectively exploit memory to manage the neighborhood moves and guide the search to promising regions.

4.3.1. Neighborhood Moves

Our algorithm employs both intra-route moves (performed in the same route) and inter-route moves (performed between two different routes) as follows:
  • Intra-node-insertion (hereafter denoted as M 1 ): This operator selects a customer node removed from a given route and tries to relocate it in the same route. Specifically, it first removes node i and relocates it between customers k and l to contains the customer sequence ( k , i , l ) , as shown in Figure 2.
  • Intra-nodes-swap ( M 2 ): two customer nodes in the same route exchange their positions. Specifically, it first removes nodes i and k and relocates them in the current route to contains the customer sequences ( A F S 1 , k , j ) and ( A F S 2 , i , l ) , as shown in Figure 3.
  • Intra-arc-insertion ( M 3 ): this operator selects an arc of two customers from a given route and tries to relocate it somewhere else of the same route. Specifically, it first removes one arc between two successive customers i and j. It then tries to reconnect the route so that it contains the customer sequence ( A F S 2 , k , j , 0 ) , as shown in Figure 4.
  • Intra-arcs-swap ( M 4 ): two arcs of consecutive customers exchange their positions. See an example shown in Figure 5.
  • Inter-node-insertion ( M 5 ): different from the intra-node-insertion operator, this operator selects a customer node removed from a given route and tries to relocate it in a different route. To be specific, it first removes node i in route 1 and relocates it between customers k and l to contains the customer sequence ( k , i , l ) in route 2, as shown in Figure 6.
  • Inter-nodes-swap ( M 6 ): different from the intra-nodes-swap, this operator selects two customers in different routes to exchange their positions. See an example in Figure 7.
  • Inter-arc-insertion ( M 7 ): different from the intra-arc-insertion operator, this operator relocates a customer arc into another route. See an example in Figure 8.
  • Inter-arcs-swap ( M 8 ): different from the intra-arcs-swap operator, this operator exchanges the positions of two customer arcs between two different routes. See an example in Figure 9.
In our local search, we only consider neighborhood moves that can satisfy both two constraints, i.e., the maximum driving time, and maximum fuel capacity constraints.

4.3.2. Reward and Penalty Strategy Based on Adaptive Mechanism

Reinforcement learning is an area of machine learning concerned with how an agent should take actions in an environment to maximize cumulative reward. The intuition underlying reinforcement learning is that actions that lead to large rewards should be made more likely to recur.
We employ a reward and penalty strategy to dynamically manage the neighborhood moves and guide the search based on the expectation that different neighborhood moves may be preferable for different problem instances or search landscapes. Consequently, we keep track of a score for each neighborhood move, which measures how well the move has performed for the current instance or landscape, adopting the perspective that alternating among different moves based on the proposed adaptive mechanism may yield more robust performance.
To select moves, we assign scores to different moves and use the roulette wheel selection principle. If we have n moves with scores s c i ( i 1 , 2 , , n ) , move k is selected with probability λ k , where
λ k = i = 1 n s c k s c i , k = 1 , 2 , , n .
At the beginning of the search, each neighborhood move has the same score s c 0 and hence the same probability of being chosen. After each iteration j , the score of the neighborhood used is updated as follows:
s c i , j + 1 = s c i , j + α * β l , i , j = 1 , 2 , , n ; l = 1 , 2 .
where the reaction factor α controls how quickly the score adjustment function reacts to changes according to the performance of the moves, and parameter β denotes the different incremental scores according to the following several situations. If one move can produce a new best solution, we reward this neighborhood move by choosing β 1 in Equation (3). If one move can generate a better solution than the current solution, the neighborhood move would still be rewarded β 2 . However, if the generated solution is worse than the current solution, then we punish the move by multiplying the score by γ as follows:
s c i , j + 1 = γ * s c i , j , i , j = 1 , 2 , , n .
The adaptive local search phase proceeds with iterative exploitation of the eight neighborhood moves as shown in Algorithm 2. In each iteration, one neighborhood move is picked with probability λ i (lines 3–4). Then, if the neighborhood solution S’ obtained by this neighborhood move cannot improve the current solution S , the next neighborhood move is chosen from those remaining; otherwise, the current solution S is replaced by the best neighborhood solution S generated by current neighborhood move (lines 5–10). Subsequently, the score of the neighborhood move N i is updated by Equations (3) and (4) (line 11). During this process, S b records the best solution found in the local search, S * preserves the best found solution so far, and no_improve_iter denotes the number of iterations without improving the best found solution S b (lines 12–16). When none of the moves can improve the current best solution, we apply a simple perturbation strategy to achieve a better trade-off between diversification and intensification of the search (lines 17–19).
Algorithm 2. Adaptive local search procedure
Require: Initial current solution ( S );
Ensure: Best found solution ( S b ) during the search
/*The set of neighborhood moves denoted by I including the eight neighborhood operators proposed in Section 4.3.1*/
1:  I = { M 1 , M 2 , , M M 8 } , I 0 I , S b S , n o _ i m p r o v _ i t e r 0
2: while n o _ i m p r o v _ i t e r < n ϵ do
3:  Calculate the probability λ i of each neighborhood move M i by Equation (2)
4:  Randomly select one neighborhood move M i from I with probability λ i , where 1 i | I 0 |
5:  Choose the best neighboring solution S from the set of neighboring solutions generated by M i move, ( i . e . , S S M i )
6:  if S is not better than S then
7:   I I \ { M i }
8:  else
9:  S S , I I 0
10: end if
11: Update the score of the neighborhood move M i by Equations (3) and (4)
12: If S is better than S ( or   S b ) then
13:  S ( or   S b ) S , n o _ i m p r o v _ i t e r 0
14: else
15:  n o _ i m p r o v _ i t e r n o _ i m p r o v _ i t e r + 1
16: end if
17: if | I | = 0 then
18: S P e r t u r b a t i o n ( S b ) , I I 0
19: end if
20: end while
21: return ( S b )
To apply the perturbation operator, we randomly delete part of the customer nodes ( n / ζ ) from the current solution and re-insert the deleted customer nodes into the partial solution based on a greedy strategy.

4.4. Backbone-Based Crossover Operator

The crossover operator is another key component of our memetic algorithm. In practice, it is important to devise a dedicated recombination operator that has strong “semantics” with respect to the studied problem. In the last few years, several kinds of crossover operator have been used in the literature. Li et al. [19] introduced a complicated crossover operator based on the tree representation and Cherkesly et al. [4] proposed an adapted-order-based crossover operator. Both operators can only be used for the pickup and delivery constraints. In this study we propose a dedicated crossover operator for GVRP, which has the following features: first, our crossover operator always generates feasible solutions with respect to all the constraints, i.e., the maximum driving time and the maximum fuel capacity constraints. Thus, it is unnecessary to employ the repair strategy to ensure feasibility of the generated solutions. Second, based on a greedy chosen mechanism, our crossover operator can obtain high-quality offspring solutions.
The proposed backbone-based crossover operator operates in the following two sequential steps:
  • Step 1. We select the chosen customer and station sequence of a route from the corresponding parent solutions as a route of the child solution. To illustrate this, Figure 10 depicts an example with two parents S a and S b , where Route 1 and Route 2 denote the two routes of the parent solutions, respectively. The best chosen route selected from the candidate routes of two parent solutions is the one yielding the minimum ratio value of Δ :
    Δ = δ ( f ) / θ
    where δ ( f ) represents the incremental objective value after selecting the candidate route as a route in the child solution S c , and θ denotes the number of customers in the current route. As shown in Figure 10, we first select Route 1 from S b in the first iteration, and Route 2 from S b in the second iteration. At the last iteration we select Route 1 from S a .
  • Step 2. We delete the customers in the chosen route from the remaining routes in two parent solutions. As shown in Figure 10, we delete the customers from both two parent solutions, which appear in Route 1 after we select Route 1 from S a in the first iteration. The reason is that it is necessary to remove the same customer from both parent solutions in order to avoid redundancy after each iteration.
For the crossover operator, both steps are iteratively alternated until all the customers are included in the offspring solution. It is intuitive that our proposed crossover operator is able to generate the feasible offspring solution since the offspring solution inherit all the feasible routes (or the subset of the routes) from the parent solutions.
In our proposed crossover operator, the first step aims to select the most promising customer and station sequences from the routes according to a dedicated equation. The second step iteratively deleted the chosen customers and stations each time. Compared to the general and typical crossover operators, the proposed backbone-based crossover based on these two steps with the iterated greedy strategy is able to integrate well with the problem structure. Hence in this study, we employ the backbone-based crossover operator as the component of our algorithm.

4.5. LCS-Based Population Updating Strategy

To maintain healthy diversity of the population, we use the LCS-based population updating strategy introduced by Cheng et al. [16] to solve the job shop scheduling problem, to decide whether the improved solution should be inserted into the population or discarded. This population updating strategy simultaneously considers the solution quality and the distances among the individuals in the population to guarantee diversity of the population. The underlying idea is that the similarity of two solutions based on the longest common subsequence could clearly match the neighborhood moves based on the insert and swap operations. For this purpose, we first make two definitions as follows:
Definition 1.
Distance between a solution and its population
Given a solution S i and the population P P = { S 1 , S 2 , , S n p } , the distance between the solution S i and its population PP can be defined as follows:
D i s t ( S i ) = M i n { 2 * ( n + s ) l c s ( s i , s j ) : 1 i , j n p , i j } ,
where 2 * ( n + s ) and l c s ( s i , s j ) denote the number of all the customer and refuel station nodes and the length of the longest common subsequence between S i and S j , respectively.
Definition 2.
Goodness score of a solution in the population
The goodness score G S ( S i ) of a solution S i is defined by its objective function value, as well as its distance to the population, as follows:
G S ( S i ) = δ × f max f S i f max f min + 1 + ( 1 δ ) × D i s t ( S i ) D i s t min D i s t max D i s t min + 1
where f max and f min denote the maximum and minimum objective values of the individuals in the population P P , and D i s t max and D i s t min are the maximum and minimum distances between a solution to the population, respectively. The number 1 is used to avoid the possibility of a 0 denominator and δ is a constant parameter.
In each generation, the offspring individual is inserted into the population if the goodness score of the offspring is better than the worst solution in the population according to the goodness score. Otherwise, the offspring individual is discarded. It is clear that the greater the goodness score G S ( S i ) is, the better is the solution S i . It is noted that this goodness score function simultaneously considers the factors of solution quality and population diversity. On the one hand, we should maintain a population of elite solutions. On the other hand, we have to emphasize the importance of the diversity of the solutions to avoid premature convergence of the population.

5. Computational Studies

In this section we report extensive computational studies conducted to assess the performance of our proposed memetic algorithm (MA) with the state-of-the-art reference algorithms in solving public benchmark instances of GVRP.

5.1. Benchmark Instances and Experimental Protocols

For experimental evaluations, we employ two data sets for GVRP. The first set of benchmark instances (called EMH) was proposed in [6], which consists of 52 instances with 20–500 customers and 3–28 refueling stations. Most of these instances (40 out of 52) consist of 20 customers and 2–10 refueling stations and have been randomly constructed to represent different types of customer and refueling station configurations. The second set of instances (denoted by AB) was created by [20] by extracting a subset of customers from the larger EMH instances. The number of customers for the AB instances ranges between 50 and 100. These instances are divided into two subsets called AB1 and AB2. The AB1 instances have the same characteristics as the EMH instances, whereas the AB2 instances have the same customers and refueling stations as those in AB1, but the vehicles are assumed to travel at a higher speed of v = 60 miles/h and have a maximum driving autonomy of 280 miles. Notice that the AB2 instances allow longer vehicle routes with respect to the EMH and AB1 instances due to the higher vehicle speed.
In this study we coded our MA algorithm in C++ and ran it on a PC with an AMD Athlon 3.0 GHz CPU and 2Gb RAM operating under the Windows 7 operating system. To evaluate the performance of MA, we compare it with the following state-of-the-art heuristics from the literature:
  • The adaptive variable neighborhood search (AVNS) [7]. Algorithm AVNS was evaluated on a desktop computer with an Intel Core i5 2.67 GHz processor with 4GB RAM, running Windows 7 Professional.
  • The multi-space sampling heuristic (MSH) proposed by Montoya et al. (2016) [5]. Algorithm MHS was evaluated on a computing cluster with 2.33 GHz Intel Xeon E5410 processors with 16GB of RAM running under Linux platform.
  • The multi-start local search (MSLS) proposed by Andelmin and Bartolini (2019) [1]. Algorithm MSLS was evaluated on Intel i5-3570K desktop clocked at 3.40 GHz with 8GB RAM running Windows 10 Home 64 Edition.

5.2. Parameter Tuning

Table 1 presents the settings of the MA parameters used in the reported experiments. We tuned the parameters with the iterated F-race (IFR) proposed by Birattari et al. [21] and an automated configure method that is part of the IRACE package from [22]. We performed the tuning process on ten instances 111c_24s, 111c_26s, 111c_28s, 200c_21s, 250c_21s, 300c_21s, 350c_21s, 400c_21s, 450c_21s, and 500c_21s with 109-471 vertices. For each parameter, IFR requires a limited set of values as input to choose from the “candidate values” which are empirically determined and presented in Table 1. We set the total time budget for IRACE to 100 executions of MA, with a time limit of 60 minutes for the GVRP instances 111c_24s, 111c_26s, 111c_28s, 200c_21s, 250c_21s and 300c_21s, and 200 min for the GVRP instances 350c_21s, 400c_21s, 450c_21s and 500c_21s. We denote the parameters setting suggested by IFR as Final Value in Table 1.

5.3. Computational Results on the EMH Benchmark Instances

In this section we evaluate the performance of MA in solving GVRP in comparison with the best-performing algorithms (i.e., AVNS, MSH and MSLS). Specifically, we applied MA to solve each instance for ten times. As depicted in Table 2 and Table 3, the columns n , s and Γ report for each instance the number of customers, the number of stations, and the number of arcs in G , respectively. The column under the heading CPLEX shows the results obtained with an improved version of the model implemented by Schneider et al. [3] and solved with CPLEX with a 3-h time limit. The cases in which a feasible solution could not be found within the time limit are tagged with a-sign results. The following columns fbest, Veh, favg and Time report the best objective value, i.e., the minimum travelled distance, the number of vehicles corresponding to the best solution, the average objective value over the ten runs, and the computing time, respectively. In addition, the row #Best indicates the numbers of instances for which the associated algorithm obtains best objective values in terms of fbest compared with the reference results reported in the literature, and the row denotes the average value over all the instances in the set.
Table 2 presents the result on the 20-customer EMH instances. Considering this part of instances is small-scale with only 20 customers, we limit the computational time of the algorithm to 0.01 s for each instance. Note that for this instance set with the smallest scale, CPLEX solver cannot find solutions for four instances within the specified time limit (i.e., 3 h). Our proposed MA algorithm can obtain the best results for 38 out of 40 instances. The best and average objective values are better than the state-of-the-art MSLS algorithm (1635.42 vs. 1636.84, and 1636.94 vs. 1635.52).
Table 3 shows the experimental results on the large EMH instances with 109–471 customers. From Table 3, we observe that the proposed MA algorithm outperforms the reference algorithms AVNS, MSH and MSLS in terms of the indicators fbest and favg. In particular, MA achieves better results than the current best-performing algorithm MSLS in terms of obtaining the best objective value for 9 out of the 12 instances, while only slightly worse for 3 instances. Moreover, MA is able to obtain better result in terms of fbest and favg than MSLS (10,301.37 vs. 10,303.43, and 10,316.86 vs. 10,319.86) within a relatively close computing time (49.65 m vs. 49.70 m). The experimental results based on the large EMH instances above show that our proposed MA algorithm is highly competitive in comparison with the best-performing algorithms in terms of solution quality and computational efficiency. Note that, we indicate the best objective values found by the corresponding algorithms in bold.

5.4. Computational Results on the AB Benchmark Instances

In view of its good performance, we further compare the MA algorithm with the state-of-the-art heuristic algorithm MSLS for the second instance set (i.e., AB instances). As shown in Table 4, the first two columns present the instance identifiers and the number of the customers, respectively. The following two columns ( s and Γ ) report the number of the number of refuel stations, and arcs in graph G . The best-known results found by all the previous algorithms proposed in the literature are presented in column BKS. The number of the vehicles (Veh*) corresponding to the best solution (BKS) found by the reference algorithms, and the lower bound for each AB instance are presented in the following two columns. The average gaps above the BKS values in percentages reported under columns %Best and %Avg are computed with respect to the best and average upper bound, respectively, obtained over 10 runs. As shown in Table 4, MA outperforms the state-of-the-art algorithm MSLS in terms of all the indicators (0.01 vs. 0.12, 0.30 vs. 0.32, 11.85 vs. 11.87, 123.99 s vs. 125.98 s). In particular, the MSLS algorithm can find the best-known solution for 24 instances out of 40 instances, while MA algorithm can obtain the best-known solutions for 37 instances, larger number of instances, out of 40 instances.
To summarize, the results of the above extensive computational studies demonstrate the efficacy of MA for solving GVRP in terms of both solution quality and computational efficiency in comparison with the state-of-the-art algorithm.

6. Analysis on the Impact of the Adaptive Mechanism

To highlight the importance of the adaptive mechanism for managing the multiple neighborhood moves employed in local search phase, we carried out the following computational studies. Specifically, we use MA and its variant (called WMA) to denote the memetic algorithm based on the adaptive neighborhood moves management mechanism and the memetic algorithm without the adaptive mechanism, respectively. In other words, under WMA, the neighborhood moves are chosen in a token ring fashion (i.e., N1, … N8) with the same fixed probability without the reward and punishment strategy to select the neighborhood moves, while other ingredients are kept unchanged.
We selected 13 representative and large EMH instances for this test, and independently solved each instance for ten times by using MA and WMA. We report the computational results in Table 5, which shows the best objective value and average objective value, fbest and favg, respectively, for each instance, and the average computing time per successful run, i.e., Time, where we indicate the best objective values between the two algorithms in bold.
Table 5 shows that when the adaptive mechanism is used, MA outperforms WMA on five instances. In particular, in terms of the best and average objective values, MA obtains better values than WMA for all the tested instances, as illustrated by WMA’s 10,304.86 and 10,322.12 versus MA’s 10,301.67 and 10,316.81. As for the average running time, the two algorithms are very close to each other, i.e., WMA’s 49.95 m versus MA’s 46.64 m. The above results indicate that our adaptively selected neighborhood moves play a crucial role in boosting the performance of MA in solving GVRP.

7. Discussion

As mentioned above, we propose a novel memetic algorithm for solving the green vehicle routing problem. This population-based algorithm incorporates an adaptive local search procedure based on a reward and punishment mechanism inspired by reinforcement learning to effectively manage the multiple neighborhood moves and guide the search, an effective backbone-based crossover operator to generate the feasible child solutions, and a longest common subsequence-based population updating strategy to effectively manage the population. Compared with the traditional local search, the adaptive local search can manage the different neighborhood moves to adapt to different instances. Compared to the general crossover operator (such as one-point crossover operator), the backbone-based crossover can better integrate with the problem structure by inheriting the promising customer and station sequences from the routes. Based on the extensive experimental results reported earlier, one can observe that the proposed memetic algorithm is a highly effective heuristic in comparison with the best-performing methods in the literature for solving the green vehicle routing problem.

8. Conclusions and Future Research

Our proposed memetic algorithm (MA) for the green vehicle routing problem demonstrates the effectiveness of its key features, including an adaptive local search procedure, a backbone-based crossover operator to generate the feasible child solution, and a longest-common-subsequence-based population updating strategy.
Experimental evaluations on two sets of public benchmark instances show that our MA performs very favorably compared to the current state-of-the-art reference algorithms in the literature. In particular, MA is able to obtain highly competitive results in terms of both computational efficiency and solution quality for two sets of the EMH and AB instances. In addition, our computational studies demonstrate the effectiveness of the key strategy (i.e., adaptive mechanism to manage multiple neighborhood moves) incorporated into our proposed MA.
The main limitation of this research is the algorithmic generality. The algorithm presented in this paper does not guarantee the effectiveness of solving other types of GVRP problems, such as GVRP problems with the popular pickup and delivery constraints. Therefore, in order to solve other variant problems better, we need to consider adding more general strategies.
These outcomes motivate future research to extend our work in the following directions. First, it would be interesting to employ a powerful tabu search method (such as granular tabu search [23]) to improve the search capability of the adaptive local search phase. Second, the design of our approach implies that the development of related procedures that combine its strategies with those of other population-based frameworks like path-relinking [24] should be very promising. Finally, the success of these ideas for tackling the GVRP problem suggests that it would be worthwhile to test their performance in dealing with other variants of the vehicle routing problem [25] or scheduling problems [26].

Author Contributions

Conceptualization, B.P. and Y.Z.; methodology, B.P. and Y.G.; software, B.P.; writing—original draft preparation, B.P., Y.Z. and Y.G.; writing—review and editing, Y.G. and X.C.; project administration, X.C.; funding acquisition, X..

Funding

This research was funded by Fundamental Research Funds for the Central Universities of China (Grant Number: JBK1901011, JBK190504 and JBK1902009), Key Projects of the National Social Science Fund (Grant Number: 16AJL004), Natural Science Foundation of Zhejiang (Grant Number: LQ19G020002), the 13th Five-Year Plan Teaching Reform Project of Higher Education of Zhejiang (Grant Number: jg20180428), the Project of Education Department of Zhejiang (Grant Number: Y201940902), Basic Scientific Research Project of Wenzhou (Grant Number: R20180002), and Wenzhou Social Sciences Planning Project (Grant Number: 19wsk225).

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Andelmin, J.; Bartolini, E. A multi-start local search heuristic for the Green Vehicle Routing Problem based on a multigraph reformulation. Comput. Oper. Res. 2019, 109, 43–63. [Google Scholar] [CrossRef]
  2. Felipe, A.; 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]
  3. Dulebenets, M.A. A Delayed Start Parallel Evolutionary Algorithm for just-in-time truck scheduling at a cross-docking facility. Int. J. Prod. Econ. 2019, 212, 236–258. [Google Scholar] [CrossRef]
  4. Cherkesly, M.; Desaulniers, G.; Laporte, G. A population-based metaheuristic for the pickup and delivery problem with time windows and LIFO loading. Comput. Oper. Res. 2015, 62, 23–35. [Google Scholar] [CrossRef]
  5. Montoya, A.; Gu´eret, C.; Mendoza, J.E.; Villegas, J.G. A multispace sampling heuristic for the green vehicle routing problem. Transp. Res. Part C Emerg. Technol. 2016, 70, 113–128. [Google Scholar] [CrossRef]
  6. Erdo˘gan, S.; Miller-Hooks, E. A green vehicle routing problem. Transp. Res. Part E Logist. Transp. Rev. 2012, 48, 100–114. [Google Scholar]
  7. 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]
  8. Schneider, M.; Stenger, A.; Hof, J. An Adaptive VNS Algorithm for Vehicle Routing Problems with Intermediate Stops. OR Spectrum 2015, 37, 353–387. [Google Scholar] [CrossRef]
  9. Anandakumar, H.; Umamaheswari, K. A bio-inspired swarm intelligence technique for social aware cognitive radio handovers. Comput. Electr. Eng. 2018, 71, 925–937. [Google Scholar] [CrossRef]
  10. Brezočnik, L.; Fister, I.; Podgorelec, V. Swarm Intelligence Algorithms for Feature Selection: A Review. Appl. Sci. 2018, 8, 1521. [Google Scholar] [CrossRef]
  11. Slowik, A.; Kwasnicka, H. Nature Inspired Methods and Their Industry Applications—Swarm Intelligence Algorithms. IEEE Trans. Ind. Inform. 2018, 14, 1004–1015. [Google Scholar] [CrossRef]
  12. Govindan, K.; Jafarian, A.; Nourbakhsh, V. Designing a sustainable supply chain network integrated with vehicle routing: A comparison of hybrid swarm intelligence metaheuristics. Comput. Oper. Res. 2019, 110, 220–235. [Google Scholar] [CrossRef]
  13. Lü, Z.; Hao, J.-K. A memetic algorithm for graph coloring. Eur. J. Oper. Res. 2010, 203, 241–250. [Google Scholar] [Green Version]
  14. Fran¸ca, P.M.; Mendes, A.; Moscato, P. A memetic algorithm for the total tardiness single machine scheduling problem. Eur. J. Oper. Res. 2001, 132, 224–242. [Google Scholar]
  15. Benlic, U.; Hao, J.-K. Memetic search for the quadratic assignment problem. Expert Syst. Appl. 2015, 42, 584–595. [Google Scholar] [CrossRef] [Green Version]
  16. Cheng, T.C.E.; Peng, B.; Lü, Z. A hybrid evolutionary algorithm to solve the job shop scheduling problem. Ann. Oper. Res. 2016, 242, 223–237. [Google Scholar] [CrossRef]
  17. Pullan, W. A memetic genetic algorithm for the vertex p-center problem. Evol. Comput. 2008, 16, 417–436. [Google Scholar] [CrossRef]
  18. Burke, E.; Cowling, P.; De Causmaecker, P.; Berghe, G.V. A Memetic Approach to the Nurse Rostering Problem. Appl. Intell. 2001, 15, 199–214. [Google Scholar] [CrossRef]
  19. Li, Y.; Lim, A.; Oon, W.-C.; Qin, H.; Tu, D. The tree representation for the pickup and delivery traveling salesman problem with LIFO loading. Eur. J. Oper. Res. 2011, 212, 482–496. [Google Scholar] [CrossRef]
  20. Andelmin, J.; Bartolini, E. An Exact Algorithm for the Green Vehicle Routing Problem. Transp. Sci. 2017, 51, 1288–1303. [Google Scholar] [CrossRef]
  21. Birattari, M.; Yuan, Z.; Balaprakash, P.; Stützle, T. F-race and iterated f-race: An overview. In Experimental Methods for the Analysis of Optimization Algorithms; Springer: Berlin/Heidelberg, Germany, 2010; pp. 311–336. [Google Scholar]
  22. Lopez-Ibanez, M.; Dubois-Lacoste, J.; Caceres, L.P.; Birattari, M.; Stützle, T. The IRACE package: Iterated racing for automatic algorithm configuration. Oper. Res. Perspect. 2016, 3, 43–58. [Google Scholar] [CrossRef]
  23. Toth, P.; Vigo, D. The Granular Tabu Search and Its Application to the Vehicle-Routing Problem. INFORMS J. Comput. 2003, 15, 333–346. [Google Scholar] [CrossRef]
  24. Glover, F.; Laguna, M.; Marti, R. Fundamentals of scatter search and path relinking. Control Cybern. 2000, 29, 653–684. [Google Scholar]
  25. Franke, T.; Neumann, I.; Bühler, F.; Cocron, P.; Krems, J.F. Experiencing range in an electric vehicle: Understanding psychological barriers. Appl. Psychol. 2012, 61, 368–391. [Google Scholar] [CrossRef]
  26. Hasan, S.M.K.; Sarker, R.; Essam, D.; Cornforth, D. Memetic algorithms for solving job-shop scheduling problems. Memetic Comput. 2009, 1, 69–83. [Google Scholar] [CrossRef]
Figure 1. Example of a feasible solution for green VRP.
Figure 1. Example of a feasible solution for green VRP.
Sustainability 11 06055 g001
Figure 2. Example of the intra-node-insertion operator relocating customer node i of the current route between customers k and l.
Figure 2. Example of the intra-node-insertion operator relocating customer node i of the current route between customers k and l.
Sustainability 11 06055 g002
Figure 3. Example of the intra-nodes-swap operator relocating customer node i of the current route between refuel station AFS2 and customer l, and relocating customer node k of the current route between refuel station AFS2 and customer l.
Figure 3. Example of the intra-nodes-swap operator relocating customer node i of the current route between refuel station AFS2 and customer l, and relocating customer node k of the current route between refuel station AFS2 and customer l.
Sustainability 11 06055 g003
Figure 4. Example of the intra-arc-insertion operator relocating customer arc (i, j) of the current route between refuel station AFS2 and depot 0.
Figure 4. Example of the intra-arc-insertion operator relocating customer arc (i, j) of the current route between refuel station AFS2 and depot 0.
Sustainability 11 06055 g004
Figure 5. Example of the intra-arcs-swap operator relocating customer arc (i, j) of the current route between refuel stations AFS2 and AFS3 and relocating customer arc (k, l) of the current route between refuel stations AFS1 and AFS2.
Figure 5. Example of the intra-arcs-swap operator relocating customer arc (i, j) of the current route between refuel stations AFS2 and AFS3 and relocating customer arc (k, l) of the current route between refuel stations AFS1 and AFS2.
Sustainability 11 06055 g005
Figure 6. Example of the inter-node-insertion operator relocating customer i of route 1 into route 2 between customer k and l.
Figure 6. Example of the inter-node-insertion operator relocating customer i of route 1 into route 2 between customer k and l.
Sustainability 11 06055 g006
Figure 7. Example of the inter-nodes-swap operator swapping the positions of customers i and k in route 1 and route 2, respectively.
Figure 7. Example of the inter-nodes-swap operator swapping the positions of customers i and k in route 1 and route 2, respectively.
Sustainability 11 06055 g007
Figure 8. Example of the inter-arc-insertion operator relocating customer arc ( i , j ) of route 1 into route 2 between depot 0 and customer s.
Figure 8. Example of the inter-arc-insertion operator relocating customer arc ( i , j ) of route 1 into route 2 between depot 0 and customer s.
Sustainability 11 06055 g008
Figure 9. Example of the inter-arcs-swap operator swapping the positions of customer arc (i, j) in route 1 and customer arc (s, t) in route 2.
Figure 9. Example of the inter-arcs-swap operator swapping the positions of customer arc (i, j) in route 1 and customer arc (s, t) in route 2.
Sustainability 11 06055 g009
Figure 10. The crossover operator for two parent solutions with 2 vehicles.
Figure 10. The crossover operator for two parent solutions with 2 vehicles.
Sustainability 11 06055 g010
Table 1. Settings of some important parameters for memetic algorithm (MA).
Table 1. Settings of some important parameters for memetic algorithm (MA).
ParameterDescriptionCandidate ValuesFinal Value
k The parameter (the number of the candidate customers) in the initial population phase1, 3, 53
α The reaction factor that controls how quickly the score adjustment function reacts to changes according to the performance of the moves0.1, 0.2, 0.30.2
β 1 The reward parameter if a move produces a new best solution1, 5, 105
β 2 The reward parameter if a move improves the current solution1, 2, 51
γ The punishment parameter if a generated solution is worse than the current solution0.8, 0.9, 0.990.9
ζ The parameter of the ratio of the number of request nodes deleted in the perturbation strategy ( n / ζ ) 4,5,65
n p The number of individuals in the population5, 10, 1515
δ The constant parameter to balance the objective value and the distance in the goodness value0.4, 0.7, 0.90.7
Table 2. Results for solving public benchmark 20-customer EMH instances. Time is measured in minutes.
Table 2. Results for solving public benchmark 20-customer EMH instances. Time is measured in minutes.
Instancesns Γ CPLEXAVNSMSHMSLSMA
f b e s t f a v g TimeVeh f b e s t f a v g TimeVeh f b e s t f a v g TimeVeh f b e s t f a v g Time
20c3sU12035581797.491797.491797.490.1661797.491797.490.0861797.51797.50.00561797.491797.490.01
20c3sU22035701574.771574.781574.780.1561574.781574.780.0761574.781574.780.00561574.781574.780.01
20c3sU32035941704.481704.481704.480.1361704.481704.480.0761704.481704.480.00561704.481704.480.01
20c3sU42035881482148214820.175148214820.075148214820.0055148214820.01
20c3sU52035581689.371689.371689.370.1861689.371689.370.0761689.371689.370.00561689.371689.370.01
20c3sU62035861618.651618.651618.650.1561618.651618.650.0761618.651618.650.00561618.651618.650.01
20c3sU72035281713.661713.661713.660.1961713.661713.870.0761713.671713.670.00461713.661713.660.01
20c3sU82035441706.51706.51706.50.1661706.51706.50.0761706.51706.50.00461706.51706.50.01
20c3sU92034881708.811708.821708.820.1961708.821709.650.0761708.821708.820.00461708.821708.820.01
20c3sU102036241181.311181.311181.310.2341181.311181.310.0741181.311181.310.00541181.311181.310.01
20c3sC12037721173.571173.571173.570.3841173.571173.570.0741173.571177.490.00641173.571177.490.01
20c3sC21935381539.971539.971539.970.2151539.971539.970.0851539.971539.970.00551539.971539.970.01
20c3sC3123278880.2880.2880.20.153880.2880.20.043880.2880.20.0043880.2880.20.01
20c3sC41836081059.351059.351077.710.2341059.351059.940.0641059.351059.350.00541059.351059.350.01
20c3sC5193362-2156.012156.010.1472156.012156.040.172156.012156.010.00472156.012156.010.01
20c3sC61732762758.172758.172758.170.1482758.172758.170.0882758.172758.170.00382758.172758.170.01
20c3sC763381393.991393.991393.990.0441393.991393.990.0641393.991393.990.00241393.991393.990.01
20c3sC81832323139.723139.723139.720.0893139.723139.720.1293139.723139.720.00393139.723139.720.01
20c3sC91934801799.941799.941799.940.1661799.941799.940.161799.941799.940.00461799.941799.940.01
20c3sC10153222-2583.422600.390.0982583.422583.420.078264026400.00382583.422583.420.01
S1 2i6s2068961578.121578.121578.120.1661578.121578.120.0761578.121578.120.00761578.121578.120.01
S1 4i6s2069721413.961397.271397.270.1651397.271397.270.0751397.271397.270.00851397.271397.270.01
S1 6i6s2067441560.491560.491560.490.251560.491560.490.0751560.491560.490.00551560.491560.490.01
S1 8i6s2068221692.321692.321692.320.1761692.321692.320.0761692.321692.320.00761692.321692.320.01
S1 10i6s20611861173.481173.481173.480.2441173.481173.480.0741173.481173.480.00941173.481173.480.01
S2 2i6s2068481633.11633.11633.10.1961633.11633.10.0961633.11633.10.00861633.11633.10.01
S2 4i6s1969201555.201505.071505.070.1461505.071505.070.0961505.071505.070.00761505.071505.070.01
S2 6i6s206560-2431.332431.330.1372431.332431.330.0772431.332431.330.00772431.332431.330.01
S2 8i6s1662922158.352158.352158.350.0972158.352158.350.0672158.352158.350.00472158.352158.350.01
S2 10i6s166466-1585.461585.460.1551585.461585.460.0651585.461585.460.00551585.461585.460.01
S1 4i2s2025181582.211582.211582.210.1361582.211582.210.0761582.211582.210.00461582.211582.210.01
S1 4i4s2047081460.091460.091460.090.1651460.091460.090.0751460.091460.090.00651460.091460.090.01
S1 4i6s2069721397.271397.271397.270.1651397.271397.270.0751397.271397.270.00851397.271397.270.01
S1 4i8s20813201403.571397.271397.270.1751397.271397.270.0751397.271397.270.0151397.271397.270.01
S1 4i10s201014941397.271396.021396.020.2351396.021396.020.0751396.021396.020.01251396.021396.020.01
S2 4i2s1825481059.351059.351069.420.2341059.351059.940.0641059.351059.350.00441059.351059.350.01
S2 4i4s1948381446.081446.081449.170.2151446.081446.080.0951446.081446.080.00651446.081446.080.01
S2 4i6s2069241434.141434.141445.350.251434.141435.950.0851434.141434.140.00751434.141434.140.01
S2 4i8s20812561434.141434.141434.140.251434.141435.950.0851434.141434.140.0151434.141434.140.01
S2 4i10s201015281434.131434.131455.310.2451434.131435.940.0951434.131434.130.01451434.131434.130.01
#AVG
#Best
1635.43
38
1637.450.17 1635.42
38
1635.620.07 1636.84
35
1636.940.006 1635.42
38
1635.520.01
Table 3. Results for solving public benchmark large EMH instances. Time is measured in minutes.
Table 3. Results for solving public benchmark large EMH instances. Time is measured in minutes.
Instancesns Γ BKSAVNSMSHMSLSMA
f b e s t f a v g TimeVeh f b e s t f a v g TimeVeh f b e s t f a v g TimeVeh f b e s t f a v g Time
111c_21s1092157,4624770.474770.474791.531.78174777.914781.854.94174771.974774.21.87174770.474790.512.01
111c_22s1092258,4804767.214776.814797.311.94174774.654778.84.69174767.214769.771.96174767.214769.772.33
111c_24s1092464,5884767.144767.144790.842.16174773.674778.625.64174767.144768.42.42174767.144768.483.62
111c_26s1092666,8144767.144767.144782.62.04174773.674778.625.23174767.144769.52.57174767.144769.53.54
111c_28s1092868,8784765.524765.524781.261.73174772.464777.035.54174765.524767.972.78174765.524767.973.99
200c_21s19221191,8848766.0488868970.143.61318839.628879.9819.96318766.048790.810.48318766.048790.89.15
250c_21s23721303,96210,379.9810,487.1510,531.23.673710,482.5210,518.3221.583710,379.9810414.4521.463710,381.2110,402.2715.23
300c_21s28321424,60212,202.4912,374.4912,514.784.944412,367.612,421.7547.534312,202.4912,209.9435.444312,206.1612,215.7831.84
350c_21s32921576,89613,908.9614,103.6614,271.567.115014,073.3414,226.0363.014913,908.9613,929.8960.994913,910.0213,931.5757.99
400c_21s37821743,34616,398.1316,697.2116,839.2312.75916,660.217,119.8971.75816,398.1316,424.29111.845816,389.2716,412.81101.27
450c_21s42421931,85217,938.8518,310.618,512.4713.196518,241.4818,902.0380.756417,938.8517,973.93145.736417,931.2117,956.77172.06
500c_21s471211,128,35420,207.8120,609.6720,874.519.517320,496.520,997.0489.957120,207.8120,245.13198.977120,198.7420,225.52196.43
#AVG 10,442.9810,538.116.19 10,419.4610,579.9935.04 10,303.4310,319.8649.7 10,301.3710,316.8649.95
#Best 1 0 8 9
Table 4. Results for solving public benchmark AB instances. Time is measured in seconds.
Table 4. Results for solving public benchmark AB instances. Time is measured in seconds.
Instancesns Γ BKSVehLBMSLSMA
%Best%AvgVehTime%Best%AvgVehTime
AB101502110,5902566.6292566.6200910.980095.12
AB102502112,7682876.26102876.26001012.800106.79
AB103502112,6042804.07102804.07001015.82001012.67
AB104472574202634.1792634.1700948.1600921.56
AB105732121,0023939.96143939.96001431.5001430.88
AB106742124,9563915.15133915.150.090.371432.6900.121427.2
AB107752135,6943732.97133732.9700.041343.4400.021340.19
AB108752131,9723672.4133672.400.051341.4900.011342.69
AB109752429,3583722.17133722.1700.011343.2700.011345.61
AB110752429,4203612.95133572.110.20.591344.160.180.461347.12
AB111712521,4623996.96143996.9600.0614142.900.071480.23
AB1121002152,8585487.87185487.870.61.271990.010.451.271989.5
AB1131002153,9024804.62174804.620.040.31793.2200.391799.1
AB1141002153,6865324.17185324.170.010.351887.0700.411867.23
AB1151002150,7645035.35175035.3500.271784.0800.361767.12
AB1161002158,2864511.64164511.640.030.2216102.2600.21681.05
AB117992247,1745370.28185370.280.120.181880.830.050.171860.12
AB1181002248,7705756.88195756.8800.141981.0400.081978.01
AB119982547,8845599.96195599.96001995.21001990.12
AB120962547,6585679.81195679.81001981.84001988.13
AB201502119,4421836.2561836.2500630.8500635.65
AB202502119,9781966.8261966.8200.02658.100.02663.87
AB203502119,4541921.5961921.5900640.9100657.93
AB204502517,8742001.762001.7006130.9200680.65
AB205752142,8142793.0192793.010.090.2979.2100.2986.12
AB206752145,4782891.4892891.4800979.2300995.23
AB207752154,4582717.3482717.340.091.48160.1501.28123.15
AB208752149,5722552.1882552.1800.178110.6300.178156.54
AB209752451,4222517.6982517.6900.018170.8800.018167.34
AB210752552,9682479.9782479.9700.028158.2500.028198.45
AB211752447,2302970.5692928.4700.489322.4200.489257.57
AB2121002182,2483341.43113341.430.70.7111230.6800.7111256.73
AB2131002190,1663133.24103133.2400.2810277.5100.2810286.52
AB2141002183,1863384.28113364.160.030.511210.3500.511256.84
AB2151002183,3203480.52113443.580.110.2911241.6300.2911312.45
AB2161002184,6183221.78103200.470.551.2210259.7901.2210382.56
AB2171002287,0723714.94113714.9401.1411259.1101.1411259.11
AB2181002289,4303658.17113658.170.140.2911256.5200.2911256.52
AB21910025103,5763790.71113757.281.681.7512418.0601.7511246.79
AB2201002588,3303737.88113737.880.350.5111281.6100.5111299.21
#AVG 0.12 0.32
11.87
125.980.010.3011.85123.99
#Best 24 37
Table 5. Comparison of the memetic algorithms (MA and WMA) with and without the adaptive mechanism on 13 representative EMH instances. Time is measured in minutes.
Table 5. Comparison of the memetic algorithms (MA and WMA) with and without the adaptive mechanism on 13 representative EMH instances. Time is measured in minutes.
Instancesns Γ WMAMA
f b e s t f a v g Time f b e s t f a v g Time
111c_21s1092157,4624770.474789.371.894770.474790.512.01
111c_22s1092258,4804767.214779.561.454767.214769.772.33
111c_24s1092464,5884767.144769.514.184767.144768.483.62
111c_26s1092666,8144767.144769.792.694767.144769.53.54
111c_28s1092868,8784765.524767.123.734765.524767.973.99
200c_21s19221191,8848766.048791.455.288766.048790.89.15
250c_21s23721303,96210,380.1710,411.5621.4410,381.2110,402.2715.23
300c_21s28321424,60212,207.2812,221.6927.6712,206.1612,215.7831.84
350c_21s32921576,89613,913.6413,933.8641.7813,910.0213,931.5757.99
400c_21s37821743,34616,394.5616,421.03111.916,389.2716,412.81101.27
450c_21s42421931,85217,939.4617,978.97168.5317,931.2117,956.77172.06
500c_21s471211,128,35420,221.720,231.56169.1720,198.7420,225.52196.43
#AVG 10,304.8610,322.1246.6410,301.6710,316.8149.95
#Best 7 12

Share and Cite

MDPI and ACS Style

Peng, B.; Zhang, Y.; Gajpal, Y.; Chen, X. A Memetic Algorithm for the Green Vehicle Routing Problem. Sustainability 2019, 11, 6055. https://doi.org/10.3390/su11216055

AMA Style

Peng B, Zhang Y, Gajpal Y, Chen X. A Memetic Algorithm for the Green Vehicle Routing Problem. Sustainability. 2019; 11(21):6055. https://doi.org/10.3390/su11216055

Chicago/Turabian Style

Peng, Bo, Yuan Zhang, Yuvraj Gajpal, and Xiding Chen. 2019. "A Memetic Algorithm for the Green Vehicle Routing Problem" Sustainability 11, no. 21: 6055. https://doi.org/10.3390/su11216055

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