next up previous
Next: Moving Matrix Data Between Different Up: EMME/2 News 2 March 1987 Previous: EMME/2 Now on the DSI-780

On Algorithms for the Traffic Assignment Problem

Although the linear approximation algorithm for obtaining the solution of the equilibrium traffic assignment problem is known since 1974 and it has been implemented in several codes (EMME/2, as well as the UROAD module of UTPS, among others), there are still other algorithms used to obtain solution to this problem. Some of the more popular are incremental assignment, capacity restraint and the successive average method. The purpose of this note is to show that the results obtained with the latter methods only approximate the solution of the equilibrium traffic assignment problem.

The behavioral assumption of the equilibrium traffic assignment problem is that each user chooses the route that he perceives the best; if there is a shorter route than the one that he is using, he will choose it. This results in flows that satisfy Wardrop's "user optimal" principle, that no user can improve his travel time by changing routes. The consequence is that the equilibrium traffic assignment corresponds to a set of flows such that all paths used between an origin/destination pair are of equal time. We examine next the results produced for a simple example by the linear approximation method, incremental assignment, capacity restraint and the successive average method.

The solution to the equilibrium traffic assignment problem is equivalent to solving a problem where the area under the volume delay curves is minimized. This can be seen intuitively from the little example below.

example1

The linear approximation method has the advantage that at each cycle (iteration), the total area under the volume-delay curves decreases and a measure of the difference between the current flows and the equilibrium flows can easily be estimated. It has the following general steps:

0 - Initialization

Initial solution tex2html_wrap_inline185 is obtained by all-or-nothing assignment of demand g on shortest paths computed with arc costs tex2html_wrap_inline187 :=s(0), i:=0.

1 - Update Link Costs
i:=i+1; tex2html_wrap_inline189 :=s( tex2html_wrap_inline191 ).

2 - Descent Direction
tex2html_wrap_inline193 : all-or-nothing assignment of demand g on shortest path computed with arc costs tex2html_wrap_inline189 .

3 - Compute Optimal Step Size
tex2html_wrap_inline197 : tex2html_wrap_inline199 for which the area under the volume-delay curves is minimized for the flow tex2html_wrap_inline191 + tex2html_wrap_inline199 ( tex2html_wrap_inline193 - tex2html_wrap_inline191 ), 0<= tex2html_wrap_inline199 <=1.

4 - Update Link Flows
tex2html_wrap_inline215 := tex2html_wrap_inline191 + tex2html_wrap_inline197 ( tex2html_wrap_inline193 - tex2html_wrap_inline191 ).

5 - Stopping Criterion
If | tex2html_wrap_inline189 tex2html_wrap_inline191 - tex2html_wrap_inline189 tex2html_wrap_inline193 | > tex2html_wrap_inline233 return to step 1 (total travel time still significantly different from total travel time on shortest paths), otherwise tex2html_wrap_inline235 := tex2html_wrap_inline215 , tex2html_wrap_inline239 :=s( tex2html_wrap_inline215 ) and STOP.

The example considered consists of three links with the travel time functions shown below. The demand is 1000 trips from P to Q.

example2

tex2html_wrap_inline245
tex2html_wrap_inline247
tex2html_wrap_inline249

The results obtained after the first nine iterations of the linear approximation method, as well as the optimal solution, where all paths used are of equal length are given in the table below.

Iteration i tex2html_wrap_inline253 tex2html_wrap_inline255 tex2html_wrap_inline257 tex2html_wrap_inline259 tex2html_wrap_inline261 tex2html_wrap_inline263 F( tex2html_wrap_inline215 ) tex2html_wrap_inline197
010.0020.0025.001000001975001.00000
1947.5020.0025.004035970197400.59654
234.8434.8425.00338500161189990.16113
322.3027.3525.31362483155189450.03555
426.0926.3625.27355473173189360.02040
524.8225.8625.41359469171189340.00719
625.6125.6925.40357467176189330.00536
725.2825.5725.44359466175189330.00200
825.5025.5225.44358465177189330.00156
925.4025.4925.45358465177189330.00059
Opt.Sol.25.4625.4625.46358465177189330.00000

The figures under the column indicated F(v) give the area under the volume-delay curves which is minimized where the flows are so-called "equilibrium" flows and all the paths used are of equal length.

The incremental method proceeds through the following general steps:

0 - Initialization

Define number of increments N, tex2html_wrap_inline185 :=0; i:=0.

1 - Update Link Costs

i:=i+1; tex2html_wrap_inline189 :=s( tex2html_wrap_inline191 ).

2 - Load Increment of Demand

tex2html_wrap_inline193 : all-or-nothing assignment of demand g/N on shortest path computed with arc costs tex2html_wrap_inline189 .

3 - Update Link Flows

tex2html_wrap_inline215 := tex2html_wrap_inline191 + tex2html_wrap_inline193 .

4 - Stopping Criterion

If i<N return to step 1, otherwise tex2html_wrap_inline235 := tex2html_wrap_inline215 , tex2html_wrap_inline239 :=s( tex2html_wrap_inline215 ) and STOP.

The results obtained with the incremental assignment method where N is chosen to be 10 are given in the table below.

Iteration i tex2html_wrap_inline253 tex2html_wrap_inline255 tex2html_wrap_inline257 tex2html_wrap_inline259 tex2html_wrap_inline261 tex2html_wrap_inline263 F( tex2html_wrap_inline215 )
110.0020.0025.00100001002
210.0920.0025.00200002060
311.5020.0025.00300003456
417.5920.0025.00400005920
534.0020.0025.0040010007920
634.0020.0125.0040020009928
734.0020.1925.00400300011977
834.0020.9525.00400400014160
934.0023.0025.00400500016652
1034.0027.3225.0040050010019153
Solution34.0027.3225.0540050010019153

It is easy to see that the flows resemble those obtained with the linear approximation method but the times are not equal on all the used links. Since the method is heuristic, there is no reason to anticipate that the flows will satisfy strictly the equilibrium conditions; the fact that the times may be quite different on the paths used makes it impossible to use the travel times for cost benefit analyses.

The capacity restraint method is probably one of the first heuristic methods used for the emulation of equilibrium flows. It proceeds through the following general steps:

0 - Initialization

Define number of iterations N. Initial solution tex2html_wrap_inline309 is obtained by all-or-nothing assignment on shortest paths computed with arc costs tex2html_wrap_inline187 :=s(0); i:=0.

1 - Update Link Costs

i:=i+1; tex2html_wrap_inline189 :=0.75 tex2html_wrap_inline315 +0.25 s( tex2html_wrap_inline317 ).

2 - Load Demand

tex2html_wrap_inline193 : all-or-nothing assignment on shortest path computed with arc costs tex2html_wrap_inline189 .

3 - Stopping Criterion

If i<N return to step 1, otherwise tex2html_wrap_inline235 := tex2html_wrap_inline325 , tex2html_wrap_inline239 :=s( tex2html_wrap_inline235 ) and STOP.

As can be seen in the table of results below, this method produces flows which are quite different than the equilibrium flows.

Iterationi tex2html_wrap_inline253 tex2html_wrap_inline255 tex2html_wrap_inline257 tex2html_wrap_inline339 tex2html_wrap_inline341 tex2html_wrap_inline343 F( tex2html_wrap_inline215 )
010.0020.0025.00100000-
1244.3820.0025.00010000-
2185.7949.3025.00001000-
3141.8441.98140.74010000-
4108.8865.79111.81010000-
584.1683.6490.11010000-
665.6297.0373.83100000-
7286.0977.7761.62001000-
8217.0763.33168.21010000-
9165.3081.80132.41010000-
10126.4895.65105.56010000-
Solutions tex2html_wrap_inline347 tex2html_wrap_inline349 tex2html_wrap_inline351 tex2html_wrap_inline353 tex2html_wrap_inline355 tex2html_wrap_inline357
for N=913.6627.3226.8125050025019756
for N=1010.0057.0826.81075025026902

The last method which we will look at is the successive average method which is known to be a convergent method, but the convergence is very slow and there is no reasonable stopping criterion, other than an arbitrary number of iterations. The method resembles the linear approximation method, except that the step size, lambda, is arbitrarily fixed to yield a solution in which each of the all-or-nothing flows yi have the same weight. The general steps of the method are:

0 - Initialization

Define number of iterations N. Initial solution tex2html_wrap_inline185 is obtained by all-or-nothing assignment of demand g on shortest paths computed with arc costs tex2html_wrap_inline187 := s(0), i:=0.

1 - Update Link Costs
i:=i+1; tex2html_wrap_inline189 := s( tex2html_wrap_inline191 ).
2 - All-or-nothing Assignment
tex2html_wrap_inline193 : load demand g on shortest path computed with arc costs tex2html_wrap_inline189 .
3 - Compute Step Size
tex2html_wrap_inline197 := 1/(i+1).
4 - Update Link Flows
tex2html_wrap_inline215 := tex2html_wrap_inline191 + tex2html_wrap_inline197 ( tex2html_wrap_inline193 - tex2html_wrap_inline191 ).
5 - Stopping Criterion
If i<N return to step 1, otherwise tex2html_wrap_inline235 := tex2html_wrap_inline215 , tex2html_wrap_inline239 :=s( tex2html_wrap_inline215 ) and STOP.

Several iterations on this method yields the following results.

Iteration i tex2html_wrap_inline253 tex2html_wrap_inline255 tex2html_wrap_inline257 tex2html_wrap_inline259 tex2html_wrap_inline261 tex2html_wrap_inline263 F( tex2html_wrap_inline215 ) tex2html_wrap_inline197
010.0020.0025.00100000197500
1947.5020.0025.005005000215920.50000
268.5927.3225.00333333333195820.33333
321.5721.4530.72250500250197560.25000
413.6627.3226.81400400200191900.20000
534.0023.0025.74333500167190160.16667
621.5727.3225.36429429143194840.14286
741.6323.9525.19375500125190010.12500
828.5427.3225.11333444222190060.11111
921.5724.5726.13400400200191900.10000
Solution34.0023.0025.7440040020019190

It is easy to see that the method has a tendency to "oscillate" and after nine iterations the flows resemble the equilibrium flows but the times are quite different on the used links.

The conclusion to be drawn from this little exercise is that having many algorithms for the equilibrium traffic assignment is not a blessing. It suffices to have one that is robust and which has good theoretical foundation, good empirical convergence and a good stopping criterion.


next up previous
Next: Moving Matrix Data Between Different Up: EMME/2 News 2 March 1987 Previous: EMME/2 Now on the DSI-780


Heinz Spiess, EMME/2 Support Center, Thu Jun 6 14:03:46 MET DST 1996