INTRODUCTION

In the context of the rapid territorial expansion of cities and, accordingly, the subsequent development of infrastructure, the modeling of road transport flows continues to be an urgent issue that requires the most rational and comfortable solution for a person. Transport is a key system of the urban body, analogous to the blood supply in a human body.

The foundations of mathematical modeling of traffic flows and traffic patterns were laid in 1912 by the Russian scientist Professor G.D. Dubelir in book [1].

Over a period of more than a hundred years of research, scientists and engineers have been able to create and put into practice many different theories and methods, as well as different mathematical models. Among them, for example, probabilistic models are distinguished, in which the traffic flow is considered as a result of the interaction of vehicles on the elements of the transport network or stochastic models [2] and [3]; macroscopic models in which the automotive environment is considered on the road as something integral and likened to some physical flow in the same way as gas-kinetic and hydrodynamic models [4] and [5]; microscopic models in which each car is considered as a separate particle with its own velocity and final destination are based on the theory of cellular automata and models based on the principle of following the leader [68].

Currently, the most popular microscopic model is the intelligent driver model, which was proposed by M. Treiber in 1999 [9] and [10]. The Treiber model describes the movement of cars one after another, with each car, with the exception of the first one, adjusting its speed relative to the one in front. The Treiber model has several disadvantages (see, e.g., [11]), the main one being that it does not take into account the driver’s reaction time in an explicit form. Moreover, this model does not allow for collisions, allowing cars to brake at an infinite speed, and does not allow modeling braking and stopping the entire flow.

Some shortcomings of the reasonable driver model are eliminated by modifying it. For example, V.V. Kurts and I.E. Anufriev in their works build various types of such modifications [1113].

The model presented in this study is not a modification of the Treiber model. To build it, a fundamentally different approach is used, which is based on the division of the entire movement into two phases: acceleration and deceleration. Both phases take into account the influence of the vehicle in front. Phase switching occurs depending on the distance between the cars. In the first chapter of this study, a mathematical model is built, the principles on which it is based are described, and the ranges of values for the parameters are determined. The resulting model is analyzed analytically. In the second chapter, the stability of one of the motion modes is analyzed. The model allows us to simulate various traffic situations. In the third chapter, a mathematical model is used to simulate a real traffic flow. The simulation results are compared with the data obtained during the observation of real traffic flows and traffic lights. As a result, it can be seen that the simulation results coincide with the observational data, which means that the model correctly describes the surrounding reality.

1 BUILDING A MATHEMATICAL MODEL OF A TRAFFIC FLOW

1.1. Model Building

We build a mathematical model that will describe the movement of \(N \in \mathbb{N}\) cars. We denote the position, speed, and acceleration of a vehicle at time t by \({{x}_{n}}(t)\), \({{\dot {x}}_{n}}(t)\), and \({{\ddot {x}}_{n}}(t)\), respectively. We will consider all cars as material points and will not take into account their internal structure and external dimensions.

We divide the entire movement of a car into two phases: acceleration and deceleration. This is due to the fact that the driver, while driving, can press the gas pedal, increasing speed, or the brake or clutch pedal, reducing speed. Moreover, at a particular moment in time, the car either accelerates or slows down. To describe this behavior, we introduce a relay function of the form:

$${{R}_{n}} = \left\{ {\begin{array}{*{20}{c}} \begin{gathered} 1,\quad {\text{if}}\quad \Delta {{x}_{n}}(t,\tau ) > S + {{l}_{n}}, \hfill \\ 0,\quad {\text{if}}\quad \Delta {{x}_{n}}(t,\tau ) \leqslant S + {{l}_{n}}, \hfill \\ \end{gathered} \end{array}} \right.$$

where \(\Delta {{x}_{n}}(t,\tau ) = {{x}_{{n - 1}}}(t - \tau ) - {{x}_{n}}(t)\) is the distance between adjacent cars, \(\tau \) is the driver’s reaction time, \({{l}_{n}}\) is the safe distance, and \(S\) is the braking distance. The braking distance refers to the distance that the vehicle travels from the moment the brake system is activated until it comes to a complete stop [14]. To calculate this value, we use the well-known formula [15]

$$S = {{{{{v}}^{2}}} \mathord{\left/ {\vphantom {{{{{v}}^{2}}} {(2\mu g)}}} \right. \kern-0em} {(2\mu g)}},$$

where ν is the current speed of the vehicle, μ is the sliding friction coefficient, and g is the acceleration of gravity. Thus, we get a relay function that will switch the phases of the car’s movement

$${{R}_{n}} = \left\{ {\begin{array}{*{20}{c}} \begin{gathered} 1,\quad {\text{if}}\quad \Delta {{x}_{n}}(t,\tau ) > {{\dot {x}_{n}^{2}(t)} \mathord{\left/ {\vphantom {{\dot {x}_{n}^{2}(t)} {(2\mu g)}}} \right. \kern-0em} {(2\mu g)}} + {{l}_{n}}, \hfill \\ 0,\quad {\text{if}}\quad \Delta {{x}_{n}}(t,\tau ) \leqslant {{\dot {x}_{n}^{2}(t)} \mathord{\left/ {\vphantom {{\dot {x}_{n}^{2}(t)} {(2\mu g)}}} \right. \kern-0em} {(2\mu g)}} + {{l}_{n}}. \hfill \\ \end{gathered} \end{array}} \right.$$
(1)

Rn = 1 corresponds to the first phase of movement: acceleration. When accelerating, the following vehicle needs to adjust its speed relative to the speed of the vehicle in front, taking into account the distance to it. In the case of a sufficiently large distance between cars, the car following must accelerate to its maximum desired speed \({{{v}}_{{\max ,n}}}\) and the influence of the car in front, in this case, should be minimal. In the opposite situation, when the distance between the cars is short, the speed of the car following should depend to a greater extent on the speed of the car in front. This behavior can be obtained using the logistic function [16], the maximum value of which is \({{{v}}_{{\max ,n}}}\) and the minimum value is the speed of the vehicle in front

$${{L}_{n}} = \frac{{{{{v}}_{{\max ,n}}} - {{{\dot {x}}}_{{n - 1}}}(t - \tau )}}{{1 + \exp [{{k}_{n}}( - \Delta {{x}_{n}}(t,\tau ) + {{s}_{n}})]}} + {{\dot {x}}_{{n - 1}}}(t - \tau ),$$

where kn is the speed of logistic growth, which shows how smoothly the driver of the car following adjusts to the one in front and sn is a parameter of the logistic curve that reflects the distance from which the influence of the vehicle in front ceases to be of significance. It is obvious that the parameter sn must be strictly greater than the stopping distance of the vehicle (see Fig. 1).

Fig. 1.
figure 1

Logistic function.

Thus, we obtain an equation describing the first phase of motion

$${{\ddot {x}}_{n}}(t) = {{a}_{n}}\left( {{{L}_{n}} - {{{\dot {x}}}_{n}}(t)} \right),$$

where \({{a}_{n}} > 0\) is the coefficient that describes the technical characteristics of the car responsible for the intensity of its acceleration.

Rn = 0 corresponds to the second phase of movement: braking. The car must reduce its speed depending on the ratio of the speed difference and the distance between the car itself and the one in front, as well as the safe distance between them. The slower the vehicle in front is moving or the closer it is, the harder the following vehicle needs to slow down. This can be written as follows:

$${{\ddot {x}}_{n}}(t) = {{q}_{n}}\left( {\frac{{{{{\dot {x}}}_{n}}(t)\left[ {{{{\dot {x}}}_{{n - 1}}}(t - \tau ) - {{{\dot {x}}}_{n}}(t)} \right]}}{{{{x}_{{n - 1}}}(t - \tau ) - {{x}_{n}}(t) - {{l}_{{n,\varepsilon }}}}}} \right),$$

where \({{q}_{n}} > 0\) is the coefficient that describes the technical characteristics of the car responsible for the intensity of its braking and \({{l}_{{n,\varepsilon }}}\) is the safe distance of the form \({{l}_{{n,\varepsilon }}} = {{l}_{n}} - \varepsilon \), where \(\varepsilon \) is an additive used to prevent a car from braking at an unlimited speed when \(\Delta {{x}_{n}}(t,\tau )\) is sufficiently close to \({{l}_{n}}\).

Thus, combining both phases, we obtain an equation that describes the movement of an individual car in a flow:

$$\begin{gathered} {{{\ddot {x}}}_{n}}(t) = {{R}_{n}}\left[ {{{a}_{n}}\left( {\frac{{{{{v}}_{{\max ,n}}} - {{{\dot {x}}}_{{n - 1}}}(t - \tau )}}{{1 + \exp \left[ {{{k}_{n}}({{x}_{n}}(t) - {{x}_{{n - 1}}}(t - \tau ) + {{s}_{n}})} \right]}} + {{{\dot {x}}}_{{n - 1}}}(t - \tau ) - {{{\dot {x}}}_{n}}(t)} \right)} \right] \\ + \;(1 - {{R}_{n}})\left[ {{{q}_{n}}\left( {\frac{{{{{\dot {x}}}_{n}}(t)\left[ {{{{\dot {x}}}_{{n - 1}}}(t - \tau ) - {{{\dot {x}}}_{n}}(t)} \right]}}{{{{x}_{{n - 1}}}(t - \tau ) - {{x}_{n}}(t) - {{l}_{{n,\varepsilon }}}}}} \right)} \right]. \\ \end{gathered} $$
(2)

The resulting system of differential equations with a delay describes each car of the flow, except for the first one. To describe it, we define the values \({{x}_{0}}(t)\) and \({{\dot {x}}_{0}}(t)\). As \({{x}_{0}}(t)\) we take the distance that the car must travel; for example, it can be the distance to a traffic light or other obstacle \({{x}_{0}}(t) = L\). For \({{\dot {x}}_{0}}(t)\) in the first term, we take the maximum desired speed \({{\dot {x}}_{0}}(t) = {{{v}}_{{\max ,0}}}\); and in the second term, the speed to which the first driver needs to reset their current speed \({{\dot {x}}_{0}}(t) = {{{v}}_{{\min ,0}}}\).

We will assume that at the initial moment of time the cars are in the position \({{\lambda }_{n}}\); moreover \({{\lambda }_{n}} < {{\lambda }_{{n - 1}}}\) and they are travelling at a speed of \({{{v}}_{n}}\).

By adding the initial conditions to the previously obtained system of equations (2), we obtain a complete mathematical model of the movement of traffic flows:

$$\left\{ {\begin{array}{*{20}{l}} {{{\ddot {x}}}_{n}}(t) = {{R}_{n}}\left[ {{{a}_{n}}\left( {\frac{{{{{v}}_{{\max ,n}}} - {{{\dot {x}}}_{{n - 1}}}(t - \tau )}}{{1 + \exp \left[ {{{k}_{n}}({{x}_{n}}(t) - {{x}_{{n - 1}}}(t - \tau ) + {{s}_{n}})} \right]}} + {{{\dot {x}}}_{{n - 1}}}(t - \tau ) - {{{\dot {x}}}_{n}}(t)} \right)} \right] \hfill \\ + \;(1 - {{R}_{n}})\left[ {{{q}_{n}}\left( {\frac{{{{{\dot {x}}}_{n}}(t)\left[ {{{{\dot {x}}}_{{n - 1}}}(t - \tau ) - {{{\dot {x}}}_{n}}(t)} \right]}}{{{{x}_{{n - 1}}}(t - \tau ) - {{x}_{n}}(t) - {{l}_{{n,\varepsilon }}}}}} \right)} \right], \hfill \\ {{x}_{n}}(t) = {{\lambda }_{n}},\quad {{{\dot {x}}}_{n}}(t) = {{{v}}_{n}},\quad {\text{when}}\;t \in [ - \tau ,0]. \hfill \\ \end{array}} \right.$$
(3)

Figure 2 shows graphs of the changes in speed and distance for several cars moving according to model (3). The graphs reflect the dynamics in which cars start moving and then stop in front of an obstacle.

Fig. 2.
figure 2

Graphs of change in speed (a) and distance (b) for model (3) with parameter values: τ = 1, \({{a}_{n}}\) = 4, \({{q}_{n}}\) = 3, \({{{v}}_{{\max ,n}}}\) = 16.7, \({{{v}}_{{\min ,0}}}\) = 0, \({{\lambda }_{n}}\) = 3, \({{l}_{n}}\) = 3, L = 300, \({{x}_{0}}\) = 0, \({{{v}}_{n}}\) = 0, g = 9.8, μ = 0.6, \({{k}_{n}}\) = 0.5, \({{s}_{n}}\) = 35.

1.2. Defining Parameter Values

The dimensions for time, distance, and speed are taken from the International System of Units (SI). System (3) contains parameters whose value can be determined in advance based on the physical laws, the current legislation of the Russian Federation, and logical considerations.

The average reaction time of the driver is approximately 1 s; we take τ = 1. The values of the remaining selected parameters are given in Table 1 [15].

Table 1. Model parameters (3)

The parameters \({{{v}}_{{\max ,n}}}\), \({{{v}}_{{\max ,0}}}\), \({{k}_{n}}\), \({{s}_{n}}\), and \({{l}_{n}}\) describe the behavior of drivers, and for each individual driver the set of these parameters may be different. Each driver chooses the maximum desired speed for himself \({{{v}}_{{\max ,n}}}\) ≥ 0, limited only by the technical characteristics of the vehicle and the traffic rules (TRs). In particular, it can be considered equal to the maximum permitted speed in a populated area, which, according to [14], is 60 km/h (16.7 m/s). Parameter \({{{v}}_{{\min ,0}}}\), which describes the speed to which the first car needs to drop its current speed, is also determined by the driver and is limited only by the maximum desired speed of the first driver \(0 \leqslant {{{v}}_{{\min ,0}}} \leqslant {{{v}}_{{\max ,0}}}\).

Parameter kn > 0, which describes how smoothly the driver adjusts to the vehicle in front, and the parameter \({{s}_{n}} > S\), describing the distance from which the influence of the vehicle in front ceases to be of significance, are both determined by each driver independently.

The safe distance between adjacent vehicles \({{l}_{n}}\) is also chosen by the driver. According to the TRs [14], the safe distance between standing cars is 3 m, i.e., \({{l}_{n}} \geqslant 3.\) Parameters an > 0 and qn > 0, describing the intensity of acceleration and deceleration, respectively, characterize the technical characteristics of the car and can be arbitrary.

The initial positions of the cars λn are a decreasing sequence for which the inequality \({{\lambda }_{{n - 1}}} - {{\lambda }_{n}} \geqslant {{l}_{n}}\) is satisfied. The initial speeds of the vehicle \({{{v}}_{n}}\) must not exceed the maximum desired speed \(0 \leqslant {{{v}}_{n}} \leqslant {{{v}}_{{\max ,n}}}\). The distance to obstacle L > 0 can be anything, since it does not affect the dynamics of the traffic flow. These parameters are also presented in Table 1.

2 STABILITY ANALYSIS OF UNIFORM VEHICLE MOVEMENT

We consider a uniform mode of motion in which all cars move at the same speed \({{{v}}_{{\max }}}\) at distances \(\Delta {{c}_{n}} = {{c}_{n}} - {{c}_{{n - 1}}}\) apart, where \({{c}_{n}}\) is a descending sequence. Indeed, for any decreasing sequence \({{c}_{n}}\), there is a solution to system (3) of the form

$${{x}_{n}}(t) = {{c}_{n}} + {{{v}}_{{\max }}}t.$$

The stability of such a solution depends on the signs of the expressions

$${{d}_{n}} = - \tau {{{v}}_{{\max }}} + {{c}_{n}} - {{c}_{{n - 1}}} - {{l}_{{n,\varepsilon }}}.$$

The following theorem is true.

Theorem 1. If for \(\forall n\) the inequality \({{d}_{n}} > 0\) is satisfied, then the uniform regime is stable. If at least for one \(i\) the inequality \({{d}_{i}} \leqslant 0\) is satisfied, then the uniform regime is unstable.

Proof. In system (3) we make the change \({{x}_{n}}(t) = {{{v}}_{{\max }}}t + {{z}_{n}}(t) + {{c}_{n}}\), where \({{z}_{n}}(t)\) is small. Then Eq. (3) will have the following form:

$${{\ddot {z}}_{n}}(t) = {{R}_{n}}\left[ {a\left( {\frac{{ - {{{\dot {z}}}_{{n - 1}}}(t - \tau )}}{{1 + \exp (k(\tau {{{v}}_{{\max ,n}}} + {{c}_{n}} - {{c}_{{n - 1}}} + {{z}_{n}}(t) - {{z}_{{n - 1}}}(t - \tau ) + s))}} + {{{\dot {z}}}_{{n - 1}}}(t - \tau ) - {{{\dot {z}}}_{n}}(t)} \right)} \right]$$
$$ + \;(1 - {{R}_{n}})\left[ {q\left( {\frac{{({{{v}}_{{\max ,n}}} + {{{\dot {z}}}_{n}}(t))({{{\dot {z}}}_{{n - 1}}}(t - \tau ) - {{{\dot {z}}}_{n}}(t))}}{{{{z}_{{n - 1}}}(t - \tau ) - {{z}_{n}}(t) - {{l}_{{n,\varepsilon }}}}}} \right)} \right],$$

and the relay function (1)

$${{R}_{n}} = \left\{ {\begin{array}{*{20}{l}} 1,\quad {\text{when}}\quad \Delta {{z}_{n}}(t,\tau ) - \tau {{{v}}_{{\max ,n}}} - {{c}_{n}} + {{c}_{{n - 1}}} > {{{{{({{{v}}_{{\max ,n}}} + {{{\dot {z}}}_{n}}(t))}}^{2}}} \mathord{\left/ {\vphantom {{{{{({{{v}}_{{\max ,n}}} + {{{\dot {z}}}_{n}}(t))}}^{2}}} }} \right. \kern-0em} } + l, \hfill \\ 0,\quad {\text{when}}\quad \Delta {{z}_{n}}(t,\tau ) - \tau {{{v}}_{{\max ,n}}} - {{c}_{n}} + {{c}_{{n - 1}}} \leqslant {{{{{({{{v}}_{{\max ,n}}} + {{{\dot {z}}}_{n}}(t))}}^{2}}} \mathord{\left/ {\vphantom {{{{{({{{v}}_{{\max ,n}}} + {{{\dot {z}}}_{n}}(t))}}^{2}}} {(2\mu g)}}} \right. \kern-0em} {(2\mu g)}} + l. \hfill \\ \ \end{array}} \right.$$

The case \(R(\Delta {{z}_{n}}(t,\tau )) = 1\) means that all cars move at a sufficiently large distance from each other. The linearized equation for this case takes the form

$${{\ddot {z}}_{n}}(t) = a\left( {{{b}_{n}}{{{\dot {z}}}_{{n - 1}}}(t - \tau ) - {{{\dot {z}}}_{n}}(t)} \right),$$

where \({{b}_{n}} = 1 - {1 \mathord{\left/ {\vphantom {1 {\left[ {1 + \exp \left[ {k(\tau {{{v}}_{{\max ,n}}} + {{c}_{n}} - {{c}_{{n - 1}}} + s)} \right]} \right]}}} \right. \kern-0em} {\left[ {1 + \exp \left[ {k(\tau {{{v}}_{{\max ,n}}} + {{c}_{n}} - {{c}_{{n - 1}}} + s)} \right]} \right]}} > 0\).

The resulting equation has a whole family of constant solutions, which is always stable, since zero eigenvalues are not taken into account due to the presence of a family of solutions, and the remaining eigenvalues are less than zero. Therefore, the regime under consideration is also stable.

The case \(R(\Delta {{z}_{n}}(t,\tau ))\) = 0 means that all cars move at a short distance from each other. The linearized equation for this case has the following form:

$${{\ddot {z}}_{n}}(t) = q{{{v}}_{{\max ,n}}}{{({{{\dot {z}}}_{{n - 1}}}(t - \tau ) - {{{\dot {z}}}_{n}}(t))} \mathord{\left/ {\vphantom {{({{{\dot {z}}}_{{n - 1}}}(t - \tau ) - {{{\dot {z}}}_{n}}(t))} {{{d}_{n}}}}} \right. \kern-0em} {{{d}_{n}}}},$$

where \({{d}_{n}} = - \tau {{{v}}_{{\max ,n}}} + {{c}_{n}} - {{c}_{{n - 1}}} - {{l}_{{n,\varepsilon }}}\). The stability of the resulting linearized equation depends on the signs dn. Thus, we get that for \({{d}_{n}} > 0\) \(\forall n\) the considered mode of movement of cars is stable, and if for some \({{d}_{i}} < 0\), then the regime is unstable.

It follows from Theorem 1 that if all cars in the flow move at a fairly large distance from each other, then this mode of motion is stable. Stability is lost as the speed \({{{v}}_{{\max ,n}}}\), driver reaction time τ, and safe distance between cars \({{l}_{n}}\) increases, or when the distance between two adjacent cars \(\Delta {{c}_{n}}\) is reduced.

3 APPLICATION OF A NEW MATHEMATICAL MODEL IN SOME TRAFFIC SITUATIONS

A program was written in the Python programming language version 3.8.2 to simulate some real traffic situations. Also, observations were made of real traffic lights. The results of observations are presented in Appendix A.

The program calculates the movement of cars according to the mathematical model (2) with the parameters from Table 1. To solve a system of differential equations with delay, the program uses the Runge–Kutta method [17], adapted for equations with delay.

At the initial moment of time, all cars are at a safe distance from each other. The reference point of the distance traveled is the initial position of the first car; i.e., the cars that have not reached the initial position of the first car have negative coordinates.

This program has three modes of operation, each of which allows us to simulate the behavior of cars in a specific traffic situation. Each mode has its own set of initial data. Number of cars and maximum speed are general parameters and are specified for each mode.

In this way, the program allows us to simulate the start of movement and cars coming to a stop, the mode of operation of one traffic light, and the mode of operation of two traffic lights. We consider each mode of the program separately.

3.1. Starting and Stopping Movement

The first mode of the program simulates two simple traffic situations: a car starts moving and a car stops moving.

In this mode, the distance upon reaching which the cars must reset their current speed to zero is set. Figure 3 shows the graphs of changes in the speeds and coordinates of cars obtained as a result of the program in the first mode. It can be seen from the figures that the operation of the program is consistent with the dynamics of a real traffic flow.

Fig. 3.
figure 3

Graphs of changes in speeds (left) and coordinates (right) of cars obtained for the program in the first mode.

3.2. Operating Mode of One Traffic Light

The second mode of the program simulates a single traffic light. The operation of a traffic light consists of cycles, which in turn consist of two phases. The first one is determined by the time interval of the green traffic light (tg); and the second one, by the red traffic light (tr). In this mode, the time intervals for the operation of the green and red traffic lights are set.

The main criterion for the operation of a traffic light is the number of cars that have passed through it in one cycle of its operation. Sometimes a situation may arise when, at the moment the traffic light changes color, the distance between the car and the traffic light is shorter than the braking distance. In this case, in order not to apply the emergency braking, the car is allowed to cross the traffic light when it is red. This behavior is consistent with the TRs [14].

Figure 4 shows the graphs of changes in the speeds and coordinates of cars obtained as a result of the program in the second mode. Simulation of several traffic light cycles is shown. As can be seen from the graphs, the number of cars, according to the calculations of the program, is equal to the average number of cars that pass through a real traffic light (Appendix). This confirms the correctness of both the model itself (2) and the correctness of the selection of parameters (Table 1).

Fig. 4.
figure 4

Graphs of changes in speeds (top) and coordinates (bottom) of cars obtained for the program in the second mode.

3.3. Operating Mode of Two Traffic Light

The third program simulates the mode of operation of two consecutive traffic lights. Traffic lights in this mode do not depend on each other and the operation of each of them is similar to the operation of the traffic light considered in the previous paragraph. Accordingly, the behavior of cars also remains similar to the case of a single traffic light. Here we can set the green and red signal time for each traffic light and the distance between them (s). Figure 5 shows the graphs of changes in the speeds and coordinates of cars obtained based on the result of the program in the third mode.

Fig. 5.
figure 5

Graphs of changes in speeds (top) and coordinates (bottom) of cars obtained for the program in the third mode.

Figure 5 shows the simulation of several cycles of two real traffic lights. As can be seen from the graphs, the number of cars that pass through both traffic lights, according to the developed application, is equal to the average number of cars that pass through both real traffic lights (Appendix). This once again confirms the correctness of model (2) and the correctness of the selected parameters (Table 1).

Thus, the developed program can simplify the setting of traffic lights, which is currently being performed by road service specialists, mainly experimentally. This method often leads to many problems, since it is not always possible to successfully adjust the traffic light operation mode the first time. In relation to this, there may be serious consequences: traffic jams, congestion, and accidents. It is important that the program enables us to simulate the movement of traffic flows in advance, study their dynamics, and use the results obtained in practical activities.

CONCLUSIONS

In the course of the study, a new mathematical model of the traffic flow was built (2). The main dynamic properties of the model were studied and the stability of the uniform movement of cars was analyzed. The resulting model was applied to describe the dynamics of a real traffic flow in various traffic situations, and then the simulation results were compared with the data obtained during the observation of real traffic flows and traffic lights. The simulation results coincided with the observational data.