Affordable public transit services are crucial for communities since they enable residents to access employment, education, and other services. Unfortunately, transit services that provide wide coverage tend to suffer from relatively low utilization, which results in high fuel usage per passenger per mile, leading to high operating costs and environmental impact. Electric vehicles can reduce energy costs and environmental impact, but most public transit agencies have to employ them in combination with conventional, internal-combustion engine vehicles (and/or hybrid vehicles) due to the high upfront costs of electric vehicles.
To make the best use of such a mixed fleet of vehicles, transit agencies need to optimize route assignments and charging schedules, which presents a challenging problem for large transit networks. Specifically, optimizing the operation of mixed fleets is challenging because it requires accurate trip-level predictions of electricity and fuel use for a number of classes of vehicles (e.g., electric, hybrid, internal combustion, model, model year, etc.) and conditions (e.g., traffic conditions, weather conditions, etc.) that may change over time.
Accordingly, there is a need for accurate, dynamic, data-driven prediction of the trip-level energy use of each of a number of types of vehicles in a mixed-vehicle fleet.
A system for forecasting energy consumption by vehicles in a mixed-vehicle fleet is disclosed. The system includes neural network(s) that generate a predictive function for vehicles in each of a number of classes, including shared layers for all of the classes of vehicles and a set of vehicle-specific layers for each class (e.g., as a multi-task learning model). In some embodiments, the neural network(s) further include an inductive transfer learning model including the plurality of shared layers (e.g., transferred from the multi-task learning model) and vehicle-specific layers for additional class(es) of vehicle.
In some embodiments, the shared layers identify features indicative of energy consumption and a marginal probability distribution over each of the identified features for all of the classes of vehicles. In those embodiments, the set of vehicle-specific layers for each class identifies a conditional probability distribution over each of the identified features for each class. In other embodiments, the shared layers identify features indicative of energy consumption for all of the classes of vehicles and the set of vehicle-specific layers for each class identifies a marginal probability distribution over each of the identified features and a conditional probability distribution over each of the identified features for each class.
To generate the predictive functions for each class of vehicles, the system stores route data identifying vehicle routes in a geographic area (each vehicle route comprising a plurality of route segments) and receives vehicle locations indicative of locations of each of the vehicles and energy consumption data indicative of energy consumed by each of the vehicles. In some embodiments, the system also stores elevation data indicative of elevations along each route segment and receives traffic data indicative of traffic conditions along at least some of the route segments and/or weather data indicative of weather conditions in the geographic area.
In some embodiments, the features indicative of energy consumption identified by the system include static road segment features (e.g., route length, road classification, change in elevation, maximum elevation change), past vehicle speed features (e.g., average travel speed, time to travel), traffic conditions (e.g., speed ratio, jam factor), and weather conditions (e.g., temperature, precipitation, visibility, wind speed, humidity, wind gust).
In some embodiments, the system generates separate predictive functions for internal combustion vehicles, electric vehicles, and hybrid vehicles. In other embodiments, the system generates a predictive function for each model of vehicle or each year of each model of vehicle.
Aspects of exemplary embodiments may be better understood with reference to the accompanying drawings. The components in the drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of exemplary embodiments.
Reference to the drawings illustrating various views of exemplary embodiments is now made. In the drawings and the description of the drawings herein, certain terminology is used for convenience only and is not to be taken as limiting the embodiments of the present invention. Furthermore, in the drawings and the description below, like numerals indicate like elements throughout.
As shown in
As described in detail below, the server(s) 160 forecast the energy consumption of a mixed fleet of vehicles 120. In the embodiment of
In the embodiment of
The database 270 stores static data 272 and dynamic data 274 received from the external data sources 140 by the network interface 250 via the one or more networks 150. The static data 272 and the dynamic data 274 are described in detail below with reference to
As described in detail below with reference to
As described in detail below with reference to
The dynamic data 274 includes vehicle data 360 received from the vehicle sensors 229 via the vehicle data source 146 (e.g., ViriCiti). In the embodiment of
In some embodiments, the dynamic data 274 also includes traffic data 370 received from the traffic data source 147. As shown in
In some embodiments, the dynamic data 274 also includes weather data 380 received from the weather data source 148. As shown in
In the embodiment of
The roadway data 340 includes the roadways 342 at each of a number of locations 341 in a geographic area and the road classification 346 (e.g., motorway, trunk, primary, secondary, tertiary, residential, etc.) of each of the roadways 342. The roadway data 340 may be, for example, one or more Open Street Map edges and nodes files. The elevation data 350 includes the elevation 352 of a number of locations 341 in a geographic area. The elevation data 350 may be one or more raster data files (for example, in ADF format). The roadway data 340 and the elevation data 350 may be stored locally (e.g., in the computer readable storage media 170) or accessed by the server(s) 160 via the internet 152.
In some embodiments, the vehicle routes 310 (e.g., including the trip IDs 321, stop sequences 323, stop locations 325, scheduled trip times 327, and trip shapes 329) and route segments 320 may be provided by a transit system in the form of one or more geographic information system (GIS) shape files in accordance with the general transit feed specification (GTFS), which may be stored locally (e.g., in the computer readable storage media 170) or accessed by the server(s) 160 via the internet 152. In other embodiments, however, the energy consumption forecasting system 200 may be configured to identify those vehicle routes 320 and route segments 330 using vehicle locations 341 (for example, if route data 310 is unavailable). For instance, the energy consumption forecasting system 200 may match the recorded locations 341 of each vehicle 120 in the vehicle data 360 with the locations 341 of each roadway 342 in the roadway data 340, for example as described Ayman et al, “Data-Driven Prediction and Optimization of Energy Use for Transit Fleets of Electric and ICE Vehicles,” ACM Transactions on Internet Technology, Vol. 22, Issue 1 (February 2022), pp. 1-29, https://doi.org/10.1145/3433992. In some embodiments, the energy consumption forecasting system 200 may calculate the segment lengths 332 (e.g., by using the roadway data 340 to measure the length of each route segment 330) and/or the past time to travel 336 and past average speed 338 (e.g., by using the vehicle locations 341 included in the vehicle data 360 and averaging past travel times and past travel speeds along each route segment 330).
In some instances, the vehicle routes 320 and route segments 330 (as defined, for example, in GTFS files provided by a transit system) may not align with the locations 341 of roadways 342 as indicated in the roadway data 340. Accordingly, in some embodiments, the energy consumption forecasting system 200 may include a route cleaning module 220 that cleans the route data 310 to better align with the location 341 of roadways 342 as indicated in the roadway data 340. In the example shown in
The vehicle trajectory mapping module 240 maps each vehicle location 341 output by the vehicle sensors 229 to one of the route segments 330 in the route data 310. By joining the vehicle data 360 (from the vehicle data source 146) and the sensor data from the vehicle sensors 229, the vehicle trajectory mapping module 240 identifies a set of vehicle locations 341 (GPS points) that a vehicle 120 traverses. That ordered sequence of points is referred to as a trajectory T consisting of spatial points {l1, l2, . . . }. Consider that the trajectory T serves the trip R. The goal of the mapping process is to label each location 341 (li∈T) to a corresponding route segment 332 (SEGj∈R), thereby representing the specific route segment 330 that each vehicle 120 traverses at a specific point in time.
In principle, it is possible to perform an exhaustive search on the route segments 330 to identify the route segment 330 that matches (or is the closest to) each vehicle location 341 in a trajectory. However, such an approach does not work in practice with real-word trajectory feeds due to two reasons. First, vehicle routes 320 often traverse multiple route segments 330 that are close to one another or overlap at multiple times during trips. For example, consider the overlapping segments in map 344 in which the vehicle passes through segment SEG1 relatively early in the trip and through segment SEG5 later. Due to noise in the measurement, a point early in the trip can erroneously get mapped to SEG5, resulting in incorrect representation of the features that are induced by the route segment 330. Similar problems arise when segments cross each other as shown in map 347. Second, the mapping of vehicle locations 341 to route segments 330 is computationally challenging for transit agencies. Consider, for example, the New York Metropolitan Transit Authority (NY-MTA), which operates more than 5,000 buses. If vehicle locations 341 are collected at the frequency of 1 Hz for 3 years, the matching must be done for over 3.5×109 spatial locations, each of which could potentially be mapped to one of hundreds of route segments 330. For a large city like New York, the number of matches is 3.5×1012.
To alleviate those concerns, in some embodiments, the vehicle trajectory mapping module 240 takes the trajectory T of the vehicle 120 traversing the sequence of segments (SEG) of trip R and maintains a lookahead window, denoted by W, that represents the number of route segments 330 to consider for the match. For example, if a location li∈T is already matched to segment SEG, along a vehicle route 320, then for matching the next location li+1∈ T, the vehicle trajectory mapping module 240 considers the set {SEGC, . . . , SEGc+W}. By maintaining a short lookahead, the vehicle trajectory mapping module 240 avoids duplicate matches from route segments 330 further away in the vehicle route 320. Also, a shorter lookahead provides computational efficiency compared to an exhaustive search. The vehicle trajectory mapping module 240 may also maintain a tolerance distance B for matching, where a vehicle location is matched to a route segment 330 only if the distance between them is less than or equal to B.
The energy consumption module 261 calculates the energy consumed by each vehicle 120 (identified, for example, using the vehicle identifier 361) during each trip (identified, for example, using the trip identifier 321). The energy consumption module 261 calculates the energy consumption 260 of hybrid vehicles 124 and internal combustion vehicles 126 by calculating the difference between fuel levels 368 at two datapoints. The energy consumption module 261 calculates the energy consumption 260 (Ei) of electric vehicles 122 between two datapoints i−1 and i based on the recorded battery current 364 (Ai) and voltage 366 (Vi) as follows:
where TSi is the timestamp of datapoint i.
In the embodiment of
As shown in
In some embodiments, to generate a predictive function for predicting energy consumption 260′ by vehicles 120 in the class, the shared layers 550 identify features 400 indicative of energy consumption 260 and a marginal probability distribution over each of the identified features 400 and each set of vehicle-specific layers 520 identifies a conditional probability distribution over each of the identified features 400.
To predict the energy consumption 260′ of vehicles 120 in each class (e.g., electric vehicles 122, hybrid vehicles 124, and internal combustion vehicles 126) of a mixed-vehicle fleet, a predictive model ƒ can be learned over each vehicle class. However, recognizing that there are generalizable patterns between vehicle classes that can be leveraged to aid learning, the multi-task learning model 505 uses shared layers 550 with hard parameter sharing to learn a common representation of the input features 400, which enables the multi-task learning model 505 to extract generalizable patterns that are applicable to all classes of vehicles 120. Additionally, the multi-task learning model 505 includes a set of vehicle-specific hidden layers 520 for each class of vehicles 120 that output the predicted energy consumption 260′ for that class of vehicles 120.
A domain D may be defined as the combination of a feature space X and a probability distribution P(X), where X={x1, x2, . . . }∈X. For example, X can include features 400 like the vehicle speed features 440 and the weather features 480 or 480′. Given a specific domain D, a task may be defined as T={Y, ƒ(⋅)} where Y is the space of output labels, and f is a predictive function over y∈Y conditional on x. Probabilistically, ƒ denotes the probability of a realization of y given x (P(y|x)). For example, Y can denote the energy consumed 260 by a vehicle 120, and subsequently, the function ƒ can be used to denote a distribution on the energy consumed 260 conditional on the determinants. Typically, ƒ is unknown: instead, we assume access to observations (data) in the form of input-output pairs {(x1, y1), (x2, y2), . . . , (xm, ym)}. We deal with a scenario with multiple tasks (and associated domains). Specifically, there are three domains D: the domain DEV of electric vehicles 122, the domain DHV of hybrid vehicles 124, and the domain DICEV of internal combustion vehicles 126. Accordingly, the multi-task learning model 505 learns three output label spaces (YEV for electric vehicles 122, YHV for hybrid vehicles 124, and YICEV for internal combustion vehicles 126) and three predictive functions (ƒEV for electric vehicles 122, ƒHV for hybrid vehicles 124, and ƒICEV for internal combustion vehicles 126).
The functions ƒEV, ƒHV, and ƒICEV are parameterized by a set of parameters θ, which the multi-task learning model 505 seeks to learn by minimizing a predefined loss function given the observed data. As described above, the input features 400 for each of the vehicle class domains are derived from the characteristics of the road segments, weather, traffic features, and vehicle dynamics. Therefore, we can state that the feature spaces are equivalent, XEV=XHV=XICEV. Additionally, the marginal probability distributions over the features 400 may be independent of vehicle class. Therefore, in some embodiments, the multi-task learning model 505 treats the marginal probability distributions over the features 500 as equivalent:
In those embodiments where the feature spaces X and marginal probability distributions P (X) are the same for all vehicle classes, the multi-task learning model 505 treats the domains D as equivalent:
Because the performance of the three vehicle classes varies greatly, the multi-task learning model 505 considers that the predictive functions for each vehicle class are different and the conditional probability distributions are not equal
At each training iteration, a batch of samples (e.g., from electric vehicles 122, hybrid vehicles 124, and internal combustion vehicles 126) is fed through the neural network(s) 500 and mean-squared error (MSE) loss is calculated between the predicted target and true target for each vehicle class. The gradient of the loss is then propagated back through the neural network(s) 500. The predicted energy consumption 260′ for hybrid vehicles 124 and internal combustion vehicles 126 is measured in volume of fuel consumed (e.g., liters). Accordingly, in those instances, the space of output labels Y is the set of positive real numbers +. On the other hand, because electric vehicles 122 have regenerative braking, the predicted energy predicted energy consumption 260′ may be negative. Accordingly, for electric vehicles 122, the space of output labels Y is
.
In the embodiment of
In some instances, the number of vehicles 120 in each class can vary significantly. For example, a mixed-vehicle fleet may include a large number of vehicles 120 in one class and a significantly smaller number of vehicles 120 in another class. In those instances, while the multi-task learning model 505 can learn a common model, the class with a significantly larger number of vehicles 120 are likely to dominate the learning. Also, learning a model solely for a class of vehicles 120 having few samples can result in overfitting. Therefore, to predict energy consumption 260′ by an additional class of vehicles 120, the neural network(s) 500 may also include an inductive transfer model 508. As shown in
In the embodiment of
Elevation data 350 (e.g., one or more raster data files) is received in step 618 and mapped to the route data 310 in step 620. For instance, the system 200 may identify the elevation 352 at the start and end of each route segment 330, the total change in elevation 424 along each vehicle route 320, the maximum change in elevation 426 along each vehicle route 320, etc.
Traffic data 370 (e.g., the jam factor 372, current speed 374, and free flow speed 376) is received (e.g., every minute) for some or all of the vehicle routes 320 in step 622 and mapped to route segments 320 in step 624, for example by identifying the Traffic Message Channel of each route segment 320 and then querying the traffic data source 147 (e.g., HERE Technologies) for that particular route segment 320.
Weather data 380 (e.g., temperature 383, humidity 384, precipitation intensity 385, wind speed 386, wind gust 387, and visibility 388) is received (e.g., from Dark Sky every five minutes) for one or more locations in the geographic area in step 626 and mapped to the route data 310 in step 628.
In step 630, vehicle data 360 is received (e.g., at 1-second or shorter intervals) from vehicle sensors 129 in each of a plurality of vehicles 120 in a mixed-vehicle fleet (e.g., electric vehicles 122, hybrid vehicles 124, and internal combustion vehicles 126). As described above, the vehicle data 360 may include the vehicle locations 341 of each vehicle 120, the current 364 and voltage 366 of the battery of each electric vehicle 122, and the fuel level 368 of each hybrid vehicle 124 or internal combustion vehicle 126.
The vehicle locations 341 are mapped to the route segments 330 in the route data 310 in step 640, for example by the vehicle trajectory mapping module 240 as described above. The past energy consumption 260 of each vehicle 120 along each vehicle route 320 is calculated in step 650, for example by the energy consumption module 261 as described above.
To predict future energy consumption 260′, for vehicle trips indicated by the route data 310, forecasted weather data 380′ for a specified time period (e.g., an upcoming week) is received in step 652 and predicted traffic data 370′ for the specified time period is identified in step 654.
Features 400 indicative of the past energy consumption 260 (e.g., route features vehicle speed features 440, traffic features 470, weather features 480, etc.) and predictive of future energy consumption 260′ (e.g., predicted traffic features 470′, weather features 480′, etc.) are extracted in step 660, for example by the feature selection module 401 as described above.
The predicted energy consumption 260′ of each of the plurality of types of vehicles 120 (e.g., electric vehicles 122, hybrid vehicles 124, and internal combustion vehicles 126) is forecasted in step 670 for each vehicle trip along each vehicle route 320 indicated by the route data 310, for example by the neural networks 500 using the multi-task learning model 505 and the inductive transfer model 508 described above.
As described above, the route data 310 includes the stop locations 325 and scheduled stop times 327 for each of a number of transit trips 720 along each vehicle route 320. Meanwhile, for vehicles 120 to make each transit trip 720, those vehicles have to make a number of non-service trips 780, for example, from a garage location 730 to the start of the transit trip 720, from the end of the transit trip 720 to a garage location 730. Additionally, for electric vehicles 122, those electric vehicles 122 may also need to make stops at charging locations 740 (e.g., charging poles) to recharge their batteries. Accordingly, each potential non-service trip 780 is identified using the roadway data 340 in step 770.
Because a vehicle 120 that has completed any transit trip 720 can potentially be assigned to any of the other transit trips 720, the potential non-service trip 780 include non-service trips 780 from the end of each transit trip 720 to the start of every other transit trip 720, from each garage location 730 to the start of every transit trip 720, and from the end of every transit trip 720 to every garage location 730. Additionally, charging slots 760 (i.e., time periods during which an electric vehicle 122 may use a specific charging location 740) are identified in step 750 and the potential non-service trips 780 include non-service trips 780 from the end of each transit trip 720 to every charging location 740 and from each charging location 740 to the start of each transit trip 720.
As described above, the neural networks 500 generate the predicted energy consumption 260′ of every vehicle 120 for every transit trip 720. Additionally, the neural networks 500 generate the predicted energy consumption 260′ of every vehicle 120 for every potential non-service trip 780. The optimization engine 280 then uses one or more optimization algorithms (e.g., a greedy algorithm, simulated annealing, etc.), for example as described in Sivagnanam et al, to assign one of the vehicles 120 in the mixed-vehicle fleet to each of the transit trips 720. To assign each of the vehicles 120 to each of the transit trips 720, the optimization engine 280 identifies the vehicle assignments with the minimum total predicted energy consumption 260′ (or minimum total energy cost) to perform each transit trip 720 and each of the required non-service trips 780 for the assigned vehicles 120 to perform each transit trip 720. In some embodiments, the optimization engine 280 may account for constraints on which vehicles 120 may perform each transit trip 720 (e.g., based on passenger capacity).
While preferred embodiments have been described above, those skilled in the art who have reviewed the present disclosure will readily appreciate that other embodiments can be realized within the scope of the invention. Accordingly, the present invention should be construed as limited only by any appended claims.
This application is related to U.S. Prov. Pat. Appl. No. 63/280,839, filed Nov. 18, 2021, and U.S. Prov. Pat. Appl. No. 63/317,276, filed Mar. 7, 2022, which are hereby incorporated by reference.
This invention was made with government support under Nasional Science Foundation (NSF) Grant No. 1952011 and Department of Energy (DOE) Grant No. DE-EE0008467. The government has certain rights in the invention.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2022/080118 | 11/18/2022 | WO |
Number | Date | Country | |
---|---|---|---|
63317276 | Mar 2022 | US | |
63280839 | Nov 2021 | US |