accelerated highway traffic assignment procedure · pdf fileaccelerated highway traffic...

39
Accelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center for Smart Growth Research and Education at the University of Maryland* Xin Ye, PhD Faculty Research Associate March 2010 *The views expressed do not necessarily represent those of the University of Maryland, the Maryland Department of Transportation, or the State of Maryland.

Upload: trinhanh

Post on 01-Feb-2018

229 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

Accelerated Highway Traffic Assignment Procedure Maryland Statewide

Transportation Model

Prepared by: The National Center for Smart Growth Research and Education

at the University of Maryland*

Xin Ye, PhD Faculty Research Associate

March 2010

*The views expressed do not necessarily represent those of the University of Maryland, the Maryland Department of Transportation, or the State of Maryland.

Page 2: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

Accelerated Highway Traffic Assignment Procedure for Maryland Statewide Transportation Model NCSGRE March 2010 Page 1

Accelerated Highway Traffic Assignment Procedure Maryland Statewide

Transportation Model March 2010

EXECUTIVE SUMMARY The Maryland Statewide Transportation Model (MSTM) contains 20 user

classes in the highway assignment procedure, three types of automobiles (SOV, HOV2, HOV3+) by five income categories; commercial vehicles; median trucks; heavy trucks; interregional autos; and interregional trucks. This comprehensive disaggregation of users classes is necessary to capture differences in how the transportation network is used. As an example, SOV drivers are not allowed to use HOV lanes; trucks cannot be driven onto truck-prohibited lanes; drivers at different income level make different decisions on toll road use due to their different values of time. With additional policies under consideration in the future, such as peak hour tolling and HOT lanes, it is important that the MSTM have the capability of representing more than 20 user classes.

In addition, the large number of user classes increases the time required for computer analysis. In the methods currently employed, the run time is directly proportional to the number of user classes. That is a run with 20 user classes takes twice as long as a run with ten. In this study, we develop an algorithm which enables modelers to transfer shortest paths from one user class to another so that a great amount of time can be saved for building up shortest paths of multiple user classes. Using this algorithm, we have successfully sped up the highway assignment procedure of the MSTM by a factor of six. This means that computer runs which previously would take 18 hours can now be completed in three hours, significantly increasing our ability to analyze additional policies. This decrease in run time is critical to being able to analyze the interactions between land use and transportation. The new procedure also allows for more than 20 user classes. This increase in capacity will be critical as new policies, requiring more disaggregate demand, are analyzed.

Page 3: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

Accelerated Highway Traffic Assignment Procedure for Maryland Statewide Transportation Model NCSGRE March 2010 Page 2

1 BACKGROUND

The National Center for Smart Growth Research and Education (NSCG) at the University of Maryland signed a Memorandum of Understanding with the Maryland Department of Transportation (MDOT) to work jointly on research related to transportation in Maryland. The work plan for 2009, the first year of the contract, contained six research tasks. This report is NCSG’s submission for Tasks A3, Accelerating Trip Assignment. The original statement of scope for this task was:

A report that explores the potential of the Dial algorithm for use in the Maryland State Transportation Model. If the prospects appear promising, we will use C programming language to code the algorithm so that it can be quickly implemented and easily integrated with other model components.

The original scope for Task A3 called for exploring the potential for developing a faster trip assignment process. Developing this would increase the capability of the Maryland Statewide Transportation Model (MSTM) to be integrated with a land use model. We have not only explored the possibility of this, but have also developed the process. This advanced process can be easily implemented within the MSTM. Our deliverable includes a report which documents the model and shows that the necessary computer time decreases significantly when the new procedure is used.

The rest of this report has six sections:

Section 2, Introduction

Section 3, Algorithms in Detail

Section 4, MSTM Highway Network

Section 5, Methodology to Accelerate Assignment Procedure

Section 6, Conclusions and Discussions

Section 7, References

2 INTRODUCTION

2.1 TRAFFIC ASSIGNMENT PROBLEM Traffic assignment is the last step of the conventional four-step travel

demand model. It is a process of loading given origin-destination (O-D) trip

Page 4: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

Accelerated Highway Traffic Assignment Procedure for Maryland Statewide Transportation Model NCSGRE March 2010 Page 3

tables obtained from the initial three steps (Trip Generation, Trip Distribution and Mode Split) onto the transportation network subject to certain rules. A transportation network usually consists of a large number of links that corresponds to roadway segments in real world. The accumulated trips loaded onto network links form the predicted traffic volume on each roadway segment, which is the major output of the entire process of travel demand model.

“All-Or-Nothing” (AON) is a simple rule to load trip tables onto transportation network based on the assumption that each traveler chooses shortest paths to make their trips from origin to destination. AON assignment usually results in many over-loaded or under-loaded links, as compared to the roadway segments in real world. One reason is that travelers do not value the shortest path in the same way. They may choose a path with consideration of many different factors such as time, distance, cost, comfort, familiarity, habit, etc, some of which are not taken into account in shortest paths generated by modelers. Another important explanation is that AON assignment assumes travel time on each link remains constant regardless of the amount of trips assigned onto it. In reality, due to overloaded traffic, roadway segments can be congested and the initial shortest paths including those segments are no the longer shortest paths for many other travelers. Those subsequent travelers should have flexibility in choosing new shortest paths based on the existing situations to avoid traffic congestion.

Two different approaches are conventionally employed to improve the performance of AON assignment. One is stochastic assignment (STOCH) proposed by Dial (1971). In STOCH, trips are assigned onto all feasible paths according to their path costs. Probability of each path being chosen is calculated by multinomial logit model with respect to path costs. Although STOCH does not take account of travelers’ various values in choosing shortest paths, it enables paths to be chosen in a probabilistic manner, which results in better performance than AON assignment. The other approach is User-Equilibrium (UE) assignment based on Wardrop’s first principle: “no traveler can reduce his/her travel cost by changing routes at the User-Equilibrium status” (Wardrop, 1952). With consideration of the fact that travel cost increases as trips are loaded, UE assignment loads trips onto the network so that all the used paths have equal and minimum travel times and all the unused paths have equal or higher travel times. Since UE assignment enables travelers to freely choose paths according to flow-dependent travel time and

Page 5: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

Accelerated Highway Traffic Assignment Procedure for Maryland Statewide Transportation Model NCSGRE March 2010 Page 4

provides relatively stable prediction on link flow, this approach has been most widely adopted in the practice of travel demand forecast and transportation planning.

2.2 FORMULATION OF USER-EQUILIBRIUM ASSIGNMENT The UE assignment can be formulated as a non-linear programming

problem as below:

Minimize

Aij

x

0ij du)u(t)x(f

ij , subject to the constraints that

0xoij and

o

oijij xx for all origins, where

o: the centroid of origin zone;

d: the centroid of destination zone;

i, j, k: node indices;

ij: a link from node i to node j;

A: the set of links in the network;

N: the set of nodes in the network;

oijx : the number of trips (traffic volume), originating from zone o, assigned

onto the link “ij”;

xij: the number of trips (traffic volume) assigned onto the link “ij”;

vod: the number of trips (traffic volume) from origin zone o to destination zone d;

tij(u): an increasing function of travel time with respect to traffic volume for link “ij”.

In the formula,i

okix represents the sum of traffic volumes, originating

;Nk,

otherwise,0

dkif,v

okif,v

xxj

od

dod

ojk

i

oki

Page 6: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

Accelerated Highway Traffic Assignment Procedure for Maryland Statewide Transportation Model NCSGRE March 2010 Page 5

from origin o, flowing out of node k, whereas j

ojkx represents the sum of

traffic volumes, originating from origin o, flowing into node k. The inequality constraints promise that:

If node k represents an origin zone centroid, the difference between flowing-out and flowing-in volumes should be equal to the total volume originating from the zone;

If node k represents a destination zone centroid, the difference between flowing-in and flowing-out volumes should be equal to the volume between that O-D pair;

If node k represents any other non-centroid nodes, the difference between flowing-in and flowing-out volumes from the same origin should be equal to zero.

The constraint o

oijij xx indicates that the total traffic volume on link

“ij” is the sum of traffic volumes originating from all the origins on that link. The objective function involves an increasing function of travel time on links with respect to assigned traffic volume. In practice, a widely used function is the BPR formula (Bureau of Public Roads, 1964), which employs the link’s volume-capacity ratio:

])c/u(1[t)u(t 0ij

u: link’s traffic volume

c: link’s capacity

t0: link’s free-flow travel time, usually the link’s distance / speed limit

: a coefficient and its default value is 0.15

: a coefficient and its default value is 4.

The coefficient and the power term can be modified to better reflect the real situation. du)u(t

ijx

0ij is formulated to accumulate the total travel time of

all vehicles on link ij as traffic volume increases from 0 to xij. If the BPR

formula is used, du)u(tijx

0ij = 1

ij0

ij0 xc)1(

txt

, which is a convex function.

Page 7: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

Accelerated Highway Traffic Assignment Procedure for Maryland Statewide Transportation Model NCSGRE March 2010 Page 6

Thus, UE assignment is a convex non-linear programming problem subject to linear constraints.

It can be shown that the non-linear programming problem is equivalent to Wardrop first principle. Let x* denote the traffic assignment that minimizes the objective function, i.e.

Aij

x

0ij

Xx

* du)u(t)x(fminargxij , which is called

Beckmann’s formula. It will be satisfied if and only if its directional derivatives are non-negative, i.e. )x(f * x 0, or t(x*) (x x*) 0,

0)xx)(x(t *ijij

*ij

Aijij

, *ij

*ij

Aijijij

*ij

Aijij x)x(tx)x(t

. All these inequalities are called

variational inequalities. The last inequality indicates that when the link travel time is fixed at tij(xij*), the total travel time is minimized. Consequently, no trip can reduce its travel time and Wardrop’s first principle is fulfilled if x* is attained by solving the non-linear programming problem. In classic traffic assignment problem, each of these inequalities is an equivalent sufficient and necessary condition for user equilibrium at x*.

2.3 FRANK-WOLFE ALGORITHM To minimize Beckmann’s formula, the first mathematical programming-

based algorithm to solve the UE traffic assignment problem was proposed independently by Nguyen (1973) and LeBlanc (1973). Both of them employed Frank-Wolfe algorithm (1956), which was initially invented to solve quadratic programming problem. The original version of Frank-Wolfe algorithm is to solve the following problem:

Minimize f(x) = 0.5xTEx + hTx, subject x P,

where the n×n matrix E is positive semidefinite, h is an n×1 vector, x and xT are a vector of decision variables and its transposed vector, P represents a feasible region defined by a mix of linear inequality and equality constraints (for example Ax ≤ b, Cx = d).

2.3.1 The Algorithm

Step 1. Initialization. Let k 0 and let x0 be any point in P.

Step 2. Convergence test. If 0)x(f k , then Stop, the minimum has been found.

Page 8: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

Accelerated Highway Traffic Assignment Procedure for Maryland Statewide Transportation Model NCSGRE March 2010 Page 7

Step 3. Direction-finding sub-problem. The approximation of the problem that is obtained by replacing the function f with its first-order Taylor expansion around xk is found. Solve for kx :

Minimize )xx)(x(f)x(f kkkT

k ,

Subject to Pxk .

(This is a linear programming procedure. xk is fixed during Step 3, while the minimization takes place by varying kx and is equivalent to minimizing kk

T x)x(f ).

Step 4. Step size determination. Find that minimizes f[xk + kx - xk] subject to 0 1. If = 0, then stop and the minimum has been found.

Step 5. Update. Let xk+1 xk + ( kx - xk), let k k + 1 and go back to Step 2.

The basic idea of the original Frank-Wolfe algorithm is to convert the non-linear programming problem into a linear programming sub-problem by replacing the non-linear objective function with its first-order Tailor series expansion. Then, the convex search approach is employed to update decision variables within linear constraints to improve the non-linear objective function in an iterative manner.

2.4 FRANK-WOLFE ALGORITHM FOR UE ASSIGNMENT As mentioned before, since UE assignment can be formulated as a non-

linear programming problem with linear constraints, Frank-Wolfe algorithm can be employed to solve it. To show how the algorithm works, we slightly modify the objective function as:

Aij

x

0ij du)u(t)x(f o

oij . Then, kk

T x)x(f term in the algorithm can be

represented as o ij

oij

o

oij x)x(t

ij, i.e.

o ij

oijijij x)x(t . Note, similar to xk in

Step 3 of the algorithm, xij and )x(t ijij remain constant in the procedure that minimizes

o ij

oijijij x)x(t subject to linear constraints. In this context, the

linear programming procedure (i.e. Step 3) in Frank-Wolfe algorithm is essentially an AON assignment procedure. That is because, AON assignment loading all the trips on their shortest paths is an efficient way to minimize

o ij

oijijij x)x(t subject to linear constraints that can ensure a

Page 9: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

Accelerated Highway Traffic Assignment Procedure for Maryland Statewide Transportation Model NCSGRE March 2010 Page 8

reasonable traffic flow pattern. Thus, in this particular context, AON assignment procedure can be implemented, instead of a standard linear programming procedure, for better computational efficiency. The next step is

to find a that minimizes )]xx(x[fo

oij

o

oij

o

oij , equivalent to

)]xx(x[f ijijij ; update xij, t(xij) and then go back to the AON assignment procedure again. Run this procedure iteratively until the convergence criteria is satisfied.

The standard Frank-Wolf Algorithm for UE assignment is given as below:

Conduct All-Or-Nothing (AON) assignment x0 based on free-flow travel time t0.

Update travel time: t1 = cij(x0).

Conduct All-Or-Nothing (AON) assignment x1 based on updated travel time t1.

Conduct a line search:

ij

x)1(x

0ij

10

* du)u(tminargij1ij0 .

Update x0 = x0 + (1-x1

If convergence criteria is not satisfied, go back to step 2; End, otherwise.

In this procedure, relative gap is usually calculated as convergence criteria,

which is formulated as:

where

od: travel time from origin “o” to destination “d” via the shortest path;

vod: the traffic volume from origin “o” to destination “d”;

xij: assigned traffic volume on link “ij”;

t(xij): travel time as traffic volume “xij” being assigned.

,)x(tx

)x(v

1)x(G

ijijij

ododod

Page 10: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

Accelerated Highway Traffic Assignment Procedure for Maryland Statewide Transportation Model NCSGRE March 2010 Page 9

If x reaches UE status, all the paths will have the same travel time so

od ij

ijijodod )x(tx)x(v . Correspondingly, a zero relative gap indicates a

perfect UE status. However, it is difficult to reach a perfect UE status in practice. Instead, G(x) < 0.01 is often deemed acceptable for planning purposes.

2.5 A BRIEF REVIEW OF ORIGIN-BASED ALGORITHM Due to simplicity in coding and frugality in memory, Frank-Wolfe

algorithm has been used for more than fifty years in travel demand modeling and transportation planning. The major weakness of this algorithm is its slow convergence. It is difficult to pursue an accurate solution at high level of convergence [e.g. G(x) = 0.0001].

To this end, Bar-gera (2002) initially proposed origin-based algorithm that allows to efficiently achieve a highly accurate solution for UE assignment. Later on, Dial (2006b) proposed a path-based user-equilibrium traffic assignment algorithm called “Algorithm B” which can also achieve a highly accurate solution but is essentially origin-based as well. With a more efficient approach to shift flows, the author claimed that “Algorithm B” is six times faster than Bar-gera’s origin-based algorithm. Here, we briefly review “Algorithm B” as a typical example of origin-based algorithm and then attempt to discuss the potential challenges if the origin-based algorithm is employed in a multi-class large-scale network.

“B” in “Algorithm B” is the initial letter of word “Bush”. Bush means a subset of arcs of the original network and comprises an acyclic sub-network rooted at a given origin, with the arc flows that carry all trips from that origin to their specific destinations. The algorithm is given as below:

2.5.1 Algorithm B

1. For each origin, create initial bush by using free-flow travel time to build a min-path tree from its origin and compose a sub-network containing only those arcs whose j-node is further away (i.e. Aij is chosen into bush as long as i j, where i and j indicate min-path cost to node i and j).

2. For each origin, transform its current feasible bush until an equilibrated bush is achieved:

Page 11: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

Accelerated Highway Traffic Assignment Procedure for Maryland Statewide Transportation Model NCSGRE March 2010 Page 10

2.1 Find the cheapest path and costliest used path from the origin to each of the other nodes.

2.2 Shift trips from costliest to cheapest paths to make their path-cost to make their difference is less than a prescribed small value.

3. If the convergence criteria is satisfied, terminate; otherwise, improve bush by replacing arcs Aji with their mirror arcs Aij into the bush if i + tij < j and both arcs carry negligible flows. (tij is travel cost on arc from i to j) and go back to step 2. The convergence criteria can be the same as that used in Frank-Wolf algorithm.

In the Maryland Statewide Transportation Model (MSTM) under development, the highway network consists of 1,739 zones, 67,958 nodes, 167,150 links and 20 user classes. Thus, the memory required for bushes is not only origin-specific but also user-class-specific, which is approximately equal to 167,15081,73920/10243 43.3GB. In the assignment procedure, it is unavoidable to frequently save bush data into hard drive, which will undermine the computational efficiency. Thus, the speed of Algorithm B can be less than 2 times faster than the conventional algorithm if it is applied to implement MSTM only for low-level accuracy (e.g. Relative Gap = 0.01).

Since the main objective of this study is to enhance the speed of traffic assignment procedure for MSTM, we consider that Algorithm B may not be a good option given the large memory requirement for the large-scale network and a large number of user classes. The alternative way to enhance the speed of multi-class traffic assignment is to employ another novel algorithm proposed by Dial (2006a). This algorithm can allow transfer a min-path tree for one user class to another with only minor modifications, so that a great amount of time can be saved in shortest path generation for all the rest user classes. In that paper, this algorithm was only tested in synthetic networks and was found to be highly efficient. The author mentioned that it is needed to be tested in a real network to validate its practicality. The MSTM network with a large number of user classes provides an appropriate context to apply this new algorithm and test its capability in accelerating the multiclass assignment procedure.

Page 12: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

Accelerated Highway Traffic Assignment Procedure for Maryland Statewide Transportation Model NCSGRE March 2010 Page 11

Figure 2.1 An Example of Network Topology

3 ALGORITHMS IN DETAILS

3.1 DATA STRUCTURE FOR UE ASSIGNMENT Prior to the introduction of the new algorithm, it is necessary to introduce

the basic data structure and some basic algorithms relevant to UE traffic assignment. For efficiently implementing the algorithms, an appropriate data structure is required to represent network topology and attributes. Two datasets: link dataset and node dataset are formed to represent the transportation network. The data structure is demonstrated in a simple network, whose topology is shown in Figure 1. The node and link datasets are shown in Table 1 and Table 2, respectively. Table 1 contains 5 rows corresponding to 5 nodes in the network. Node ID, coordinates x and y are three basic attributes with respect to nodes in the network. Node ID can uniquely identify each single node and coordinates x and y values can locate each node on a plane.

Link dataset records all existing one-way links connecting one node to another. In Figure 1, all the 7 links are considered as two-way links, which results in 14 one-way links corresponding to 14 rows in Table 2. The table records head and tail nodes of each one-way link as well as other link-level attributes such as free-flow travel time on that link, capacity and speed limit, etc. Since coordinates of head and tail nodes have been given in Table 1, the location of each link has been fixed, as seen in Figure 1. It should be noted that the node dataset is only required to visualize the topology of network in GIS interface but it is not required for the basic UE assignment procedure.

Page 13: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

Accelerated Highway Traffic Assignment Procedure for Maryland Statewide Transportation Model NCSGRE March 2010 Page 12

Table 1 An Example of Node Dataset

To facilitate the assignment procedure, the table needs to be sorted according to “Head Node” and “Tail Node” columns. Note, in a real transportation network, node ID is probably not given in such a sequential fashion but a new set of node ID, starting from 1 to the total number of nodes, can always be generated and then merged into the original datasets to represent the same nodes and links.

Table 2 An Example of Link Dataset

Link ID Head Node Tail Node Free-flow Time

Capacity Speed limit

1 1 2 5 1200 50

2 1 3 6 1800 60

3 2 1 7 1000 40

4 2 3 8 1200 50

5 2 4 5 1800 60

6 3 1 6 1000 40

7 3 2 7 1200 50

8 3 4 8 1800 60

9 3 5 5 1200 40

10 4 2 6 1800 50

11 4 3 7 1000 50

12 4 5 8 1200 60

13 5 3 5 1200 40

14 5 4 6 1800 50

In the procedure of network assignment, it is frequently required to find links originating from a given node in the link dataset. For example, if Node 3 is given, the computer is required to efficiently find Link 6, 7, 8 and 9 are those links originating from Node 3. To quicken this procedure, we can generate an index table, as shown in Table 3, to allow computer to efficiently

Node ID Coordinate X Coordinate Y

1 0.0 0.0

2 1.0 1.0

3 1.0 -1.0

4 2.0 1.0

5 2.0 -1.0

Page 14: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

Accelerated Highway Traffic Assignment Procedure for Maryland Statewide Transportation Model NCSGRE March 2010 Page 13

locate all the links originating from any given node. Table 3 contains two columns: “Starting Link ID” and “Ending Link ID”. According to Table 3, the third row, corresponding to Node 3, has “Staring Link ID” at 6 and “Ending Link ID” at 9, indicating Node 3’s subsequent links are Link 6, 7, 8, up to 9. In some cases, a real transportation network may contain a small number of nodes without any subsequent links. For these nodes, we may assign a greater positive integer (e.g. 2) to “Staring Link ID” but a smaller positive value (e.g. 1) to “Ending Link ID”. With this special treatment, no subsequent links will be scanned in the following procedure but the data structure remains the same. This point will be further clarified in the next section about the shortest path algorithm.

Table 3 An Example of Index Table

Node Starting Link ID

Ending Link ID

1 1 2

2 3 5

3 6 9

4 10 12

5 13 14

Table 4 is an example of trip table (i.e. OD trip matrix), recording trips between each origin-destination pair. The dimension of the OD trip matrix is exactly the total number of zones. In this study, zone centroids and centroids connectors are considered as regular nodes and links recorded in Table 1 and Table 2, as well as other nodes and links. However, ID of nodes representing zone centroids must start from 1 up to the total number of zones, while non-centroid node ID must start from (1+ the total number of zones). In other words, the initial node IDs (1~ the total number of zones) must be allocated for zone centroids. This treatment can facilitate the procedure of network assignment. In the trip table, the diagonal elements represent intra-zonal trips, which will not be assigned onto the network. All the elements in this matrix are stored as a one-dimensional array in the computer memory. Then, A[(i 1) Number of Zones + j] is used to take the value of Matrix[i, j] if A denotes the array.

Page 15: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

Accelerated Highway Traffic Assignment Procedure for Maryland Statewide Transportation Model NCSGRE March 2010 Page 14

Table 4 An Example of Trip Table

Origin/Destination 1 2 3

1 800 100 200

2 300 1000 300

3 600 400 2000

3.2 SHORTEST PATH ALGORITHM

3.2.1 The Basic Shortest Path Algorithm

The shortest path problem is very famous in graph theory. Many different algorithms have been invented to solve this problem by researchers from different fields such as computer science, operations research and transportation. In transportation literature, it was found that Zhan and Noon (1998) conducted a comprehensive evaluation of 15 different algorithms in a variety of real transportation networks and recommended using the incremental graph algorithm implemented with two queues (Pallottino, 1984) to generate one-to-all shortest paths. By referring to the comparative results from that paper and the book by Ahuja et al. (1993), we decided to employ the label-correcting algorithm implemented with double-sided queue (Pape, 1974) as the basic algorithm for generating shortest paths in this study. Using this algorithm, we found that we could generate shortest paths almost as fast as Cube Voyager, the commercial software for implementing MSTM.

The function that we programmed to fulfill shortest path algorithm contains 8 arguments and returns 2 arrays. 8 arguments include “Head Node” and Tail Node” columns from the link dataset; “Starting Link ID” and “Ending Link ID” columns from the index table; link travel time/cost; origin o; total number of zones; a dummy array, called “filter”, recording whether the link can be used or not. Two returned arrays are called “pred” and “pai”, recording predecessor link ID of each node on shortest paths and the accumulated travel time/cost (called as “potential” hereinafter) from the origin o towards each node. The algorithm is introduced as below and will be further clarified through C language codes in the Appendices.

MinPathTree(A1, A2, Index1, Index2, t, o, N_zone, filter): BEGIN Block links starting from origins except those starting from the origin

(setup filter value at 1); Initialize five arrays whose length is the number of nodes:

Page 16: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

Accelerated Highway Traffic Assignment Procedure for Maryland Statewide Transportation Model NCSGRE March 2010 Page 15

pred[i] = -1; pai[i] = MAX_COST (e.g. 9999999999.9); queue[i] = -1; in_queue[i] = 0; processed[i] = 0;

Define pointers “front” and “rear”, initially pointing to the middle of array “queue”;

Initialize pai[o] = 0.0, place the origin o into the “front” position of array “queue” and record node o’s status as “in queue” but “not processed” (i.e. queue[front] = o, in_queue[o] = 1; processed[o] = 0);

Start iterations until the queue is empty: Take the node “i” from the “front” position in the queue; Remove the node from the queue; Record the node status as “not in queue” and “processed”. Move “front” pointer to the next position in the queue; If “front” pointer goes beyond the bottom of the queue, move it to the top

of the queue; Start iterations until all the links originating from node “i” have been

scanned: If the link is blocked, scan the next link; Let “j” be the tail node of the current link; Let “t” be the travel time/cost on the current link; If pai[i] + t < pai[j], then pai[j] = pai[i] + t and pred[j] = the current link

ID; If the node j is not in the queue, If the node j has not been processed before, move “rear” pointer to the next position in the queue. If the rear pointer goes beyond the bottom of the queue, move it to the top

of the queue. Place node j in the “rear” position of the queue. Record the status of node j as “in queue”. If the node j has been processed before, move “front” pointer to the previous position in the queue. If “front” pointer goes beyond the top of the queue, move it to the bottom

of the queue. Place node j in the “front” position of the queue. Record the status of node j as “in queue”. Return (pred, pai) END With the “pred” array, a shortest path from the origin node to another

node can be found by iteratively tracing back from tail node to head node of predecessor links on min-path tree until the origin node is reached. Thus, it is not necessary to store shortest paths one by one in computer memory. Instead, we only need to store “pred” array in computer memory, according to which all shortest paths can be retrieved through tracing back (see section 3.2.3 or Appendix C for details). Therefore, in this report, min-path tree and shortest path are two synonymous terms. While predecessor links on shortest

Page 17: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

Accelerated Highway Traffic Assignment Procedure for Maryland Statewide Transportation Model NCSGRE March 2010 Page 16

paths are being traced back, AON assignment can be performed by adding traffic volumes onto those passed predecessor links. This procedure will be detailed in a next section. In practice, we found that the time consumption to generate “pred” and “pai” arrays using this algorithm is roughly proportional to the total number of links in a network. This step usually takes up more than 90% of time in the entire procedure of UE assignment.

In many statewide or regional travel demand models, a number of user classes are classified in the procedure of highway assignment in order to capture their differences in using the transportation network. The highway network is not the same for these user classes. For example, HOV-lane is exclusive to HOV and can’t be used by SOV; trucks cannot be driven onto truck-prohibited lanes; drivers at different income levels are likely to make different decisions on whether the toll road should be used or not in conditions of traffic congestion. More user classes load more computational burden on highway assignment procedure, particularly on shortest path generation. Since the transportation network is not the same to different users, each user class should have their specific shortest paths. Conventionally, “MinPathTree” function needs to be implemented specifically for each user class with consideration of their different link travel time/cost or link restriction, which can be reflected in arguments “t” and “filter” of the function. Since this step takes up most time in the procedure of UE assignment, the total time consumption is roughly proportional to the total number of user classes using the conventional approach. This point has been validated by testing the commercial software: Cube Voyager.

3.2.2 The Algorithm to Transfer Shortest Paths between Two User Classes

Dial (2006a) proposed a new algorithm that can greatly quicken the procedure to generate shortest paths for multiple user classes. The algorithm is developed based upon the fact that link cost difference between two user classes usually only occur on a small number of links in a real transportation network. For example, there are usually not many links representing toll roads that may result in different shortest paths for users at different income level. There are usually not many HOV-specific or truck-prohibited links, relative to the total number of links in the network. As a result, shortest paths should not substantially differ from one user class to another, therefore it may be transferred from one to another. Since min-path trees are not generated

Page 18: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

Accelerated Highway Traffic Assignment Procedure for Maryland Statewide Transportation Model NCSGRE March 2010 Page 17

from the beginning, a great amount of time can be saved during this procedure. Dial (2006a) tested the algorithm in a synthetic network and found it could greatly accelerate the procedure of shortest path generation for multiple user classes.

The key point of this algorithm is that it can transfer shortest paths from user class “A” to user class “B” only if all the link travel time/cost for user class “A” is greater than or equal to that for user class “B”. According to Ahuja et al., 1993, i + tij j for all ij A is a necessary and sufficient condition for a min-path tree, where i and j are potentials of link ij’s head and tail nodes, tij is link time/cost. These inequalities are the foundation of the label-correcting algorithm. If a min-path tree has been generated for user class “A”, these inequalities must hold. If time/cost on some links reduces for user class “B”, i + tij j may not be satisfied any more and both j and predj need to be updated. Then, node j needs to be placed into the queue to restart the label-correcting procedure. On the contrary, if time/cost on some links increases for user class “B”, the situation will turn to be more complex. If the link is the predecessor link of node j, all the other links pointing to node j need to be scanned and the sequence of link scan will be different from that in the conventional label-correcting algorithm. Thus, it is much easier to transfer shortest paths from one user class to another if some link time/cost reduces or some link restrictions are released.

Dial (2006a) mentioned:“ in the case where an arc ij does not serve a class k, its cost ckij is a constant M, where M is larger than the costliest path.” We are not certain how the author dealt with links restricted to some user classes in the coding procedure, but we found that using big M constant for restricted link cost substantially reduces the efficiency of the algorithm that we coded. In this study, we use a dummy “filter” array to filter out links being restricted, instead of using big M constant. As a result, there may be two alternative ways to transfer min-path tree from one user class to another: reducing cost or releasing restriction on some links. For example, shortest paths for users of low income can be transferred to those of high income since they are less sensitive to toll charge and their generalized cost is lower; shortest paths for trucks can be transferred to SOVs since truck-prohibited links are open to SOVs; shortest paths for SOVs can be transferred to HOVs since HOV-lane restriction is released for HOVs.

Page 19: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

Accelerated Highway Traffic Assignment Procedure for Maryland Statewide Transportation Model NCSGRE March 2010 Page 18

For better efficiency, we record ID of links with reduced time/cost or released restriction into an array and always scan those links that have potential to change values in “pred” and “pai”. If (pai[i] + t[ij] < pai[j]), update pai[j] as (pai[i] + t), update pred[j] as current link ID, record the node j and pai[j] into a set. Then, for further improving efficiency, this set needs to be sorted in an ascending order according to the “pai” values and placed the sorted node IDs into a queue for the label correcting procedure. By referring to that paper (Dial, 2006a), we designed a function, called “MinPathTree_Transfer”, to implement this algorithm. There are 11 arguments in this function, most of which are the same as function “MinPathTree” except the first three arrays: “old_pai”, “old_pred” and “link_ID_set”. The first two arrays pass the previous user class’ shortest path information to the function and the third array passes the set of link IDs to be scanned. These links’ travel time/cost will reduce or their restrictions will be released for the next user class. It needs to be emphasized that arrays “t” and “filter” here carry the link travel time/cost and link restriction information for the current user class, other than those for the previous one. The function returns two arrays: “pred” and “pai” for the current user class’ min-path tree. The function is briefly introduced here and more explanation will be detailed in appendices through C language codes.

MinPathTree_Transfer (old_pai, old_pred, link_ID_set, A1, A2, Index1, Index2, t, o, N_zone, filter):

Begin

Initialize two arrays “pai” and “pred” and copy “old_pai” and “old_pred” arrays to them.

Scan all the links on which the travel time/cost reduces or the restriction is released:

Let “k1” and “k2” be the head node and the tail node of the current link;

Let “t” be the travel time/cost on the current link; If (pai[k1] + t < pai[k2]),

pai[k2] = pai[k1] + t;

pred[k2] = the curren link ID;

Record node “k2” and pai[k2] into a table called “node_pai”.

Use “QuickSort” algorithm (Hoare, 1961) to sort the table “node_pai” according to “pai” values in ascending order; then place the sorted node IDs

Page 20: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

Accelerated Highway Traffic Assignment Procedure for Maryland Statewide Transportation Model NCSGRE March 2010 Page 19

into a queue. Record the status of those nodes as “in queue” but “not processed”;

Define pointers “front” and “rear”, respectively pointing to the front and the rear position of the queue with node IDs;

Start iterations until the queue is empty:

Take the node “i” from the “front” position of the queue;

Remove that node from the queue;

Record the node status as “not in queue” and “processed”.

Move “front” pointer to the next position in the queue;

If “front” pointer goes beyond the bottom of the queue, move it to the top of the queue;

Start iterations until all the links starting from node “i” have been scanned:

If the link is restricted, scan the next link;

Let “j” be the tail node of the current link;

Let “t” be the travel time/cost on the current link;

If (pai[i] + t < pai[j]), then pai[j] = pai[i] + t and pred[j] = the current link ID;

If the node j is not in the queue

If the node j has not been processed before,

move “rear” pointer to the next position of the queue.

If the rear pointer goes beyond the bottom of the queue, move it to the top of the queue.

Place node j in the “rear” position of the queue.

Record the status of node j as “in queue”.

If the node j has been processed before,

move “front” pointer to the previous position of the queue.

If “front” pointer goes beyond the top of the queue, move it to the bottom of the queue.

Place node j in the “front” position of the queue.

Record the status of node j as “in queue”.

Return (pred, pai)

END

Page 21: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

Accelerated Highway Traffic Assignment Procedure for Maryland Statewide Transportation Model NCSGRE March 2010 Page 20

3.2.3 The Algorithm for All-Or-Nothing (AON) Assignment

As mentioned earlier, AON assignment can be easily implemented by tracing from the destination back to the origin according to array “pred”. The algorithm will be detailed in this subsection. The function is called “AON” including 8 arguments: “a1” is the “Head Node” array of link dataset; “Index1” and “Index2” are the first two columns from the index table; “pred” and “pai” are two arrays for the min-path tree generated from function MinPathTree() or MinPathTree_Transfer(). “Trips” represent the OD trip table. “sum_od_t” is a statistics for calculating convergence criteria.

AON(a1, Index1, Index2, pred, pai, o, trips, sum_od_t): Begin Initialize sum_od_t at 0 Initialize array x at 0, representing accumulated trips assigned onto each

link Start iterations until all the zones have been scanned: Let “vod” take the number of trips from origin o to destination from

the trip table. If (vod > 0.0) If (pai[d] < MAX_COST), i.e. d is accessible from origin o sum_od_t = sum_od_t + vod*pai[d] for convergence criteria.

k = d; i.e. define a variable k and let it start from zone d

Start iterations until k reaches origin o: i = pred[k], i.e. let “i” be the ID of node k’s predecessor link on the

min-path tree. x[i] = x[i] + vod, i.e. assign “vod” onto link i. k = a1[i], i.e. move k onto the “Head Node” of link i. Return x and sum_od_t END

3.2.4 Golden Search Algorithm

As mentioned in Section 2.4, a line search algorithm is required to solve a

value * [0, 1] to minimize

ij

x)1(x

0ij du)u(t

ij1ij0 . Newton or quasi-Newton

method may be applied to solve this problem if the objective function is derivable. However, in practice, volume-delay functions for some links sometimes need to be customized by users as look-up tables. “Golden search algorithm” is a more general way to solve *. The algorithm is given as below:

Page 22: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

Accelerated Highway Traffic Assignment Procedure for Maryland Statewide Transportation Model NCSGRE March 2010 Page 21

Lamda = Golden_Search(function, lower_bound, upper_bound) BEGIN eps = 1e-5, which can be modified for different accuracy level; r = 2/)15( , which is the golden ratio; a = lower_bound b = upper_bound c = a + (1- r)(b - a) d = a + r (b - a) Repeat iterations until (b - a) < eps: If function(c) function(d)

b = d d = c c = a + (1- r)(b - a)

Else a = c

c = d d = a + r (b-a)

Return (a+b)/2 END

4 MSTM HIGHWAY NETWORK

4.1 AN OVERVIEW OF MSTM HIGHWAY NETWORK MSTM network for the base year (2000) consists of 167,150 links relevant

to 67,958 nodes. Among all the nodes, the initial 1,739 nodes represent centroids of zones, consisting of 1,607 State Model Zones (SMZ) and 132 Regional Model Zones (RMZ). As illustrated in Figure 2, the network covers the whole United States but it is denser in areas near the modeling area and sparser in those far away (see MSTM Model Networks Development for details). The links far from the modeling area only consists of interstates and highways. The inclusion of these links is to better model regional freight travel demand and long-distance travel demand and their impacts on the modeling area.

20 user classes are defined in the highway assignment procedure, including 3 types of autos (SOV, HOV2, HOV3+) by 5 income categories (see Table 5 for details); commercial vehicle; median trucks; heavy trucks; regional autos (relevant to RMZs); regional trucks (relevant to RMZs). Highway assignment is conduced over four daily time periods: AM peak (6:30 am – 9:30

Page 23: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

Accelerated Highway Traffic Assignment Procedure for Maryland Statewide Transportation Model NCSGRE March 2010 Page 22

am), Midday (9:30 am – 3:30 pm), PM peak (3:30 pm – 6:30 pm) and Night (6:30 pm – 6:30 am).

Figure 2 An Overview of the MSTM Highway Network

4.2 LINK COST In the procedure of highway assignment, the following function is

formulated as the generalized cost to generate shortest paths for all user classes:

cost = t + (toll/vot) + 0.25distance,

where

t: link travel time (minutes), which is a function with respect to traffic volume assigned onto the link;

toll: toll charge in cents which differs in peak and off-peak period.

vot: value of time (cents/minutes), converting toll charge in cents into time in minutes. The values are given for autos by 5 income categories, as shown in Table 5. “vote”, value of time for “higher” income category is used for the last 5 user classes: Commercial Vehicles, Medium Trucks, Heavy Trucks, Regional Trucks, Regional Autos

Page 24: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

Accelerated Highway Traffic Assignment Procedure for Maryland Statewide Transportation Model NCSGRE March 2010 Page 23

distance: link distance in miles; the coefficient 0.25 converts distance in miles into time in minutes.

Table 5 Value of Time by Income Categories

Income

Categories Annual Income VOT (c/min) VOT ($/hr) VOT ($/year)*

Lower 0 - 20k vota = 8.4 5.04 10,483

Lower-middle 20k - 40k votb = 25.0 15.00 31,200

Middle 40k - 60k votc = 41.7 25.02 52,042

Upper-middle 60k - 100k votd = 50.4 30.24 62,899

Higher 100k+ vote = 106.4 63.84 132,787 * The total number of work hours per year is setup at 2,080.

Figure 3 highlights the positions of toll links during AM peak period in the network. In total, there are 64 toll links including a few ramps on US 267, a bridge on US 301, a few links representing McHenry Tunnel and Baltimore Harbor Tunnel, Baltimore Key Bridge on I-695 and some other links in Delaware. The toll charges range from $0.13 to $3.00, with mean value at $0.78 and standard deviation at $0.64.

Figure 3 Toll links in MSTM network

4.3 LINK CLASS Links representing different types of transportation facilities may have

different volume-delay relationships. Link classification facilitates modelers to adopt different volume-delay functions for links in different classes. In the current version of MSTM, a general volume-delay function is formulated as below:

Page 25: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

Accelerated Highway Traffic Assignment Procedure for Maryland Statewide Transportation Model NCSGRE March 2010 Page 24

t = min{t0[1 + (v/c)], 100t0},

where

and are two coefficients which differ across link classes (see Table 3.2).

t0 = 60 distance (mile) / speed (mph);

speed is differentiated as “free-flow speed” and “congested speed”. “congested speed” is used for AM and PM periods and “free-flow speed” is used for Midday and Night period.

v: the sum of total assigned traffic volumes of 20 user classes; c: lane capacity (vehicles/hour) number of lanes ConFac; ConFac = 0.39 for AM peak period (3 hours), equivalent to expanding

capacity by 2.56; ConFac = 0.21 for Midday peak period (6 hours), equivalent to expanding

capacity by 4.76; ConFac = 0.34 for PM peak period (3 hours), equivalent to expanding

capacity by 2.94; ConFac = 0.22 for Night period (12 hours), equivalent to expanding

capacity by 4.55. Since, in reality, vehicles do not arrive in a uniform pattern during each

time period, the capacity should not be expanded by the exact number of hours within that period. Instead, a certain level of deduction needs to be considered in capacity adjustment. As seen, in AM peak period, the exact number of hours is 3 but the capacity is only expanded by 2.56 times. Besides, to achieve reasonable congested travel times, we assume the travel time can’t be greater than 100t0. Thus, the minimum value between the travel time calculated from the BPR function and 100t0 is chosen for congested travel time

Page 26: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

Accelerated Highway Traffic Assignment Procedure for Maryland Statewide Transportation Model NCSGRE March 2010 Page 25

Table 6 Parameters in BPR function by Link Class

Link Class Frequency

Freeway, Expressway & Ramps 62,345 0.70 8

Arterial 96,477 0.55 6

Centroid Connectors 6,592 0 0

Others* 1,736 0.15 4

Total 167,150 -- -- * “Others” represent non-vehicle links but we still define them as a link class for consistency and use default and values for those links

4.4 LINK RESTRICTION As mentioned earlier, a number of links are restricted to some user classes.

For example, truck drivers can’t drive on truck-prohibited lanes; SOV drivers can’t drive on HOV lanes. In some cases, link restrictions change over daily time periods. Sometimes, links are restricted during off-peak period but released in peak period. Table 3.3 lists 5 link groups and the total number of links in each group by four time periods. Link Group 1 and 2 represent non-highway (e.g. rail-exclusive links) and vehicle-restricted highway links, which are always restricted to all highway user classes. Link Group 3, 4 and 5 represent truck-prohibited links, HOV2 only links and HOV3+ only links, respectively. Figure 4 highlights the positions of truck-prohibited links. As shown, most of them are located in the region of Washington, D.C. Those links represent some lanes or roadway segments on MD 295, George Washington Memorial Parkway, Arlington Blvd. in Washington, D.C. and Charles Street in Baltimore. Figure 5 shows the positions of HOV-2 only and HOV3+ only lanes during peak periods, which include I-95 HOV lanes, I-66 HOV lane, I-270 HOV lanes and some ramps on VA-267.

Page 27: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

Accelerated Highway Traffic Assignment Procedure for Maryland Statewide Transportation Model NCSGRE March 2010 Page 26

Table 7 Restricted Link Numbers by Time-of-day

Link Group by Time Period AM PM MD NT

Link Group 1

(non-highway links) 1082 1082 1082 1082

Link Group 2

(vehicle-restricted links) 1881 1885 1914 1914

Link Group 3

(truck-prohibited links) 660 660 690 690

Link Group 4

(HOV2 only links) 156 154 0 0

Link Group 5

(HOV3+ only links) 73 71 0 0

Figure 4 Truck-prohibited Links in AM peak period

Figure 5 HOV or HOV-2+ Links in AM or PM peak period

Page 28: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

Accelerated Highway Traffic Assignment Procedure for Maryland Statewide Transportation Model NCSGRE March 2010 Page 27

5 METHODOLOGY TO ACCERELATE ASSIGNMENT

PROCEDURE

5.1 LINK RESTRICTION AND COST BY USER CLASSES Table 8 summarizes the definition of 20 user classes and their specific link

restriction and link cost. As mentioned earlier, the initial 15 user classes are 3 types of auto users by 5 income categories. Due to their different values on toll charge, link cost of 5 income categories will be differentiated into “costa”, “costb”, “costc”, “costd” and “coste”, whose values range from the highest to the lowest. However, the difference only occurs on toll links while non-toll links have the same cost for all user classes. All the commercial vehicles, trucks and regional autos’ link costs are considered as the lowest one: “coste” because it is reasonable to assume those users are the least sensitive to toll charge.

As for link restriction, medium trucks (User Class: UC 17), heavy trucks (UC 18) and regional trucks (UC 17) are most restricted user classes since they are not allowed to use either group of links including non-highway links (Link Group: LG 1), vehicle-restricted links (LG 2), truck-prohibited links (LG 3), HOV-2 links (LG 4) and HOV-3+ links (LG 5). SOV users (UC 1-5) and commercial vehicle users (UC 16) are less restricted than truck users since they can use truck-prohibited links (LG 3). HOV2 users (UC 6-10) are more flexible than SOV users (UC 1-5) and commercial vehicle users (UC 16) since HOV2-only lanes (LG 4) are open to them. HOV3+ users (UC 11-15) are the most flexible users because they can use all groups of links except non-highway links (LG 1) and vehicle-restricted links (LG 2). Regional auto drivers (UC 20) are assumed to have the same level of flexibility as HOV3+ drivers (UC 1-15) have. Since auto occupancies are not differentiated for regional autos, all regional auto drivers are assumed to be able to use both kinds of HOV lanes (LG 4 and LG 5). Since the total amount of regional autos is very small relative to local autos, its inaccuracy can be ignored.

5.2 ALTERNATIVE WAYS TO TRANSFER SHORTEST PATHS Since the algorithm for transferring min-path trees only allows one user

class’ shortest paths to another’s when link cost is reduced or link restriction is released on some links. We attempt to use two alternative ways to transfer min-path trees among 20 user classes, which can be illustrated in Figure 6 and 7.

Page 29: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

Accelerated Highway Traffic Assignment Procedure for Maryland Statewide Transportation Model NCSGRE March 2010 Page 28

In the first alternative way, we give priority on cost reduction when transferring min-path trees. As shown in Figure 6, an initial set of min-path tree, denoted as “LG 1-5, costa”, can be generated by the basic “MinPathTree” algorithm with Link Groups 1-5 restricted and “costa” used for link cost. This set of shortest paths is not used by any user classes but serves as a starting point for the whole procedure. After achieving the initial set, we can transfer it to generate two new sets: “LG 1, 2, 4, 5 costa” and “LG 1, 2, 4, 5 coste” by releasing Link Group 3 and reducing cost from “costa” to “coste”, respectively. The number in the arrow indicates that 660 links need to be scanned in the “MinPathTree_Transfer” algorithm for generating the first new set and 64 links of toll roads need to be scanned for generating the second new set. The first new set is used to conduct AON assignment for User Class 1 while the second new set is used for User Class 17, 18 and 19, all of which share the same set of min-path tree.

Page 30: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

Accelerated Highway Traffic Assignment Procedure for Maryland Statewide Transportation Model NCSGRE March 2010 Page 29

Figure 6 The First Alternative Way to Transfer Shortest Paths (With Priority on Cost Reduction)

Figure 4.2 The Second Alternative Way to Transfer Shortest Paths (With Priority on Restriction Release)

Page 31: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

Accelerated Highway Traffic Assignment Procedure for Maryland Statewide Transportation Model NCSGRE March 2010 Page 30

Notes: 1. LG: Link Groups need to be excluded in shortest path generation , 2. UC: User class, 3. The arrow represents the direction of shortest path transfer, 4. The number in the arrow represents the number of links to be scanned in the algorithm to transfer shortest paths (as in AM peak period

Table 8 Link Restriction and Cost by User Classes

User Class ID

User Classes Link Restriction and Cost

1 SOV in income category 1 Excluding Link Group 1, 2, 4, 5; Cost on toll links is the highest, denoted as “costa”

2 SOV in income category 2 Excluding Link Group 1, 2, 4, 5; Cost on toll links is the 2nd highest, denoted as “costb”

3 SOV in income category 3 Excluding Link Group 1, 2, 4, 5; Cost on toll links is the 3rd highest, denoted as “costc”

4 SOV in income category 4 Excluding Link Group 1, 2, 4, 5; Cost on toll links is the 4th highest, denoted as “costd”

5 SOV in income category 5 Excluding Link Group 1, 2, 4, 5; Cost on toll links is the lowest, denoted as “coste”

6 HOV2 in income category 1 Excluding Link Group 1, 2, 5; Cost on toll links is the highest (“costa”)

7 HOV2 in income category 2 Excluding Link Group 1, 2, 5; Cost on toll links is the 2nd highest (“costb”)

8 HOV2 in income category 3 Excluding Link Group 1, 2, 5; Cost on toll links is the 3rd highest (“costc”)

9 HOV2 in income category 4 Excluding Link Group 1, 2, 5; Cost on toll links is the 4th highest (“costd”)

10 HOV2 in income category 5 Excluding Link Group 1, 2, 5; Cost on toll links is the lowest (“coste”)

11 HOV3+ in income category 1 Excluding Link Group 1, 2; Cost on toll links is the highest (“costa”)

12 HOV3+ in income category 2 Excluding Link Group 1, 2; Cost on toll links is the 2nd highest (“costb”)

13 HOV3+ in income category 3 Excluding Link Group 1, 2; Cost on toll links is the 3rd highest (“costc”)

14 HOV3+ in income category 4 Excluding Link Group 1, 2; Cost on toll links is the 4th highest (“costd”)

15 HOV3+ in income category 5 Excluding Link Group 1, 2; Cost on toll links is the lowest (“coste”)

16 Commercial vehicles Excluding Link Group 1, 2, 4, 5; Cost on toll links is the lowest (“coste”)

17 Medium Trucks Excluding Link Group 1-5; Cost on toll links is the lowest (“coste”)

18 Heavy Trucks Excluding Link Group 1-5; Cost on toll links is the lowest (“coste”)

19 Regional Trucks Excluding Link Group 1-5; Cost on toll links is the lowest (“coste”)

20 Regional Autos Excluding Link Group 1, 2; Cost on toll links is the lowest (“coste”)

Next, the set “LG 1, 2, 4, 5 costa” is transferred to generate the set “LG 1, 2, 5 costa” by releasing Link Group 4. Link Group 4 consists of 156 links, all of which need to be scanned in the “MinPathTree_Transfer” algorithm. This set of min-path tree will be used by User Class 6. Then, this set can be further transferred to generate set “LG 1, 2 costa” for User Class 11 by releasing Link Group 5 consisting of 73 links. After achieving the sets “LG 1, 2, 4, 5 costa”, “LG 1, 2, 5 costa” and “LG 1, 2 costa”, we can transfer them to produce all other sets of min-path trees, where link restriction remains the same but link costs are reduced from “costa” “costb” “costc” “costd” “coste”. In each time of transfer, only 64 toll links need to be scanned to examine the potential cost reduction at their tail nodes. Through this procedure, 12 additional sets of min-path trees can be generated for all other user classes. It should be noted that User Class 5 and 16 share the same set: “LG 1, 2, 4, 5,

Page 32: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

Accelerated Highway Traffic Assignment Procedure for Maryland Statewide Transportation Model NCSGRE March 2010 Page 31

coste” and User Class 15 and 20 share another same set: “LG 1, 2, coste”. This is a reasonable and efficient way to transfer and generate min-path trees for all user classes but it is not the unique way.

An alternative way for shortest path generation is to transfer min-path trees with priority on restriction release. Its initial steps are the same as those in the first way but the differences start since the following 4 sets of min-path trees: “LG 1, 2, 4, 5, costb”, “LG 1, 2, 4, 5, costc”, “LG 1, 2, 4, 5, costd” and “LG 1, 2, 4, 5, coste” are obtained. These 4 sets can be transferred to generate the rest 8 sets by sequentially releasing restrictions on Link Group 4 and 5, as shown in Fig. 4.2. One may notice that the total number of links to be scanned in this way is slightly greater than that in the first way. Intuitively, the second alternative way may be less efficient than the first. However, it is not the case in reality. Through comparisons, it is realized that the second alternative with priority on restriction release is about 15% faster than the first alternative in generating the whole set of min-path trees. It indicates that experiments are required to test which transfer direction will lead to a more efficient procedure when alternative transfer directions are available.

5.3 INTEGRATION WITH PREVIOUS MODULES OF MSTM Network data (Link dataset and Node dataset) and Origin-Destination trip

tables are the two major input data of the highway assignment procedure. Because MSTM is currently powered by Cube Voyager, all the input data are stored in its special data format but all these datasets can be exported into standard DBF data files.

The shortest path algorithms and AON assignment algorithm are coded in C programming language to pursue a high level of efficiency. In model implementation, modelers may need to change some link characteristics (e.g. volume-delay function) frequently. It is desirable to use a scripting language (like that in Cube Voyager) to implement the algorithms coded in C language so that modelers can easily make those changes. We choose to use statistical software R to provide such convenience. R is a programming language and software environment for statistical computing and graphics. Although R is mostly used by statisticians, it can also be used as a general matrix calculation toolbox. Its decent GUI (Graphical User Interface) can substantially facilitate the procedure of coding and code modification. R has communication with C programming language through DLL (Dynamic-Link Library) compiled in C

Page 33: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

Accelerated Highway Traffic Assignment Procedure for Maryland Statewide Transportation Model NCSGRE March 2010 Page 32

programming environment. In this study, we compile a DLL in C programming environment that is responsible for generating all sets of min-path trees and conducting AON assignment for all the zones.

DBF files exported from Cube Voyager can be imported into R using its “foreign” library. Then, network data and index table can be generated in R and directly passed to the DLL. Since trip tables take up a large amount of memory, we initially saved them into hard drive in binary format from R and pass file path to the DLL. Then, the DLL can generate min-path trees and conduct AON assignment for all the zones after receiving network data and reading trip tables from hard drive. After the DLL finishes its task, an array storing assigned volume on each link by user classes will be returned to R. Then, the procedures of link cost update, golden search and volume adjustment can be conducted in R. Next, R passes the updated link cost to the DLL to start the next iteration. Iterations will be repeated until the prescribed maximum number of iterations or the convergence criteria is reached. Finally, the outputs on each link, including traffic volumes by user classes, updated congested travel time, VMT, VHT can be saved from R into hard drive in DBF format. The DBF files can be imported and converted into Cube’s “network” format by Cube Voyager so that the link outputs can be visualized in its GIS interface.

5.4 PERFORMANCE EVALUATION To evaluate the performance of the new procedure, we compared it with

the original procedure performed in Cube Voyager, using Cube scripts coded by Parsons Brinckerhoff, Inc., on a personal computer with Intel Duo Core 2.1 GHz processor and 3.00 GB RAM. Since, in the original procedure, 20 sets of shortest paths will be individually generated for each user class, the time consumption is approximately proportional to the number of user classes. We found, for each user class, it averagely takes around 40 seconds to generate shortest paths for all the zones and 1.3 seconds to conduct AON assignment. For 20 user classes (16 sets of shortest paths), Cube Voyager requires about 640 seconds to generate shortest paths and 26 seconds to conduct AON assignment. In addition to about 15 seconds for volume adjustment, the total time consumption for each iteration is about 681 seconds in Cube Voyager.

Page 34: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

Accelerated Highway Traffic Assignment Procedure for Maryland Statewide Transportation Model NCSGRE March 2010 Page 33

In the new procedure, since min-path trees can be transferred from one user class to another and need not be generated from the beginning, only 75 seconds are required to generate min-path trees for all user classes. Within these 75 seconds, 40 seconds are used to generate the initial set of min-path tree which is not used by any user classes and the rest 35 seconds are spent on transferring and generating the rest sets of min-path trees. On average, it takes only 2.2 seconds to generate each set of min-path tree, which is about 18 times faster than the conventional procedure. However, since the time needed for AON assignment and adjustment in the new procedure does not differ from that in the conventional procedure, it takes about 116 seconds (75+26+15) to complete one iteration within the new procedure. Finally, it turns out that the new procedure aids in speeding up the highway assignment procedure 5.87 (681/116) times.

Figure 8 Convergence of Highway Assignment by Time-of-Day

Table 9 shows total trips from trip tables and assigned trips with exclusion of intrazonal trips by user classes. The assigned trips take account of 63.9% ~ 76.8% of total trips for four time periods. All these results exactly match those from Cube Voyager. Fig. 8 shows the convergence of highway assignment procedure by four time-of-day periods. Since PM peak period is the most congested time period, it requires 54 iterations to reach relative gap at 0.01. AM peak is the second congested period and 29 iterations are undertaken to reach that level of convergence. Midday and night periods are much less

Page 35: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

Accelerated Highway Traffic Assignment Procedure for Maryland Statewide Transportation Model NCSGRE March 2010 Page 34

congested than peak periods so only 8 and 3 iterations are needed to reach the same level of convergence. In total, 94 iterations are needed to make four time periods reach acceptable convergence status. The total time assumption is around 3 hours (116 seconds 94/3600 seconds).

Page 36: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

Accelerated Highway Traffic Assignment Procedure for Maryland Statewide Transportation Model NCSGRE March 2010 Page 35

Table 9 Total and Assigned Trips by User Class and Time-of-Day

Time Period AM Peak PM Peak Midday Night

User Class ID User Class Name Total Trips Assigned Total Trips Assigned Total Trips Assigned Total Trips Assigned

1 SOV_INC1 186,804 119,740 276,581 168,516 339,422 189,149 256,999 146,138

2 SOV_INC2 417,072 312,460 573,904 417,668 638,496 440,612 516,381 364,122

3 SOV_INC3 890,666 666,086 1,636,888 1,186,234 2,957,373 1,768,321 1,101,395 783,334

4 SOV_INC4 831,219 702,703 1,084,689 881,282 1,094,730 810,976 925,677 708,744

5 SOV_INC5 645,111 563,123 848,084 715,844 871,674 684,925 734,527 594,545

6 HOV2_INC1 43,978 24,829 79,544 43,975 124,067 66,339 86,958 46,028

7 HOV2_INC2 101,566 71,907 176,576 122,218 268,793 181,823 194,260 132,529

8 HOV2_INC3 186,440 129,868 450,139 306,747 1,084,215 687,846 405,412 273,324

9 HOV2_INC4 138,847 103,441 227,562 164,806 334,033 232,458 254,391 177,778

10 HOV2_INC5 110,106 88,043 180,122 140,345 265,482 200,689 203,702 155,618

11 HOV3+_INC1 17,749 10,032 31,486 17,447 49,626 26,520 36,264 19,124

12 HOV3+_INC2 29,255 21,595 48,586 34,935 73,397 51,218 56,465 39,790

13 HOV3+_INC3 70,052 50,616 163,827 115,378 402,798 267,409 158,922 110,673

14 HOV3+_INC4 68,242 50,600 113,426 82,510 172,638 122,061 133,710 94,516

15 HOV3+_INC5 55,697 45,205 91,647 72,835 138,424 107,423 108,006 84,522

16 Commercial Vehicles 368,410 368,410 334,654 334,654 929,486 929,486 0 0

17 Medium Trucks 85,644 85,644 77,797 77,796 216,076 216,076 124,804 124,804

18 Heavy Trucks 98,328 98,328 89,319 89,319 248,079 248,079 143,289 143,289

19 Regional Trucks 401,018 125,625 401,018 125,625 802,037 251,251 1,604,074 502,502

20 Regional Autos 23,767 23,767 536,865 536,865 0 0 0 0

Total 4,769,974 3,662,023 7,422,715 5,635,000 11,010,847 7,482,661 7,045,236 4,501,382

Percent -- 76.8% -- 75.9% -- 68.0% -- 63.9%

Page 37: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

6 CONCULSIONS AND DISCUSSIONS

In this study, we succeeded in applying a novel algorithm proposed by Dial (2006a) into MSTM’s multi-class transportation network and accelerating the procedure of highway assignment by more than 7 times, relative to the original procedure implemented in Cube Voyager. This application validates the conjecture in the original paper: “Test results using synthetic data suggest that its application to real networks should experience speedups of at least a factor of 2.0 and perhaps beyond 5.0.”

It will be promising to employ parallel computing technology to evenly distribute the assignment task with respect to more than 1,700 zones to each processor of a Quad-Core computer. With this treatment, the speed of traffic assignment can be further enhanced by almost 4 times. Currently, we can accomplish MSTM’s highway assignment procedure, associated with 20 user classes over 4 time periods, for base year within 3 hours through a single thread. If parallel computing technology is employed, we may expect to accomplish this task within 1 hour on a quad-core computer. The effort undertaken in the study does not only substantially improve the efficiency of MSTM but also enables modelers to pursue a more comprehensive and sophisticated modeling framework (e.g. adding interactive loops between land use and transportation models; assignment on hourly basis) which can be implemented within a reasonable time budget.

Finally, limitations of this novel algorithm need to be discussed. We consider this algorithm can’t be used to efficiently transfer min-path trees from one user class to another if cost reduction occurs on a large number of links. That is because many links probably result in many nodes placed into the queue. “QuickSort” algorithm needs to be employed to sort the queue according to nodes’ potential values. It is well known that “QuickSort” algorithm has average complexity as O[Nlog(N)], while the basic algorithm to generate min-path tree is approximately an O[N] algorithm in practice. Consequently, as long as the number of nodes in the queue reaches a certain threshold, the sorting procedure may need longer time than generating the min-path tree from the beginning. In that case, it will be worthless to use this algorithm to transfer min-path trees. The threshold should vary case by case so experiments need to be conducted to realize whether this algorithm can improve the efficiency on different networks.

Page 38: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

Accelerated Highway Traffic Assignment Procedure for Maryland Statewide Transportation Model NCSGRE March 2010 Page 2

7 REFERENCES

Ahuja, R. K., T. L. Magnanti and J.B. Orlin (1993). Network Flows: Theory, Algorithms and Applications, Prentice Hall, Englewood Cliffs, NJ.

Bar-Gera, H. (2002). Origin-based Algorithm for the Traffic Assignment Problem, Transportation Science, 36(4), pp. 398-417.

Bureau of Public Roads (1964). Traffic Assignment Manual. U.S. Department of Commerce, Urban Planning Division, Washington D.C.

Dial, R.B. (1971). A Probabilistic Multipath Traffic Assignment Model Which Obviates Path Enumeration, Transportation Research, 5, pp. 83-113.

Dial, R.B. (2006a). An Efficient Algorithm for Building Min-path Trees for All Origins in a Multi-class Network. Transportation Research Part B, 40, pp. 851–856.

Dial, R.B. (2006b). A Path-based User-equilibrium Traffic Assignment Algorithm that Obviates Path Storage and Enumeration. Transportation Research Part B, 40, pp. 917–936.

Frank M. and P. Wolfe (1956). An Algorithm for Quadratic Programming, Naval Research Logistics Quarterly, 3, pp. 95-110.

Hoare, C.A.R. (1961). Algorithm 61 (Partition) and Algorithm 65 (Find). Communications of the ACM 4 (7), 321-322.

LeBanc, L.J. (1973). Mathematical Programming Algorithms for Large Scale Network Equilibrium and Network Design Problems, Ph.D. Dissertation, Department of Industrial Engineering and Management Sciences, Northwestern University, Evanston, IL.

Nguyen, S. (1973). A Mathematical Programming Approach to Equilibrium Methods of Traffic Assignment with Fixed Demands, Publication 138, University of Montreal.

Pallottino, S. (1984). Shortest-Path Methods: Complexity, Interrelations, and New Propositions, Networks, 14, pp. 257–267.

Page 39: Accelerated Highway Traffic Assignment Procedure · PDF fileAccelerated Highway Traffic Assignment Procedure Maryland Statewide Transportation Model Prepared by: The National Center

Accelerated Highway Traffic Assignment Procedure for Maryland Statewide Transportation Model NCSGRE March 2010 Page 3

Parsons Brinckerhoff (2008). MSTM Model Networks Development, Draft Report v1.0, SHA, MSTM Task 4 deliverable, forthcoming.

Pape, U. (1974). Implementation and Efficiency of Moore Algorithms for the Shortest Root Problem. Mathametical Program, 7, pp. 212–222.

Wardrop, J. (1952). Some Theoretical Aspects of Road Traffic Research. Proceedings of the Institution of Civil Engineers, Part 2, pp. 325–378.