Printer Friendly



Traffic management is becoming more and more important with the development of modern society. In [1], a basic dynamic model for congestion status of an intersection was reported by Rahman et al. without any attempt to optimize traffic flow. In order to fully describe the dynamics of urban traffic, in this paper we propose a stochastic model for urban traffic flow from system's point of view [2], [3]. First we consider one intersection and define the dynamics of traffic flow in eight directions, four directions for cross traffic and four for straight traffic. The incoming traffic to each stream is assumed to be a Poisson random process with variable intensity. Each segment of the road where vehicles line up for service is finite. As soon as the segment is partially occupied radio broadcast is made about developing congestion thereby encouraging drivers to choose alternate routes and thereby avoiding congestion. This is used as a control variable. Another control variable is the fraction of time allocated to each stream. The objective is to maximize throughput and minimize possible congestion, delay and service time.


Traffic flow is a stochastic process. In other words, the number of vehicles crossing any intersection over any given interval of time is a random variable. A reasonable mathematical model can be constructed on the basis of counting process, in particular, the well known Poisson process. Here in this section we present one such model. Let ([OMEGA], F, [F.sub.t [greater than or equal to] 0], P) denote a filtered probability space, where [OMEGA] is the sample space, F is the sigma algebra of Borel subsets of the space [OMEGA] and [F.sub.t] [subset] F is a family of nondecreasing subsigma algebras and P is the probability measure.

A stochastic process {[[xi].sub.t] [equivalent to] p(0,t), t [greater than or equal to] 0}, is called a Poisson random process or a counting process giving the number of events over the time period [0, t]. More precisely, for each [omega] [member of] [OMEGA], [p.sub.w] is a set function defined on the sigma algebra of Borel sets in [R.sub.+] [equivalent to] [0, to) and taking values from the set of nonnegative integers N [equivalent to] {0, 1, 2, 3, ...}. For example, the number of cars arriving at the intersection during the time interval ([t.sub.1], [t.sub.2]] giving [p.sub.w] ([t.sub.1], [t.sub.2]] is a random variable.

The process p is called a homogeneous Poisson process if the values of p over disjoint intervals of time are stochastically independent or equivalently the increments of [xi] over disjoint intervals of time are statistically independent and there exists a nonnegative constant [lambda] such that the probability that there are exactly n events over the time period ([t.sub.1], [t.sub.2]] is given by

(2.1) [mathematical expression not reproducible]

The constant [lambda] is called the mean or average number of events per unit time or the frequency of occurrence of events. Indeed the reader can easily verify that the expected value of the random variable [p.sub.[omega]] (([t.sub.1], [t.sub.2]]) is given by

(2.2) [mathematical expression not reproducible]

Throughout the rest of the paper we shall omit the variable [omega].

In the study of urban traffic flow, the mean flow rate is not constant. It varies with time. It is large at the rush hour in the morning when people go to work and again in the evening when they return home. These are the two main peak hours and there is also a moderate peak at lunch hour. So we need a nonhomogeneous Poisson process with time varying mean. Let [[xi].sub.t] [equivalent to] p(0,t) be a nonhomogeneous Poisson process with the mean rate function [lambda](t),t [greater than or equal to] 0. Clearly, this is a nonnegative finite real valued function (deterministic). Then the probability that there are exactly n events during the time interval J [equivalent to] ([t.sub.1], [t.sub.2]] is given by

(2.3) [mathematical expression not reproducible]

In practical applications the function [lambda](t), t [greater than or equal to] 0, can be estimated by survey of the traffic at any given major intersection. Let us assume that the function [lambda] is available from midnight to midnight. Suppose this time interval is partitioned into a finite number of intervals like ([t.sub.k], [t.sub.k+1]], k = 0, 1, 2, ..., N - 1 so that entire day denoted by I [equivalent to] (0, T] is given by I = [U.sup.N-1.sub.k=0] ([t.sub.k], [t.sub.k+1]]. The function A is then approximated by step functions in the sense that it is constant on each interval and given by

(2.4) [lambda] (t) = [lambda]([t.sub.k]) [equivalent to] [[lambda].sub.k], for t [member of] ([t.sub.k], [t.sub.k+1]], k = 0, 1, 2, ..., N - 1.

This is quite reasonable if the length of each time interval (tk+1 -- tk) is sufficiently small, say, one minute. Thus the probability that there are exactly n events during the interval ([t.sub.k], [t.sub.k+1]] is given by

(2.5) [mathematical expression not reproducible]

In the modeling process we will denote the corresponding Poisson process by

P(([t.sub.k], [t.sub.k+1]], [[lambda].sub.k])

and rewrite equation (2.5) as

(2.6) P{p(([t.sub.k], [t.sub.k+1]], [[lambda].sub.k]) = n} = exp(- [[lambda].sub.k]([t.sub.k+1] - [t.sub.k])) ([[lambda].sub.k] ([t.sub.k+1] - [t.sub.k] - [t.sub.k]))

Note that the expected value of p(([t.sub.k], [t.sub.k+1]], [[lambda].sub.k]) is given by

E [p(([t.sub.k], [t.sub.k+1]], [[lambda].sub.k])] = [[lambda].sub.k] ([t.sub.k+1] [t.sub.k])

and the second moment is given by

[mathematical expression not reproducible]

and hence the variance is given by

[mathematical expression not reproducible]


Now we are prepared to develop a dynamic model of traffic flow at an intersection. Let us consider an intersection of any two two-way roads having possibly multiple lanes and let us denote the two roads by R1 (road one) and R2 (road two). At the intersection there are several streams of traffic flow, total 12 in number. We will disregard the flows that can take right turn from their right lane whenever it is safe to do so. This will eliminate four simple streams. We are left with eight more critical flows. There are 4 streams of straight traffic and 4 streams of cross traffic. It is appropriate to consider discrete time evolution of the traffic status at any intersection. We consider the sequence of time intervals Jk = (tk, tk+l] starting with k = 0, 0 = [t.sub.0] < [t.sub.1] < [t.sub.2] < ... < [t.sub.k] < [t.sub.k+1] <.... Each interval of time [J.sub.k] is also considered as a cycle of traffic light sequence. Each interval is given by the union of 4 subintervals

[J.sub.k] = [[tau].sub.c1k] [union] [[tau].sub.s1k] [union] [[tau].sub.c2k] [union] [[tau].sub.s2k]

where [[tau].sub.c1k] is the period of time allocated for cross traffic from R1 to R2 during the time segment [J.sub.k] and [[tau].sub.s1k] is the period of time allocated for straight traffic on road

R1. Similarly [[tau].sub.c2k] and [[tau].sub.s2k] denote the time intervals allocated for R2 traffic during the time slot [J.sub.k]. Let [absolute value of ([J.sub.k])] = ([t.sub.k+1] - [t.sub.k]) denote the length of one cycle, the time interval [J.sub.k], and [mathematical expression not reproducible] where ([[gamma].sub.i](*)} are positive fractions summing to one, that is [summation] [[gamma].sub.i](*) = 1. Clearly these numbers denote the fraction of time allocated to cross and straight flows at the intersection. The fractions {[[gamma].sub.i], i = 1, 2, 3, 4} are variables that can be adjusted. We shall consider these as one set of control variables to be chosen to optimize traffic flow.

Throughout the rest of the paper we use the notation I for the indicator function. Let S denote any logical (or mathematical) statement. Then the indicator function of this statement is defined as follow:

[mathematical expression not reproducible]

For different statements such as [S.sub.j] we use indicators with a subscript such as [I.sub.j], j = 1, 2, 3. For any two real numbers {a, b} we use the notation

a [conjunction] b [equivalent to] min{a, b}

to denote the minimum of the two. Now we are prepared to introduce the traffic flow dynamics.

Complementary Cross Traffic from R1 to R2. The complementary cross traffic from R1 to R2 in two opposite directions is given by the following pair of equations:

(3.1) [mathematical expression not reproducible]

(3.2) [mathematical expression not reproducible]

Equation (3.1) represents the cross traffic from R1 to R2 in one direction and equation (3.2) represents the cross traffic in the opposite direction. The symbol [x.sub.11]([t.sub.k+1]) stands for the number of vehicles accumulated on this stream at time [t.sub.k+1]. This is given by the algebraic sum of 4 terms. The first term on the right gives the number of vehicles that was left on the stream from the previous cycle. The second term gives the random number of vehicles arriving during the time period [J.sub.k] [equivalent to] ([t.sub.k], [t.sub.k+1]]. This is denoted by the Poisson random variable [p.sub.1]([J.sub.k], [[lambda].sub.1]([t.sub.k])) (Poisson random number) with the mean arrival rate [lambda]([t.sub.k]) provided that [x.sub.11]([t.sub.k]) is below the threshold [l.sub.1]([t.sub.k]). The number [l.sub.1]([t.sub.k]) denotes the warning level explained further in the sequel. The third component on the right represents the number of vehicles arriving after congestion has been broadcast at a reduced rate [[theta].sub.1][lambda]([t.sub.k]) where 0 [less than or equal to] [[theta].sub.1] < 1 provided the lane capacity [C.sub.1] is not exceeded. The last term on the right represents the number of vehicles that leaves the stream during the fraction of the time interval [[tau].sub.c1k] at the service capacity [[beta].sub.1]. The number [[beta].sub.1] represents the service capacity of this stream depending on the number of lanes. Thus the the departure rate is the smaller of the two ([[beta].sub.1], [x.sub.11]([t.sub.k])} denoted by [[beta].sub.1] [conjunction] [x.sub.11]([t.sub.k]).

Equation (3.2) represents the complementary cross traffic from R1 to R2 in the opposite direction and has identical interpretation as equation (3.1).

Complementary Straight Traffic on R1.

(3.3) [mathematical expression not reproducible]

(3.4) [mathematical expression not reproducible]

Considering the complementary straight traffic on R1, equations (3.3) and (3.4) represent streams of straight traffic in opposite directions. Considering equation (3.3), the number of vehicles on this stream at time [t.sub.k+1] denoted by [x.sub.13]([t.sub.k+1]) is given by the sum of 4 terms. The first term represents the residue traffic from the previous cycle ending at time [t.sub.k]. The second term represents the new arrivals during the time cycle [J.sub.k] and it is given by the Poisson random variable [p.sub.3] ([J.sub.k], [[lambda].sub.3] ([t.sub.k])) corresponding to the mean intensity [[lambda].sub.3]([t.sub.k]) provided the threshold level [l.sub.3]([t.sub.k]) has not been reached. The third term represents the number of vehicles which arrive at a reduced rate after the congestion warning has been broadcast given that the road segment capacity [C.sub.3] is not reached. The fourth term on the righthand side represents the number of vehicles that left the stream during the fraction of time [[tau].sub.s1k] with service capacity [[beta].sub.3]. Similar interpretation is valid for the complementary traffic (traffic in the opposite direction).

Similarly the traffic on and from R2 is given by another set of 4 equations. They are as follows:

Complementary Cross Traffic from R2 to R1.

(3.5) [mathematical expression not reproducible]

(3.6) [mathematical expression not reproducible]

These equations describe the dynamics of complementary cross traffic from R2 to R1.

They have similar interpretation as those of equations (3.1) and (3.2).

Complementary Straight Traffic on R2.

(3.7) [mathematical expression not reproducible]

(3.8) [mathematical expression not reproducible]

These equations describe the dynamics of complementary straight traffic on R2. They have similar interpretation as those of equations (3.3) and (3.4).


The objective is to maximize throughput through the intersection and minimize congestion. The lane capacity is fixed. Thus the throughput depends on the lane capacity and the traffic present and more importantly on the distribution of the fraction of time {[[gamma].sub.i], i = 1, 2, 3, 4} allocated to each of the streams which is a decision variable. Presently we denote this by the four dimensional vector [gamma] [equivalent to] ([[gamma].sub.1] [[gamma].sub.2], [[gamma].sub.3], [[gamma].sub.4])' [member of] [R.sup.4.sub.+], [R.sub.+] = [0, [infinity]). Then the total throughput over one time period [[t.sub.0], [t.sub.N]] is given by the following expression,

(4.1) [mathematical expression not reproducible]

where E{*} stands for the expected value of the random variable within the brace. The first and the second sum within the braces give respectively the number of vehicles served in the complementary cross flow and complementary straight flow from R1. The third and the fourth sum represent the number of vehicles served from similar flows with reference to road R2.

Now we must introduce a measure of congestion. It is clear that it depends on the size of the lane capacity {[C.sub.i], i = 1, 2, ..., 8}, the desired level of threshold for congestion warning and the importance or weight given to the level of congestion. The threshold vector is denoted by l = ([l.sub.1], [l.sub.2], ..., [l.sub.8])' So a reasonable measure of congestion is given by the following expression,

(4.2) [mathematical expression not reproducible]

where the first sum within the round bracket gives the weighted level of congestion on R1, and the second sum gives the weighted congestion level on R2. It is clear that the waiting time for the drivers increases with the increase of threshold setting (warning level). In order to incorporate the measure of waiting time we include a third term to the objective functional given by

(4.3) [J.sub.w] (l) [equivalent to] E {[N-1.summation over (k=0)]

The objective is to choose the set of parameters, decision variables (y,l), that minimizes the following functional

(4.4) J (y,l) = [J.sub.c] (l) - [J.sub.TP] (y) + [J.sub.w](l)


We are going to use the principle of dynamic programming to solve the optimization problem stated in the preceding section. For this it is convenient to recast the problem using vector notation. For any k [member of] {0, 1, 2, 3, ..., N - 1} let us denote [t.sub.k] [equivalent to] k and

(5.1) [mathematical expression not reproducible]'

(5.2) [[??].sub.k] [equivalent to] ([[gamma].sub.1]([t.sub.k]), [[gamma].sub.2]([t.sub.k]), [[gamma].sub.3]([t.sub.k]), [[gamma].sub.4]([t.sub.k]))

(5.3) [mathematical expression not reproducible]

These are column vectors in [R.sup.8], [R.sup.4], and [R.sup.8], respectively representing state and controls. The expressions on the righthand side of the equations (3.1)-(3.8) are denoted by the column vector

(5.4) [mathematical expression not reproducible]

Using the vectors (5.1), (5.2), (5.3) and (5.4) the system of equations (3.1)- (3.8) can be written in the following compact form (as a vector difference equation)

(5.5) [mathematical expression not reproducible]

Parametric Constraints. Define the set [GAMMA] by

(5.6) [GAMMA] [equivalent to] {[gamma] [member of] [R.sup.4] : [[gamma].sub.i] [greater than or equal to] 0, i = 1, 2, 3, 4 and [4.summation over (i=1)] [[gamma].sub.i] = 1}

and the set [LAMBDA] as

(5.7) [LAMBDA] [equivalent to] {l [member of] [R.sup.8]: [alpha][C.sub.i] [less than or equal to] [l.sub.i] [less than or equal to] [C.sub.i], i =1, 2, ..., 8}

where the fraction [alpha] can be chosen by traffic planner in any desirable range such as 0.8 [less than or equal to] [alpha] [less than or equal to] 0.95. The vector l defines the threshold level at which the intersection is declared to have reached congestion. This information is broadcast so that drivers may choose to avoid the particular direction of the intersection or the intersection itself. This can be done by use of microelectronic devices for monitoring the traffic status and transmitting the information to a central radio broadcasting station.

We denote the decision or control set by U [equivalent to] [GAMMA] x [LAMBDA] and use u = ([gamma], l) to denote any member of the admissible set U. Using this notation the dynamic system given by (5.5) can be written in the standard form as follows:

(5.8) [x.sub.k+1] = G(k, [x.sub.k], [u.sub.k]), [x.sub.0] = [xi], k [member of] Z = {0, 1, 2, ..., N - 1}

where [x.sub.0] = [xi] is the initial state and [mathematical expression not reproducible] is the control. Note that the vector G at any stage k (time) depends on the Poisson random vector p = ([p.sub.1], [p.sub.2], ..., [p.sub.8])' with the intensity (or mean) functions [lambda] [equivalent to] ([[lambda].sub.1,k], [[lambda].sub.2,k], ..., [[lambda].sub.8,k]) at time k and this is an integral part of the model. This is what makes the system stochastic. As mentioned earlier, these functions (data) are available from statistical survey of the arrival history of the intersection under question.

Cost Functional. For convenience of notation, using the expressions inside the parenthesis of the expressions (4.1), (4.2) and (4.3), we define and write

(5.9) [mathematical expression not reproducible]

Using this expression the objective (cost) functional (4.4) can be written compactly, and also in the canonical form, as

(5.10) J(u) [equivalent to] E {[N-1.summation over (k=0)] L(k, [x.sub.k], [u.sub.k]) + [PSI]([x.sub.N])}

where [PSI]([x.sub.N]) denotes the terminal cost, for example, penalty for deviation from a desired final state and u = {[u.sub.0], [u.sub.1], [u.sub.2], ..., [u.sub.N-1]} denotes the decision or control policy over the time horizon. Note that there is no impact on the cost functional for any control chosen at the final stage N. The terminal cost [PSI]([x.sub.N]) depends only on the final state determined by the preceding state and the preceding control.

Optimization Problem. The problem is to minimize the objective functional J(u) given by (5.10) subject to the dynamic constraint (5.8) and the decision or control constraints U [equivalent to] [GAMMA] x [LAMBDA].


There are two well known techniques for solving optimal control and decision problems. One is the dynamic programming (DP) technique developed by Bellman [4] and the other is the maximum principle (MP) developed by Pontryagin et al. [5]. Maximum principle requires differentiability of the vector field G with respect to the state variable x. It is evident from the model that there are many indicator functions required for its construction and clearly they are not differentiable in the usual sense. However, dynamic programming method does not require this property and therefore DP is the most suitable technique for the optimization problem stated here.

The idea of dynamic programming is based on the simple fact that, given the present, nothing can alter the past but the future can be improved by appropriate actions starting from the present. Suppose n - 1 stages have passed and the current stage is n so that the available stages are {n, n + 1, ..., N - 1} and the decisions at these stages must be taken so as to minimize the "cost to go" to the final stage N. Let [x.sub.n] = [xi] denote the present state and let T(n, [x.sub.n]) = [PHI](n, [eta]) denote the minimum future cost obtained by proper choice of the control policy {[u.sup.o.sub.n], [u.sup.o.sub.n+1], ..., [u.sup.o.sub.N-1]} over the remaining time horizon. Thus according to this philosophy combined with the Markov property (given the present the future is independent of the past) we obtain the following equations,

(6.1) [mathematical expression not reproducible]

(6.2) [mathematical expression not reproducible]

The first equation (6.1) gives the conditional expectation of the random variable within the parenthesis given that [x.sub.n] = [xi]. The last term in (6.2) is not explicitly dependent on controls but the state [x.sub.n+1] is dependent on [u.sub.n] through the state equation

[x.sub.n+1] G(n, [xi], [u.sub.n])

and thus equation (6.2) takes the form

(6.3) [mathematical expression not reproducible]

This equation holds for all n [member of] {0, 1, 2, 3, ..., N - 1} and [xi] [member of] S [subset] [R.sup.8] where S denotes the set of admissible states. In practice this may be a proper subset of [R.sup.8]. According to the above expression, it is clear that the optimal control at the stage n depends on the state at this stage. Denoting the optimal policy by [u.sup.o.sub.n] = v(n, [xi]) for n [member of] Z = {0, 1, 2, 3, ..., N - 1} we arrive at the celebrated Bellman's functional equation,

(6.4) [mathematical expression not reproducible]

where v(n, *) is the optimal decision (control) at the stage n. In other words, the optimal policy is given by

(6.5) [mathematical expression not reproducible]

which is always expected to be a function of the state, the system is at that stage. Before we discuss the algorithm, we present the following existence result.

Proposition 6.1. The dynamic programming problem consisting of equations (6.4) and (6.5) has at least one solution and hence an optimal feedback control law, [v.sup.o](n, [xi]), (n, [xi]) [member of] Z x S, exists in the class of bounded measurable functions with values in U.

Proof. The proof follows from the simple facts that the set U is compact and that, for every fixed stage n [member of] {0, 1, 2, ..., N - 1} and state [xi] [member of] S, the functions L(n, [xi], *) and G(n, [xi], *) are continuous.

Using the Bellman equation (6.4) and the equation for the optimal policy (6.5) one can develop an algorithm whereby one can compute the optimal policy and the optimal cost. The functional equation (6.4) can be solved only backward because it is the terminal condition [PSI](*) (not the initial condition) that is given. The backward sweep determines the optimal control policy. Once the optimal policy is determined the state equation (5.8) is solved forward in time giving the optimal state. Once we are able to construct the function $, all other necessary information such as the optimal feedback control law, the optimal cost for the given initial state and the optimal trajectory can be determined. The task of constructing this function using the Bellman equation (6.4) is computationally intensive, which is the so called curse of dimensionality.


Backward Sweep. Let S [subset] [R.sup.8] denote the set of admissible states. Examining the original state equations (3.1)-(3.8) it is clear that this set is bounded (and closed). Similarly the control set U [equivalent to] [GAMMA] x [LAMBDA] [subset] [R.sup.12] is also a bounded set. By construction of the Bellman function it is meant that for each n [member of] {0, 1, 2, ..., N - 1} we have the function [PHI](n, *) = {T(n, [xi]), [xi] [member of] S}. If S consists of only a finite set of points, the problem is computationally feasible. However if S is a continuum, the problem is computationally formidable.

In any case the procedure is as described below. Starting at the stage N - 1 with any state [x.sub.N-1] [member of] S we have

(7.1) [mathematical expression not reproducible]

By following (6.5) we have the corresponding optimal decision given by

(7.2) [u.sup.o.sub.N-1] = v(N - 1, [x.sub.N-1])

where v is a suitable function of the current stage N - 1 and current state [x.sub.N-1]. Note that this gives us only a pair of real numbers for ([PHI], v) corresponding to the pair (N - 1, [x.sub.N-1]) [member of] Z x S, that is, ([PHI](N - 1,[x.sub.N-1]), v(N - 1, [x.sub.N-1])). Keeping n = N - 1 fixed one must solve the minimization problem (7.1) for a dense set of values for [x.sub.N-1] [member of] S. One can choose a finite number (m < [infinity]) of representative points {[[xi].sub.1], [[xi].sub.2], ..., [[xi].sub.m]} from S and carry out the above procedure to obtain the set

{([PHI](N - 1, [[xi].sub.i]), v(N - 1, [[xi].sub.i])), i = 1, 2, 3, ..., m}

Then one can use interpolation to construct the functions

(7.3) ([PHI](N - 1, *), v(N - 1, *)) [equivalent to] {(T(N - 1, [xi]), v(N - 1, [xi])),[xi] [member of] S}

for the given stage N - 1. This completes only one stage. To continue we go (backward in time) to the next stage and state. Then we have, for any [x.sub.N-2] [member of] S,

(7.4) [mathematical expression not reproducible]

Again following equation (6.5) we obtain the optimal decision at the stage N - 2 given by

(7.5) [u.sup.o.sub.N-2] = v(N - 2, [x.sub.n-2])

Finally following the same procedure as in stage N - 1, we arrive at the following pair of functions

(7.6) ([PHI](N - 2, *), v(N - 2, *)) [equivalent to] {([PHI](N - 2,[xi]), v(N - 2,[xi])),[xi] [member of] S}

for the stage N - 2. Continuing this process step by step backward till the initial stage k = 0 is reached, we arrive at the following expression

(7.7) [mathematical expression not reproducible]

Again following equation (6.5) we obtain the optimal decision [u.sup.o.sub.0] = v(0, [x.sub.0]) at stage k = 0 and state [x.sub.0] and finally the pair of functions

(7.8) ([PHI](0, *), v(0, *)) [equivalent to] {([PHI](0,[xi]), v(0, [xi]),[xi] [member of] S}

Forward Sweep. Using the feedback control law [u.sup.o.sub.k] [equivalent to] v(k, [x.sub.k]) determined from the backward sweep, one can solve for the optimal state trajectory using the state dynamics

(7.9) [x.sub.k+1] = G(k, [x.sub.k],v(k, [x.sub.k])), [x.sub.0] = [xi], k = 0, 1, 2, ..., N - 1.

This gives the optimal state trajectory {[x.sup.o.sub.k], k [member of] Z}.

Backward-Forward Sweep Combined. Combining the results from the backward and forward sweep, we obtain (i): the value function (Bellman function) [PHI] (ii): the optimal feedback control law v (iii): the optimal cost J([u.sup.o]) = J(v) and (iv): the optimal state trajectory as follows:

(7.10) (i): [PHI](k,x), k [member of] Z [equivalent to] {0, 1, 2, ..., N - 1}, x [member of] S

(7.11) (ii) : v(k,x), k [member of] Z, x [member of] S [subset] [R.sup.8]

(7.12) (iii) : J([u.sup.o]) = J(v) = [PHI](0, [x.sub.0])

(7.13) (iv) : [mathematical expression not reproducible]

Based on the above algorithm, currently we are carrying out extensive numerical computations to determine the optimal controls. We believe that implementation of the optimal controls determined by the technique presented here will significantly improve the overall quality of traffic flow in large cities.


n this paper we have developed a novel stochastic dynamic model for traffic flow in and around a busy intersection in an urban environment. The traffic is modelled by use of nonhomogeneous Poisson process with variable intensity which is a function of time (midnight to midnight) representing mean flow. We have also constructed an appropriate objective functional that includes throughput, congestion and waiting time. Using the principle of optimality due to Bellman, we have constructed the dynamic programming equation to determine the optimal feedback control policies. The technique developed here should be applied only to some major intersections of the city to improve overall traffic flow, minimize congestion and avoid traffic jams. This technique can be implemented on micro-electronic devices which can be deployed at major intersections based on their corresponding statistics.

Acknowledgement. This work was partially supported by the National Science and Engineering Research Council of Canada under Grant. A7101.


[1] M. Rahaman, N. U. Ahmed and H. T. Moufta, City Traffic Management Model Using Wireless Sensor Network, IEEE Conference, Toronto, On. Publisher IEEE, DOI: 10.1109/CCECE.2014.6901145. M.Sc Thesis, University of Ottawa, Ottawa, Canada

[2] N. U. Ahmed, Elements of Finite Dimensional Systems and Control Theory, Pitman Monographs and surveys in pure and Applied Mathematics, Longman Scientific and Technical, U.K, co-published by John Wiley & Sons, New York, 1988.

[3] N. U. Ahmed, Dynamic systems and control with applications, World Scientific Publishing Co. Pte. Ltd, 2006.

[4] R. Bellman, Dynamic Programming, Princeton University Press, New Jersey, 1957.

[5] Pontryagin, Lev Semenovich. Mathematical theory of optimal processes. CRC Press, 1987.


School of Electrical Engineering and Computer Science, University of Ottawa

Ottawa, ON K1N 6N5, Canada
COPYRIGHT 2017 Dynamic Publishers, Inc.
No portion of this article can be reproduced without the express written permission from the copyright holder.
Copyright 2017 Gale, Cengage Learning. All rights reserved.

Article Details
Printer friendly Cite/link Email Feedback
Author:Wang, Shi'an; Ahmed, N.U.
Publication:Dynamic Systems and Applications
Article Type:Report
Date:Mar 1, 2017

Terms of use | Privacy policy | Copyright © 2020 Farlex, Inc. | Feedback | For webmasters