Over the last decade transportation has been evolving towards automation and electrification. The arrival of online mapping services and the emergence of mobility-as-a-service providers mark phases toward these goals. These developments promise positive economic impacts in the long term. However, these developments have also been shown to increase road network congestion [1,2], which is itself a strong indicator of a negative impact in terms of economics, emissions, and safety. These negative outcomes are strongly tied to the “selfish” nature of the user-optimal routing algorithms employed by online mapping services and mobility-as-a-service providers.
Selfish routing is implicitly integrated into the design of popular mapping systems, and so it largely drives route choice behavior for the public, for transportation network companies (TNCs), and heavy-duty vehicles alike. It is broadly understood that human behavior drives motorists to seek to optimize their own utility, leading to a sub-optimal network condition referred to as a User Equilibrium (UE) state [5]. However, seminal works in transportation simulation also describe how a system optimal (SO) route strategy can improve on this, especially in highly congested networks [6]. Improved network performance is in fact speculated outcome of large-scale connected and automated vehicle (CAV) adoption, with an estimated $1.2 trillion in economic impact, alongside improved productivity, safety, and reduced emissions [7]. These projections are based on simulations which leveraged selfish agent routing [8]; a SO routing objective can increase the positive impacts to an even greater degree. SO equilibrium has been explored in the past in the context of a macroscopic transportation simulation, where vehicles are represented as flows per time unit over some network. This high-level aggregation can simplify the research problem by removing the need to produce routes on a vehicle-by-vehicle basis, but this high-level aggregation is not applicable to the problem of generating individual routes. Similarly, these concerns can be addressed in a mesoscopic simulation by computing a system optimal (SO) batch route assignment. However, computing these one-off batch solutions can quickly become intractable for larger inputs.
It is with respect to these and other considerations that the various aspects of the present disclosure are described herein.
In some aspects, the present disclosure relates to methods for system-optimal traffic routing. In one embodiment, the method includes obtaining a current state of a traffic network determining a set of active agents in the traffic network that are configured to receive a system optimal route, where each of the active agents corresponds to a vehicle of a set of vehicles in the traffic network, applying a batching function to the set of vehicles implementing a desired route-finding algorithm to create a batch of vehicles for replanning, creating, from the batch of vehicles for replanning, sub-batches based on a spatial relationship between the vehicles and temporal relationships between the vehicles, where the spatial relationship between the vehicles predicts whether the vehicles intersect spatially, and where the temporal relationship between the vehicles predicts whether the vehicles will intersect temporally, generating a plurality of alternative paths for each of the sub-batches, where the plurality of alternative paths are spatially diverse, generating a batch assignment for each of the sub-batches, assigning an alternative path to each agent in the set of active agents based on the batch assignment function, and transmitting the assigned alternative paths to the active agents.
In one embodiment, the active agent is operatively associated with the path of the vehicle that is in the traffic network.
In one embodiment, the active agents include automated vehicles.
In one embodiment, the active agents include user devices.
In one embodiment, obtaining the current state of a traffic network includes receiving traffic information from a plurality of traffic sensors.
In one embodiment, obtaining the current state of a traffic network includes receiving traffic information from the active agents.
In one embodiment, the plurality of alternative paths are identified using a tree search configured to limit the spatial overlap of the alternative paths.
In one embodiment, the batch assignment function includes a function that identifies a path that minimally contributes to an estimate of total travel time for the batch.
In one embodiment, the estimate of total travel time for the batch is based on evaluating combinations of alternative paths using a Monte Carlo tree search.
In some aspects, the present disclosure relates to a system for system-optimal traffic routing. In one embodiment, the system includes one or more processors, a memory device operatively coupled to the one or more processors and storing computer-executable instructions which, when executed by the one or more processors, cause the system to perform functions that include obtaining a current state of a traffic network, determining a set of active agents in the traffic network that are configured to receive a system optimal route, where each of the active agents corresponds to a vehicle of a set of vehicles in the traffic network, applying a batching function to the set of vehicles implementing a desired route-finding algorithm to create a batch of vehicles for replanning, creating, from the batch of vehicles for replanning, sub-batches based on a spatial relationship between the vehicles and temporal relationships between the vehicles, where the spatial relationship between the vehicles predicts whether the vehicles intersect spatially, and where the temporal relationship between the vehicles predicts whether the vehicles will intersect temporally, generating a plurality of alternative paths for each of the sub-batches, where the plurality of alternative paths are spatially diverse, generating a batch assignment for each of the sub-batches, assigning an alternative path to each agent in the set of active agents based on the batch assignment function and transmitting the assigned alternative paths to the active agents.
In one embodiment, the active agent is operatively associated with the path of the vehicle that is in the traffic network.
In one embodiment, the active agents include automated vehicles.
In one embodiment, the active agents include user devices.
In one embodiment, obtaining the current state of a traffic network includes receiving traffic information from a plurality of traffic sensors.
In one embodiment, obtaining the current state of a traffic network includes receiving traffic information from the active agents.
In one embodiment, the plurality of alternative paths are identified using a tree search configured to limit the spatial overlap of the alternative paths.
In one embodiment, the batch assignment function includes a function that identifies a path that minimally contributes to an estimate of total travel time for the batch.
In one embodiment, the estimate of total travel time for the batch is based on evaluating combinations of alternative paths using a Monte Carlo tree search.
Other aspects and features according to the example embodiments of the present disclosure will become apparent to those of ordinary skill in the art, upon reviewing the following detailed description in conjunction with the accompanying figures.
The accompanying figures, which are not necessarily drawn to scale, and which are incorporated in and constitute a part of this specification, illustrate several aspects described below.
In some aspects, the present disclosure relates to systems and methods for system optimal (SO) route planning. Although example embodiments of the present disclosure are explained in detail herein, it is to be understood that other embodiments are contemplated. Accordingly, it is not intended that the present disclosure be limited in its scope to the details of construction and arrangement of components set forth in the following description or illustrated in the drawings. The present disclosure is capable of other embodiments and of being practiced or carried out in various ways.
It must also be noted that, as used in the specification and the appended claims, the singular forms “a,” “an” and “the” include plural referents unless the context clearly dictates otherwise. Certain values may be expressed in terms of ranges “from” one value “to” another value. When a range is expressed in terms of “from” a particular lower value “to” a particular higher value, or “from” a particular higher value “to” a particular lower value, the range includes the particular lower value and the particular higher value.
By “comprising” or “containing” or “including” is meant that at least the named compound, element, particle, or method step is present in the composition or article or method, but does not exclude the presence of other compounds, materials, particles, method steps, even if the other such compounds, material, particles, method steps have the same function as what is named.
In describing example embodiments, terminology will be resorted to for the sake of clarity. It is intended that each term contemplates its broadest meaning as understood by those skilled in the art and includes all technical equivalents that operate in a similar manner to accomplish a similar purpose. It is also to be understood that the mention of one or more components in a device or system does not preclude the presence of additional components or intervening components between those components expressly identified.
Some references, which may include various patents, patent applications, and publications, are cited in a reference list and discussed in the disclosure provided herein. The citation and/or discussion of such references is provided merely to clarify the description of the present disclosure and is not an admission that any such reference is “prior art” to any aspects of the present disclosure described herein. In terms of notation, “[n]” corresponds to the nth reference in the list. For example, “[3]” refers to the third reference in the list, namely Fitzgerald, R. J. and F. Banaei-Kashani, Toward System—Optimal Route Guidance. In 2019 20th IEEE International Conference on Mobile Data Management (MDM), IEEE, 2019, pp. 91-99. All references cited and discussed in this specification are incorporated herein by reference in their entireties and to the same extent as if each reference was individually incorporated by reference.
A detailed description of certain example embodiments of the present disclosure will now be provided with reference to the accompanying drawings. The drawings form a part hereof and show, by way of illustration, specific embodiments and examples. In referring to the drawings, like numerals represent like elements throughout the several figures. Some experimental data may be presented herein for purposes of illustration and should not be construed as limiting the scope of the present disclosure in any way or excluding any alternative or additional embodiments.
In one embodiment, the disclosure presents mapping, route planning, and route re-planning instructions delivered to computers for communication to individuals and/or computerized control systems installed in vehicles. To simplify the terminology herein, this disclosure pairs the concepts of network theory and systems theory to provide efficiencies in traffic routing and mapping. On one hand, physical components of traffic infrastructure within a geographic area are modeled as a network embodied in graphical elements (e.g., vertices and edges). This network corresponds to detailed information about the layout of the infrastructure that can be obtained from government resources and databases, third party vendors, or even individuals providing feedback to a computer system about road options in a given area. On the other hand, vehicles and individuals using the traffic infrastructure at any given time and place are analyzed as active agents in an overall system of the agents moving about the traffic infrastructure. From the system perspective, the network has dynamic, continually updated states that must be accounted for in terms of the number of users/agents, the goals of the users/agents, and traffic conditions that affect the users/agents.
In one embodiment, the present disclosure relates to system optimal (SO) routing techniques based on a formulation of vehicle routing algorithms which resolve individual route plans as their solution. Computing a system optimal (SO) route is a highly complex and algorithmic problem with dynamic inputs, real-time constraints, and unstable optimization conditions under a partial control scenario. Prior techniques can [3] apply real-time SO routing solution over a smaller problem size. However, scaling to larger inputs exposed that many routes can become stale during each agent trip traversal. This degrading optimality demands a more robust solution, as the greatest congestion issues are those occurring in metropolitan areas with large road networks and populations.
Disclosed herein are SO routing problem techniques based on SO routing problem formulations. Traffic conditions within a geographic area may be referred to as a network state because the geographic area and its transportation infrastructure (e.g., streets, roads, bridges, sidewalks, traffic lights, and obstacles to traffic) are modeled as a dynamic network described below. The state of the network within a physical area and/or or within a given time period determines how efficiently any one person or vehicle can traverse the geographic area under consideration. Computerized simulation methods described herein are used to determine how well identified models of the network can account for traffic changes in real time mapping and routing applications run in computer implemented software.
One non-limiting goal of this disclosure is to use up-to-date models of how a given traffic network is likely to operate for a geographic area, populate at least one of the models with state data that reflects at least one state of the traffic network, and evaluate the overall traffic network as a system of agents that are continuously subject to changes in the traffic conditions, i.e., continually subject to changing states of the network. Another non-limiting goal here is to provide route planning instructions and route replanning instructions to computers that are used with vehicles and/or people traversing the geographic area. In one non-limiting embodiment, the computers that receive route instructions are modeled as agents within an overall system, and the simulations described herein provide much needed information regarding how well a mapping and routing computer application can adapt to changing states of the traffic network. In a successful implementation, the individual agents and the system as a whole show efficiencies in travel times, distances traveled, or personal preferences for a given user. These efficiencies may also be evaluated according to batches and sub-batches of the people, vehicles, and/or agents operating within the overall system of the network.
Terms of this disclosure are given their broadest reasonable interpretation in accordance with the plain meaning of the terms. For example, a vehicle may be any individual or machine that moves from one location to another with or without passengers, including but not limited to, buses, cars, trucks, boats, and the like. In some scenarios an individual who is walking or running may be a vehicle for a computerized device that can receive routing and mapping instructions from software applications running on a network, such as but not limited to a cellular network or an internet driven network.
Embodiments of the present disclosure allow within-trip batch replanning for agents in a mesoscopic simulation. While modern mapping applications offer replanning recommendations, these can maintain the same selfish objective. In the SO batch replanning scenario, such as embodiments described herein, many replanning events can occur at a rapid and constant time interval on the order of seconds, where each replanning will attempt to minimize the non-linear congestion effect of route assignment. Allowing for agent replanning brings with it an additional spatiotemporal batch scheduling problem, as it may be suitable to consider a subset of requests as being co-located, allowing for the decomposition of the broader search space. In one embodiment, a sub-batching heuristic algorithm clusters similar trajectories among vehicles and/or individuals traversing a geographic area modeled as a network and evaluated as a system of active agents. These sub-batches can then be processed as a group to save even more processing steps, and the sub-batches may be ranked in a hierarchy so that only a given number of the highest levels of the hierarchy are granted updated routing information. In this way, larger groups of vehicles being re-routed can generate system wide efficiencies.
Additionally, an example is described herein where an embodiment of the present disclosure is evaluated over a real city-sized road network using synthetic populations. The results show that according to one embodiment of the present disclosure, a congested road network can experience up to a 59% reduction in travel times across all agents, at the cost of increasing travel times for dis-advantaged agents by an average of 8%.
In some embodiments, the systems, methods, and software stored on computer readable media result in route planning instructions and route replanning instructions being sent to active agents. The active agents may be equipped with electronic communications systems, control systems, and audio-visual hardware and software to display, announce, or communicate in any way with an individual or a vehicle operating system to provide information regarding how to traverse a geographic area in an efficient way. Either the individual, acting as a driver, for instance, or a vehicle operating system in control of operating a vehicle, may adjust course to reflect updated instructions regarding the state of the network. In this regard, the active agent is operatively associated with the path of the vehicle that is in the traffic network.
With reference to
Each vertex v∈V(G) represents an intersection on a road network map. Each edge e=(u, v) ∀e∈E(G) represents a road segment traversing the road network between two vertices u, v∈V(G). Each edge has a positively-valued and monotonically increasing link cost/flow function C(x) which is assumed to be nonlinear.
Let R be a finite set of requests, where each request r∈R captures the intent of some agent at time T(r) to seek point-to-point routing from an origin O(r) to a destination D(r), where O(r), D(r)∈V(G). For each request r, there exists a set of paths Pr, which may be empty. Each path p∈Pr is a vector the form <v0, v1, . . . , vn−1, vn>, where v0=O(r), vn=D(r), (vk, vk+1)∈E(G) ∀0≤k<n, and n>0.
A SO route replanning at time t is a solution to the following nonlinear assignment problem. An algorithm seeks to select an assignment to the matrix X which minimizes the cost-flows on each edge in the road network in Equation (1), shown in
Exact solutions of the above nonlinear assignment can be intractable for all but trivial input sizes, and therefore an exemplary approximate solution is disclosed herein. In this setting, an approximate solution can be sufficient, as at each batch time, there exists the default solution of a selfish batch assignment. The power of this formulation is that small improvements, in this context, can lead to measurable and stable gains, as shall be observed in the example described below.
With reference to
Embodiments of the present disclosure can be used to find optimal routing for many different types and combinations of vehicles, including busses, cars, scooters, trams, trucks, bikes, etc. Furthermore, throughout the present disclosure, “agent” is used to refer to a vehicle or individual that can receive and follow a route generated by the system. It should be understood that the “agent” can be a user device configured to supply information to a person operating a vehicle, and that the person can receive the route generated by the system or methods disclosed herein through an interface of the user device. It is also contemplated that the “agent” may be a computer system, such as a computer system that controls the actions of a connected and automated vehicle (CAV). CAV's can be able to reroute more often and more quickly than human operators, and therefore can receive additional benefits from systems and methods that provide route replanning.
The network state can be updated 102, and the set of active vehicles can be determined 104 using information from a variety of sensors and sources. Non-limiting examples of systems that can be used include TSMO (Transportation Systems Management and Operations) data as well as data collected by companies such as INRIX and Wejo. Additionally, agents using the system disclosed herein can supply information to the system that the system can use to use for updating 102 the network state and determining the list of active vehicles. For example, agents can notify the system of the local conditions around the agent (e.g. the agent can inform the system that the network state near the agent is congested).
Further, the method 100 can include steps for batching 106, generating alternate paths 110, and assigning the alternate paths 112. In batching 106, a large set of requests seeking SO replanning is split into sub-batches 108. A set of alternative paths can be produced for each request 110. A single path can be selected 112 for each request in each batch which minimally contributes to the travel time estimate for the batch.
Still with reference to
For example, as described below, a simple raster layer can be super-imposed over the study area, defining a set of c square grid cells used for grouping. To assign batches 106, each request location can be mapped to its intersecting grid cell. Requests matching the same grid cell are grouped. The request can submit origin, current location, and destination points for grouping, as well as combinations for multi-cell groupings such as origin/destination and current location/destination.
Again, referring to
For these reasons, the Single-Via Paths (SVP) variant of the k-Shortest Paths with Limited Overlap (kSPwLO) algorithm can be used in this phase. This algorithm performs one bi-directional spanning tree search, limiting search runtime, and provides guarantees on the spatial overlap of the path results according to a percent link overlap threshold parameter q. The alternative path set for each agent can be computed independently or pre-computed offline for some origin/destination pair. The cost function used to compare path quality is the free flow travel time of each path.
With reference to
To evaluate the simulated complete selection, an estimate on the congestion effects is measured. When a specific edge occurs in more than one selected path, the number of occurrences is counted, per Equation 2. This estimated edge flow is then fed into the Bureau of Public Roads (BPR) cost/flow function [27] as shown in Equation 7 (defined above), where q is the road segment capacity scaled to the batch window duration, f is the free-flow travel speed per hour, and d is the segment distance. The BPR cost function is selected for simplicity in modeling the travel time behavior of queued vehicles in a queue simulation. MCTS is an anytime search algorithm, meaning that it can be interrupted after any number of iterations to provide a best result, making it suitable for online and approximate computation.
In the case of small problem sizes where, for a batch of n agents, the complete search space of kn combinations is less than some threshold s, an exhaustive search is used in place of MCTS which has an equivalent runtime performance.
Some embodiments of the present disclosure can include methods for improving the speed of the route planning or replanning. In some embodiments of the present disclosure, the route planning problem can be addressed when the problem can be decomposed into sub-problems suitable for parallel computation. While k-shortest paths is a sequential algorithm, similarity clustering can be parallelized using a technique such as power iteration clustering, and combinatorial search can decompose sub-spaces into parallel sampling nodes. This can be considered as a “parallel combinatorial search for route planning” which can include Apache Spark, clustering by similarity in a distributed dataset using Power Iteration clustering, Decomposed MCTS Tree Search (e.g. DABTree, a combinatorial search using Monte Carlo Tree Search), and/or Parallel Three-Phase System-Optimal Route planning. It should be understood that different combinations and variations of these techniques can be used in various embodiments of the present disclosure.
Some embodiments of the present disclosure can include reinforcement learning. Reinforcement learning can learn through repetition a control policy for non-stationary problems such as route planning. This can be referred to as Learning System-optimal assignments via multi-agent reinforcement learning. In some embodiments of the present disclosure, the Learning system-optimal assignments via multi-agent reinforcement learning can include multi-agent RL and QMIX (a Monotonic Value Function Factorization for Deep Multi-Agent Reinforcement Learning), and sub-optimal route planning with QMIX. Again, different combinations of these techniques are contemplated by the present disclosure, and the present disclosure contemplates that reinforcement learning methods can be used in combination with the different embodiments of the present disclosure.
A non-limiting example of an embodiment of the present disclosure is described below. To review the performance of an embodiment of the present disclosure in a city-sized network, a MATSim [28] scenario was developed. OpenStreetMap [29] was the source of the road network data for the city of Boulder, Colo., which was cleaned and modified for MATSim using the OSMnx Python library [30]. As noted above, MATSim is one non-limiting open source frame work to implement transportation simulations based on models of transportation infrastructure in a geographic area.
The resulting road network is shown in
To measure the performance of a configuration, the trip experiences were compared on an agent-by-agent basis between the baseline (selfish) and test (optimal) simulation playout. Two metrics, travel time and distance, were observed for each agent, where each data point was aggregated in the form of an average offset, as shown in Equation 8, where a is a driver agent, s(a) is the selfish measure, and o(a) is the optimal measure. For each measure, we consider it for the entire population, as well as for the subset of agents who only see dis-improvement, in order to capture the externality of SO routing. The measures are identified using the shorthand TT-ALL, DIST-ALL, TT-EXT, and DIST-EXT in the following experimental results. In
The simulated system and algorithms were evaluated using a Dell Optiplex 790 desktop computer, with quad-core i7 processors, 16 GB of RAM, a 7200 rpm 500 GB hard drive, and 8M L3 cache, running Ubuntu 16.04.3. MATSim 12.0 was run in standard queue simulation mode using the QSim network engine, with all algorithmic extensions to MATSim implemented in Scala by the authors. This configuration of hardware and software is intended only as a non-limiting example of a computer, and additional computer structure is described herein with reference to
The batching function under study has two measures, the batching function type and cell count. The batching function can select the point of origin “o”, destination “d”, current location “c”, combined current/destination points “cd” and combined origin/destination points “od”, and is shown in
The results described herein with reference to the disclosed example embodiment applied to a moderate-sized road network, show that embodiments described herein have the capability to reduce travel times on average by 59% from a scenario where all agents receive selfish route plans. A SO objective as the assumed route planning algorithm produces a radically different network state than traditional methods. For this reason, some studies of the expected economic and environmental impacts of CAV adoption should be revisited with this approach.
The potential of parallel execution is a side-effect of a good batch grouping algorithm. The work of a parallel implementation, along with a study of more effective groupings, could provide additional performance enhancement, as well as allow for studies over much larger input sizes. The relationship between batch groupings and outcomes contain patterns which can be learned. For example, the average observed network speed in a link-based grouping may be a predictor of the probability of a successful optimal assignment search. Training an effective learning algorithm to identify more promising leads can make the solution more efficient.
A non-limiting example of an embodiment of the present disclosure is described below. To review the performance of an embodiment of the present disclosure including dynamic within-trip replanning. An experimental study was developed of three real road networks using synthetic demand. In over 200 trials, embodiments of the present disclosure demonstrate the effects of replanning. Overall network travel times can be reduced by up to 48.49% from a baseline where all drivers are assigned a single route, demonstrating the profound effect of dynamic within-trip replanning. Embodiments of the present disclosure can be used as part of a system-optimal route planning strategy that is robust to network size and conditions.
Let G represent a road network, as a directed, fully-connected, finite graph with vertices V(G) and edges E(G)⊆V(G)×V(G). Each vertex v∈V(G) represents an intersection on a road network map. Each edge e=(u, v) ∀e∈E(G) represents a road segment traversing the road network between two vertices u, v∈V(G). Each edge can have a positively-valued and monotonically increasing edge cost/flow function C(x).
Let t be a time in the range [t0, T], where t0 and T mark the start and end of the simulation, respectively. The time t is a point along a sequence of times with a uniform step size set by the batch window parameter, denoted b. Let Rt be a finite batch of requests at time t, where each request r∈Rt captures the state of some driver at time t along a route between an origin O(r) and destination D(r), where O(r), D(r)∈V(G). The number of agents in batch Rt is a factor of the overall adoption rate a of the replanning algorithm. This driver agent may be recently departing or somewhere along their trip, and may have already received a route plan at some previous time. Each request r is assigned a path pr which is a vector of the form <v0, v1, . . . , vn−1, vn>, where v0=O(r), vn=D(r), (vk, vk+1)∈E(G) ∀0≤k<n, and n>0. A solution to this problem can find a path rp using Dijkstra's Algorithm, with the current road network conditions denoted Gt, and with edge costs C evaluated using the Bureau of Public Roads cost/flow function as shown in Equation 8, where q is the road segment capacity per hour and f is the free-flow speed per hour for this edge.
Three road networks of different sizes were collected from Open StreetMap, a crowd-sourced data repository of map data. The resulting road networks are shown in
To measure the performance of a configuration, the travel times with replanning were compared on an agent-by-agent basis between the result without replanning. The average travel time difference TT* is calculated, as shown in Equation 9, where α is a driver agent sampled from the entire population A, w(α) is the observation without replanning, and r(α) is the result with replanning. When reviewing results showing TT*, lower scores show greater improvement to travel time.
MATSim 12.0 was run in standard queue simulation mode using the QSim network engine, with all algorithmic extensions to MATSim implemented in Scala. Across the set of experimental trials of this embodiment of the present disclosure, a trend emerges that shows travel time improvement with increased adoption a and smaller batch windows b for trials set in Lafayette and Boulder. However, the opposite is observed with the smaller road network of Golden. Embodiments of the present disclosure can include boundary conditions where route plans in constrained networks may produce trips which oscillate under replanning. In order to address this, a coordinated route planning objective can be required, such as a system-optimal route planning approached.
In
For some scenarios, batch windows greater than roughly 2 minutes can result in a TT* of 0%. In some embodiments of the present disclosure, as the rate of updates slow, the assigned routes are persisted longer, leading to decaying optimality in the route plans. For some embodiments of the present disclosure, b<30 shows the greatest result, implying a real-time route replanning algorithm should aim to make decisions in an under-minute time frames. Replanning at this frequency has not yet been explored by mapping applications in the real world and may not be suitable for human-driven vehicles, but it could become a promising area of research for the planning of autonomous vehicle routing. The effect of replanning can be a net positive for network congestion, improving the average travel time, but it can create problems under certain conditions, such as a small and congested network with limited route alternatives. The results of this experiment with one embodiment of the present disclosure do show a moderate-sized road network has the capability to reduce travel times of 48.49% compared to a traditional single route assignment.
A non-limiting example of an embodiment of the present disclosure is described below. To review the performance of an embodiment of the present disclosure including computation of ranked sub-batches of drivers within an SO batch was evaluated. Routing requests within a batch can have temporal locality, but can be dispersed across the directed graph of a road network. The requests can be grouped into sub-batches by using a road network trajectory clustering technique, which also integrates network congestion effects and graph structure. Since this can create more route planning batches to solve, a subset of candidate sub-batches can be created using a ranking technique. As a result of introducing replanning and sub-batching, the SO route planning technique can be scaled to larger road networks. Experimental study shows that replanning for user-optimal agents brings much benefit over fixed route plans, showing travel time improvement up to 48.49%. When coupled with a SO route planning objective, replanning can be improved up to 60.96%.
Embodiments of the present disclosure can include alternative formulations of the system-optimal route planning problem. Let G represent a road network, as a directed, fully-connected, finite graph with vertices V(G) and edges E(G)⊆V(G)×V(G). Each vertex v∈V(G) represents an intersection on a road network map. Each edge e=(u, v) ∀e∈E(G) represents a road segment traversing the road network between two vertices u, v∈V(G). Each edge has a positively-valued and monotonically increasing link cost/flow function C(x) which can be nonlinear.
Let R be a finite batch of requests, where each request r∈R captures the intent of some driver at time T(r) to seek point-to-point routing from an origin O(r) to a destination D(r), where O(r), D(r)∈V(G). For each request r, there exists a set of paths Pr, which may be empty. Each path p∈Pr is a vector of the form <v0, v1, . . . , vn−1, vn>, where v0=O(r), vn=D(r), (vk, vk+1) E(G) ∀0k≤n, and n>0.
An SO route plan at time t with batch window b and alternative path limit k can be a solution to the following assignment problem. A matrix X with size |Rt| by k is constructed, where xij=1 assigns path pj to request ri. Each request in Rt has a time stamp T(r) which falls within the range [t, t+b), referred to as the batch window.
The algorithm seeks to select an assignment to the matrix X which minimizes the cost-flows on each edge in the road network in Equation 1b. Across all selected paths, the number of occurrences of each edge is counted in Equation 2b. The assignment matrix X has size Rt by k, where k is the maximum number of path alternatives per driver for the request batch Rt. The matrix X must have exactly one path selected for each request as shown in Equations 5 & 6.
At time t+1, requests Rt+1 may correspond with agents which have previously received route plans, and so solutions to their request are denoted as a replanning. The complete set of definitions is listed in
Equations 1-6 are illustrated in
One approximation technique is as follows. For all requests, a set of k alternative paths is computed using Eppstein's Algorithm, which provides each request with up to k near-optimal path alter-natives, including the original shortest path. Next, a dynamic programming technique based on Monte Carlo Tree Search searches for a path assignment for the batch Rt which minimizes cost/flows. This algorithm runs until a real-time compute budget is exhausted, which is equal to the batch window duration b. At completion, the paths associated with the minimal cost combination are assigned to each request.
A method to divide-and-conquer the request batch Rt into sub-batches can be performed as a two-phase operation, where requests are first grouped into sub-batches, and then sub-batches are filtered to remove candidate sub-batches which are deemed less likely to improve network state.
Grouping can leverage information about the similarity of requests, while filtering can leverage estimations on the potential of a sub-batch to benefit from SO assignment. Each sub-batch then becomes the input to an independent SO route assignment, and is solved using the technique described above. In place of Eppstein's k-shortest paths algorithm used in some embodiments, the single-via paths variant of the k-shortest paths with limited overlap (kspwlo) technique can be used, which allows fast computation of a spatially-diverse set of alternative paths. An assumption can be used that assumes that all paths can be pre-computed for a solution, given that the routes are generated using only static network attributes. For this reason, the path search is not included in the compute budget. Each sub-batch of requests with route alternatives is treated as a multi-choice knapsack problem to be solved via optimization, where the minimal-cost combination selects the route plans to assign to each request.
As a running example for this solution, consider a batch of 5 agents as shown in
A. Sub-Batch Grouping
In this example, the grouping of requests can be modeled as a trajectory clustering problem. At time t, a known trajectory of each request is assumed. The trajectory is a sequence of recently-traversed edges in the road network, denoted Tr=<e0, e1, . . . , eτ−1, eτ >, 0<=τ<E(G) for each request r∈Rt. The choice of τ is a user-provided parameter which restricts the number of recent links to consider in each trajectory.
Using the set of trajectories, clustering is performed using the LBTC (Label-based trajectory clustering) method. As LBTC is a vertex-oriented graph algorithm, the road network is first transformed into a pseudograph dual representation, where graph dual vertices represent road network links, connected by simple edges where traversal is permitted. LBTC produces a clustering of the road network based on two similarity measures. The attribute similarity observes the trajectory flows and the speeds of each link. The structural similarity is the cosine similarity of the graph dual vertices, as shown in Equation 7b, where π(v) is the set of neighbors to graph dual vertex v.
The convergence of LBTC in this online setting is measured by calculating the Davies-Bouldin (DB) index at each iteration. The algorithm halts when values are no longer decreasing, or if the overall time budget is reached. Requests are then assigned a label 1 using the label applied to the edge corresponding to the request's location. This forms sub-batches of requests with matching edge labels, denoted Rlt.
Building sub-batches using trajectory clustering results in request groupings which have common locality, orientation, and are under similar network conditions. These are strong indicators of having competition in their alternate path spaces. Therefore, trajectory-based sub-batching is an intuitive heuristic for the pruning of the overall search space for Rt. As shown in
B. Sub-Batch Filtering
While grouping agents into sub-batches effectively prunes the search by reducing the size of each batch, it increases the number of times the SO assignment must run, which may quickly overwhelm the available compute resource, particularly given real-time route planning constraints. In this work, it is assumed that, for online execution, the overall set of sub-batches should be reduced to exactly fit a compute budget, using the time remaining in the batch window, minus the time spent running the trajectory clustering algorithm. Since there may not be sufficient time to run assignment for all sub-batches, a heuristic is used to rank sub-batches, and a top-bk set of sub-batches is passed to the assignment algorithm, which is hereby referred to as sub-batch filtering.
A suitable ranking must identify which sub-batches have a greater chance of improving network congestion via SO assignment. An intuitive metric to identify these candidates can be found by comparing the user-optimal routes available to each request in a batch. The proposed ranking measure is generated based on first calculating a shortest path Dijkstra(r) for the remaining trip of each request in Rlt, computed offline using static network attributes. For each request r∈Rlt, for each edge in Dijkstra(r), the cost C(e) is recorded if at least one other request in Rlt, shares that edge. The total costs are summed over the group. The process for computing this agent-proportional overlap sum ranking is shown in
The sub-batches are sorted descending using this ranking function, and only the top bk are persisted to the final assignment algorithm, where bk is a user-provided parameter. Assuming sequential computation, the entire remaining compute budget must be subdivided so that each bk sub-batch can be permitted a budget for assignment search. In this work, the remaining compute budget is divided evenly by the number bk, assuming no parallelism. For example, if the remaining compute budget is 10 seconds, and bk=5, then each sub-batch will have a budget of 2 seconds.
As shown in
An embodiment of the present disclosure incorporating a system optimal technique was tested in a set of 237 randomized trials using MATSim, an open-source traffic simulator. In each experiment, agents are assigned either a user-optimal or one of three system-optimal route planning algorithms, based on sampling from the adoption rate parameter a. Four simulations are then run, where the first is a simulation with all agents receiving a user-optimal route plan with no replanning (denoted GROUND). Once completed, three variants of a system-optimal algorithm are then run as independent simulations but using the same road network, population file, and experimental parameters. The first variant, denoted BASE, is a baseline algorithm which will replan SO agents within-trip using user-optimal routing. This differs from GROUND in that it includes replanning. The next variant will use the proposed within-trip batch replanning algorithm, but solving assignment via a random sampling approach, denoted RAND. Finally, a SO replanning algorithm which solves assignment using Monte Carlo Tree Search (denoted MCTS) is run. This uses a modified version of MCTS designed for combinatorial search in the same way as described with respect to other embodiments of the present disclosure. The complete process is illustrated in
In
Processor 1021 may include one or more processors, each configured to execute instructions and process data to perform one or more functions associated with a computer for controlling a system (e.g., a system for generating printability maps for additive manufacturing) and/or receiving and/or processing and/or transmitting data associated with electrical sensors. Processor 1021 may be communicatively coupled to RAM 1022, ROM 1023, storage 1024, database 1025, I/O devices 1026, and interface 1027. Processor 1021 may be configured to execute sequences of computer program instructions to perform various processes. The computer program instructions may be loaded into RAM 1022 for execution by processor 1021.
RAM 1022 and ROM 1023 may each include one or more devices for storing information associated with operation of processor 1021. For example, ROM 1023 may include a memory device configured to access and store information associated with the computer, including information for identifying, initializing, and monitoring the operation of one or more components and subsystems. RAM 1022 may include a memory device for storing data associated with one or more operations of processor 1021. For example, ROM 1023 may load instructions into RAM 1022 for execution by processor 1021.
Storage 1024 may include any type of mass storage device configured to store information that processor 1021 may need to perform processes consistent with the disclosed embodiments. For example, storage 1024 may include one or more magnetic and/or optical disk devices, such as hard drives, CD-ROMs, DVD-ROMs, or any other type of mass media device.
Database 1025 may include one or more software and/or hardware components that cooperate to store, organize, sort, filter, and/or arrange data used by the computer and/or processor 1021. For example, database 1025 may store data related to the plurality of thrust coefficients. The database may also contain data and instructions associated with computer-executable instructions for controlling a system (e.g., a system for controlling a fleet of connected autonomous vehicles) and/or receiving and/or processing and/or transmitting data associated with a network of sensor nodes used to measure water quality. It is contemplated that database 1025 may store additional and/or different information than that listed above.
I/O devices 1026 may include one or more components configured to communicate information with a user associated with computer. For example, I/O devices may include a console with an integrated keyboard and mouse to allow a user to maintain a database of digital images, results of the analysis of the digital images, metrics, and the like. I/O devices 1026 may also include a display including a graphical user interface (GUI) for outputting information on a monitor. I/O devices 1026 may also include peripheral devices such as, for example, a printer, a user-accessible disk drive (e.g., a USB port, a floppy, CD-ROM, or DVD-ROM drive, etc.) to allow a user to input data stored on a portable media device, a microphone, a speaker system, or any other suitable type of interface device.
Interface 1027 may include one or more components configured to transmit and receive data via a communication network, such as the Internet, a local area network, a workstation peer-to-peer network, a direct link network, a wireless network, or any other suitable communication platform. For example, interface 1027 may include one or more modulators, demodulators, multiplexers, demultiplexers, network communication devices, wireless devices, antennas, modems, radios, receivers, transmitters, transceivers, and any other type of device configured to enable data communication via a wired or wireless communication network.
The figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various implementations of the present invention. In this regard, each block of a flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures.
For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The implementation was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various implementations with various modifications as are suited to the particular use contemplated.
Any combination of one or more computer readable medium(s) may be used to implement the systems and methods described hereinabove. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object-oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
The various embodiments described above are provided by way of illustration only and should not be construed to limit the scope of the present disclosure. Those skilled in the art will readily recognize that various modifications and changes may be made to the present disclosure without following the example embodiments and implementations illustrated and described herein, and without departing from the spirit and scope of the disclosure and claims here appended and those which may be filed in non-provisional patent application(s). Therefore, other modifications or embodiments as may be suggested by the teachings herein are particularly reserved.
This application claims priority to and incorporates entirely by reference U.S. Patent Application Ser. No. 63/090,928 filed on Oct. 13, 2020, and entitled Systems and Methods for System Optimal Traffic Routing.
This invention was made with government support under grant number 69A3551747108 awarded by the Department of Transportation, and funding supplied by the Department of Transportation through the Mountain Plains Consortium, grant MPC-517. The government has certain rights in the invention.
Number | Date | Country | |
---|---|---|---|
63090928 | Oct 2020 | US |