Review Article

A Survey on the Electric Vehicle Routing Problem: Variants and Solution Approaches

Table 2

Overview of the applied procedures.

ReferenceProblem nameNFInitialHybrid Metaheuristics HeuristicsAExact & SoftwareInstancesDescription

Bektaş and Laporte [40]PRPCPLEX - smallGenerated

Conrad and Figliozzi [22]Recharging VRPRoute constructionIterative route construction and improvementSolomon - CVRP-TW Sequential construction of routes
( Route improvement - improves a group or set of routes

Gonçalves et al. [21]VRPPD with mixed fleetCPLEX - small

Demir et al. [32]PRPCWSALNS + speed opt.PRPALNS destroy: Random, WorstDistance, WorstTime, Route, Shaw, ProximityBased, TimeBased, DemandBased, HistoricalKnowledge, Neighborhood, Zone, NodeNeighborhood
ALNS repair: Greedy, Regret, GreedyWithNoise, RegretWithNoise, Zone
Speed opt.: first optimal speeds are computed to find violations if any, and then in the second part the current speeds are revised to optimize the fuel consumption

Erdoğan and Miller-Hooks [23]GVRP MCWS
( DBCA
LSCPLEX - smallGVRPLS operator: Exchange

Omidvar and Tavakkoli-Moghaddam [24]GVRP SA
( GA
SACPLEX - smallGenerated - Solomon procedureNo description of the implementation

Abdallah [41]PHEVRPTWPush forward insertion heuristic + LP optimization of chargesHeuristics for feasible upper bound, TSSAMATLAB, CPLEX - small, DPAdapted SolomonCompare three procedures for small instances:
Master LP: three different relaxations by applying cutting plane algorithm + CPLEX for MIP subproblem;
( Best Lagrangian bound + heuristic
( CPLEX
TS neighborhood operators: - interchange (, DP for determining optimal route cost

Barco et al. [34, 42]E-VRP and charge schedulingRandomDifferential evolution, GAReal( Determine the set of optimal routes
( Assignment of routes over the planning horizon
( Charge scheduling + rerouting to CSs
Mutation: OR, XOR between individuals Crossover: random -point

Van Duin et al. [43]FSMVRPTW, EVFSMVRPTWSequential insertion heuristicsLSShortrec software
LS operators: Bräysy and Gendreau [26]

Adler and Mirchandani [44]Online routing of BEVsApproximate DPRealMarkov chance-decision process

Alesiani and Maslekar [45]BEV routingXRandomGAGeneratedSolution: a two-dimensional binary array of routes and CSs
After assigning CS to routes the TSP route is determined
Initial: no charging, battery constrained SPP
Crossover: 2-point, the second parent is chosen to reduce the concurrency at CSs
Selection: random or based on the fitness
Mutation: random - remove/insert CS, Exchange
LS: removing/inserting vertices (Relocate)

Demir et al. [37]PRPALNS + speed opt. + heuristicGeneratedALNS of Demir et al. [32] + speed optimization - to generate non-dominated Pareto optimal solutions
Heuristic: adaptive weighting with -constraint method for bi-objective solutions

Felipe et al. [46]GVRP-MTPRConstructive- -PseudoGreedyLS(48A)SAGVRP-MTPR, GVRP, E-VRPTWLS (48A): RechargeRelocation, 2-Opt, reinsertion with four options: first or best and yes/no update of savings

Preis et al. [35]Energy-optimized routing of BEVsXCWSTSMIP solver - smallGeneratedNeighborhood operator: Relocate

Sassi et al. [47]HEVRP-TDMFCRHILS+LNSRealCRH - Feasible charging scheme at the depot, Insertion heuristics
LNS destroy: Random
LNS repair: Random, Regret, Score-based

Schneider et al. [25]E-VRPTWXSweepVNS+TSSACPLEX - smallE-VRPTW, MDVRPI, GVRPVNS - 15 neighborhood structures based on the cyclic exchange move
TS - operators: 2-opt∗, Relocate, Exchange, StationInRe
Diversification mechanism based on the attributes frequency

Zündorf [50]EVRCHeuristics to speed up exact algorithmsCharging function propagating algorithm, CH,A∗RealBattery CSPP
Multi-objective search using Pareto-sets

Bruglieri et al. [29, 51]E-VRPTWVNS with branchingCPLEXE-VRPTW - smallVNS with Hamming distance of three: removing CS, inserting CS, merging

Goeke and Schneider [30]E-VRPTWMFXModified insertion heuristicsALNS+LSSAE-VRPTWMF, VRPTW, E-VRPTWInitial - long BEV routes are converted to ICEV routes
ALNS destroy: Random, Worst, Shaw, Cluster, StationVicinity
ALNS repair: Greedy, Regret, GRASP
LS operators: Relocate, Exchange, 2-opt∗, StationInRe

Lebeau et al. [52]FSMVRPTW-EVCWS + tree branchingFSMVRPTW - EVThe tree is used for different combinations of vehicles - in each branch, one vehicle is selected and vertices are inserted

Moghaddam [53]E-VRPTWPRGurobiGenerated

Pourazarm et al. [54]Single/Multi BEV routingDPGeneratedSingle - electric vehicle CSPP
Grouping subsets of vehicles into sub-flows

Sassi et al. [48]VRP-MFHEVCRHITS+LNSRRGeneralized E-VRPTWCRH - without charge scheduling at the depot
LNS destroy: Random
LNS repair: Random
First and best improvement

Sassi et al. [49]VRP-HFCCCRHILS+LNSRRReal, generalized E-VRPTWLNS destroy: Random
LNS repair: Random, Regret
Perturbation: LNS random destroy and repair

Schneider et al. [55]VRPIS (EVRPRF)XMCWSAVNS+LSSACPLEX - smallEVRPRF, GVRP, VRPIRFAVNS shaking phase - neighborhood structures: sequence relocation, cyclic exchange
( First route selection operators: Random, Length, LengthPerDemandUnit, FacilityDensity, FacilityDetour, Next route is selected from a set of spatially close routes, Vertex selection: Random, DistanceToNextRoute, DistanceToNeighboringVertices LS: FacilityInsertion, 2-opt, Or-Opt, Relocate, FacilityReplacement, Exchange

Yang and Sun [56]BSS-EV-LRPRadius covering + MCWSTS-MCWS+LSCPLEX - smallBSS-EV-LRPLS: Relocate, Exchange
Neighborhood search: replace located and unlocated BSS
XModified sweep + greedySIGALNSSARemove all BSSs and then apply the iterated greedy procedure to insert best BSSs
ALNS destroy: Random, Worst, Related, RequestGraph, SinglePoint, TwoPoint, Binary, StationBased
ALNS repair: Greedy, Regret-k, AdvanceGreedy, AdvanceRegret-k
Improvement: try to remove BSSs

Desaulniers et al. [57]E-VRPTW -SF/MF/SP/MPBranch-price-and-cut GENCOL + CPLEXE-VRPTW with modif. for SF/SP

Doppstadt et al. [58]HEV-TSP) Random
( NNH
( Concorde - TSP
ITSCPLEXHEV-TSPInitial route is driven in combustion mode + LS - 2-Opt hill-climbing 4:1 ratio - four arcs have to be driven in charging mode in order to drive the last one in electric mode
LS: -mode change () - changes only the mode, -Opt with mode change () - changes the route configuration and the mode ITS: Search: 2-opt with mode change + arcs in tabu list, Hill-climbing - mode change (first or best), Diversification: -Opt with the mode change

Hiermann et al. [31]E-FSMFTWXIterative route constructionALNS+LSSABranch-and-price+DPE-FSMFTW, E-VRPTWLabeling algorithm for CSs and new extension functions
ALNS destroy: Random, RandomAndRelated, WorstAndRelated, InefficientRouteAndNeighbour, Target
ALNS repair: SequentialNode, ParallelRegret, SemiParallelConstruction, SemiParallelInsertion
LS (best of first ): 2-opt, 2-opt∗, Relocate, Exchange, InsertRemoveIF (CS), Resize (type), RelocateAndResize (type)

Keskin and Çatay [28]E-VRPTWPRInsertion heuristicsALNSSACPLEX - smallE-VRPTWALNS destroy options: remove customer only or with preceding/succeeding CS
Customer: Random, WorstDistance, WorstTime, Shaw, ProximityBased, DemandBased, TimeBased, ZoneRemoval
Route: Random, Greedy
Station: Random, WorstDistance, WorstChargeUsage, FullCharge
ALNS repair: Customer: Greedy, Regret-2/3, TimeBased, Zone;
Station: Greedy, GreedyWithComparison, Best

Koç and Karaoglan [59]GVRPMCWSSASABranch-and- cutGVRPImproved MIP formulation of GVRP
SA improvement operators: Merge routes, Swap, station Add/Drop
Branch-and-cut is applied to the initial solution
On optimal fractional solution, the heuristic is applied to obtain a feasible solution which is further improved by SA

Lin et al. [60]E-VRPMATLABRealThe linearized model formulation including energy costs and battery charging time

Masliakova [61]Routing and charging of electric busesRandom CSs positions + route constructionGA+ACRealGA: random 2-point crossover, mutation: move the CS to the nearest vertex
AC - the ranking of individuals in GA

Mirmohammadi et al. [62]Periodic green VRPCPLEXGenerated

Montoya et al. [63]GVRP( random NNH, random nearest insertion, random best insertion) + splitModified multi-space sampling heuristic + set partitioningGurobi - set partitioningGVRP Build the TSP route constructed by applying one of the construction procedures
( Split TSP route and repair (CSPP) - pulse algorithm
( Set partitioning over a set of routes

Roberti and Wen [64]E-TSPTWXRandomThree-phase heuristic: VND + LS + DPCPLEX, DPE-TSPTW, TSPTW, E-VRPTW - single vehicle( Initial - TSP
( Perturbation: random customer relocation - TSP
( TW feasible - TSPTW + (VND+LS: Relocate backward and forward, 2-Opt, Exchange)
( Energy feasible - DP - labeling algorithm

Schiffer et al. [11, 27]E-LRPTWPRXCWSALNS+DP+LSDPRealALNS destroy: large (Add, Drop, SwapPerfect, SwapPerfectOut) - change CS configuration; small (Worst, Related, Route, Shaw, StationVicinity) - change route configuration
ALNS repair: SequentialNode, SequentialPerturbed
LS (best of ): 2-Opt∗, Or-opt, Exchange, Relocate, StationInsertion
DP - optimal determination of recharging visits and charging amount

Wen et al. [65]E-VSPGreedy constructiveALNSSACPLEX - small and post opt.E-VSPALNS destroy: Random, TimeRelated, NeighboringSchedule (problem specific)
ALNS repair: regret-2,3,4 (deterministic and stochastic version)
Post-optimization: a set of feasible solutions are used in set partitioning model

Andelmin and Bartolini [66]GVRPExact procedureGVRP, generatedMultigraph - arc represents possible paths between customers with inserted CS Set partitioning formulation + subset row inequalities and -path cuts (Chvatal–Gomory (CG) cuts of rank one) - MILP formulation of separation + cut-and-column algorithm

Çatay and Keskin [67]E-VRPTWPRCPLEX - smallE-VRPTW

Froger et al. [68]E-VRP-NL-CNNH-TSPTwo-stage heuristicGurobi - MILP modelsModified E-VRP-NLFirst stage without CS capacity constraint: ILS - giant TSP route + perturbation (random double bridge) + split procedure on acyclic graph with heuristic for CSs + LS: 2-Opt, Relocate and MILP model for charging decisions; local optimum solutions are stored in a pool of solutions
Second stage: solutions are assembled using Benders’ like decomposition into route selection master problem, and CS capacity management sub-problem
Three strategies for CS capacity management: ( no revision (only feasibility check), delay the charging operations to satisfy CS capacity constraints, and revise the charging amount
The set partitioning model is solved using the branch-and-bound algorithm and cuts for CS capacity management

Hof et al. [69]BSS-EV-LRPXMCWSAVNS+LSSACPLEX - smallBSS-EV-LRP - Yang and Sun [56] and newAVNS - Schneider et al. [55] - 32 neighborhood structures - (24) + ( new one based on the facility-removal and facility-replacement )
LS: 2-Opt, Or-Opt, Relocate, Exchange, FacilityInsertion, FacilityReplacement, FacilityExchange

Leggieri and Haouari [70]GVRPCPLEXGVRP

Mancini [71]HVRPRun MILP for sLNSXpressHVRP, GVRPTwo routes are destroyed and the MILP mathematical model is run again for s only on the customers that were previously involved in the selected routes

Montoya et al. [72]E-VRP-NLNNH-TSP + splitILS (VND)+ heuristic concentrationFRVCP-GurobiE-VRP-NLSequencing first, charging (FRVCP) second
VND: Relocate, 2-Opt and GlobalChargingImprovement
Perturbation: build TSP route, perturb and split
Heuristic concentration: set partitioning over a set of routes
FRVCP- Gurobi and a greedy heuristic

Schiffer and Walther [73]E-LRPTWPRGurobiE-VRPTW - small

Shao et al. [74]EVRP-CTVTTEncoded modeGARealDynamic Dijkstra algorithm for time-dependent SPP, single string encoding, each individual after the crossover or mutation needs to satisfy all the constraints - if not run the procedure again, elitism

Sweda et al. [75]Adaptive routing and recharging policies of EVsTwo specially designed heuristicsGeneratedOrigin-destination, Optimal a priori policy - CSPP + searching for policies with a lower costs
(2.1) Two-stage heuristic: select the EV path to follow and select adaptive recharging policy for the fixed path
(2.2) Adjusting vehicle trajectory - find optimal policy between a priori stop locations and permit adaptive decision making for both routing and recharging

Vincent et al. [76]HVRPXModified NNHSASAVarious CVRPNeighborhood operators: Insert, Swap, Reverse
Restart strategy

Amiri et al. [39]BSS location & schedulingGAGeneratedNon-dominated sorting GA

Bruglieri et al. [77]E-VRePConstruction heuristicsTwo-phase heuristicCPLEXReal First phase: generate a set of feasible solutions: three random constructive heuristics
( Second phase: -constraint programming

Joo and Lim [78]EV routingACGeneratedEnergy SPP
AC - each ant selects next vertex by a stochastic greedy search based on the energy consumption and speed

Keskin and Çatay [79]E-VRPTW-FC BKS
( E-VRPTW - PR sol. FC
( Greedy
ALNS + opt.SACPLEX - small and opt.GVRP-MTPR, E-VRPTWALNS of Keskin and Çatay [28] with modf.: Station destroy procedures: Random, WorstDistance, LeastUsedStation, ExpensiveStation; Customer insertion procedures - only fastest recharging option; modified station insertions algorithms which start from the cheapest and go to the more expensive charging options
Post optimization of charging decisions (location, amount and type)

Keskin et al. [80]E-VRPTW with waiting timesALNS + opt.SACPLEX - small and opt.E-VRPTWALNS of Keskin and Çatay [28]
Post optimization of charging decisions (location, amount and type)

Kullman et al. [81]E-VRP-PPRouting policiesExact, FRVCPGeneratedMarkov decision process - approximated DP solution
The Benders-based branch-and-cut algorithm to solve the decomposition
Integration of static policies into dynamic lookahead policies: pre-decision, post-decision, and one-step rollouts
Exact labeling for FRVCP with time-dependent waiting times and discrete charging decisions
Nonlinear information penalties that tighten the perfect information bound of the optimal policy

Li et al. [82]MBFM & recharging problemCPLEXRealCase study, new life additional benefit costs method for the replacement of vehicles (CPLEX); two routing methods: single/multi-period approach for solving the recharging problem

Lu et al. [83]MTFSPNetwork decomposition by vehicles and timeCPLEX - sub-modelsRealMulti-layer taxi-flow time-space network
Network decomposition by vehicles: first MTFSP sub-model for EVs is solved and then the MTFSP for the rest of ICEVs
Network composition by time: in each slice of the time-sliced network to each request the nearest vehicles are assigned and then the recharging of EV is performed

Masmoudi et al. [84]DARP-EVXModified insertion heuristicsEVO-VNSCA, RRCPLEX - smallHDARP, DARP-EV EVO - chromosome encoded as a sequence of vehicles and pickup/drop off vertices:
(1a) population is divided in groups
(1b) solutions are selected from each group (roulette wheel), and if the best solution was not improved for the last three iterations, merge crossover (MX1) is applied between one solution from and one from the rest of the solutions in the groups that were not selected
( VNS - neighborhood operators: Swap, RemoveSequence, CrossExchange; three versions:
: in each iteration roulette
wheel selection of routes in neighborhood structures and order of LS operators with the first improvement strategy, CA acceptance function
: after new solution additional iterations of LS with only one operator in each iteration, RR acceptance function
: for applying each neighborhood structure, LS, acceptance of only better solutions
LS: 2-Opt∗, RemoveTwoInsertOne, Relocate, 4-Opt, Remove/Insert BatteryStation
( Insert new solutions in the population, the rest of the solutions are generated based on the destroy and repair heuristic (-regret)

Paz et al. [86]MDEVLRPTW - BS/PR/BSPRCPLEXModified E-LRPTW - small

Pelletier et al. [87]EFV-CSPCPLEXGeneratedThe focus is on the deriving meaningful insights and not the computation prowess

Poonthalir and Nadarajan [38]F-GVRPNNH + randomTVa-PSOGMOGVRPParticle encoding: customer sequence only which is converted to solution by inserting depots and refueling stations
Personal and global best particles + velocity update
Time-varying inertia and acceleration coefficients
Decoding: rank of value to convert the route to the particle position
GMO and archive of Pareto optimal solutions

Schiffer and Walther [88]LRPIFXMCWSALNS+LS+DPDPE-LRPTWPR (old and new), BSS-EV-LRP, E-VRPTW, E-VRPTWPRPenalty terms evaluation - corridor-based approach - a range of possible refueling times + concatenation operators
ALNS and LS: Schiffer et al. [11]
DP - optimal place of recharging visits - solve resource constrained SPP for each route by extending the given routes only for facility vertices + resource extension functions for feasibility and dominance checks

Schiffer and Walther [89]RELRPTWPRXMCWSALNS+LS+DPDP, Gurobi - smallRealParallelized ALNS of Schiffer and Walther [88]: LS, DP and customer configuration performed in parallel for fixed CS configuration, while CSs configuration, adaptive evaluations and stopping criterion are executed within a critical section of the code Adversarial approach for robust formulation

Shao et al. [90]E-VRPGA+LSRealGeneral GA + elitism
LS: random Exchange

Wang et al. [91]BEV routingGA + fuzzy prog.GeneratedFuzzy programming and fuzzy preference relations are applied to transform the objective function into a single objective function
GA: chromosome genes - CSs

Zhang et al. [36]E-VRPXConstruction + insertion heuristicsAC+ILS, ALNSGeneratedInitial: TSP - construction based on the savings and intensity trail value, VRP - insertion of depots, E-VRP - insertion of CSs
ILS perturbation: random removal of customers and CSs, and then the best insertion procedure
LS: 2-Opt∗, Exchange, Relocate, StationInRe Elitism
ALNS of Goeke and Schneider [30] with modf.: no cluster removal operator

Basso et al. [92]2sEVRPCPLEXGeneratedBellman-Ford algorithm for SPP

Breunig et al. [93]E2EVRPGreedy insertionLNS+LS+DPExact - route and candidate solution enumerationsE2EVRPLNS destroy: RelatedRemoval, Random, CloseSatellite, OpenSatellite, RemoveSingleCustomerRoutes
LNS repair: (i) the reinsertion of customers in the second echelon with Greedy (random or demand quantity) operators; (ii) greedy insertion on the first echelon routes
(iii) DP for CSs insertions
LS on second echelon: 2-Opt, 2-Opt∗, Relocate, Swap, Swap2-1

Bruglieri et al. [94]GVRPExact + XpressGVRPPath-based approach - the route is a composition of paths for a subset of customers without station visits:
( All feasible paths are generated, removing from set of the dominated ones
( MILP formulation is used to combine paths in routes

Froger et al. [95]E-VRP-NLHeuristic for FRVCPExact labeling - FRVCP, GUROBI - smallE-VRP-NLHeuristic for FRVCP: at each CS, EV is charged minimum energy required to reach next CS or depot

Hiermann et al. [96]E-FTWXGA+LS+LNS+DPCPLEX - set partitioningE-FTW, E-FSMFTW, E-VRPTW, E-VRPTWPRThe sequence of customers and vehicle types without CS
( GA - assignment and sequencing of customer visits - populations: feasible and infeasible
( DP - sequencing of CS: resource CSPP - labeling algorithm for CSs insertions
( Greedy extension policy - known sequence, partial recharging, mode selection Route evaluation: (&, extension functions
GA crossover: binary tournament selection, each parent forms giant TSP tour, OX crossover, split procedure
GA mutation: LNS - random selection of destroy operators: Random, RandomRoutes, Similar, Target; uniform selection of repair operators: Greedy, Regret-2
LS (only promising edges): 2-opt, 2-opt∗, Swap, Relocate (single and pairs), VehicleSwap
Set partitioning over a pool of routes during the search
The cache memory of move evaluations for unchanged route sequences

Jie et al. [97]2E-EVRP-BSSXExtended sweepCG-ALNSSACPLEX - small2E-EVRP-BSS, 2E-VRP Second echelon - ALNS: destroy: Random, Related, SatelliteClosing, SatelliteOpening, SatelliteSwapping, RandomRoute, BSS-CustomerRoute, BSS-ProportionRoute, BSS-CostBased, BSS-BestUse; repair: basic and advance Greedy, basic and advance Regret-(2,3)
( First echelon: column generation (CG) for split delivery EV routing problem, DP and branching scheme for the SPP with resource constraint sub-problem
( Label-based BSS optimization

Koyuncu and Yavuz [98]MGVRPCPLEXGVRPUpper and lower bound for energy state (labeling algorithms) and arrival times Lower bound on the number of vehicles

Macrina et al. [99]GMFVRP-PRTWCPLEXHybrid LNSGMFVRP-PRTWInitial: CPLEX to find an initial feasible solution
Random order of destroy and repair operators and tabu list to forbid the removal of recently removed customers and reinsertion into routes from which they were removed
Destroy: Random, WorstDistance, WorstTime, Route
Insertion: Greedy, GreedyAndCS, GreedyNewRoute, GRASP

Macrina et al. [33]GMFVRP-PRTWSequential insertion heuristicsILSCPLEX - smallE-VRPTWInitial: two clusters of customers for EV and ICEV routes - ICEV routes, EV routes - all customers from EV cluster and all un-routed customers from ICEV cluster LS with/without penalty function and perturbation operators: relocate-only EV, ICEV or both

Normasari et al. [100]CGVRPNNHSA+LSSACPLEXCGVRP, GVRPRandom neighborhood structures: Swap, Insertion, station Insert/Delete

Reference: referenced paper; Problem name: the name of the analyzed problem; NF: allowing infeasible solutions during the search process; Initial: procedure used for the creation of the initial solution if any; Hybrid heuristics: heuristics, metaheuristics, and hybrid combinations applied for solving the problem; A: the acceptance criteria; Exact & Software: the exact procedure or software applied on the analyzed problem or subproblem; Instances: instances used for testing of the applied procedures where Real denotes the real case-study instances, Generated denotes the artificially created instances which are not benchmark instances, and other denotes the benchmark instances of the problem; Description: short description of procedure used to solve the analyzed problem.