Trip Distribution

Lecture notes in Transportation Systems Engineering

August 10, 2011

Overview

The decision to travel for a given purpose is called trip generation. These generated trips from each zone is then distributed to all other zones based on the choice of destination. This is called trip distribution which forms the second stage of travel demand modeling. There are a number of methods to distribute trips among destinations; and two such methods are growth factor model and gravity model. Growth factor model is a method which respond only to relative growth rates at origins and destinations and this is suitable for short-term trend extrapolation. In gravity model, we start from assumptions about trip making behavior and the way it is influenced by external factors. An important aspect of the use of gravity models is their calibration, that is the task of fixing their parameters so that the base year travel pattern is well represented by the model.

Definitions and notations

Trip matrix

The trip pattern in a study area can be represented by means of a trip matrix or origin-destination (O-D)matrix. This is a two dimensional array of cells where rows and columns represent each of the zones in the study area. The notation of the trip matrix is given in figure 1.

Figure 1: Notation of an origin-destination trip matrix
\begin{figure}\begin{center}
\begin{tabular}{\vert c\vert c c c c c c \vert c\ve...
...j}}$, $O_i=\sum_j{T_{ij}}$, and $T=\sum_{ij}{T_{ij}}$.\end{center}\end{figure}

The cells of each row $i$ contain the trips originating in that zone which have as destinations the zones in the corresponding columns. $T_{ij}$ is the number of trips between origin $i$ and destination $j$. $O_i$ is the total number of trips between originating in zone $i$ and $D_j$ is the total number of trips attracted to zone $j$. The sum of the trips in a row should be equal to the total number of trips emanating from that zone. The sum of the trips in a column is the number of trips attracted to that zone. These two constraints can be represented as: $\sum_j{T_{ij}} = O_i$ $\sum_i{T_{ij}} = D_j$ If reliable information is available to estimate both $O_i$ and $D_j$, the model is said to be doubly constrained. In some cases, there will be information about only one of these constraints, the model is called singly constrained.

Generalized cost

One of the factors that influences trip distribution is the relative travel cost between two zones. This cost element may be considered in terms of distance, time or money units. It is often convenient to use a measure combining all the main attributes related to the dis-utility of a journey and this is normally referred to as the generalized cost of travel. This can be represented as
\begin{displaymath}
c_{ij}=a_1 t^{v}_{ij} + a_2 t^{w}_{ij} + a_3 t^{t}_{ij} + a_4 F_{ij} + a_5 \phi_j + \delta
\end{displaymath} (1)

where $t^v_{ij}$ is the in-vehicle travel time between $i$ and $j$, $t^w_{ij}$ is the walking time to and from stops, $t^t_{ij}$ is the waiting time at stops, $F_{ij}$ is the fare charged to travel between $i$ and $j$, $\phi_j$ is the parking cost at the destination, and $\delta$ is a parameter representing comfort and convenience, and $a_1$, $a_2$, .... are the weights attached to each element of the cost function.

Growth factor methods

Uniform growth factor

If the only information available is about a general growth rate for the whole of the study area, then we can only assume that it will apply to each cell in the matrix, that is a uniform growth rate. The equation can be written as:
\begin{displaymath}
T_{ij} = f\times t_{ij}
\end{displaymath} (2)

where $f$ is the uniform growth factor $t_{ij}$ is the previous total number of trips, $T_{ij}$ is the expanded total number of trips. Advantages are that they are simple to understand, and they are useful for short-term planning. Limitation is that the same growth factor is assumed for all zones as well as attractions.

Example

Trips originating from zone 1, 2, and 3 of a study area are 78, 92 and 82 respectively and those terminating at zones 1, 2, and 3 are given as 88, 96 and 78 respectively. If the growth factor is 1.3 and the base year trip matrix is as given below, find the expanded origin-constrained growth trip table.
  1 2 3 $o_i$
1 20 30 28 78
2 36 32 24 92
3 22 34 26 82
$d_j$ 88 96 78 252

Solution

Given growth factor = 1.3, Therefore, multiplying the growth factor with each of the cells in the matrix gives the solution as shown below.
  1 2 3 $O_i$
1 26 39 36.4 101.4
2 46.8 41.6 31.2 119.6
3 28.6 44.2 33.8 106.2
$D_j$ 101.4 124.8 101.4 327.6

Doubly constrained growth factor model

When information is available on the growth in the number of trips originating and terminating in each zone, we know that there will be different growth rates for trips in and out of each zone and consequently having two sets of growth factors for each zone. This implies that there are two constraints for that model and such a model is called doubly constrained growth factor model. One of the methods of solving such a model is given by Furness who introduced balancing factors $a_i$ and $b_j$ as follows:
\begin{displaymath}
T_{ij} = t_{ij}\times a_i\times b_j
\end{displaymath} (3)

In such cases, a set of intermediate correction coefficients are calculated which are then appropriately applied to cell entries in each row or column. After applying these corrections to say each row, totals for each column are calculated and compared with the target values. If the differences are significant, correction coefficients are calculated and applied as necessary. The procedure is given below:

  1. Set $b_j$ = 1
  2. With $b_j$ solve for $a_i$ to satisfy trip generation constraint.
  3. With $a_i$ solve for $b_j$ to satisfy trip attraction constraint.
  4. Update matrix and check for errors.
  5. Repeat steps 2 and 3 till convergence.
Here the error is calculated as: $E= \sum{\vert O_i - O_i^1\vert}+\sum{\vert D_j - D_j^1\vert}$ where $O_i$ corresponds to the actual productions from zone $i$ and $O_i^1$ is the calculated productions from that zone. Similarly $D_j$ are the actual attractions from the zone $j$ and $D_j^1$ are the calculated attractions from that zone.

Advantages and limitations of growth factor model

The advantages of this method are:
  1. Simple to understand.
  2. Preserve observed trip pattern.
  3. Useful in short term-planning.
The limitations are:
  1. Depends heavily on the observed trip pattern.
  2. It cannot explain unobserved trips.
  3. Do not consider changes in travel cost.
  4. Not suitable for policy studies like introduction of a mode.

Example

The base year trip matrix for a study area consisting of three zones is given below.
  1 2 3 $o_i$
1 20 30 28 78
2 36 32 24 92
3 22 34 26 82
$d_j$ 88 96 78 252
The productions from the zone 1,2 and 3 for the horizon year is expected to grow to 98, 106, and 122 respectively. The attractions from these zones are expected to increase to 102, 118, 106 respectively. Compute the trip matrix for the horizon year using doubly constrained growth factor model using Furness method.

Solution

The sum of the attractions in the horizon year, i.e. $\sum{O_i}$ = 98+106+122 = 326. The sum of the productions in the horizon year, i.e. $\sum{D_j}$ = 102+118+106 = 326. They both are found to be equal. Therefore we can proceed. The first step is to fix $b_j=1$, and find balancing factor $a_i$. $a_i = O_i/o_i$, then find $T_{ij}=a_i\times t_{ij}$

So $a_1 = 98/78 = 1.26$

$a_2 = 106/92 = 1.15$

$a_3 = 122/82 = 1.49$ Further $T_{11} = t_{11} \times a_1 = 20 \times 1.26= 25.2$. Similarly $T_{12}
= t_{12} \times a_2 = 36 \times 1.15 = 41.4$. etc. Multiplying $a_1$ with the first row of the matrix, $a_2$ with the second row and so on, matrix obtained is as shown below.

  1 2 3 $o_i$
1 25.2 37.8 35.28 98
2 41.4 36.8 27.6 106
3 32.78 50.66 38.74 122
$d_j^1$ 99.38 125.26 101.62  
$D_j$ 102 118 106  
Also $d_j^1=25.2+41.4+32.78=99.38$

In the second step, find $b_j$ = $D_j$/$d_j^1$ and $T_{ij}=t_{ij} \times b_j$. For example $b_1 = 102/99.38 = 1.03$, $b_2 = 118/125.26 = 0.94$ etc., $T_{11} =
t_11 \times b_1 = 25.2 \times 1.03 = 25.96 $ etc. Also $O_i^1 = 25.96+35.53+36.69 = 98.18$. The matrix is as shown below:

  1 2 3 $o_i$ $O_i$
1 25.96 35.53 36.69 98.18 98
2 42.64 34.59 28.70 105.93 106
3 33.76 47.62 40.29 121.67 122
$b_j$ 1.03 0.94 1.04    
$D_j$ 102 118 106    
  1 2 3 $O_i^1$ $O_i$
1 25.96 35.53 36.69 98.18 98
2 42.64 34.59 28.70 105.93 106
3 33.76 47.62 40.29 121.67 122
$d_j$ 102.36 117.74 105.68 325.78  
$D_j$ 102 118 106 326  
Therefore error can be computed as ; $Error = \sum{\vert O_i - O_i^1\vert} +\sum{\vert D_j - d_j\vert}$

Error = $\vert 98.18-98\vert+\vert 105.93-106\vert+\vert 121.67-122\vert+\vert 102.36-102\vert+\vert 117.74-118\vert+\vert 105.68-106\vert =
1.32$

Gravity model

This model originally generated from an analogy with Newton's gravitational law. Newton's gravitational law says, $F = G M_1 M_2 / d_2$ Analogous to this, $T_{ij} = C O_i D_j / c_{ij}^n$ Introducing some balancing factors, $T_{ij} = A_i O_i B_j D_j f(c_{ij})$ where $A_i$ and $B_j$ are the balancing factors, $f(c_{ij})$ is the generalized function of the travel cost. This function is called deterrence function because it represents the disincentive to travel as distance (time) or cost increases. Some of the versions of this function are:

\begin{eqnarray*}
f(c_{ij}) &=& e^{-\beta{c_{ij}}}\\
f(c_{ij}) &=& c_{ij}^{-n}\\
f(c_{ij}) &=& c_{ij}^{-n} \times e^{-\beta{c_{ij}}}
\end{eqnarray*}

The first equation is called the exponential function, second one is called power function where as the third one is a combination of exponential and power function. The general form of these functions for different values of their parameters is as shown in figure.

As in the growth factor model, here also we have singly and doubly constrained models. The expression $T_{ij} = A_i O_i B_j D_j f(c_{ij})$ is the classical version of the doubly constrained model. Singly constrained versions can be produced by making one set of balancing factors $A_i$ or $B_j$ equal to one. Therefore we can treat singly constrained model as a special case which can be derived from doubly constrained models. Hence we will limit our discussion to doubly constrained models.

As seen earlier, the model has the functional form, $T_{ij} = A_i O_i B_j D_j f(c_{ij})$

\begin{displaymath}
\sum_{i}{T_{ij}} = \sum_{i}{A_i O_i B_j D_j f(c_{ij})}
\end{displaymath} (4)

But
\begin{displaymath}
\sum_{i}{T_{ij}} = D_j
\end{displaymath} (5)

Therefore,
\begin{displaymath}
D_j = B_j D_j\sum_{i}{A_i O_i f(c_{ij})}
\end{displaymath} (6)

From this we can find the balancing factor $B_j$ as
\begin{displaymath}
B_j = \frac{1}{{\sum_{i}{A_i O_i f(c_{ij})}}}
\end{displaymath} (7)

$B_j$ depends on $A_i$ which can be found out by the following equation:
\begin{displaymath}
A_i = \frac{1}{{\sum_{j}{B_j D_j f(c_{ij})}}}
\end{displaymath} (8)

We can see that both $A_i$ and $B_j$ are interdependent. Therefore, through some iteration procedure similar to that of Furness method, the problem can be solved. The procedure is discussed below:
  1. Set $B_j$ = 1, find $A_i$ using equation 8
  2. Find $B_j$ using equation 7
  3. Compute the error as $E= \sum{\vert O_i - O_i^1\vert}+\sum{\vert D_j - D_j^1\vert}$ where $O_i$ corresponds to the actual productions from zone $i$ and $O_i^1$ is the calculated productions from that zone. Similarly $D_j$ are the actual attractions from the zone $j$ and $D_j^1$ are the calculated attractions from that zone.
  4. Again set $B_j$ = 1 and find $A_i$, also find $B_j$. Repeat these steps until the convergence is achieved.

Example

The productions from zone 1, 2 and 3 are 98, 106, 122 and attractions to zone 1,2 and 3 are 102, 118, 106. The function $f(c_{ij})$ is defined as $f(c_{ij}) = 1/{c_{ij}^2}$ The cost matrix is as shown below
\begin{displaymath}
\left[ \begin{array}{ccc}
1.0&1.2&1.8 \\
1.2&1.0&1.5 \\
1.8&1.5&1.0 \\
\end{array} \right]
\end{displaymath} (9)

Solution

The first step is given in Table 1
Table 1: Step1: Computation of parameter $A_i$
$i$ $j$ $B_j$ $D_J$ $f(c_{ij})$ ${B_j D_j f(c_{ij})}$ $\termx $ $A_i=\frac{1}{\termx }$
  1 1.0 102 1.0 102.00    
1 2 1.0 118 0.69 81.42 216.28 0.00462
  3 1.0 106 0.31 32.86    
  1 1.0 102 0.69 70.38    
2 2 1.0 118 1.0 118 235.02 0.00425
  3 1.0 106 0.44 46.64    
  1 1.0 102 0.31 31.62    
3 2 1.0 118 0.44 51.92 189.54 0.00527
  3 1.0 106 1.00 106    
The second step is to find $B_j$. This can be found out as $B_j = 1/{\sum{A_i O_i f(c_{ij})}}$, where $A_i$ is obtained from the previous step. The detailed computation is given in Table 2.
Table 2: Step2: Computation of parameter $B_j$
$j$ $i$ $A_i$ $O_i$ $f(c_{ij})$ ${A_i O_i f(c_{ij})}$ $\sum{A_i O_i f(c_{ij})}$ $B_j = 1/{\sum{A_i O_i f(c_{ij})}}$
  1 0.00462 98 1.0 0.4523    
1 2 0.00425 106 0.694 0.3117 0.9618 1.0397
  3 0.00527 122 0.308 0.1978    
  1 0.00462 98 0.69 0.3124    
2 2 0.00425 106 1.0 0.4505 1.0458 0.9562
  3 0.00527 122 0.44 0.2829    
  1 0.00462 98 0.31 0.1404    
3 2 0.00425 106 0.44 0.1982 0.9815 1.0188
  3 0.00527 122 1.00 0.6429    
The function $f(c_{ij})$ can be written in the matrix form as:
\begin{displaymath}
\left[ \begin{array}{ccc} 1.0&0.69&0.31 \\
0.69&1.0&0.44 \\
0.31&0.44&1.0 \\
\end{array} \right]
\end{displaymath} (10)

Then $T_{ij}$ can be computed using the formula
\begin{displaymath}
T_{ij} = A_i O_i B_j D_jf(c_{ij})
\end{displaymath} (11)

For eg, $T_{11} = 102\times 1.0397\times 0.00462 \times 98 \times 1 = 48.01$. $O_i$ is the actual productions from the zone and $O_i^1$ is the computed ones. Similar is the case with attractions also. The results are shown in table 3.

Table 3: Step3: Final Table
  1 2 3 $A_i$ $O_i$ $O_i^1$
1 48.01 35.24 15.157 0.00462 98 98.407
2 32.96 50.83 21.40 0.00425 106 105.19
3 21.14 31.919 69.43 0.00527 122 122.489
$B_j$ 1.0397 0.9562 1.0188      
$D_j$ 102 118 106      
$D_j^1$ 102.11 117.989 105.987      
$O_i$ is the actual productions from the zone and $O_i^1$ is the computed ones. Similar is the case with attractions also.

Therefore error can be computed as ; $Error = \sum{\vert O_i - O_i^1\vert} +\sum{\vert D_j - D_j^1\vert}$ $Error = \vert 98-98.407\vert+\vert 106-105.19\vert+\vert 122-122.489\vert+\vert\vert 102 -
102.11\vert+\vert 118-117.989\vert+\vert 106-105.987\vert=2.03$

Summary

The second stage of travel demand modeling is the trip distribution. Trip matrix can be used to represent the trip pattern of a study area. Growth factor methods and gravity model are used for computing the trip matrix. Singly constrained models and doubly constrained growth factor models are discussed. In gravity model, considering singly constrained model as a special case of doubly constrained model, doubly constrained model is explained in detail.

Problems

The trip productions from zones 1, 2 and 3 are 110, 122 and 114 respectively and the trip attractions to these zones are 120,108, and 118 respectively. The cost matrix is given below. The function $f{(c_{ij})}= \frac{{1}}{{c_{ij}}}$

\begin{eqnarray*}
\left[ \begin{array}{ccc} 1.0&1.2&1.8 \\
1.2&1.0&1.5 \\
1.8&1.5&1.0 \\
\end{array} \right]
\end{eqnarray*}

Compute the trip matrix using doubly constrained gravity model. Provide one complete iteration.

Solution

The first step is given in Table 4
Table 4: Step1: Computation of parameter $A_i$
$i$ $j$ $B_j$ $D_J$ $f(c_{ij})$ ${B_j D_j f(c_{ij})}$ $\termx $ $A_i=\frac{1}{\termx }$
  1 1.0 120 1.0 120.00    
1 2 1.0 108 0.833 89.964 275.454 0.00363
  3 1.0 118 0.555 65.49    
  1 1.0 120 0.833 99.96    
2 2 1.0 108 1.0 108 286.66 0.00348
  3 1.0 118 0.667 78.706    
  1 1.0 120 0.555 66.60    
3 2 1.0 108 0.667 72.036 256.636 0.00389
  3 1.0 118 1.00 118    
The second step is to find $B_j$. This can be found out as $B_j = 1/{\sum{A_i O_i f(c_{ij})}}$, where $A_i$ is obtained from the previous step.

Table 5: Step2: Computation of parameter $B_j$
$j$ $i$ $A_i$ $O_i$ $f(c_{ij})$ ${A_i O_i f(c_{ij})}$ $\sum{A_i O_i f(c_{ij})}$ $B_j = 1/{\sum{A_i O_i f(c_{ij})}}$
  1 0.00363 110 1.0 0.3993    
1 2 0.00348 122 0.833 0.3536 0.9994 1.048
  3 0.00389 114 0.555 0.2465    
  1 0.00363 110 0.833 0.3326    
2 2 0.00348 122 1.0 0.4245 1.05 0.9494
  3 0.00389 114 0.667 0.2962    
  1 0.00363 110 0555 0.2216    
3 2 0.00348 122 0.667 0.2832 0.9483 1.054
  3 0.00389 114 1.00 0.44346    
The function $f(c_{ij})$ can be written in the matrix form as:
\begin{displaymath}
\left[ \begin{array}{ccc} 1.0 & 0.833 &0.555 \\
0.833 &1.0 & 0.667 \\
0.555 & 0.667 & 1.0 \\
\end{array} \right]
\end{displaymath} (12)

Then $T_{ij}$ can be computed using the formula
\begin{displaymath}
T_{ij} = A_i O_i B_j D_jf(c_{ij})
\end{displaymath} (13)

For eg, $T_{11} = 102\times 1.0397\times 0.00462 \times 98 \times 1 = 48.01$. $O_i$ is the actual productions from the zone and $O_i^1$ is the computed ones. Similar is the case with attractions also. This step is given in Table 6

Table 6: Step 3: Final Table
  1 2 3 $A_i$ $O_i$ $O_i^1$
1 48.01 34.10 27.56 0.00363 110 109.57
2 42.43 43.53 35.21 0.00348 122 121.17
3 29.53 30.32 55.15 0.00389 114 115
$B_j$ 1.048 0.9494 1.054      
$D_j$ 120 108 118      
$D_j^1$ 119.876 107.95 117.92      
$O_i$ is the actual productions from the zone and $O_i^1$ is the computed ones. Similar is the case with attractions also.

Therefore error can be computed as ; $Error = \sum{\vert O_i - O_i^1\vert} +\sum{\vert D_j - D_j^1\vert}$ $Error =
\vert 110-109.57\vert+\vert 122-121.17\vert+\vert 114-115\vert+\vert 120-119.876+\vert 108-107.95\vert+\vert 118-117.92\vert=2.515$

Bibliography


Prof. Tom V. Mathew 2011-08-10