Route Assignment

Main Page > Technical Documentation > Route Assignment

Introduction

By default, the method SwashSim uses to move vehicles from an entry link to an exit link is based on user-specified turning percentages. That is, when a vehicle exits a link, it gets randomly assigned a turning movement for the next link based on user-specified turning percentages for the link (e.g., 25% left, 55% through, 20% right). For this method, it is not possible to explicitly assign specific percentages of vehicles to travel between a given origin-destination pair. Alternatively, a route assignment method can be implemented. The route assignment method uses an origin-destination (O-D) demand matrix with the user equilibrium (UE) traffic assignment method to specify the full route through the network each simulated vehicle will take.

Link Performance Function

Route assignment concerns the selection of routes (or paths) between origins and destinations in transportation networks. Since the selection of routes is often based on the link travel time, it is essential to describe the relationship between link travel time and link flow. Link performance functions are often used for this purpose, such as the Bureau of Public Roads (BPR) function shown below.



$$ t_\alpha = t_\alpha^0(1 + 0.15(\frac{v_\alpha}{c_\alpha})^{4}) $$

User Equilibrium Route Assignment

UE assignment is the most commonly used route assignment. Wardrop proposed the concept of UE under the assumption that users in a traffic network tend to minimize their travel times, and UE is achieved when no user can reduce his/her travel time by changing routes.

Based on the use of non-decreasing, continuous and differentiable link performance functions, Beckmann et al. (1956) proposed the mathematical programming formulation for UE traffic assignment, which formulated the problem as a convex problem with a convex objective function under linear constraints. Dafermos and Sparrow (1969) applied the Frank-Wolfe algorithm to solve this convex problem.

The Frank-Wolfe algorithm applies an iterative process that involves performing all-or-nothing assignment, updating link volumes, finding optimal direction, updating link volumes, and checking link volume convergence. The terminating condition of the iterative loop process is the convergence of link volumes. Note that the all-or-nothing assignment is basically to find the shortest path (path with the shortest travel time) between each OD pair, and assign all the demand of the OD pair to that shortest path. Below shows the Frank-Wolfe process' steps and formulas.


 * Step 0. Initialization. Perform all-or-nothing assignment based on $$t_a = t_a(0), ∀a$$. This yields x1. Set counter n:=1
 * Step 1. Update. Set $$t_a^n=t_a(x_a^n),∀a. $$
 * Step 2. Direct finding. Perform all-or-nothing assignment based on $$ t_a^n,∀a$$. This yields (direction) flows yn
 * Step 3. Line Search. Find $$ \alpha_n $$ that solves
 * $$min_{0\le\alpha_n\le1} \sum_\alpha \int_0^{x_a^n+\alpha_n(y_a^n - x_a^n)} t_a (\omega)d\omega $$


 * Step 4. Move. Set $$ x^{n+1}=x^n+\alpha_n(y^n-x^n)$$
 * Step 5. Convergence test. If $$ \frac{\sqrt{\sum_\alpha(x_a^{n+1} - x_a^n)^2}}{\sum_\alpha x_a^n} < \epsilon $$, stop; otherwise
 * n:=n+1, and go to Step 1.

XXE



“XXE is a traffic assignment program based on the standard user equilibrium principle, which is defined as: "The travel time between a specified origin and destination on all used routes is the same and is less than or equal to the travel time that would be experienced by a traveler on any unused route." With a defined network and a given origin-destination matrix, XXE assigns traffic flows by setting up the user equilibrium problem as a mathematical program as shown in Equation 8.8 in Mannering and Washburn (2012).” (http://swashware.com/XXE) XXE is a program developed by Scott Washburn and Fred Mannering in 2007. The XXE program implements the Frank-Wolfe approach to solve the UE traffic assignment. The route assignment method calls the XXE program to perform the UE traffic assignment. 

User Equilibrium Path Flow

In order to assign routes to simulated vehicles, the path flow under UE condition is needed. However, while the UE link volumes are unique for a specific network and OD demand matrix, path volumes are not unique in most cases. This project obtains one set of feasible path flow solution as the side product of the Frank-Wolfe approach. During the Frank-Wolfe approach, the path volumes are saved and updated the same way as the link volumes. The XXE program is modified to save and update the path flow during the Frank-Wolfe approach, and output one set of feasible path flow under UE condition.

As the feasible path flow needs to satisfy two constraints: 1. link volume equals to the sum of all the path volumes that use that link; 2. OD volume equals to the sum of all the path volumes that are associated with that OD. The following tables show the UE results output from the modified XXE program on a network with 4 OD pairs​, the two tables show that the path flow from XXE satisfy the two constraints.

Example Application

The current route assignment method is "hard-coded" for a specific network. Once the network is specified in SwashSim, before running simulation, the route assignment method calls the XXE to perform the UE traffic assignment on the network, and assign routes to each simulated vehicle according to the path flow results.

Example Network

The test network scheme shown below has four traffic analysis zones, twelve OD pairs, four network nodes, and eight network links. The traffic analysis zones are shown as triangles on each corner of the network. This is where vehicles can enter and exit the network. The twelve OD pairs are also detailed in the table below. The table lists the origin zones, destination zones, and respective number of trips. The origin zone is where vehicles enter the network and destination zone is where the vehicle will exit the network. The four network nodes are shown as circles on each corner of the rectangle network. The eight network links are shown as lines connecting each of the four links together as a rectangle. Each link has an adjacent and parallel link that flows in the opposite direction.



SwashSim requires entry and exit nodes to be attached to through lanes rather than turning lanes. This requirement forced the network to expand an extra link between each entry and exit link and turning links (nodes). The figure below shows an updated scheme of this network created in SwashSim. This scheme has 20 network nodes and 24 network links.





Example Network Route Assignment

Once the route assignment method obtains the feasible set of path flows under the UE condition, SwashSim randomly assigns each simulated vehicle with a certain route based on the path flow distribution. Following is the route assignment of the example network.



References