I Introduction
Plugin Hybrid Electric Vehicles (PHEV) have the potential of addressing contemporary and future environmental and economic challenges. In addition, they provide new possibilities for smart grid management and the integration of renewable energy sources into electricity networks [1]
. A PHEV is typically equipped with a battery that can be fully recharged by connecting it to the power grid with an extension cord. The stored electric energy is used as alternative to traditional gasoline, providing economic and environmental benefits. The cost for electricity to power a PHEV has been estimated to be less than one fourth of the cost of gasoline
[2].According to the typical battery capacity of an Electric Vehicle (EV), a driver is allowed to use electric energy exclusively for 30 to 50 miles of driving before switching to gasoline for longer trips [1]. Thus, an EV needs frequent recharging in longer trips. Moreover, recharging takes more time than refueling. As a result, EVs suffer with excessive delays in long trips. However, unlike EVs, a PHEV can use gasoline when stored energy is fully consumed instead of frequently recharging the battery. Therefore, it is necessary to select the optimal route to the destination that provides an efficient recharging and refueling schedule plan for a PHEV in order to satisfy different constraints. Vehicle drivers usually have constraints on driving time as well as on the fuel cost for a trip. There can be additional requirements like needing to pass through some specific locations (i.e., intermediate points of interest or via points).
In this work, we model the PHEV navigation management as a constraintsatisfaction problem. Satisfiability Modulo Theories (SMT) [3] to implement this model and obtain a satisfiable solution that includes the routing plan and the recharging and refueling points, satisfying the constraints on fuel cost, driving time, and intermediate points of interest. This work assumes that a service provider can execute this formal model to compute a navigation plan for a PHEV based on its driver’s requirements and the information about the road network, the gas and charging stations, the gas and charging prices, etc. A PHEV can obtain a navigation plan from the service provider at the beginning of its trip. That plan can be updated ondemand according to the latest information on traffic and charging stations. We also propose a navigation control technique that adjusts the charging prices of the stations at each time slot and (indirectly) distribute the PHEVs, being motivated by the lower prices, on the roads and in the charging stations.
Unlike our previous work [4], where we addressed the PHEV navigation management problem on highways with only the battery recharging, in this paper we extend the model to provide a comprehensive navigation management. This extended design models a generic road system with numerous distinguishing characteristics: location point as the unit of the road system, refueling and recharging requirements, flexible amounts of recharging and refueling, timevarying queue lengths for waiting vehicles in charging stations, and timevarying average traffic speeds. We also devise a mechanism of executing several instances of the proposed model parallelly to solve a problem. This parallelism significantly increases the scalability of the solution. The evaluation results shows that it takes few seconds to solve the proposed model for a road system consisting of 1,000 location points and a proportional number of charging and gas stations. Our work contributes to environmental preservation, as it inherently minimizes gasoline use by efficiently managing the use of recharging and refueling installations.
This paper is organized as follows: We discuss the state of the art of PHEVs and the PHEV navigation management problem in Section II. We present the formal model of the navigation problem along with an illustrative example in Section III. In the following section, we propose the navigation control technique and the corresponding model. Section V presents evaluation results. In the following section, we briefly discuss several aspects of the proposed solution. In Section VII, we briefly discuss the related work. Section VIII concludes the paper.
Ii Background and Motivation
This section presents necessary background of the navigation management problem for PHEVs.
Iia PHEVs for Long Distance Travels
EVs are gaining slowly but steady popularity in the market. An estimated number of 361,307 of plugin EVs , including hybrids, were sold in the United States (U.S.) in 2018 [5, 6]. Different models of PHEVs exist on the roads [1, 2]. These cars usually can operate in the range of 50 miles after a full charge as a pure EV. Due to the recent development in PHEV technology, few welladvanced PHEVs are released to the market. For example, the Hyundai IONIQ Electric [7] can go more than 120 miles per charge and can be fully recharged in around 30 minutes. Though most of the cars run trips within short distances, around 20% of the cars in the U.S. travel more than 50 miles [8]. United States has a very large road network. According to the statistics recently published by the Federal Highway Administration, the U.S. interstate highway system alone has a total length of 47,714 miles [9].
PHEVs are used for longdistance and shortdistance trips. Since PHEVs cannot run for long distances with electric power only, the battery needs to be recharged to use electric power instead of using gasoline for further operation on long trips. Again, PHEVs need long recharging times, which leads to long waiting times at charging stations. Figure 1 shows a map of the major U.S. routes/roads (i.e., interstate highways along with country roads) between two cities, Gastonia and WinstonSalem, in North Carolina [10]. As it can easily be seen in the figure that there are several alternative navigation paths from the source (point 1) to the destination (point 2). Therefore, there is always a need for choosing a suitable route. For travel efficiency and comfortable driving, it is necessary to optimally plan a trip, i.e., the routing path and the recharging and refueling schedule. There are few existing works related to the PHEV navigation management problem. For example, a fuelefficient navigation mechanism for conventional gasolinepowered vehicles is developed in [11], while an optimal recharging scheduling for EVs is proposed in [12]. However, neither of these model the uses of alternative fuels (electricity and gasoline) by PHEVs to satisfy the constraints for costeffectiveness and timeefficiency.
In this paper, we assume a centralized system that provides a navigation plan to a PHEV for a long trip that satisfies the PHEV’s (i.e., its user’s/driver’s) requirements. The service provider will execute our navigation management model for synthesizing the navigation plan. However, a PHEV can also run the model by itself, if it has a processor for executing an SMT solver. For navigation planning within the requirements, our model needs different static and dynamic information about the road network and corresponding traffic. We assume that all the charging stations and the PHEVs are connected to the service provider through a wired or wireless, infrastructurebased or infrastructureless communication model (e.g., as shown in Figure 2). The stations and PHEVs provide necessary local information to the service provider. The provider updates the dynamic part of the information system frequently with the collected data. This dynamic information includes the current (real) status and future (predicted) status of the charging stations and the traffic on the road (especially, the number of waiting vehicles in the stations and the average traffic speeds on the roads). The information specific to a future time is predicted from the past records and current status. Since traffic can be very randomly distributed, spatially and temporally, the exact knowledge about the future may be different from the forecasted information. However, a PHEV can frequently update the navigation plan from the service provider based on the latest information and the same or modified requirements.
IiB PHEV Navigation Management Problem
The goal of the navigation management problem is to find an efficient navigation plan on a road system under a number of constraints. Along with the basic objective of reaching the destination, on the way to the destination, a vehicle may require passing through one or more intermediate points of interest, i.e., viapoints. There are usually different time and cost constraints. There can be a timetoreachdestination (or simply time) constraint, which means the vehicle should reach the destination on or before a specified time. There may also be time constraints to reach the viapoints. The fuelcost (or simply cost) incurred in a trip depends on the type and amount of the consumed fuel. A hybrid vehicle can use either electricity or gasoline as fuel. We assume that the vehicle does not use both kinds of fuel simultaneously, but rather sequentially. Hence, the cost is the summation of the price of electricity and that of gasoline consumed during the trip. The constraint on fuelcost specifies that the cost cannot exceed a given value. We assume that a PHEV can recharge its battery at the charging stations only. Charging prices and waiting queues are usually different at different stations. Due to the timevarying price model of powergrids, a particular station may have different prices at different time slots. The objective of the PHEV navigation management problem is to find a driving routing plan from the source that potentially enables the vehicle to reach the destination, including the intermediate points of interest, within time and fuelcost constraints. It was proven in [4] that the PHEV Navigation Management problem is NPcomplete.
IiC SMT Logic and the Solver
We use SMT to formalize our proposed navigation management models. SMT is a powerful logic tool that can solve constraint satisfaction problems arising in many diverse areas, such as software and hardware verification, testcase generation, scheduling, planning, etc. [13]. SMT involves determining whether a formula is satisfiable or not. For example, the SMT instance with the following two constraints is satisfiable with the assignments of and :
An SMT instance is a firstorder logic formula, where some functions and predicate symbols have additional interpretations. In SMT, complex logics are replaced by first order predicates/functions using a variety of underlying theories, including the theory of equality, linear arithmetic, difference logic, etc. An SMT solver searches for the solution(s) following an extended DPLL backtracking algorithm [14, 15]. Modern SMT solvers can check formulas with hundreds of thousands of variables and millions of clauses [13]. In this work, we solve the proposed model using Z3, an efficient SMT solver, developed and managed by Microsoft Research [3, 16].
Iii Navigation Management Model
In this section, we formalize the PHEV navigation management problem as a satisfaction of a number of constraints.
Iiia Road Network
The roads used for long trips often are highway and country routes. These routes connected to each other directly (through ramps) or through other highways, country, or local roads and form the road network. We will use the term “routes” frequently to represent both highways and country/local roads in the road network. A route usually consists of a large number of location points (simply locations or points), at which it connects with other routes/roads, or there are establishments of gas stations or charging stations, including the source, destination, and various places of interest. Therefore, we can consider a route/road as a sequence of small roads, where each of these small roads links two points as shown in Figure 3. We assume that all the roads are bidirectional. We do not consider the overhead of any traffic jam or signaling system on the routes, rather the effects of their existence are reflected in the average vehicle speeds on the roads.
The gas and charging stations are deployed at different points. A PHEV can charge its battery at a point if there is a charging station, and then continue moving toward its destination. Similarly, if there is a gas station at a point, the vehicle can refuel. The road network (i.e., the routes, locations, and the placements of the stations) is known. Different gas or charging stations often have different prices for refueling or recharging. Different times of the day also have different prices for recharging. We assume that a day is divided into 24 hourly slots. The charging price remains the same within a slot while it may vary between the slots. Usually recharging a PHEV takes a substantially long time and, thus, there are often vehicles waiting for recharging in a station. The queue size of the waiting cars can be different at different times of the day. For example, the number of waiting vehicles at the end of the day is often larger than the number at midnight. It is worth mentioning that if a point has multiple charging stations, we consider a single charging station, averaging their charging prices, queue lengths, and other parameters. We do the same for the gas station.
IiiB System Model
In this subsection, we present the modeling of routes/roads, stations, the vehicle (i.e., a PHEV), and its user’s requirements (i.e., user requirements). Table I shows the notations used in the modeling.
Road Network. As already mentioned earlier, we define the road network as a collection of routes/roads consisting of a number of location points and the connecting roads. Thus, a route/road is modeled as a sequence of points and the roads connecting them. A location point (also, simply, location or point) is denoted by a number, . represents the road between location to location . is the distance (miles) between location to location . The average speed at which a vehicle moves on the road is (miles/minute) during time slot . The average speed comes from the speed limit of the road and/or the traffic on the road.
Charging Stations. is a Boolean parameter denoting whether there is a chargingstation at point . It has different properties. The price of charging (per kWh) at a time slot is denoted by (dollars). The expected queue length of the waiting vehicles at time slot is . If a particular vehicle is considered, it takes time minutes to recharge its battery for each kWh charge. In order to estimate the waiting time in queue, it is assumed that each vehicle in queue takes minutes on an average to recharge its battery. We do not consider the number of charging outlets, since this can easily be reflected in the average time required for each waiting vehicle.
Notation  Definition  Type 

A location point on the road network.  Integer  
If there is a road between and .  Boolean  
Length of road .  Real  
Average speed of a vehicle on road during time slot .  Real  
If there is a charging station at point .  Boolean  
Price of charging (per kWh) at time slot at station .  Real  
Queue length of waiting vehicles at time slot at station .  Integer  
Time for recharging of each kWh charge at station .  Real  
Average time for recharging at station .  Real  
If there is a gas station at point .  Boolean  
Price of gasoline (per gallon) at station .  Real  
Average time for taking the gasoline at station .  Real  
Starting (or current) location of the vehicle.  Integer  
Destination point of the vehicle.  Integer  
Capacity of the vehicle’s battery.  Integer  
Capacity of the vehicle’s gasoline tank.  Real  
(Initially) stored electric charge of the vehicle.  Real  
Price of each kWh stored electric charge of the vehicle.  Real  
(Initially) stored gasoline of the vehicle.  Real  
Price of each stored gallon gasoline of the vehicle.  Real  
The number of miles that a vehicle can get per kWh electric charge.  Real  
Gas consumption of the vehicle for each mile.  Real  
Price of gasoline per gallon.  Real  
Cost constraint of the vehicle.  Real  
Time constraint of the vehicle to reach the destination.  Real  
Time constraint of the vehicle to reach via point , is the set of via points.  Real  
Whether the vehicle reaches point .  Boolean  
Whether station is selected for charging.  Boolean  
Stored electricity of the vehicle when it reaches point .  Real  
(Effective) stored electricity of the vehicle when it leaves point .  Real  
Stored gasoline of the vehicle when it reaches point .  Real  
(Effective) stored gasoline of the vehicle when it leaves point .  Real  
Average price of each kWh of electric charge stored in the vehicle at point .  Real  
Average price of each gallon gasoline stored in the vehicle at point .  Real  
Cost spent by the vehicle to reach point .  Real  
Time spent by the vehicle to reach point .  Real  
Time slot at which time falls.  Integer 
Gas Stations. Similar to a charging station, we also define several parameters for a gas station. denotes whether point has a gas station (). We define as the price of each gallon of gasoline at this station. Since there are often more than one gas stations at a point and they often have different prices although very close to each other, we can consider all of these gas stations as a single station and the price as the average of their prices. We define as the average time of taking the gasoline. Since the gasoline pouring time per gallon is very small considering other overheads, we only consider an average time. Moreover, we do not consider any waiting queue for a gas station, because such a queue is rare to occur at a gas station.
The Vehicle. A plugin hybrid vehicle has different properties: the current location (an entrance point), the destination (a point), the stored electric charge (kWh) and its price ($/kWh), the battery capacity (kWh), the electric energy consumption rate (miles/kWh), the stored gasoline (gallon) and its price ($/gallon), the gasoline capacity (gallon), and the gasoline consumption rate (miles/gallon). We assume that any vehicle drives on a road at the speed limit of the road (i.e., ).
User Requirements. We consider that the vehicle is required to satisfy two major constraints. The first constraint is on the cost (dollars); that is, the price of the fuel consumed by the vehicle should be within a cost bound. The second constraint is on the traveling time (minutes); that is, the vehicle has to reach the destination within a time limit. There can be more constraints. The vehicle might need to go via some intermediate points denoted as a set . Moreover, a vehicle might be required to reach a viapoint within a time constraint ( for ). There can be other arbitrary user requirements, e.g., minimum electricity stored when the destination is reached.
IiiC Vehicle Routing Model
The routing of a vehicle from a source to a destination is a sequence of moves from one point to another from the source to the destination. The cost and time incurred due to this sequence of moves must be within the cost and time constraints. We assume that the vehicle’s primary energy source is the battery, i.e., the electric charge, as it costs significantly less than the gasoline. Therefore, if the battery is out of charge, then gasoline is used as the energy source.
IiiC1 Modeling Parameters
The following parameters are used to model a vehicle’s routing to a destination:

Visited point. denotes that the vehicle reaches point , i.e., it moves to point on route . It is a boolean value. If the vehicle reaches the destination, the goal is achieved (i.e., no more movement is required). denotes that the vehicle moves from to .

Charging station selected for recharging. denotes whether the vehicle recharges at the charging station located at point .

Gas station selected for refueling gasoline. denotes if the vehicle refuels at the gas station located at point .

Stored electricity. represents the stored electric charge of the vehicle at point .

Effective stored electricity. is the effective stored electricity at point . Obviously, . If the vehicle is recharged at the charging station at point , it is greater than .

Stored gasoline. is the stored gasoline of the vehicle at point .

Effective stored gasoline. is the effective stored gasoline at point . Obviously, . If the vehicle is refueled from the gas station at , it is greater than .

Average electricity price. represents the average price of each kWh of electric charge stored in the vehicle at point .

Average gasoline price. represents the average price of each gallon gasoline stored in the vehicle at point .

Tripcost. is the cost that the vehicle has spent to reach point , starting from the source.

Timetoreach. is the time at which the vehicle has reached point .

Slot of a time. represents the time slot in which the time falls.
IiiC2 Modeling Vehicle Movement
A vehicle can move to point from point , if the vehicle is in (i.e., it is already reached) and there is a road from to . The vehicle can move to from any of the neighboring points (i.e., the points connected to ). This requirement is encoded as follows:
(1) 
(2) 
In this model, we assume that no point is revisited. Due to this assumption, it is obvious that, if there are some intermediate destinations (i.e., viapoints), they have to be on the way toward the final destination. If there is a requirement to backtrack a path to reach the final (or an intermediate) destination, which could be mandatory due to the road system, then the model will fail to find a routing plan. The following constraints ensure that no point is revisited:
(3) 
(4) 
IiiC3 Modeling Battery Recharging
The battery of the vehicle can be recharged at a location if the vehicle have reached the point plus there is a charging station, as shown in Equation (5). If the battery is recharged, the stored charge of the battery increases. If it is not recharged, then the effective charge remains the same. We assume that when a battery is recharged, it is always recharged in an integer amount (kWh) but no more than its capacity.
(5) 
(6) 
(7) 
The formalization of the stored electricity of the vehicle when it reaches a point is shown in Equation (8). The stored electricity at point depends on the stored electricity at the last visited point (i.e., ) and the charge required to cross the distance between these points.
(8) 
In Equation (8), and denote and , respectively. stands for the Boolean result of , and represents the distance traveled by electric power from to . If the battery is recharged at point , then the average cost of each kWh of electric charge stored in the battery needs to be updated as follows:
(9) 
In this equation, stands for .
IiiC4 Modeling Gasoline Refueling
The vehicle can refuel at the gas station at a location provided that the vehicle reaches that point, as shown in (10). If the tank is refueled, the stored gasoline of the vehicle increases. If it is not refueled, then the effective stored gasoline remains the same. We assume that when the gas tank is refueled, it is always refueled in an integer amount up to its capacity.
(10) 
(11) 
(12) 
The formalization of the stored electricity of the vehicle when it reaches a point is shown in Equation (13). The stored gasoline at point depends on the stored gasoline at the previous visited point () and the gasoline consumed to travel the distance between these points. Remember that the gasoline is used as the energy source only when the battery is out of charge.
(13) 
In Equation (13), represents . If the vehicle takes gasoline at point , then the average cost of each gallon of electric charge stored in the battery needs to be updated as follows:
(14) 
IiiC5 Modeling Time and Cost Spent
The computation of the cost of traveling from one point to another depends on the energy type, i.e., electric charge and gasoline, that has been used by the vehicle. In a trip, the vehicle can use any one of them or both based on the availability of the battery charge. The cost, , to reach point is modeled in Equation (15) according to our assumption that the vehicle’s primary energy source is the battery. In the equation, represents that denotes the price of the gasoline consumed during traveling from to , and stands for which denotes the price of the electric charge used during traveling from to .
(15) 
The time required for traveling does not depend on the energy source (fuel) type (refer to Section IIIB). It depends on the average vehicle speed on the road. Equation (16) shows the modeling of time computation.
(16) 
In the above equation, stands for and represents .
IiiC6 Modeling User Requirements
The main objective of the model is to find a route from the source to the destination. There are three more user requirements on the navigation plan: limited cost (), time boundary (), and the intermediate points of interest () with/without associated time boundaries ( for ). The following equations represent these constraints:
(17) 
(18) 
(19) 
(20) 
It is easy to understand that, in the navigation plan, a point cannot be reached by the vehicle taking more cost or time than the overall cost or time boundaries (i.e., or ), respectively. We incorporate these constraints as follows:
(21) 
(22) 
The user may have other constraints to satisfy. For example, when the vehicle reaches the destination, the stored electricity in the battery may need to be at least to some threshold value, which can be used for the next trip. This constraint is formalized as follows:
(23) 
Here, is the threshold value.
IiiC7 Modeling Initial Constraints
We need to consider the constraints that initialize the model. These constraints are about the stored electric capacity, the time and the cost at the source point. The starting time of travel (i.e., time at source) is initialized with the current time. Equation (24) models the initialization constraints.
(24) 
We need to initialize the prices for each kWh of stored electric charge and each gallon of stored gasoline at the source point (). The initialization depends on whether the battery is recharged at this point. This is formalized as follows:
(25) 
Similarly, the price of each gallon of stored gasoline at point is initialized as follows:
(26) 
IiiD A Case Study
Here, we first briefly discuss the implementation of the proposed formal model. Then, we present a synthetic case study demonstrating the execution of the model.
IiiD1 Implementation
We implement our model by encoding the system configuration and the constraints into SMT using the Z3 SMT solver [16]. The encoding requires to use Boolean, integer, and real terms. Although many parameters like distance, speed and queue size usually take integer values, we encode them as real terms, since some division operations that generate fractions are needed to perform. The system configurations and the constraints are given in a text file. The inputs are parsed into the model. Executing the model (in Z3), we obtain the verification result as either satisfiable (SAT) or unsatisfiable (UNSAT). If the result is UNSAT, it means that the problem has no route from the source to the destination satisfying the constraints. In the case of SAT, we get the navigation plan from the assignments of the variables, , , and . shows the route, while and represent the stations that are selected for recharging and refueling, respectively.
# The numbers of locations and time slots 
16 8 # Links (location pair, length, avg traffic speed) 
20 
1 2 23 1 
2 3 21 1 
3 4 15 1 
4 5 19 1 
6 7 15 1 
……… # Charging stations (location, charging time/kWh, charging 
# time/waiting vehicle, queue size, price/kWh at each time slot) 
6 
1 2 20 4 1 3/2 3/2 5/4 5/4 5/4 3/4 3/4 
12 2 15 1 1 3/2 3/2 3/2 5/4 5/4 3/4 3/4 
13 2 18 2 3/4 1 3/2 1 5/4 5/4 3/4 3/4 
9 2 16 1 3/4 1 3/2 3/2 1 5/4 3/4 3/4 
4 2 18 2 5/4 3/2 3/2 3/2 5/4 5/4 3/4 3/4 
16 2 16 2 1 3/2 3/2 5/4 5/4 5/4 3/4 3/4 # Gas stations (location, price/gallon, avg fueling time) 
16 
1 4 8 
2 39/10 10 
3 38/10 10 
4 38/10 10 
5 39/10 10 
6 39/10 8 
……… # PHEV’s properties (source, destination, stored energy and its price/kWh, battery capacity, 
# stored gas and its price/gallon, gas capacity, kWh/mile, gallon/mile, trip start time) 
1 10 2 5/4 8 0 0 10 1/8 1/12 0 # Constraints (time, price) 
130 21 # Via points 
0 
IiiD2 An Example Case Study
We demonstrate our model through a synthetic case study. Figure 4 shows the topology of the road network considered in this study. The topology resembles the major routes between Gastonia and WinstonSalem, two cities in North Carolina. The input file regarding this example is shown in Table II. The objective of the PHEV is to find a routing plan from Gastonia (location 1) to WinstonSalem (location 10) that satisfies the given constraints. The vehicle starts its trip at time 0 and, according to the constraints, the vehicle needs to reach the destination by time 130 (130 minutes) and with no more than $21 of energy cost. The vehicle has no viapoint to pass by. The execution of the model corresponding to the example returns a SAT result. According to the solved result, the assignments of values to different variables of the model, we find that a possible route for the vehicle is {1, 11, 12, 6, 7, 8, 9, 10}. The battery needs to be recharged at the station at location 12, and the vehicle is refueled at location 1. The energy cost required through this route is $20.83, while the time cost is $129.5 minutes, both of which satisfy the constraints. It is worth mentioning that if the trip start time is changed to 60, then there is no routing path from the source to the destination under the above properties and constraints. In this case, if we can increase the timetoreach constraint to time 220 (i.e., 160 minutes of traveling time considering the start time) and increase the trip cost to $22, then there is a solution, wherein the vehicle needs to use more electric charge compared to the previous case in order to keep the cost low. As a result, the vehicle needs to recharge for twice (at locations 12 and 9). The reason for this difference is that the charging price is higher during the trip time.
Let us go back to the first scenario, except with the following changes, as the vehicle is now more sensitive to cost compared to time. In this case, the trip cost cannot be more than $18 while the vehicle must reach the destination by time 160 (160 minutes). We receive a satisfiable answer with the following results: the routing path is {1, 11, 12, 6, 7, 8, 9, 10}. The vehicle needs to recharge at locations 12 and 9, while refueled at location 1. The vehicle uses electric charge to travel the largest part of the route in this trip.
IiiE Optimal Navigation Plan Determination
The verification result comprehensively represents a consistent PHEV navigation plan for the network, satisfying the user requirements. Usually, there are more than one model that satisfy the constraints. These models also take different time and cost, though all of them take time and cost less than or equal to the time constraint () and the cost constraint (). Observing these models, one can choose the most cost (or time) efficient route among all alternative satisfiable models for the same set of constraints. We propose Algorithm 1 that considers two values: and , and finds the optimal navigation plan based on the cost. Typically, is the user’s given constraint , while is zero.
The algorithm utilizes a binary search method to find the optimal value. Algorithm 1 usually takes a longer time compared to the time for finding a satisfiable model only, since the algorithm requires several invocations of the model synthesis. The complexity of the algorithm is , where is the synthesis time and is the difference between and . Since is very high in unsatisfiable cases as well as in tight constraintbased cases (see Section V for details), the time for finding the optimal would be very high for a large number of vehicles. However, if the navigation management service is provided online, where the formal model is executed by an SMT solver running in a centralized server, the navigation management service provider can utilize powerful machines to compute this optimization. The algorithm also lets the provider control the number of steps () to reduce the optimization time. In this case, a vehicle may receive a semioptimal navigation plan.
Iv Pricebased Navigation Control
The model we have discussed in Section III finds a satisfiable navigation plan for a PHEV under a number of given constraints. The main constraints are time and cost. The traveling cost depends not only on the electricity price but also on the availability of the charging stations, the queue lengths of waiting vehicles in the stations, the time constraint to reach the destination, and the vehicle speeds on different roads. The queue lengths at charging stations and the vehicle speeds on different road segments (which incorporate the traffic congestion) at different time slots are predicted from historical/past data and current/present status. Since we consider long trips, the initially predicted traffic scenario may change during the trip period. Moreover, due to nonspeculated incidents, the number of vehicles choose a route or route segments can be larger than estimated. While heavy traffic can slow down the vehicles than the speed limits, the queue sizes of the charging stations on these routes have much higher possibility of being longer compared to that of other stations. While some routes may become busier than forecasted, many other routes can become freer than expected. Therefore, to deal with the uncertainty in predicted data, it is advantageous to control the (unexpected) traffic flow by distributing the unexpected loads among the roads, so that the roads have lesser traffic jams and the charging stations have smaller waiting queues. In this section, we present a simple motivationbased load control technique that motivates the costsensitive users to choose the roads with fewer loads. The navigation management service provider can play the role of a controller in this technique. However, the success of the model depends on the even distribution of the charging stations throughout the system.
Iva Overview of Navigation Control Technique
The basic idea we follow in our control technique is to adjust the charging prices of the stations at each time slot to indirectly distribute the vehicles in the roads and the charging stations. The control technique is shown in Figure 5, which works as follows: When a PHEV enters the road system, it connects to the controller with necessary information necessary to get the navigation route. The controller computes a satisfiable navigation plan (based on the model discussed in Section IIIB) and returns it to the vehicle. Hence, the controller has the navigation plans of all the existing PHEVs on the roads. The controller can follow a decentralized framework of computing systems to deal with an excessive number of PHEVs. With the time, the routing data about the PHEVs gets updated. The forecasted traffic (including nonPHEV vehicles) on the roads can also be changed due to updated situations. Therefore, the controller have an updated information about the traffic on each road segment, and it adjusts the charging price (for a time slot) when the update is different than the estimation. The price adjustment technique considers that the routing paths of the existing PHEVs are expected to remain unchanged. Hence, the technique considers the cost requirement of each vehicle as a constraint, so that the navigation plan for the vehicle will remain valid even after any price adjustment. The controller can notify each existing vehicle in the system if there is a price adjustment. Then, a vehicle may request the controller for a new routing plan.
In order to adjust the charging prices to achieve better load balance, the controller gives a weight for each point associated to a charging station during a time slot based on the number of vehicles that have the point on its routing path during . The busier the point is during , the higher weight given to it at . The control chooses the prices according to these weights higher weights get higher prices, while lower weights have lower prices. The prices during a time slot () should be within some minimum () and maximum () bounds. Moreover, the average of the charging prices of all the charging stations during a time slot is constrained to be equal to , where is roughly equal to .
IvB Navigation Control Model
We define a list of parameters to model the navigation control technique. A solution to this model will provide the charging prices at the charging stations.
Parameters for Modeling Navigation Control:
We define as the set of the charging stations, i.e., the set of the points where the stations are located. We also define as the set of the vehicles currently existing in the system. At the beginning of time slot , the controller updates the charging prices for the stations for a number of future time slots (i.e., time ) by modeling a constraint satisfaction problem. We use the following parameters in the model:
Charging Cost. denotes the total cost that the vehicle spent for charging the battery during the trip. On the way from the source to the destination the vehicle may need to charge its battery several times, here, times. We define as follows:
Here, is the ’th point () on the routing path from the source to the destination and is already defined in Section IIIC5. Remember that depends on , while depends on (), the charging price of the charging station located on point , where the vehicle charges its battery during time slot . In the case when time slot , the vehicle has already charged its battery, while in the case when times slot , the vehicle will charge its battery. Hence, the the updated prices have an impact on for the time slots equal or higher than .
Gasoline Cost. denotes the total cost that the vehicle spent for gasoline during the trip. is computed as:
Here, is the ’th point () on the routing path from the source to the destination and is already defined in Section IIIC5. Since the gasoline price is kept unchanged, remains the same, irrespective of the change in the charging prices.
Weight. denotes the weight of the vehicles passing through point during slot (), i.e., the ratio of the number of vehicles passing (actually expected to pass according to the vehicles’ navigation plans) through point over the total number of vehicles passing all the points in the set during .
Here, represents the total number of vehicles passing through point , which is computed from for any and associated with all vehicles.
Modeling Navigation Control:
The gasoline cost for a vehicle and the weight for each gasoline station during a time slot are taken as computed value which are constant in the model. We synthesize the charging prices for each station at upcoming time slots (i.e., for each time slot ) while the charging prices during previous time slots are invariable. The charging price of a gas station during a slot is proportional to the weights of the vehicles passing through the point associated to the station. This is formalized by the following relation:
(27) 
The prices cannot be less than and more than during time slot . If the weight is zero, i.e., no vehicles passing through the point corresponding to the charging station, the price is taken as the minimum. We consider the similar constraint for maximum weight (i.e., 1). These constraints are formalized as follows:
(28) 
(29) 
It is also ensured that the average of the charging prices at different charging stations during time slot are equal to the (average) electricity price set for this time slot () (Equation (30)). This price can be identified based on the electricity price(s) set by the associated energy provider(s) and the profit margin set for the charging stations.
(30) 
The crucial constraint is that the vehicles already in the system have to be able to reach their destination within the cost limit. Since the prices may change (for the upcoming time slots), we need to verify whether the cost for a vehicle remains within the limit .
(31) 
IvC A Case Analysis
In Figure 7, we show the change of the charging prices with the time slots. We consider the road network as shown in Figure 6
, where each location point has a charging station and a gas station. In this example, we take 100 vehicles, which are arbitrarily distributed during 24 time slots. For each vehicle, the source and destination, and the starting time of the trip are chosen randomly following uniform distribution. The maximum and minimum charging prices per kWh are taken as $1.5 and $0.5, respectively. The initial price for each charging station is taken randomly. In the first scenario, the gas price is fixed and the same for all gas stations ($4.00/gallon) while in the second scenario, the gas stations have different prices. These prices are fixed throughout the day. The cost and time constraints are taken from the ranges of 1050 dollars and 100200 minutes, respectively.
The results of the first case are presented in Figure 7, which shows the charging prices for two stations: the charging stations located at point 2 and point 5. We see that the prices change with the time. It is interesting to observe that the charging price of the station at location 5 is most often less than the charging price of the station at point 2, except for a few cases. The reason behind this behavior is that the connecting roads to point 2 are shorter compared to the connecting roads to point 5. That is why the navigation management plans contain point 2 more than point 5, especially due to the longest road segment between 4 and 5. Hence, to divert the vehicles to point 5, most of the time the charging price of the station at point 2 is kept high. The results associated with the second case are shown in Figure 7. Here, we observe a different behavior in price changes because the gas prices of the stations on points 1, 2, and 3 are higher ($4.00, $3.90, and $3.80, respectively) than that of the stations on points 4, 5, and 6 ($3.90, $3.80, and $3.70, respectively). Therefore, the PHEVs have incentives to choose routes through points 4, 5, and 6 compared to the case in Figure 7.
V Evaluation
We evaluate the scalability of our proposed navigation management model and control model. Due to the unavailability of the reallife data, we analyze the models using different synthetic data.
Va Methodology
We evaluate the scalability of our proposed models by analyzing the time and memory required for synthesizing the outputs. We apply efficient techniques for increased scalability of solving the navigation management model.
VA1 Evaluation Data Overview
The problem size depends mainly on the number of location points, i.e., roads, as well as charging and gas stations. The problem size is primarily specified by the total number of location points. The location points are taken (or abstracted) based on the real road maps (particularly, motorways/highways in the Eastern United States). We download the map from OpenStreetMap [17] in the OSM (Open Street Map) JSON file format and process the data to convert it to our input template. Since we consider long trips in this research, we download and process the roadways with the “highway” key values as “motorway,” “trunk,” and “primary.” We take the longitude and latitude of each location point, the points on a highway (using the “ref” and “tiger/cfcc” tags), and speed limit of a road from the data. The distance between two consecutive points on a highway is calculated considering the coordinates of the points. We consider points on a highway with a minimum distance apart from each other. The distances are kept within a range of 140 miles. The intersections/links between the roads are computed from the coordinates and the tags like “motorway_link” and “motorway_junciton.” In the case of varying the problem size in terms of the number of links (or branch roads) while keeping the number of location points constant, we arbitrarily consider these links.
The charging stations at different locations are considered according to the Alternate Fuels Data Center, managed by the Office of Energy Efficiency and Renewable Energy, U.S. Department of Energy [18]. The gas station locations can be found from many sources. We get them OpenStreetMap (using the “amenity” tag) [17]. However, we consider arbitrary locations for the charging or gas stations when we vary their number to observe the impact of their availability on the scalability.
The rest of the evaluation data is synthetic. The number of time slots in a day is considered as 24, where each time slot covers 60 minutes. For the gasoline and electricity prices, the ranges are taken from the ranges of $3$5/gallon and $0.5$1.5/kWh, respectively. The capacity of a battery is taken randomly from the range of 1020 KWh. We also randomly choose the mileage achieved by a vehicle from the range of 1224 miles/gallon and the range of 816 miles/kWh. We encoded our model using Z3 .NET API and ran the verification of the model on an Intel Core i7 Processor with GB memory.
VA2 Efficient Execution Mechanism
Parallel Execution of Multiple Instances
Since the navigation management model often needs to deal with numerous parameters and arithmetic constraints, finding an optimal navigation plan in a “near realtime” period is overwhelming for a large road network. Therefore, we devise a scalable mechanism for a controlled execution of several instances of the navigation management model parallelly so that a satisfiable navigation plan can be achieved within a practically acceptable time. Algorithm 2 presents the mechanism that executes multiple processes simultaneously. All these processes explore the navigation space together. Each process runs the navigation management model with a random seed such that SMT searches in an arbitrary order (Lines 4 and 5 in Algorithm 2). As we look for one satisfiable navigation route, the parent process keeps checking if a process ends (Lines 8 and 9). A process is successful at finding a path when it receives a SAT result (Lines 12). When the result is UNSAT, there is no navigation route. When a navigation route is found, the rest of the processes (which are yet to be completed) are terminated since we look for a single navigation route. On the other hand, if a process (i.e., the model instance running by this process) fails to find a path, there is no way other processes can be successful, as the solved model has already explored the whole search space. Therefore, the rest of the processes are terminated (Lines 18 23).
Search Space Pruning
The efficiency of the navigation route synthesis can be further improved by pruning the search space with respect to the source and destination. The idea is explained here. The navigation route depends on the source and the destination, along with the road network. Although the given road network can be large, according to the source and the destination there are often many points inc the network, which will not practically be advantageous to traverse to reach the destination. Those points can easily be pruned from the search space by initializing corresponding s as false. Such a constraint can be a user’s preference. For example, a simple pruning condition can be as follows. If the summation of the shortest distance from the starting point to a point (let it be ) and that from the point to the destination point () is larger than times (e.g., twice) the shortest distance between the source and the destination (), the point should not be traversed to reach the destination. The corresponding formalization is presented below:
Since the shortest distances are expected to be already known, the time for space pruning is insignificant.
VA3 Evaluation Approach
We evaluate the scalability of the proposed navigation management models on various scenarios in terms of the problem size as well as the navigation requirements. We mainly present the evaluation results for the navigation management model, since we observe similar behaviors for the control model. We do not evaluate the model by performing a comparison with a related work because to the best of our knowledge there is no existing work that considers the same problem like ours. We consider a comprehensive list of routing properties for navigation planning. GreenGPS [11, 19], a closest work to this research, provides fuelefficient routes, considering stop lights and the traffic congestion. The technique does not consider recharging (or refueling) requirements. In highways where there are usually no stop light or traffic congestion, this tool performs like traditional GPS services.
VB Evaluation Results
Impact of the Problem Size: Figure 8 shows the model verification time, i.e., the navigation management plan synthesis time with respect to the problem size. As shown in Figure 8, we observe that the analysis time is superlinear with respect to the number of location points. We consider two scenarios in this analysis. In one scenario the number of timeslots is 12, while in another scenario, this number is 24. We also observe that when the number of timeslots is larger, it takes a longer time. The increase in the problem size expands the model space, i.e., the search space for the potential solution. As a result, we observe greater synthesis time for larger problems. Figure 8 shows the impact of the number of connecting roads on the navigation plan synthesis time. Unlike the experiment regarding Figure 8, we vary the percentage of location points that are connected with a neighboring point (i.e., the branch roads). We consider 24 time slots and perform experiments in two scenarios one with 300 points and another with 500 points. As we see in Figure 8, the analysis time increases rapidly when the number of branch roads increases. Due to more connecting roads, there are many options to reach a specific location, which in turn increases the search space. It is worth mentioning that the devised efficient mechanism of executing the synthesis model (i.e., the parallelism and the pruning techniques) significantly improves the scalability. Figures 9 and 9 show the navigation path synthesis time when neither parallelism nor pruning is applied. The results demonstrate the obvious improvement, when we compare them with that in Figures 8 and 8.
The cost incurred in a trip depends on the distance driven and the type of fuel used by the vehicle. The more electricity (stored in the battery) is used as fuel instead of gasoline, the less the cost. As we know a battery requires frequent recharging, the availability of the charging stations is important. However, if there is high availability of charging stations, there are many alternatives available for recharging the battery. If there are too many alternatives, the search space becomes larger and the synthesis time increases accordingly. On the other hand, if the number of charging stations becomes very small (e.g., less than 4050% of the points have charging stations), there are fewer alternatives for satisfiable solutions. As a result, the solver needs to cover a larger space to find a solution. Figure 10 justifies this argument. A vehicle may also need refueling to reduce the time requirement availability of charging stations is less while battery recharging takes a longer time). Therefore, there is an impact from the availability of gas stations as well, which is reflected in Figure 10 as well. In this analysis, we consider 500 location points and two scenarios, one with gas stations at 50% of the points while another has them at 90% of the points.
Impact of the Trip Distance: The distance (expressed in terms of location points) between the source and the destination has an impact on the navigation synthesis time. The analysis result is shown in Figure 10 with respect to three qualitative distances: low (1020 points), medium (5060 points), and high (90100 points), in a road system of 500 location points. We take three different arbitrary scenarios (in terms of source and destination) for each qualitative distance. The farther the destination from the source, the more alternatives there are to reach the destination satisfying the constraints. These alternatives mean navigation routes and recharging/refueling choices. As a result, the synthesis time increases with the increase in the trip distance.
Impact of the Points of Interest: We observe that the number of intermediate points of interest (i.e., viapoints) impacts the synthesis time. The results are shown in Figure 11 for two different problem sizes. The figure shows that time increases with the increase in the number of viapoints. Since the number of intermediate destinations increases and each destination is associated with a time constraint to be reached, a larger time is required to find a solution. However, the execution time is also dependent on how tight time and cost constraints are associated with these via points and the ultimate destination. This impact is illustrated later in Figure 12.
Impact of the Problem Size on Control Mechanism Synthesis: We also evaluate the scalability of our control model, and the results are presented in Figure 11, which shows the synthesis time with respect to the number of vehicles. In these experiments, we consider 500 location points for two different numbers of charging stations (100 and 200). We observe that the time for synthesizing the charging prices increases almost linearly with the increase in the number of vehicles.
Impact of the Constraint Tightness: We analyze the impact of the tight/ relaxed constraints on the model synthesis time. Tightening (relaxing) a time/cost constraint means decreasing (increasing) the time/cost constraint value. The analysis result is shown in Figure 12 where we vary the time constraint value. We observe that the execution time increases with the reduction of the time constraint value because tightening a constraint reduces the number of possible solutions to the model; as a result, more searches are usually required to find a solution. We also observe the same behavior in the case of the cost constraint (Figure 12).
Impact of Number of Parallel Processes: In the above mentioned analyses, four processes are executed parallelly to synthesize the navigation route according to Algorithm 2. Figure 13 presents the impact of the number of processes on the generation time. As the figure shows, the more is the number of processes, the smaller the execution time. Since we run the processes on a single physical host, the processes need to share the resources, and thus the overhead goes up when the number of sharing processes is high as well as the problem size, compared to the number of processing cores of the host (which is four in our case). Hence, there is a tradeoff between the efficiency and the overhead.
Memory Complexity: The memory requirement of the SMT solver [16] for our model is evaluated by changing the number of points. The evaluation is done considering the memory required for encoding the problem in two scenarios with respect to the charging stations. In scenario 1, 20% location points have charging stations, while in scenario 2, they exist at 40% points. The required memory for a model synthesis is the sum of the memory for modeling the system properties and the memory for modeling the constraints. The analysis result is shown in Figure 13. We observed that the memory requirement increases linearly with the increase in the number of location points. An increase in the model size depends on the problem size, mainly the number of location points and that of the charging and gas stations.
Vi Discussion
Here we discuss some concerns or aspects of the proposed navigation management solution.
Via Optimal Solution
We model the navigation planning logically as a constraint satisfaction problem and solve using an efficient SMT solver. The solver provides a solution if there is one satisfying the constraints on the given road system. The solution may not be the optimal one. However, the model can provide all possible routes to the destination, including the optimal one(s), if it is solved for all solutions (i.e., complete exploration of the solution space). The tighter are the constraints (e.g., the time and cost to reach the destination constraints), the smaller the solution space (i.e., the number of alternative solutions) and the closer a solution to the optimal. The constraints can be too tight to get a solution (i.e., no feasible route). However, a smaller solution space often takes a larger execution time. The impacts of time and cost constraints on the running time are shown in Figures 12 and 12. The tight constraints usually lead into larger execution times.
ViB Usability
The navigation route synthesis needs to be done within a reasonable time, which can be expected to be in runtime. Although the execution of the formal model follows an exponential scale of growth, the applications of parallel execution and routing path pruning, as we have presented in Section VA, significantly reduce the computation time. Within our limited computing capacity (i.e., limited processing power and memory), our evaluation results show a few seconds of execution time for a large problem space. We present the impact of the number of parallel processes in Figure 13. In practical uses, particularly for runtime planning of the navigation paths, the computing capacity can easily be extended to further reduce the execution time.
Since parallelism is used, a powerful multicore processor is required to get the desired performance. It can be argued that a PHEV is unexpected to be equipped with an IoT device (deployed in the vehicle or the user’s smart device) which has sufficient processing ability for such a synthesis. Since clouds can provide highperformance computing platforms, the navigation management can be implemented as a powerful cloudbased service. Such an implementation will be able to perform the navigation planning always in a feasible time by offering necessary computing resources according to the size of the navigation management problem and its constraints.
ViC Extendability
The proposed formal framework for the navigation management synthesis is generic enough to consider further constraints if required. As long as the road network is represented using a set of links connecting the different locations, the model can consider all the destination constraints (e.g., delays at the via points or intermediate point of interests, avoiding the toll roads, highway preference, etc.) toward the destination.
Vii Related Work
In the last few years, many researchers addressed the efficient management of plugin electric vehicles considering the vehicletogrid (V2G) aspects, especially the V2G services like charging, discharging, and frequency regulation services. For example, the works in [20] and [21] proposed mechanisms for maximizing the profits from vehicletogrid (V2G) services by selling stored electricity to the grid or by participating in frequency regulation. Some other works, such as [22], [23], and our work in [24], developed control algorithms and models for the optimal V2G management. However, none of these works addressed the problem of driving EVs on long trips and scheduling the charging of batteries.
The authors in [12] addressed the issue of minimizing the EV recharging waiting time through intelligently scheduling recharging activities. The authors theoretically formulated the minimum waiting time for the problem of recharging scheduling. Based on the analysis, they proposed a distributed scheme to optimize the recharging schedule. However, their model is limited only to EVs with a mere objective of minimizing the waiting time in the charging stations only. The model only considers a single highway road and cannot find the navigation/routing path for a complex road network. Moreover, the work did not consider the alternative use of fuels in the case of hybrid EVs. In this paper, we address the navigation management problem for hybrid electric vehicles for long trips, considering a broader and reallife aspect.
Zhang and Vahidi [25] proposed a dynamic programming (DP)based technique to find strategies to operate the powertrainbased energy management system (EMS) efficiently with the optimal use of (stored) electric charge and gasoline until the next charging station. Bader et al. [26] developed a DPbased mechanism for predictive realtime energy management with the help of precalculated lookup tables for different points of the powertrain. Larsson et al. proposed an energyoptimal route selection mechanism based on historical driving data (logged GPS data) about commuter routes and the EMS optimization [27]
. The mechanism also precomputes the optimal solutions to the energy management control problems using DP and provide them to a user as a lookup table. Tribioli et al. proposed a heuristic methodology, utilizing Pontryagin’s minimum principlebased optimal control theory, to solve the realtime energy management problem
[28]. Later, this realtime energy management problem is solved using the estimation distribution algorithm by Qi et al. [29]and the particle swarm optimization algorithm by Chen et al
[30]. Li and Chen [31] presented a solution for the optimal, realtime energy management of a parallel PHEV (here, the electric charge can be used to drive one axle while the gasoline to drive the other one). Yonggang et al. [32] developed an EMS control technique utilizing the GPS/GIS data and the knowledge of road events (trip distance, road grade, altitude, velocity, etc.) to predict the road slope grade and the corresponding electric energy consumption, and thus control the battery usage so that energy is not discharged during uphill. It is worth mentioning that this strategic operation of the EMS or powertrain for optimal energy management of PHEVs is out of the scope of this work.Raghu K. Ganti et al. developed a navigation service, named GreenGPS [11], for traditional vehicles. GreenGPS provides the most fuelefficient route between two points, unlike the shortest and fastest routes provided by the traditional navigation tools like Google Maps [10] and MapQuest Maps [33]. GreenGPS collects the necessary data, which is continuously updated by the participating vehicles and answers queries on the most fuelefficient route. Later, further results are presented in [19] according to an advanced realworld phonebased implementation and deployment of GreenGPS, which considers reliable endtoend data collection and route recommendation. However, GreenGPS cannot work for PHEVs as it does not consider the recharging of these vehicles. It considers mainly the traffic congestion and the stop lights to find out the most fuelefficient path, which is suitable in urban areas. Moreover, for traveling on highways, GreenGPS will perform almost similarly to a traditional GPS, as there is no stop light and often there is no or minor congestion. Nejad et al. [34] proposed routing algorithms for PHEVs that account vehicle operating modes (either electric, gasoline, or hybrid) and recommend the most fuelefficient path by choosing the optimal mode of operation for each road segment during route planning. However, the solution requires to choose a single mode of operation for each segment and to segment the roads appropriately based on the relatively uniform energy efficiency conditions. Moreover, the work does not consider recharging/refueling of these vehicles and thus inapplicable for long trips.
Our proposed model for long trips is comprehensive (considering PHEV properties), flexible (based on user requirements), and practical (allowing recharging and refueling). The formal modeling of a navigation problem presented in this paper is also unique. Our model is extendable for broader aspects with novel and further requirements.
Viii Conclusion
Plugin hybrid vehicles require switching to gasoline or recharging their batteries for long trips. Recharging batteries takes a longer time compared to the refueling of gasoline. Due to these characteristics, a flexible navigation management scheme is required. In this paper, we have presented an SMTbased formal modeling of the PHEV navigation management problem. Our model offers an optimal management plan that includes the route, along with the potential charging points. This satisfies all the constraints on the fuel cost, the traveling time, and the intermediate points of interest. We have also presented a pricebased navigation control technique to achieve better load balancing for the system. We implemented both of our models, ran simulation experiments using the Z3 SMT solver and evaluated their scalability. We observed that the running time of our navigation management model usually lies within few seconds for a road network of a thousand location points, while that of our control model is around 25 seconds for a problem of 20% charging stations on a road network with 1000 points and 1000 PHEVs.
References
 [1] A comprehensive guide to plugin hybrids. http://www.hybridcars.com/pluginhybridcars. Last accessed on October 30, 2018.
 [2] All about plugin hybrids. http://www.calcars.org/vehicles.html. Last accessed on October 30, 2018.
 [3] N. Bjørner and L. Moura. Z: Applications, enablers, challenges and directions. In Int. Workshop on Constraints in Formal Verification, 2009.
 [4] Mohammad Ashiqur Rahman, Qi Duan, and Ehab AlShaer. Energy efficient navigation management for hybrid electric vehicles on highways. In ACM/IEEE 4th International Conference on CyberPhysical Systems (ICCPS), pages 21–30, 2013.
 [5] January 2019 u.s. plugin ev sales report card. https://insideevs.com/news/342513/january2019uspluginevsalesreportcard/. Last accessed on May 30, 2019.
 [6] Clean fleet report. http://www.cleanfleetreport.com/. Last accessed on October 30, 2018.
 [7] Hyundai 2019 ioniq electric vehicle. https://www.hyundaiusa.com/ioniqelectric/specifications.aspx. Last accessed on May 30, 2019.
 [8] Constantine Samaras and Kyle Meisterling. Life cycle assessment of greenhouse gas emissions from plugin hybrid vehicles: Implications for policy. Environment Science Technology, 42(9), 2008.
 [9] Office of Highway Policy Information. Public road length  2012. http://www.fhwa.dot.gov/policyinformation/statistics/2012/hm12.cfm, 2013. Highway Statistics Series, U.S. Department of Transportation.
 [10] Google maps. http://maps.google.com. Last accessed on February 15, 2019.
 [11] R. Ganti, N. Pham, H. Ahmadi, S. Nangia, and T. Abdelzaher. Green gps: A participatory sensing fuelefficient maps application. In International Conference on Mobile Systems, Applications, and Services (MobiSys), pages 151–164, 2010.
 [12] Hua Qin and Wensheng Zhang. Charging scheduling with minimal waiting in a network of electric vehicles and charging stations. In 8th ACM International Workshop on Vehicular Internetworking (VANET), pages 51–60, 2011.
 [13] Leonardo Moura and Nikolaj Bjørner. Formal methods: Foundations and applications.
 [14] Martin Davis, George Logemann, and Donald Loveland. A machine program for theoremproving. Communications of the ACM, 5(7):394–397, July 1962.
 [15] Robert Nieuwenhuis, Albert Oliveras, and Cesare Tinelli. Solving sat and sat modulo theories: From an abstract davisputnamlogemannloveland procedure to dpll(t). Journal of the ACM, 53(6):937–977, 2006.
 [16] Z3: An efficient smt solver. In Microsoft Research. http://research.microsoft.com/enus/um/redmond/projects/z3/.
 [17] Openstreetmap. https://www.openstreetmap.org/#map=5/38.007/95.844. Last accessed on February 15, 2019.
 [18] Alternative fuels data center, energy efficiency and renewable energy, u.s. department of energy. https://afdc.energy.gov/fuels/electricity_locations.html#/find/nearest?fuel=ELEC. Last accessed on May 30, 2019.
 [19] F. Saremi, O. Fatemieh, H. Ahmadi, H. Wang, T. Abdelzaher, R. Ganti, H. Liu, S. Hu, S. Li, and L. Su. Experiences with greengps fuelefficient navigation using participatory sensing. IEEE Transactions on Mobile Computing, 15(3):672–689, March 2016.
 [20] C. Hutson, G. Venayagamoorthy, and K. Corzine. Intelligent scheduling of hybrid and electric vehicle storage capacity in a parking lot for profit maximization in grid power transactions. In IEEE Energy 2030, 2008.
 [21] Sekyung Han, S. Han, and K. Sezaki. Development of an optimal vehicletogrid aggregator for frequency regulation. IEEE Transactions on Smart Grid, 1(1), 2010.
 [22] W. Shi and V. Wong. Realtime vehicletogrid control algorithm under price uncertainty. In IEEE International Conference on Smart Grid Communications (SmartGridComm), 2011.
 [23] Kevin Mets, Tom Verschueren, Filip De Turck, and Chris Develder. Exploiting v2g to optimize residential energy consumption with electrical vehicle (dis)charging. In IEEE First International Workshop on Smart Grid Modeling and Simulation, pages 7–12, 2011.
 [24] Mohammad Ashiqur Rahman, Fadi Mohsen, and Ehab AlShaer. A formal model for sustainable vehicletogrid management. In First ACM Workshop on Smart Energy Grid Security (SEGS), pages 81–92, 2013.
 [25] C. Zhang and A. Vahidi. Route preview in energy management of plugin hybrid vehicles. IEEE Transactions on Control Systems Technology, 20(2):546–553, March 2012.
 [26] B. Bader, O. Torres, J. Ortega, G. Lux, and J. Romeral. Predictive realtime energy management strategy for phev using lookuptablebased dynamic programming. In World Electric Vehicle Symposium and Exhibition, pages 1–11, November 2013.
 [27] V. Larsson, L. Johannesson Mårdh, B. Egardt, and S. Karlsson. Commuter route optimized energy management of hybrid electric vehicles. IEEE Transactions on Intelligent Transportation Systems, 15(3):1145–1154, June 2014.
 [28] L. Tribioli, M. Barbieri, R. Capata, E. Sciubba, E. Jannelli, and G. Bella. A real time energy management strategy for plugin hybrid electric vehicles based on optimal control theory. Energy Procedia, 45:949 – 958, 2014.
 [29] Xuewei Qi, G. Wu, K. Boriboonsomsin, and M. J. Barth. An online energy management strategy for plugin hybrid electric vehicles using an estimation distribution algorithm. In 17th International IEEE Conference on Intelligent Transportation Systems (ITSC), pages 2480–2485, Oct 2014.
 [30] Zeyu Chen, Rui Xiong, Kunyu Wang, and Bin Jiao. Optimal energy management strategy of a plugin hybrid electric vehicle based on a particle swarm optimization algorithm. Energies, 8(5):3661–3678, 2015.
 [31] Jichao Liu and Yangzhou Chen. An online energy management strategy of parallel plugin hybrid electric buses based on a hybrid vehicleroad model. In 19th International IEEE Conference on Intelligent Transportation Systems (ITSC), pages 927–932, Nov 2016.
 [32] Yonggang Liu, Jie Li, Ming Ye, Datong Qin, Yi Zhang, and Zhenzhen Lei. Optimal energy management strategy for a plugin hybrid electric vehicle based on road grade information. Energies, 10(4):1–20, March 2017.
 [33] Mapquest. http://www.mapquest.com. Last accessed on January 15, 2019.
 [34] Mark M. Nejad, Lena Mashayekhy, Daniel Grosu, and Ratna Babu Chinnam. Optimal routing for plugin hybrid electric vehicles. Transportation Science, 51(4):1304–1325, 2017.
Comments
There are no comments yet.