This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

A Multi-Objective approach to the Electric Vehicle Routing Problem

Kousik Rajesh Deptartment of Computer Science and Engineering
Indian Institute of Technology Guwahati
   Eklavya Jain Department of Mathematics
Indian Institute of Technology Guwahati
   Prakash Kotecha Department of Chemical Engineering
Indian Institute of Technology Guwahati
Abstract

The electric vehicle routing problem (EVRP) has garnered great interest from researchers and industrialists in an attempt to move from fuel-based vehicles to healthier and more efficient electric vehicles (EVs). While it seems that the EVRP should not be much different from traditional vehicle routing problems (VRPs), challenges like limited cruising time, long charging times, and limited availability of charging facilities for electric vehicles makes all the difference. Previous works target logistics and delivery-related solutions wherein a homogeneous fleet of commercial EVs have to return to the initial point after making multiple stops. On the opposing front, we solve a personal electric vehicle routing problem and provide an optimal route for a single vehicle in a long origin-destination (OD) trip. We perform multi-objective optimization - minimizing the total trip time and the cumulative cost of charging. In addition, we incorporate external and real-life elements like traffic at charging stations, detour distances for reaching a charging station, and variable costs of electricity at different charging stations into the problem formulation. In particular, we define a multi-objective mixed integer non-linear programming (MINLP) problem and obtain a feasible solution using the ϵ\epsilon-constraint algorithm. We further implement meta-heuristic techniques such as Genetic Algorithm (GA) and Particle Swarm Optimization (PSO) to obtain the most optimal route and hence, the objective values. The experiment is carried out for multiple self-generated data instances and the results are thereby compared.

Index Terms:
Electrical Vehicles, Routing Problem, MINLP, ϵ\epsilon-constraint, Meta-Heuristic, GA, PSO

I Introduction

There are over 100 electric car manufactures in the world, over 500 electric vehicle-related startups in India alone, and a lot more around the world. Electric Vehicles have the potential to revolutionize, not only the automobile industry, but the entire world owing to its green effects on the environment, cheaper running costs, and negligible noise pollution. Although the manufacturing of EVs itself takes a lot of energy, they are still a greener option considering the significantly reduced emissions of carbon dioxide during its lifetime. Many logistics companies like Mahindra Logistics Limited (MLL), Deutsche Post DHL Group, and even Amazon have already shifted to electric vehicles.

The traditional EVRP finds an optimal route for the scenario where a fleet of electric vehicles have to visit multiple delivery locations, recharge at a few stops, and ultimately return to the depot node. Due to the diversity of the problem, there exist innumerable variations to the problem. Although, a few basic assumptions that are common to the work in [1], [2], and [3] are discussed in [4]. Kucukoglu et al. [4] categorize the domain based on the possible objective functions, potential constraints, and various charging policies.

The EVRP can also be viewed as an extension to the green vehicle routing problem proposed by Erdogan and Miller-Hooks [5] in which they consider alternative fuel vehicles (including EVs) that have limited travel range and must recharge during the route. They minimize the distance traveled by vehicles in their research. We adopt their underlying assumption of requiring at least one recharge of the vehicle while traveling from the source to the destination. However, we consider separate charging times at different charging stations depending upon the technology used at a station, and the possibility of partial recharging of vehicles in order to minimize cost of refueling throughout the trip.

Following Erdogan, and Miller-Hooks, Felipe et al. [2] and Ding et al. [6] proposed an EVRP with multiple charging technologies and partial recharging. They consider the energy consumption to be a function of distance traveled, and optimize the total distance traveled for a homogeneous fleet of electric vehicles. Likewise, we assume the energy consumption to be a linear function of distance traveled between any two nodes in the underlying topology graph.

Furthermore, electric vehicles often charge in a non-linear manner and discharge depending upon the geography and the load on the vehicle. Kancharla and Ramadurai [7] adopt similar constraints while formulating their version of EVRP. Unlike their formulation, where they assume an unlimited fleet of homogeneous EVs and homogeneous charging station in terms of cost of electricity and rate of charging, we consider a single electric vehicle and heterogeneous costs and speeds of recharging.

In summary, the traditional EVRP is dedicated for scheduling a fleet of electric vehicles to numerous charging stations with varying characteristics. The underlying assumptions considered in previous works associated with EVRP don’t fit into the regime of personal electric vehicle routing and thus we have addressed this problem. Liu et al. [8] consider a joint charging and routing optimization problem for electric vehicles. They consider a real-time pricing model at charging stations to motivate load balancing in the central distribution grid. They provide a deterministic algorithmic solution to the long origin-destination problem, but do not consider the possibility of non-linear charging rates, heterogeneity of chargers, detour distances associated with each charging stations, and delays due to external traffic.

In existing literature, EV navigation has been studied in multiple works. For instance, [9] discusses an energy-optimal routing problem with the consideration of battery limitations, dynamic edge costs, and recuperation, etc.. [10] describes a novel technique to combine EV drivers’ intentions and historical information of charging stations to predict queues at charging stations. These predictions along with direct information from charging stations can help in estimating the expected waiting time for each charging station that we consider as a parameter in our problem formulation. However, the solution to that problem only focuses on providing a path with minimum delay, which may or may not be monetarily feasible for everyone.

In our study to be presented, we propose a general, yet modified EVRP formulation for personal EVs, that considers (1) different starting and end points, (2) variable cost of electricity at different charging stations, (3) multiple speeds of charging at each station, (4) multi-objective optimization problem - minimizing time and cost of travel, (5) detour distance to reach the charging station, (6) external traffic in the form of expected waiting times at each charging station, and (7) partial recharging of the electric vehicle. On the other hand, we assume a directed acyclic graph as the underlying network topology. However, that can be readily extended to function on a general graph topology by creating multiple independent paths for each possible pair of nodes.

The organization of this paper is as follows. Section II explains the problem in depth and introduces the mathematical formulation. In the following section, Section III, we formulate our problem as a mixed integer non-linear programming (MINLP) problem. The self-generated datasets used to test our formulation are described in Section IV. We solve the MINLP in the GAMS software and extend single objective optimization solutions to multi-objective optimization Pareto fronts using ϵ\epsilon-constraint method in Section V. We compile our results of mathematical programming in Section VI. Section VII discusses the meta-heuristic technique employed to solve the problem formulation and corresponding results. We conclude with our findings and observations in Section VIII.

II Problem Definition

Consider a directed acyclic graph (DAG), G=(V,E)G=(V,E), where VV is the set of charging stations, and EE is the set of edges. An edge between nodes ii and jj has an associated weight which signifies the distance from node ii to node jj. This distance between the node iVi\in V, and jVj\in V is denoted by dijd_{ij}. An electric vehicle with battery capacity CC and mileage γ\gamma, starts from a source node SVS\not\in V and has to travel to a destination node DVD\not\in V. The distance of each iVi\in V from the source node SS, and the destination node DD is given by dSid_{Si}, and diDd_{iD}, respectively. Each charging station (or node in GG) has variable cost of recharging based on local electricity prices, denoted by ψi,iV\psi_{i},\ \forall i\in V. A charging station iVi\in V is also associated with an expected waiting time, wiw_{i}, and a detour distance δi\delta_{i} in appropriate units. In addition to this, a charging station can be of three types - L1L_{1}, L2L_{2}, or L3L_{3}, depending upon the speed of charging offered at each station.

Concisely, the problem is to find an optimal route between the source node SS and the destination node DD ensuring that the vehicle stops at charging stations {i,j,}V\{i,j,\dots\}\subseteq V such that the cumulative time taken for the trip including charging times and waiting times is minimized as well as the total cost of charging is minimized. The vehicle can either be fully recharged, partially recharged, or not recharged at all at a node, i.e., a charging station can just be a transit node.

III Mathematical Formulation

TABLE I: Decision Variables
Variable Definition Type
ziz_{i} Indicates if the vehicle visited charging station ii Binary
yiy_{i} Amount of charge gained at charging station ii Continuous
qiq_{i} Vehicle state-of-charge when leaving node ii Continuous
xijx_{ij} Indicates if the vehicle traveled from charging station ii to charging station jj Binary
wiSw^{S}_{i} Indicates if vehicle visited charging station ii from starting node SS Binary
wiDw^{D}_{i} Indicates if vehicle reached the destination node DD from the charging station ii Binary
β\beta Denotes the final charge left in the vehicle at the destination Continuous
TABLE II: Attributes
Attribute Description
vv Average speed of the vehicle
γ\gamma Mileage of the vehicle (distance per unit charge)
CC Battery capacity of the vehicle
α\alpha Denotes the initial charge in the vehicle at the Source
LiL_{i} Level of charger at charging station ii
ψi\psi_{i} Cost of recharging at charging station ii
wiw_{i} Waiting time at charging station ii
δi\delta_{i} Detour distance required for charging station ii
dijd_{ij} Distance between charging station ii and charging station jj
dSid_{Si} Distance of the charging station ii from the source node SS
diDd_{iD} Distance of the destination node DD from the charging station ii

III-A Variables

We formulate an MINLP to model the modified EVRP. We define various decision variables as defined in Table I. Some other important attributes have been described in Table II.

III-B Objective Functions

The first objective of minimizing travel time is given by

miniVwiSdSiv+iVjVxijdijv+iVwiDdiDv+iVziδiv+iVziwi+iVziyiCLi.min\ \ \sum_{i\in V}\frac{w^{S}_{i}d_{Si}}{v}+\sum_{i\in V}\sum_{j\in V}\frac{x_{ij}d_{ij}}{v}+\sum_{i\in V}\frac{w^{D}_{i}d_{iD}}{v}\\ +\sum_{i\in V}\frac{z_{i}\delta_{i}}{v}+\sum_{i\in V}z_{i}w_{i}+\sum_{i\in V}\frac{z_{i}y_{i}C}{L_{i}}. (1)

The first three terms of Eqn. 1 denote the time taken to reach the destination node DD from the source node SS when routed through the given network of charging stations G=(V,E)G=(V,E). The last three terms are associated with the charging process. wiSw^{S}_{i} indicates whether the vehicle visited charging station iVi\in V from the source node SS. So the first term signifies the time taken to travel from the source node SS to the first node in VV. The second term calculates the cumulative time taken to reach the penultimate node in GG. We use the binary variable xijx_{ij} to indicate whether the edge ijEij\in E was traveled by the vehicle or not. The third term uses wiDw^{D}_{i} to give the time taken to reach the ultimate destination node DD from the penultimate node. Another decision variable ziz_{i} is used to indicate whether the vehicle visited the charging station iVi\in V or not. The continuous variable yiy_{i} denotes the amount of charge added to the vehicle at charging station iVi\in V. The fourth term corresponds to the time taken for the detours made at all the charging stations where the vehicle recharged its battery. The fifth term is the waiting time associated with the charging stations where the vehicle was recharged. Finally, the sixth term is the time taken to recharge the vehicle by amount yiCy_{i}C with speed of charging as LiL_{i}.

The second objective of minimizing cost is given by

miniVziyiCψi.min\ \ \sum_{i\in V}z_{i}y_{i}C\psi_{i}. (2)

The only cost is corresponding to the charging of the vehicle at various charging stations. Each charging station iVi\in V is associated with a different electricity rate ψi\psi_{i}. We calculate the total cost by considering the charging cost of the stations where the vehicle stopped and recharged its battery.

III-C Constraints

Source out-degree constraint: This constraint enforces that the source node should be departed from exactly one node.

iVwiS=1\sum_{i\in V}w^{S}_{i}=1 (3)

Destination in-degree constraint: This constraint enforces that the destination node should be arrived on from exactly one node.

iVwiD=1\sum_{i\in V}w^{D}_{i}=1 (4)

In-degree constraint: The path picked should be a valid path i.e Each node should be arrived on from no more than one other node. This is enforced by summing up xijx_{ij} for all iVi\in V and constraining it to be 1\leq 1.

iVxij1jV\sum_{i\in V}x_{ij}\leq 1\ \ \forall\ j\in V (5)

Out-degree constraint: Similar to the previous constraint this enforces that each node should be left from no more than one node. If the vehicle actually leaves to a node jj, this will be 11. Otherwise if the vehicle never visits ii or jj, then this summation would be 0.

jVxij1iV\sum_{j\in V}x_{ij}\leq 1\ \ \forall\ i\in V (6)

Valid path constraint: This constraint ensures that the path chosen is valid. If it’s a valid path the indegree at any vertex would be equal to the outdegree of that node. Otherwise, nodes would be acting as sources or sinks but this is possible only for the source or destination node.

iVxji+wiS=iVxij+wiDjV\sum_{i\in V}x_{ji}+w^{S}_{i}=\sum_{i\in V}x_{ij}+w^{D}_{i}\ \ \forall\ j\in V (7)

The next constraint defines qjq_{j}, the charge level when leaving station jj in terms of the charge level at station ii, the depletion when traveling from ii to jj, and the amount of charging done at jj.

State-of-Charge constraint: This constraint sets up our charging levels according to our battery depletion equations. The charge level when the vehicle leaves each node ii is hence stored in qiq_{i}.

(qjqi)xij=(zjyj(zjδj+dij)Cγ)xiji,jV(q_{j}-q_{i})x_{ij}=\bigg{(}z_{j}*y_{j}-\frac{(z_{j}\delta_{j}+d_{ij})}{C\gamma}\bigg{)}x_{ij}\ \forall\ i,j\in V (8)

State-of-Charge constraint (source): Same as previous equation but defined separately for the source node.

(qiα)wiS=(ziyi(ziδi+dSi)Cγ)wiSiV(q_{i}-\alpha)w^{S}_{i}=\bigg{(}z_{i}*y_{i}-\frac{(z_{i}\delta_{i}+d_{Si})}{C\gamma}\bigg{)}w^{S}_{i}\ \forall\ i\in V (9)

State-of-Charge constraint (destination): Same as previous equation but defined separately for the destination.

(βqi)wiD=(diDCγ)wiDjV(\beta-q_{i})w^{D}_{i}=\bigg{(}-\frac{d_{iD}}{C\gamma}\bigg{)}w^{D}_{i}\ \forall\ j\in V (10)

Node reachability constraint: This node actually ensures that the battery of the vehicle does not get depleted before it can reach a nearby station.

((zjδj+dij)Cγqi)xijϵi,jV\bigg{(}\frac{(z_{j}\delta_{j}+d_{ij})}{C\gamma}-q_{i}\bigg{)}x_{ij}\leq\epsilon\ \forall\ i,j\in V (11)

where ϵ\epsilon is a very small number.

Bound constraints:

xii=0iVx_{ii}=0\ \ \forall\ i\in V (12)
0yi1iV0\leq y_{i}\leq 1\ \ \forall\ i\in V (13)
0qi1iV0\leq q_{i}\leq 1\ \ \forall\ i\in V (14)
0β10\leq\beta\leq 1 (15)
wiS{0,1}iVw^{S}_{i}\in\{0,1\}\ \ \forall\ i\in V (16)
wiD{0,1}iVw^{D}_{i}\in\{0,1\}\ \ \forall\ i\in V (17)
zi{0,1}iVz_{i}\in\{0,1\}\ \ \forall\ i\in V (18)
xij{0,1}i,jVx_{ij}\in\{0,1\}\ \ \forall\ i,j\in V (19)

III-D Analysis

III-D1 Constraints

  1. 1.

    In-degree constraint: Each node has 1 such constraint, total of |V||V| constraints.

  2. 2.

    Out-degree constraint: Each node has 1 such constraint, total of |V||V| constraints.

  3. 3.

    Valid path constraint: Each node has 1 such constraint, total of |V||V| constraints.

  4. 4.

    State-of-Charge constraint: Each pair of nodes has 1 such constraint, total of |V|2|V|^{2} constraints.

  5. 5.

    Node reachability constraint: Each pair of nodes has 1 such constraint, total of |V|2|V|^{2} constraints.

Therefore, we end up with 2|V|2+3|V|2|V|^{2}+3|V| constraints in total, i.e., 𝒪(|V|2)\mathcal{O}(|V|^{2}).

III-D2 Variables

  1. 1.

    We define |V||V| variables for the amount of charge added (yy) at each node .

  2. 2.

    |V||V| variables for the amount of charge when leaving each node (qq).

  3. 3.

    We also define |V|2|V|^{2} binary variables that indicate if the edge (i,j)(i,j) was traversed.

  4. 4.

    |V||V| variables for if a charging station was visited (ziz_{i}).

  5. 5.

    2|V|2|V| variables for the in and out sum at each node.

  6. 6.

    Finally, 2|V|2|V| more variables for the node taken from source and to destination respectively.

Therefore, we have |V|2+7|V||V|^{2}+7|V| variables that need to be decided, i.e., 𝒪(|V|2)\mathcal{O}(|V|^{2}).

IV Dataset Generation

For testing our solution, we generate 4 datasets with varying levels of difficulty.

We first describe the parameters used in generating the dataset and the distribution from which they were sampled.

  • Route graph: We need to generate a Directed Acyclic Graph (DAG) that appropriately represents real-world road data. To do so, we generate the graph structure based on 3 parameters - number of levels, maximum nodes on a level, and probability of existence of edge.

    1. 1.

      The first parameter defines the number of levels present in the DAG, the higher the value of this, the longer the route between source and destination. This has been varies between [2,4,6,8][2,4,6,8] to generate datasets of different difficulties.

    2. 2.

      The second parameter controls the number of possible routes that a vehicles can take. A higher value of this parameter increases the possible number of routes that the vehicles can take and also increases the number of parameters. For each level, the number of nodes on that level is picked uniformly from the range [1,Max Nodes][1,\text{Max Nodes}].

    3. 3.

      The third parameter influences the density of the resulting DAG, a lower value implies that the probability of an edge existing between two nodes is lower. Hence, the graph would be sparser.

  • Distance matrix - The distance matrix has values sampled uniformly from a normal distribution with a mean of 300 km and a standard deviation of 50. Hence, dij𝒩(300,50)d_{ij}\in\mathcal{N}(300,50). This is then multiplied element wise with the adjacency matrix of the graph, and the elements with 0 value are set to a very large value to indicate the non existence of an edge. The resulting matrix is the distance matrix of the graph

  • Distance from/to sources/sinks: Similar to the distance matrix these values are also sampled uniformly from a Gaussian distribution with mean 300 and standard deviation of 50.

  • Level of charging: Charging stations are typically of 3 types - low(L1), medium(L2), and high (L3). These are chosen at uniformly at random.

  • Waiting times: The waiting times at each station are also sampled from a normal distribution with mean 1 Hour and standard deviation 0.1 (6 minutes). These values were determined to be reasonable from our research.

  • Detour distances: These distances are sampled from a Normal distribution with mean 10Km and standard deviation 1Km.

  • Charging costs: The rate of 1 unit of electricity in the US is around 0.134$. Hence, we generate |V||V| such values by sampling from a normal distribution with mean = 0.134$ and standard deviation = 0.02.

Algorithm 1 Route graph generation algorithm
Number of levels of DAG(nn), Max nodes per level (DD)
DAG(𝒱,)DAG(\mathcal{V},\mathcal{E})
N0N_{0} = {Vkforkrandi(1,D)}\{V_{k}\ fork\in\ randi(1,D)\}
N_prevN0N\_prev\leftarrow N_{0}
𝒱=𝒱N0\mathcal{V}=\mathcal{V}\cup N_{0}
for level1..n2level\in 1..n-2 do
    NlevelN_{level} = {Vkforkrandi(1,D)}\{V_{k}fork\in\ randi(1,D)\}
    edges{}edges\leftarrow\{\}
    for iN_previ\in N\_prev do
         for jNlevelj\in N_{level} do
             if rand()pedgerand()\leq p_{edge} then
                 edges=edges{Vi,Vj}edges=edges\cup\{V_{i},V_{j}\}
             end if
         end for
    end for
    if edges=ϕedges=\phi then
         Add a random edge to edgesedges
    end if
    =edges\mathcal{E}=\mathcal{E}\cup edges
end for

The 4 instances used for testing our model are specified in Figure 1 - 4.

Refer to caption
Figure 1: Instance 1 with 10 nodes and 2 levels.
Refer to caption
Figure 2: Instance 2 with 12 nodes and 4 levels.
Refer to caption
Figure 3: Instance 3 with 28 nodes and 6 levels.
Refer to caption
Figure 4: Instance 4 with 26 nodes and 8 levels.

V Mathematical Programming

The formulated problem is a multi-objective MINLP. But, before we solve the multi-objective problem, we solve two single objective optimization problems, one for minimizing time, and the other for minimizing cost. We feed each single objective function along with all the constraints in GAMS and use different solvers to arrive at a solution.

We use the following solvers:

  • ANTIGONE: A deterministic global optimization for MINLP.

  • BARON: Branch-And-Reduce Optimization Navigator for proven global solutions.

  • KNITRO: Large scale NLP solver.

  • LINDOGLOBAL: MINLP solver for proven global solutions.

  • OCTERACT: MINLP solver for proven global solutions.

  • XPRESS: High performance and fast LP/MIP and SLP based MINLP solver.

We use the NEOS server to find solutions for each of the 4 test instances. The results for all the instances are summarized in Table IV. In addition, the execution time for each of the solvers is compared in Figure 5.

TABLE III: Parameter Values
Parameter Value
Average speed of the vehicle 50 (Km/hr)
Battery Capacity 100 (KWh)
Mileage 6 (Km/KWh)
Initial State-of-Charge 1
TABLE IV: Objective function values from different solvers by individually optimizing both objectives
Solver Instance 1 Instance 2 Instance 3 Instance 4
Time Cost Time Cost Time Cost Time Cost
ANTIGONE 64.5472 80.1888 90.3843 176.8238 152.4195 255.598 196.059 335.1289
BARON 64.5472 80.1888 90.3843 176.8238 152.4195 255.598 196.059 335.1289
KNITRO 88.5455 98.9038 94.1911 206.8246 \sim \sim \sim \sim
LINDOGLOBAL 64.5472 80.1888 90.3843 176.8238 152.4195 271.0598 196.059 335.1289
OCTERACT 64.5472 80.1888 90.3843 176.8238 \sim \sim 196.059 335.1289
XPRESS 98.7918 80.1888 103.5049 186.0169 169.2109 266.2965 196.059 335.1289
Refer to caption
Figure 5: Comparison of execution time of various solvers for MINLP in GAMS.

V-A Multi-Objective optimization

We now extend our solutions of the single objective optimization problems to a multi-objective solution that minimizes both time and cost of charging. The MINLP solvers available on GAMS work for a single objective only, hence we use the ϵ\epsilon-constraint method to apply the single objective solver as done in [11]. We provide the algorithm used for applying the ϵ\epsilon-constraint method in Algorithm 2.

Algorithm 2 ϵ\epsilon - constraint method
1:Fitness functions f1,f2f_{1},f_{2}, Δ\Delta
2:Pareto front 𝒫\mathcal{P}
3:x1bestMinimize(P,f1)x_{1}^{best}\leftarrow Minimize(P,f_{1})
4:𝒫{x2best}\mathcal{P}\leftarrow\{x_{2}^{best}\}
5:ϵf2(x1best)+Δ\epsilon\leftarrow f_{2}(x_{1}^{best})+\Delta
6:while Minimize(P,f1)f2(x)ϵMinimize(P,f_{1})\ni f_{2}(x)\leq\epsilon do
7:    x^Minimize(P,f1)f2(x)ϵ\hat{x}\leftarrow Minimize(P,f_{1})\ni f_{2}(x)\leq\epsilon
8:    𝒫𝒫x^\mathcal{P}\leftarrow\mathcal{P}\cup\hat{x}
9:    ϵf2(x1best)+Δ\epsilon\leftarrow f_{2}(x_{1}^{best})+\Delta
10:end while
11:𝒫filter_nondominated(𝒫)\mathcal{P}\leftarrow filter\_nondominated(\mathcal{P})

VI Results

Refer to caption
Figure 6: Pareto Front for Instance 1 obtained through OCTERACT solver in GAMS.
Refer to caption
Figure 7: Pareto Front for Instance 2 obtained through OCTERACT solver in GAMS.
Refer to caption
Figure 8: Pareto Front for Instance 3 obtained through LINDOGLOBAL solver in GAMS.
Refer to caption
Figure 9: Pareto Front for Instance 4 obtained through LINDOGLOBAL solver in GAMS.

On analyzing Table IV111For all experiments, we use the parameter values as mentioned in Table III., we can infer that most solvers produce similar results for all instances. Since the values are solutions to single objective optimization problems, we can compare the solvers one-to-one for each objective function. The XPRESS and KNITRO solvers yield the least optimal route for the vehicle with respect to the total time taken to reach the destination. Although, from Figure 5, it is evident that the XPRESS solver has the least execution time for most instances, alleging a trade-off between execution time and optimal objective function value. The ANTIGONE, BARON, and LINDOGLOBAL solvers effectively produce the most optimal results for all the data instances. Since, the BARON solver takes the least amount of time to execute among them, we conclude that it is the best solver for solving the formulated single objective MINLPs. We observe that as the instance size in terms of either total number of nodes or the number of levels increases, the time and cost of the journey increases, as expected.

After solving single objective optimization problems, we obtain certain routes corresponding to each instance. But we extend our model to optimize multiple objectives, both time and cost. We apply the previously discussed ϵ\epsilon-constraint method and solve the multi-objective optimization problem using single-objective solvers. We implement the algorithm for our formulation and test it on all the data instances. We use the OCTERACT solver for instance 1 and instance 2, and the LINDOGLOBAL solver for instance 3 and instance 4. Due to the large size of the problem, we used the NEOS server for solving the MINLP. Figure 6, Figure 7, Figure 8, and Figure 9 give the Pareto front obtained for data instances 1, 2, 3, and 4, respectively.

From the shown Pareto fronts, it is fairly evident that there are no trivial solutions. For example, consider the points in the middle (89, 170) and (97, 155) in Figure 6. The user can easily make a choice between the two since $15\$15 is not worth spending 8 extra hours on the road. Similar explanations hold for other instances, and options on other Pareto fronts.

Although we obtain these Pareto fronts, we are unsure about their global optimality since non linear constraints are considered. Hence, in search for an optimal solution to the problem formulation, we discuss meta heuristic techniques.

VII Meta-heuristic Technique

We design an appropriate solution structure and use it in out meta-heuristic approach to represent the solutions. The algorithms are implemented using the mealpy [12] library in Python. Since, only continuous variables are allowed to be used in the algorithm, the binary decision variables used in the MP solution are reformulated in the form of floats in the range [0,1]. Appropriate methods for thresholding or other selection techniques to use them as binary decision variables have been employed. A solution structure has been displayed in Figure 10.

Refer to caption
Figure 10: Solution structure

The various binary variables have been manipulated to accommodate them as continuous variables. The selection technique is discussed below.

  1. 1.

    Adjacency matrix - The xijx_{ij} values represent the adjacency matrix of the generated vehicle path. Ideally, we want only 0’s and 1’s in this matrix however due to library constraints these are continuous variables. The path is reconstructed from this float matrix using algorithm 3. The total number of variables contributed by this matrix is |V|2|V|^{2}.

  2. 2.

    Charge added - The yiy_{i} values indicate the amount of charge that was added in the ithi^{th} station. Hence, there are |V||V| such variables.

  3. 3.

    Source/Destination node - These variables decide which node the vehicle takes from the source to enter the network, and which node it leaves through respectively. Combined, these contribute 2|V|2|V| variables.

Hence, there are |V|2+3|V||V|^{2}+3|V| variables in total. Once, these are generated and the path is decided we use the state-of-charge equations discussed in Section III-D1 to update the battery state and objective function values at each point on the path. We adopt the penalty approach, and in case of any constraint violation we penalize the model with a large value (1e9). After the process the algorithm returns a valid path that does not violate any constraints (assuming that the final fitness is not very high).

VII-A Genetic Algorithm

The first type of meta-heuristic implemented is the classical Genetic Algorithm (GA) [13]. The algorithm initializes a random population, modifies the population using the crossover and mutation parameters. Finally, it adopts an elitist approach to pick best performing solutions from parents and offspring through a tournament. The crossover and mutation probability are both set to be 0.40.4, also the number of epochs and population size are set to be 10001000.

Refer to caption
Figure 11: Exploration vs Exploitation curve for GA

VII-B Particle Swarm Optimization

The particle swarm based meta-heuristic, proposed by Eberhart and Kennedy [14] is one of the most popular computational intelligence techniques. It allows finer control on the solution exploration phase through the use of certain model parameters. The search is governed by three parameters: ww, c1c_{1}, c2c_{2}. Parameter ww controls the level of ‘inertia’, a higher value leads to a more exploratory model. The c1c_{1} and c2c_{2} parameter govern the exploitation of the search space, c1c_{1} nudges the model towards its locally best solution and c2c_{2} nudges solution towards the globally best solution found by the swarm. Our solution linearly varies the ww value between 0.10.1 and 0.50.5 as the iterations progress. The c1c_{1} and c2c_{2} values are set to be 2.52.5 and the number of epochs and population size are both set to 10001000.

Refer to caption
Figure 12: Exploration vs Exploitation curve for PSO

VII-C Observations and Results

We use Algorithm 3 to generate the routes while using meta-heuristic approaches. On running both the techniques on data instance 1, we obtain various plots, and objective function values. The mealpy implementation in Python adds the two objective functions into one with equal weights and reports the solution corresponding to the minimum sum value. We run 2 independent runs. Figure 11 and Figure 12 explain the diversity of the solution over iterations for Run1. We observe that as the iterations progress, the exploration decreases while the exploitation increases. Figure 13 represents the convergence curve for the first objective function of total trip time, and Figure 14 represent the convergence curve for the second objective function of the cumulative cost of recharging, both for Run1. The objective function value obtained from the PSO meta-heuristic technique is [128.7, 102.7] and GA algorithm is [127.9, 103.1]. Another run of the implementation yielded [72.8, 192.7] for PSO, and [103.9, 165.6] for GA. The values obtained in Run1 are non-dominated with the Pareto points obtained for data instance 1 using the ϵ\epsilon-constraint method in Figure 6. We observe that the values obtained through PSO of Run2 is a dominating point of the Pareto front. Hence, we conclude that the meta-heuristic technique produces at least as good a solution as the ϵ\epsilon-constraint method.

Refer to caption
Figure 13: Convergence curve for time minimization
Refer to caption
Figure 14: Convergence curve for cost minimization
Algorithm 3 Meta-heuristic route generation
Adjacency matrix (XX)
Path 𝒫\mathcal{P}
srcargmax(src)src\leftarrow argmax(src)
𝒫{src}\mathcal{P}\leftarrow\{src\}
destargmax(dest)dest\leftarrow argmax(dest)
currsrccurr\leftarrow src
while currdestcurr\not=dest do
    nextargmax(X[curr])next\leftarrow argmax(X[curr])
    𝒫𝒫next\mathcal{P}\leftarrow\mathcal{P}\cup{next}
    currnextcurr\leftarrow next
end while

VIII Conclusion

The EVRP is a fairly new, though well-researched problem with a lot of variants in the form of varying objective functions, constraints, charging models, and pricing methods. We propose a problem formulation for personal EVRP (pEVRP) where the goal is to optimize both the time taken for a long origin destination trip and the cost of recharging on the way for a single EV vehicle. We incorporate real-life factors such as traffic delays, detour distances, and variable pricing to our problem. We formulate an MINLP for the same and define various constraints to ensure proper traversal of the underlying network graph. We extend the solutions of single objective MINLPs to multi-objective solutions by using the ϵ\epsilon-constraint method. We obtain a set of non-dominated points, i.e., obtain the first Pareto front. The results of this method are presented as figures portraying the obtained Pareto front. The solutions are non-trivial and the user can make a choice based on personal flexibility. We further apply two meta-heuristic techniques (GA and PSO) to obtain globally optimal solutions. We define a solution structure, and use Python to implement the meta-heuristic algorithms. Finally, we observe that the results of the ϵ\epsilon-constraint method are similar to those obtained from the meta-heuristic techniques. In some cases, the meta-heuristic technique works slightly better than the ϵ\epsilon-constraint method in finding more optimal solutions.

References

  • [1] J. Lin, W. Zhou, and O. Wolfson, “Electric vehicle routing problem,” Transportation Research Procedia, vol. 12, pp. 508–521, 2016, tenth International Conference on City Logistics 17-19 June 2015, Tenerife, Spain. [Online]. Available: https://www.sciencedirect.com/science/article/pii/S2352146516000089
  • [2] Á. Felipe, M. T. Ortuño, G. Righini, and G. Tirado, “A heuristic approach for the green vehicle routing problem with multiple technologies and partial recharges,” Transportation Research Part E: Logistics and Transportation Review, vol. 71, pp. 111–128, 2014.
  • [3] J. Paz, M. Granada-Echeverri, and J. Escobar, “The multi-depot electric vehicle location routing problem with time windows,” International journal of industrial engineering computations, vol. 9, no. 1, pp. 123–136, 2018.
  • [4] I. Kucukoglu, R. Dewil, and D. Cattrysse, “The electric vehicle routing problem and its variations: A literature review,” Computers & Industrial Engineering, vol. 161, p. 107650, 2021. [Online]. Available: https://www.sciencedirect.com/science/article/pii/S0360835221005544
  • [5] S. Erdoğan and E. Miller-Hooks, “A green vehicle routing problem,” Transportation Research Part E: Logistics and Transportation Review, vol. 48, no. 1, pp. 100–114, 2012, select Papers from the 19th International Symposium on Transportation and Traffic Theory. [Online]. Available: https://www.sciencedirect.com/science/article/pii/S1366554511001062
  • [6] N. Ding, R. Batta, C. Kwon et al., “Conflict-free electric vehicle routing problem with capacitated charging stations and partial recharge,” SUNY, Buffalo, 2015.
  • [7] S. R. Kancharla and G. Ramadurai, “Electric vehicle routing problem with non-linear charging and load-dependent discharging,” Expert Systems with Applications, vol. 160, p. 113714, 2020.
  • [8] C. Liu, J. Wu, and C. Long, “Joint charging and routing optimization for electric vehicle navigation systems,” IFAC Proceedings Volumes, vol. 47, no. 3, pp. 2106–2111, 2014.
  • [9] M. Sachenbacher, M. Leucker, A. Artmeier, and J. Haselmayr, “Efficient energy-optimal routing for electric vehicles,” in Twenty-fifth AAAI conference on artificial intelligence, 2011.
  • [10] M. M. De Weerdt, E. Gerding, S. Stein, V. Robu, and N. R. Jennings, “Intention-aware routing to minimise delays at electric vehicle charging stations,” 2013.
  • [11] G. Mavrotas, “Effective implementation of the ε\varepsilon-constraint method in multi-objective mathematical programming problems,” Applied mathematics and computation, vol. 213, no. 2, pp. 455–465, 2009.
  • [12] N. V. Thieu, “A collection of the state-of-the-art meta-heuristic algorithms in python: Mealpy,” 2020. [Online]. Available: https://doi.org/10.5281/zenodo.3711948
  • [13] J. H. Holland, “Genetic algorithms,” Scientific American, vol. 267, no. 1, pp. 66–73, 1992. [Online]. Available: http://www.jstor.org/stable/24939139
  • [14] R. Eberhart and J. Kennedy, “A new optimizer using particle swarm theory,” in MHS’95. Proceedings of the Sixth International Symposium on Micro Machine and Human Science, 1995, pp. 39–43.