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.
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.
| Zones | 1 | 2 | … | \(j\) | … | \(n\) | Productions |
| 1 | \(T_{11}\) | \(T_{12}\) | … | \(T_{1j}\) | … | \(T_{1n}\) | \(O_1\) |
| 2 | \(T_{21}\) | \(T_{22}\) | … | \(T_{2j}\) | … | \(T_{2n}\) | \(O_2\) |
| | … | … | … | … | … | … | |
| \(T_{i1}\) | \(T_{i2}\) | … | \(T_{ij}\) | … | \(T_{in}\) | \(O_i\) | |
| | … | … | … | … | … | … | |
| \(n\) | \(T_{ni}\) | \(T_{n2}\) | … | \(T_{nj}\) | … | \(T_{nn}\) | \(O_n\) |
| Attractions | \(D_1\) | \(D_2\) | … | \(D_j\) | … | \(D_n\) | \(T\) |
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.
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 {equation} 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 {equation} 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.
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 {equation} T_{ij} = f\times t_{ij} \end {equation} 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.
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 |
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 {equation} T_{ij} = t_{ij}\times a_i\times b_j \end {equation}
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:
Here the error is calculated as: \(E= \sum {|O_i - O_i^1|}+\sum {|D_j - D_j^1|}\) 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.
The advantages of this method are:
The limitations are:
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 {|O_i - O_i^1|} +\sum {|D_j - d_j|}\)
Error = \(|98.18-98|+|105.93-106|+|121.67-122|+|102.36-102|+|117.74-118|+|105.68-106| = 1.32\)
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:
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 {equation} \sum _{i}{T_{ij}} = \sum _{i}{A_i O_i B_j D_j f(c_{ij})} \end {equation} But \begin {equation} \sum _{i}{T_{ij}} = D_j \end {equation} Therefore, \begin {equation} D_j = B_j D_j\sum _{i}{A_i O_i f(c_{ij})} \end {equation} From this we can find the balancing factor \(B_j\) as \begin {equation} B_j = \frac {1}{{\sum _{i}{A_i O_i f(c_{ij})}}} \label {qebj} \end {equation} \(B_j\) depends on \(A_i\) which can be found out by the following equation: \begin {equation} A_i = \frac {1}{{\sum _{j}{B_j D_j f(c_{ij})}}} \label {qeai} \end {equation} 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:
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 {equation} \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 {equation}
Solution The first step is given in Table 1
| \(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.
| \(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 {equation} \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 {equation} Then \(T_{ij}\) can be computed using the formula \begin {equation} T_{ij} = A_i O_i B_j D_jf(c_{ij}) \end {equation} 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.
| 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 {|O_i - O_i^1|} +\sum {|D_j - D_j^1|}\) \(Error = |98-98.407|+|106-105.19|+|122-122.489|+||102 - 102.11|+|118-117.989|+|106-105.987|=2.03\)
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.
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}}}\)
Compute the trip matrix using doubly constrained gravity model. Provide one complete iteration.
Solution The first step is given in Table 4
| \(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.
| \(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 {equation} \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 {equation} Then \(T_{ij}\) can be computed using the formula \begin {equation} T_{ij} = A_i O_i B_j D_jf(c_{ij}) \end {equation} 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
| 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 {|O_i - O_i^1|} +\sum {|D_j - D_j^1|}\) \(Error = |110-109.57|+|122-121.17|+|114-115|+|120-119.876+|108-107.95|+|118-117.92|=2.515\)
I wish to thank several of my students and staff of NPTEL for their contribution in this lecture. I also appreciate your constructive feedback which may be sent to tvm@civil.iitb.ac.in. Prof. Tom V. Mathew, Department of Civil engineering, Indian Instiute of Technology Bombay, India.