1 Introduction

The car-following driving behavior is an important component in the microscopic traffic simulation, enabling transport engineers to reproduce the dynamic behavior of small discrete intervals. In fact, the car-following microscopic driving behavior describes the longitudinal interactions between the following and the leading vehicle in the same way, where vehicles are described by vectors of state variables (X, V, A), which represent respectively: the spatial location, speed, and acceleration. According to [4], the car-following models can be classified into five categories, which are, the GHR (Gazis-Herman-Rothery) models, safe distance models, linear models, psychophysical models and fuzzy logic based models. Each model is composed of different rules and equations that update these state variables over time. In this paper, we are interested in the safe distance models.

The safe distance model is developed for the first time by Kometani and Sasaki [9]. In fact, this model is based on the calculation of the security distance during the car-following behavior, which uses the equations of physical movement. The principal objective of this model is to avoid the collision between the following and the leading vehicle. One of the widely used safe distance model is [6], which combines a free-flow driving model with a stopping-distance. But, despite the important advantages of this model, where it has been implemented widely in micro-simulation software packages such as SISTM [12], AIMSUN [3] and DRACULA [10], it has a disadvantage resulting in its very strict restriction on the car-following behavior, where, the following vehicle can move only when it has exactly a calculated safety distance with the leading vehicle. Figure 1 illustrates the respect of this strict restriction by seven vehicles.

Fig. 1
figure 1

Speed-time plots for seven successive vehicles [6]

According to Fig. 1, it is obvious that this restriction is not consistent with the real traffic condition, where it is impossible to have this harmony of velocity between seven vehicles because of this strict restriction of security distance. In recent years, there is more research on the safety distance of car-following behavior in order to improve the traditional work [6]; as the research work [11] that proposes a new safety distance model basing on various speed relationships between vehicles in order to improve the calculation of the safety distance for each simulation step. Furthermore, the work of [14] proposed a safe distance model by formulating the safety distance as a function of the velocity difference and safety distance. But most of the research works [6, 11, 14] have the following problems. Firstly, all these research works did not treat the driver behaviors (normative or non normative) during their modeling, which influences considerably on the reality of the simulation, since decision-making differs in these two types of behaviors. Secondly, according to [5], the calculation of the safety distance is based on many factors, which are: the reaction time, the decision time, the action time, the weight of the vehicle, the speed of gravity, the air density, the projection area, the air resistance factor, the efficiency of braking, the friction coefficient, the decay factor and the slope of the road. However, excepting the reaction time, all of the above mentioned factors are not used during the calculation of the safety distance in the research works of [6, 11, 14]. Finally, these research works used a fixed reaction time, which is far from the reality, because the duration of the reaction time is influenced by the driver behaviors. For example, the duration of reaction time for a common driver is 0.6–0.9 s [5].

The simulation is a means to observe and to understand the phenomena that can appear by applying the new transportation strategies in a virtual environment, while reducing the costs of experiments. However, not taking into account, during the simulation, the real behaviors of the road users is against the rules of the Highway Code, which influence and distorts the reality of the simulation. Thus, the overall objective of our research is to integrate the driver behaviors in a computing model which led to the construction of a realistic road traffic simulation. In particular, we are interested in this paper to model drivers with normative behaviors for the car-following behavior. Indeed, this paper intends to construct a new decision-making model to manage the decision-making of the driver, by adopting an approach based on the anticipation concept to estimate the simulation parameters for a next simulation step.

Modeling and implementation to the car-following microscopic driving behavior requires a technology that guarantees the autonomy, the reactivity, the adaptability and the interaction. The software agent technology [13] meets perfectly these criteria and is positioned as an appropriate solution to model the simulation of road traffic with a microscopic approach. Thus, we used this technology to model “driver agents” and consequently to deal and to evaluate their decision making for the velocity and the safety distance that they make.

Basing-on the theoretical background of our research, we present in the next section our bi-level bi-objective modeling with more details. Then, in the following section we present the resolution of our modeling basing on the Tabu search algorithm. Next, in the fourth section we present the simulation results of our model. Finally, we conclude by discussing the first obtained results of our approach and future works.

2 Bi-Level Bi-Objective Modeling

The driver objectives are different according to their behaviors. Indeed, each driver translates its objectives through actions that help him to achieve them. In general, the actions of drivers are categorized under two objectives. The first one is the reduction of the circulation time and the second one is the road safety. To achieve the first objective, the driver increases the velocity of its vehicle, but this action combined with the car-following behavior can reduce the safety distance between the following and the leading vehicle, which influence on the second objective, especially when the leading vehicle reduces its velocity suddenly. However, according to traffic rule, if there is an increase in the velocity, there is an increase in the safety distance, which is not the case with the car-following behavior.

In this context, the two objectives of our following agent driver are totally opposed to the car-following behavior. Moreover, they have an important number of acceleration and deceleration values that we have to test them during simulation, in order to find the best velocity that address the two opposed objectives. Thus, we used a bi-objective modeling to treat this problem while focusing on a normative driver behavior.

Each objective is presented as an objective function, which are: the maximization of the traffic speed and the maximization of the safety distance. At the same time, the following driver agent tries to reduce the circulation time by increasing the velocity of its vehicle; and simultaneously, it tries to take into account the road safety by keeping a safety distance with the leading vehicle. Thus, the objective functions of each following driver agent reflect its choice for the velocity and the safety distance that respond to its need for each simulation step. For the first objective, which is the maximization of the safety distance, we defined the following function (1) for the next simulation step T + 1.

$$ \begin{aligned} & \text{Max}\,\text{D}_{{\sec \_\text{x}}} (\text{T} + 1) = \left( {\text{T}_{\text{R}} + \text{T}_{\text{D}} + \text{T}_{\text{A}} } \right)*\text{V}_{\text{x}} (\text{T} + 1) + \left( {\text{W}/\left( {2*\text{G}*\uprho*\text{A}_{\text{f}} *\text{Cd}} \right)} \right) \\ & \quad *\ln \,\left( {1 + \left( {\left( {\uprho*\text{A}_{\text{f}} *\text{Cd}} \right)/2*\left( {\text{V}_{\text{x}} (\text{T} + 1)} \right)^{2} } \right)/\left( {\left( {\upeta*\upmu*\text{W}} \right) + \left( {{\text{f}}_{\text{r}} *\text{W}*{cos\theta }} \right) + \left( {\text{W}*\sin\uptheta} \right)} \right)} \right) \\ \end{aligned} $$
(1)

where, TR is the reaction time, TD is the decision time, TA is the action time, W is the weight of the vehicle, G is the speed of gravity, ρ is the density of air, Af is the projection area, Cd is the air resistance factor, η is the efficiency of braking, μ is the friction coefficient, fr is the decay factor and θ is the slope of the road. The calculation of the safety distance is based on a combination between the secure stopping distance (W/(2 * G * ρ * Af * Cd)) * ln (1 + ((ρ * Af * Cd)/2 * (Vx(T + 1))2)/((η * µ * W) + (fr * W * cosθ) + (W * sinθ))) and the distance of reaction (TR + TD + TA) * Vx(T + 1). This objective function based on the safety distance defined by Chen and Wang [5].

The first objective function contains a single variable “Vx(T + 1)” that represents the velocity, which will be adopted during the next simulation step T + 1. In fact, this variable influence directly at the safety distances value, by playing the role of a decision variable in this function.

Concerning the second objective, which is the maximization of the traffic speed for each simulation step, we defined the following function (2), which is based on a single decision variable “a” that presents the acceleration during the increasing speed and the deceleration in the opposite direction.

$$ \text{Max}\,\text{V}_{\text{x}} \,(\text{T + 1})\,\text{ = }\,\text{V}_{\text{x}} (\text{T})\,\text{ + }\,\text{at }\,\text{ + }\,\text{m} $$
(2)

where, “a” is the acceleration or deceleration value, “t” is the duration of the simulation step and “m” is the precision margin that influence on the precision of the velocity of the following vehicle since it is impossible to adopt exactly the calculated velocity by a real driver.

Vx(T + 1) is designed as an objective function in Eq. (2), but at the same time it plays the role of a decision variable for the first function (1). Therefore, the modeling of our problematic will be a bi-objective bi-level modeling. Beginning by defining the constraints of lower objective function of our bi-level modeling (the maximization to the traffic speed), the increasing of the velocity relative with the drivers’ behaviors, where, according to [1] the drivers with normative behaviors interest firstly to the traffic rules in order to ensure the road security. Thus, we defined eight constraints that ensure the security with this objective function. In fact, these constraints appear depending two simulation parameters, which are, the calculated safety distance “Dsec_x” and the real distance “Dxy”, which presents the real distance between the following vehicle X and the leading vehicle Y. Consequently, there are three possible states that the following agent driver must take into account, which are, “Dsec_x > Dxy”, “Dsec_x < Dxy” and “Dsec_x = Dxy”.

Starting by the state “Dsec_x > Dxy”, the following vehicle X is in an unsecure situation because the safety distance calculated during the simulation step T is reduced under the pressure of certain factors until it enters in the red zone. Thus, the driver agent of the following vehicle X must avoid colliding with the leading vehicle Y, by ensuring that it does not go reduce more its safety distance during the next simulation step (T + 1). Thus, it reduces the velocity of its vehicle in order that will be lower than the velocity of the leading vehicle Y. The modeling of this constraint translates according to the speed relationships between vehicles. The inequality (3) presents this modeling.

$$ \text{a < }\left( {\text{V}_{\text{y}} (\text{T}) - \text{V}_{\text{x}} (\text{T})} \right)\text{/t} $$
(3)

According to the inequality (3), the following driver agent X decelerates to avoid the collision with the leading vehicle Y. But, in order to present a realistic simulation, the acceleration and deceleration values must be realistic. Therefore, the field to select the variable “a” is based on the work [8]. Thus, in our deceleration state, the value of the decision variable “a” should be between dmin and dmax.

$$ \text{d}_{\hbox{min} } \text{ <= a <= d}_{\hbox{max} } $$
(4)

Moving to the state “Dsec_x < Dxy”, the following vehicle X is far to the leading vehicle Y during the simulation step T. In this state, the following driver agent X has two scenarios. First, it can maintain its velocity for the next simulation step T + 1 in order to guarantee its road safety objective. Secondly, it can increase its velocity in order to ensure its objective to reduce the circulation time during the next simulation step T + 1. The modeling of this constraint is expressed by the inequality (5).

$$ \text{a} {>=}\left( {\text{V}_{\text{y}} \text{(T) - V}_{\text{x}} (\text{T})} \right)\text{/t} $$
(5)

According to the inequality (5), the following driver agent X may exceed the velocity of the leading vehicle Y, but at the same time, we must guarantee that this increase will take place under the road safety objective. The translation of this warranty is expressed by the velocity relationships between vehicles and the real distance Dxy(T) of the simulation step T. This constraint is expressed by the inequality (6).

$$ \text{a < }\left( {\text{D}_{{\text{xy}}} (\text{T})\text{/t}^{\text{2}} } \right)\text{ + }\left( {\text{V}_{\text{y}} (\text{T})\text{/t}} \right)\text{ - }\left( {\text{V}_{\text{x}} (\text{T})\text{/t}} \right) $$
(6)

Basing on the realism of our modeling during the simulation and basing on our first objective (the road security), this constraint (inequality (6)) not considered when it give the right to the following driver agent to choose an acceleration value “a” superior to amax, where amax presents the acceleration must not be exceeded to ensure the reality of our simulation.

Our modeling is based on drivers with normative behaviors. According to [1], this type of driver respects the traffic rules first. Hence, even with our objective “the maximization of the traffic speed”, the translation of this objective should be achieved by actions that respect the traffic rules. In this context, our modeling should ensure the respect of the maximum speed rule of the traffic zone. This constraint is expressed by the inequality (7).

$$ \text{a <= }\left( {\text{V}_{\hbox{max} } - \text{V}_{\text{x}} (\text{T})} \right)\text{/t} $$
(7)

During the acceleration state when the following agent driver chooses to increase the velocity of its vehicle, the value of the decision variable “a” should be between amin and amax, where the field to select the variable “a” is based on [8]. However, when the following driver agent chooses to keep the same velocity of the last simulation step T, the acceleration value should be equal to zero. To choose between the two scenarios, we used a probability “p” for the first scenario and a probability “q” for the second.

$$ \left\{ {\begin{array}{*{20}l} {{\text{a}} = 0} \hfill & {\text{with}\,\text{a}\,\text{probability}\,\text{p}} \hfill \\ {{\text{a}}_{\hbox{min} } <= {\text{a}} <= {\text{a}}_{ \hbox{max} } } \hfill & {\text{with}\,\text{a}\,\text{probability}\,\text{q = 1 - p}} \hfill \\ \end{array} } \right. $$
(8)

Finally, the state “Dsec_x = Dxy”, the following driver agent X tries to keep the perfect real distance of the simulation step T with the leading vehicle Y for the simulation step T + 1. In this state, the following driver agent X may act by two ways. In the first one, it can maintain the velocity of the simulation step T, in order to ensure the objective of the reduction of the circulation time. In the second, it can reduce its velocity to guarantee the road safety objective by taking into account the state, where the leading driver agent Y can suddenly reduce its speed during the next simulation step. The modeling of this constraint translates by the velocity relationships between vehicles. This constraint translates by the inequality (9).

$$ \text{a <= }\left( {\text{V}_{\text{y}} (\text{T}) - \text{V}_{\text{x}} (\text{T})} \right)\text{/t} $$
(9)

The choice of the acceleration value is based on two scenarios. In the first one, the acceleration value should equal to zero. However, in the second one, the acceleration behavior value varies between dmin and dmax basing on work of literature [8]. To choose between the two scenarios, we used a probability “p” for the first scenario and a probability “q” for the second.

$$ \left\{ {\begin{array}{*{20}l} {{\text{a}} = 0} \hfill & {\text{with}\,\text{a}\,\text{probability}\,\text{p}} \hfill \\ {\text{d}_{{\text{min}}} \text{ <= a <= d}_{{\text{max}}} } \hfill & {\text{with}\,\text{a}\,\text{probability}\,\text{q = 1 - p}} \hfill \\ \end{array} } \right. $$
(10)

Turning to present the constraints of the upper objective function Eq. (1), we have one constraint that ensures the road safety by avoiding the longitudinal collision, where the safety distance should be strictly greater than zero.

$$ \text{D}_{{{ \sec }{\_}{\text{x}}}} \text{ > 0} $$
(11)

3 Resolution Based on the Tabu Search Algorithm

Tabu search algorithm was proposed by Fred Glover [7]. Since then, the method has become very popular, thanks to its successes to solve many problems. In fact, the research Tabu algorithm is characterized by the rapidity during research [2]. Thus, this characteristic may help us; especially we need to find the best solution with a research time equal to the decision time of driver agent.

We used the Tabu search in our decision strategy to select the best velocity and safety distance that present the realizable solution and that meets the needs of the driver agent according to the state of its environment. In our research strategy, we used a Tabu list called Tabu list OUT; it contains the acceleration or deceleration values already selected for the calculation of the velocity and the safety distance variables, and the acceleration or deceleration values that do not respect the constraints of our modeling. In this context, the values of the Tabu list OUT should not be selected. At each simulation step, the list will be reset to zero.

The length of the Tabu list OUT is dynamic which adjusts itself during the search. In addition, the stopping criterion of the Tabu search algorithm is the calculation time. Indeed, while we used the Tabu search as a strategy for decision-making by researching the best solution that answers to the needs of the following driver agent, then we chose a random search time between 0.15 and 0.25 s, which is the stopping criterion to select the best realizable solution. This interval represents the decision time for an ordinary behavior driver [5]. Figure 2 presents the application structure of the Tabu search algorithm.

Fig. 2
figure 2

Application structure of the Tabu search algorithm

The values of various parameters of the starting solution (Vx(T), Dsec_x(T), Dxy(T)) are already calculated at the level of the simulation step T. However, we assign a high value to the parameter D that presents the evaluation criteria of the realizable solutions. The list IN is not a Tabu list, just it contains the best realizable solutions, where after research; the driver agent will use the best realizable solution in the list IN.

The selection of the best realizable solution that contains the best velocity and safety distance that correspond to the state of the environment and to the objectives of the driver agent for the simulation step T + 1 is based on the evaluation criteria D. The calculation of the evaluation criteria D is expressed by the Eq. (12).

$$ \text{D} = \left| {\text{D}_{{\text{xy}}} (\text{T + 1}) - \text{D}_{{{ \sec }{\_}{\text{x}}}} (\text{T + 1})} \right| $$
(12)

where, the calculation of the real distance Dxy(T + 1) is expressed by the Eq. (13).

$$ \text{D}_{{\text{xy}}} (\text{T + 1})\text{ = D}_{{\text{xy}}} (\text{T})\text{ + }\left( {\text{V}_{\text{y}} (\text{T})\,\text{* t}} \right)\text{-}\left( {\text{V}_{\text{x}} (\text{T + 1})\,\text{* t}} \right) $$
(13)

4 Simulation

We simulated our model with two cars in an urban zone with bottling conditions, where the leading vehicle circulates with a very slow speed. Therefore, our following agent driver should react with these conditions by basing during the decision-making on the concept of anticipation. We used a cognitive agent to model the driver and we used Jade platform to implement it. For the simulation parameters of Eq. 1, we used the simulation parameters of Mitsubishi Free car 2.0 [5], which are, W = 1735 kg, G = 9.81 m/s2, ρ = 1.25, Af = 2.562 m2, Cd = 0.4, η = 0.6, μ = 0.8, fr = 0.015 and µ = 0.8, TA = 0.05–0.15 s, TD = 0.15–0.25 s.

The duration for each simulation step represented by the parameter t is 1 s. Furthermore, we used the acceleration and deceleration interval as defined in [8], where the acceleration values vary between 0.9 and 3.6 m/s2, and the deceleration values vary between 0.9 and 2.4 m/s2.

According to the results that we have obtained by the simulation, as it is presented in Fig. 3, we note a rapprochement between the calculated safety distance Dsec_x(T + 1) and the real distance between the two vehicles Dxy(T + 1) for each simulation step. Note, that there is not a total domination by the calculated safety distance Dsec_x(T + 1) or the real distance Dxy(T + 1) with an acceptable distance margin between 0.036 and 1.584 m. In fact, this distance margin is the evaluation criteria D to select the best realizable solution (see the Fig. 4).

Fig. 3
figure 3

Comparison between the calculated safety distance and the real distance

Fig. 4
figure 4

The values of the evaluation criteria D for each simulation step

In the reality it is impossible to keep a distance between two vehicles strictly equal to the calculated safety distance during circulation [14]. Thus, on Fig. 5 we note that the following driver agent tries to keep a real distance around the calculated distance by controlling the velocity of its vehicle against the velocity of leading vehicle.

Fig. 5
figure 5

Comparison of velocity between the leading vehicle and the following vehicle according our approach

Furthermore, according to the results on Fig. 5, we consider the variance of the following vehicle velocity. Thus, this simulation reflects as much as possible the reality of our following driver agent reaction compared with research work [6] (see Fig. 1), where it presents results not real [14].

5 Conclusion

The objective of our proposed model is to make a decision that ensures a real link between the reduction of the circulation time, by increasing the speed of movement and the guarantee of the road safety, by conserving an acceptable safety distance. In fact, these two objectives are totally opposed to the car-following behavior, which requires the consideration of this problem during decision-making. This consists in finding the best compromise between velocity and safety distance. In this context, we proposed an approach based on the anticipation of the simulation parameters. To model the anticipation notion, we used a bi-level bi-objective modeling that we resolve using a Tabu search algorithm. Furthermore, the software agent technology has been used to model and to simulate drivers, in order to make them able to sense and to react according to their environment changes thanks to their autonomy and reactivity features. The model implementation and experimentation provides promising results, since we obtained acceptable distance margins between the calculated safety distance and the real distance for each realizable solution.

The current model concerns only the driver with normative behaviors. Thus, the integration of the non-normative behaviors is the subject of our future work.