Keywords

1 Introduction

Organization of freight deliveries in urban areas is not an easy task and needs to face with many challenges, e.g. a large number of entities that require delivery at the same time in large quantities. Narrow streets and necessity of parking of commercial vehicles on the streets give rise to congestion and thus increasing the local pollution and increased noise. Analysing the impact of urban freight transport (UFT) measures is particularly important, since improving the situation for freight deliveries more often than not will be at the expense of the citizens. For instance, designated spaces for loading/unloading operations in city centres will usually be at the expense of public parking spaces. Therefore, UFT solutions are to a considerable extent resisted by the public, and for this reason, local governments often give up on implementing such solutions.

In this article the possibilities of computer simulation is used to determine the selected dependencies for urban freight transport, in particular the loading/unloading bays. Computer simulation executes a specific mathematical model and allows to consider input parameters to obtain a certain results as system outputs [1]. Numerous publications on this subject are focused especially on traffic research and modelling, developing theory and traffic models as well as the research on behaviour of traffic participants or the possibility of using telematics [2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]. There are also works in which computer simulation is carried out on the basis of hardware [17,18,19].

The aim of the article was to present the possibilities of the model for the analysis of road capacity with unloading bays located at.

The article is organized as follows: in the next section there is an analysis of the issues, then there is introduced the concept of cellular automata and assumptions of the model to the unloading bays, briefly discussed the model and developed simulator. At the end, the results of research are presented and a discussion was held.

2 Related Work

Unloading bays increasingly appear on the streets. One of the main advantages of this solution is a significant reduction in traffic congestion. This translates into a noticeable reduction in emissions. When truck drivers know where unloading bays are located, they lost less time searching for a parking space [20]. In [21] there was developed a model for determining the optimal location of loading-unloading space. Important from the point of view of determining the needs of different stakeholders, research conducted in [22], highlighted the different factors that would need to be taken into account when evaluating a managed loading bay system, from the standpoints of the various actors involved, including the traffic authority, freight operator, driver, retailer and other road users. Planning and managing delivery spaces requires consideration of the roles and objectives of various stakeholders, including carriers, shippers and receivers [23].

Assessment of factors influencing the reduction of congestion related to parking of commercial vehicles on the street has been concern in [24]. In [25] described a case of reducing CO2 emissions by 40 kg per day when using unloading bays. In [26] a discrete choice model to estimate the demand of the use of loading/unloading bays was presented.

3 Research Environment

In this section there is presented the concept of the cellular automata, assumptions for the presented “loading/unloading bays” model, the model and the computer application where the model is implemented.

3.1 The Concept of Cellular Automata

The simplest cellular automaton is a mathematical model consisting of three elements [27, 28]:

  • a discrete n-dimensional space (grid) divided into equal cells,

  • a finite k-element set of states for a single cell,

  • F rule defining state of the cell at time t + 1, depending on its state and state of the neighbour cells at the moment of time t.

N-dimensional grid of identical cells evolves in discrete moments of time. Each cell in the grid can take one k state defined by the rule:

$$ S_{i} (t + 1) = F(s_{j} (t)), \quad {\text{j}}\,{\text{belongs}}\,{\text{to}}\,{\text{O}}({\text{i}}), $$
(1)

where: O(i) – neighbourhood of i-th cell, S i – state of cell, F – transition rule.

Grid of automata is the n-dimensional discrete space composed of identical cells with the same parameters, i.e. with the same number of neighbours, the same shape if the state space. Its structure is influenced by the dimension of automata space, the shape of cells and the connected number of neighbours.

3.2 Assumptions for the “Loading/Unloading Bays” Model

The cellular automaton model applied at the research work was used to simulate physical phenomena determined by some defined rules, connected with events occurring within the systems [29]. Road traffic organisation is a phenomenon of this type. It involves events such as e.g. movement of vehicles, braking, accelerating etc. The simulator applied in the analysis of unloading bays functioning was based on the Nagel-Schreckenberg model [30]. This model is one of the basic models of cellular automata that simulate vehicle traffic. It was developed in 1992 by Karl Nagel and Michael Schreckenberg. The model describes single lane traffic of vehicles and constitutes the basis for testing various scenarios in road traffic [31]. The basic assumptions of the model are:

  • the length of a single cell side: ca. 7.5 m (which corresponds to a mean length of a vehicle),

  • one-way and single lane road,

  • the cell may be in one of the two states: “free” or “occupied” by a vehicle moving with velocity vi,

  • one cell may be occupied by max. one vehicle,

  • a cell has a recorded numeric value that corresponds to the current velocity of the vehicle,

  • the vehicle’s velocity is a discrete value, which means it may have the following values: 0, 1, 2, … vmax.

In this model, the transition rule of the automaton consists of four fundamental steps:

  • acceleration – if the vehicle has not yet achieved its maximum velocity (vmax), it may increase its velocity (vi) as per the formula:

    $$ v_{i} < v_{max} \to v_{i} = v_{i} + 1 $$
    (2)
  • braking – if the number of subsequent free cells (distance from the preceding vehicle d i ) is smaller than the current velocity (v i ), the vehicle is braking, which is described by the relationship:

    $$ {\text{v}}_{\text{i}} > {\text{d}}_{\text{i}} \to {\text{v}}_{\text{i}} = {\text{d}}_{\text{i}} $$
    (3)
  • random event – from time to time, as per the specified probability, the vehicle velocity is decreased by 1 (which makes it possible to simulate phenomena such as pedestrians suddenly running into the street or drivers getting lost in thought):

    $$ {\text{v}}_{\text{i}} > 0 \cap P < p \to {\text{v}}_{\text{i}} = {\text{v}}_{\text{i}} - 1 $$
    (4)
  • shifting – apart from the relationships described in the previous steps, a vehicle may be shifted by the number of cells equalling the current velocity, and the time variable is increased by 1 (from t to t + 1), which is reflected by the following formula:

    $$ {\text{x}}_{\text{i}} = {\text{x}}_{\text{i}} + {\text{v}}_{\text{i}} ,\quad {\text{t}} = {\text{t}} + 1 $$
    (5)

The model applied in the simulation has several features which significantly distinguish it from the Nagel-Schreckenberg model:

  • it is a two-lane road, therefore the grid of the cellular automaton takes the form of a table with two rows and n columns;

  • a single cell, apart from the value specifying whether it is occupied or free (i.e. whether there is a vehicle in the given place or not), may be assigned an additional value specifying whether the given section of the road is used for unloading operations in any given unit of time (occupied or free);

  • an occupied cell shows a numeric value depending on the kind of vehicle (\( V_{j,i} = 0,1,2, \ldots ,V_{MAX1} \) or \( V_{j,i} = 0,1,2, \ldots ,V_{MAX2} \), where: j - road number, i - cell number, \( V_{MAX1} \) – max. velocity of a passenger car, \( V_{MAX2} \) – max. velocity of a delivery vehicle);

  • additionally, the cell has a value that specifies whether it is a road cell or an unloading bay cell;

  • the transition function of the automaton consists of six parts: four of them as per the Nagel-Schreckenberg model (acceleration, braking, random events and shifts) and two additional – lane changing and parking in a bay;

  • the driver courage parameter has been taken into account (c j,i – courage) which is a distance between the vehicle located in the i th cell of the road and the vehicle moving behind it, on the other lane, located in cell j.

3.3 “Loading/Unloading Bays” Model Based on Cellular Automaton

Two models that allow to analyze the impact of deliveries on the congestion level have been developed as an example of the use of cellular automata to evaluate the efficiency of urban freight transport solutions:

  • “2-roads-ub-inside”, in which delivery requires the car to stop directly at the lane of two-lane road (Fig. 1a);

    Fig. 1.
    figure 1

    Two-lane road stretch with delivery stop marked with X: a) inside the lane, b) outside the lane, using the loading/unloading bay. A rectangle with a contour symbolizes the truck (it has a lower maximum velocity) [own study]

  • “2-roads-ub-outside” model, which involves simulation of locating one or several loading/unloading bays in a given road stretch bays or more loading/unloading bays, so that the delivery does not require the car to stop at the lane (Fig. 1b).

Both of these models are based on Nagel-Schreckenberg model [30, 31]. However, they are different in the following aspects:

  • the road is not a one-lane but two-lane road, so net cellular automaton is an array with two rows and n columns.

  • a single cell, in addition to the value specifying whether it is occupied or empty (is there a car at a given location) can be assigned additional value specifying whether a given road stretch is the loading/unloading bay (occupied or empty).

  • occupied cell has a numeric value (\( V_{j,i} = 0,1,2, \ldots ,V_{MAX1} \) or \( V_{j,i} = 0,1,2, \ldots ,V_{MAX2} \), where: j – road number, i – cell number, \( V_{MAX1} \) – max. velocity of a passenger car, \( V_{MAX2} \) – max. velocity of a truck), depending on the type of vehicle. In this manner passenger cars and trucks are specified.

  • in addition, cell has a value specifying whether it is a cell of road or loading/unloading bay.

  • automatic transition rule consists of six steps: four in accordance with the

  • N-Sch model (acceleration, braking, randomization and car motion), and two additional (lane change and parking in the bay).

  • it includes driver’s courage parameter (c j,i – courage), which is the distance between the car located in the i-th cell of the road number j and car behind it, on the adjacent lane.

The model takes into account the existence of two types of cars with different characteristics - passenger cars and commercial vehicles. A rectangle with a contour in Fig. 1 symbolizes commercial vehicle, which has a lower maximum velocity compared to the passenger car. The numbers on cars indicate the current velocity, j – road number, i – cell number, d j,i – the distance to the nearest preceding car, c j,i – the distance between the car located in the i-th cell of the road number j and car behind it, on the adjacent lane, ub j,i – the distance of the car from the nearest loading/unloading bay.

3.4 The “Loading/Unloading Bays” Simulator

For the purposes of simulation, presented models have been implemented in the form of a computer application, consisting of a single executable file and dynamically loaded library glut32.dll. The application is executed under Microsoft Windows operating system. The beginning of simulation process consists of three stages:

  • determination of the parameters of the simulated road stretch (Fig. 2),

    Fig. 2.
    figure 2

    The dialog windows for setting parameters for road and loading bays [own study].

  • simulation using the parameters defined in the traffic parameter model (Fig. 4a–c),

  • additional determination of the simulation output parameters (Fig. 3).

    Fig. 3.
    figure 3

    The dialog windows for setting additional output parameters of the simulation [own study] (Color figure online)

The first step uses a dialog window presented in Fig. 2, which enables to establish the length of the analyzed road stretch, to add or remove parking spaces for delivery or loading/unloading bays, as well as to add or remove additional, permanent road obstructions (roadblocks), which allows to simulate traffic obstacles caused by e.g. the ongoing roadworks.

Adding unloading bay (in-side or out-side) requires two parameters:

  • i – specifying stretch, where the parking space or loading/unloading bay is to be added,

  • j – specifying the type of element added with the assigned value: 0 - in the case of adding loading/unloading bay at the left lane, 1 - in the case of adding the parking space at the left lane, 2 - in the case of adding the parking space at the right lane, 3 - in the case of adding the loading/unloading bay at the right lane.

The next stage of operation of the simulator is the process simulation on the basis of the settings in the dialog box presented in Fig. 2. This step is described in more detail after the Fig. 4.

Fig. 4.
figure 4

The main window of the simulator for (a) simulation for 3 ub-inside, (b) simulation for 3 ub-outside, (c) simulation for 2 ub-inside and 2 ub-outside [own study] (Color figure online)

The simulator was developed to allow running simulations for the following settings:

  • the simulation for N iterations,

  • the simulation for N vehicles.

Making these settings is possible in the window presented in Fig. 3, which is displayed when you press the blue icon (second icon from right at the top) located in the simulation window. This solution allows to study, the effect of which is to save the resulting data files. Observation of the simulation process is possible in the main window of the simulation (Fig. 4). In addition, this dialog box gives you the opportunity to correct the existing parameters. At the top of this window are presented parameter settings to aid the user in making changes.

The main window of the simulator is opened after setting the parameters of the studied road stretch (Fig. 4a–c). The center of the screen shows the individual automaton cells, representing the studied road stretch.

Light blue cells represent the parking spaces on the lanes (ub-inside) or loading/unloading bays located on the side of the road (ub-outside). Inside the cells there may be two types of cuboids: green, representing passenger cars, and red, representing the commercial vehicles. At the bottom of the panel there are sliders, which are responsible for setting the key parameters of the simulation:

  • the maximum passenger car velocity,

  • the maximum commercial vehicle velocity,

  • the probability of a random event, corresponding to lowering car velocity by 1 (according to the N-Sch model),

  • the probability that the driver will want to return to the previous lane,

  • the tendency of the driver to change lane, visibility of loading/unloading bays, linked to the step “Lane change”,

  • the frequency of commercial vehicles stopping for delivery,

  • the probability of a new car appearing in the first empty cell from left at random lane,

  • time of delivery, corresponding to the number of iterations, during which commercial vehicle will remain in the cell representing the parking space or bay.

The application allows to save the results in CSV format. The report takes into account the parameters set in the simulation window and the number of car appearing on the input and the output of the model.

4 Experimental Results

In order to verify the proper operation of the model, several experimental have been done. A measure of the capacity of the road in all the presented experiments is the number of iterations of the developed cellular automaton model with the assumed number of 10,000 vehicles passing through a certain stretch of road. The greater the number of iterations of the cellular automaton, the road capacity is smaller, what means that a mathematical model performs more computing operations to handle the assumed number of vehicles moving through the fixed road. The path length was set at 100 cells cellular automaton, which, under the premise of the Nagel-Schreckenberg model gives the actual length of 750 m.

The first study involved to determine the effect of unloading time of goods in unloading bays located in the lane on the road. The results of the experiment are shown in Fig. 5. The simulation was carried out for the following input parameters:

Fig. 5.
figure 5

The impact of the number of unloading-inside bays and unloading time on the number of iterations of cellular automaton [own study]

  • the maximum velocity of the passenger car: 5;

  • the maximum velocity of the commercial vehicle: 3;

  • the probability of random event: 0.1;

  • the timidity of the driver: 2 (the higher the value is, the greater number of free cells in cellular automaton (between the vehicle in unloading bays and a vehicle approaching the unloading bay) is required to a vehicle parked in that bay could leave the unloading bay; it is a simulation of the phenomena associated with the skills of the driver - the higher the skill are, the driver can leave unloading bay faster without causing unnecessary congestion);

  • the visibility of bays: 5 (the number of cells of cellular automaton - the distance from which the unloading bay can be seen, which allows you to simulate the phenomena of parking in the unloading bay);

  • the probability of the new car: 0.9;

  • the unloading time: 20–100 iterations of cellular automaton;

  • the number of unloading bays (ub-inside) – for the first and third experiment: 0–4;

  • the number of unloading bays (ub-outside) – for the second and third experiment: 0–4;

The second study involved to determine the effect of unloading time of goods in unloading bays located outside the lane of the road. The results of the experiment are shown in Fig. 6 and the input parameters were the same as in the previous study.

Fig. 6.
figure 6

The impact of the number of unloading-outside bays and unloading time on the number of iterations of cellular automaton [own study]

The parameter observed in both experiments was the number of iterations of the cellular automaton.

The third experiment was also concerned to determine the effect of unloading time unloading of goods in unloading bays on the road capacity. However, in this experiment on the fixed road they have been deployed both unloading bays situated in the lane of the road and bays located outside the lane of the road (in the amounts indicated in Fig. 7).

Fig. 7.
figure 7

The impact of the number of unloading-inside bays and unloading-outside bays and unloading time on the number of iterations of cellular automaton [own study]

Analysis of the results leads to the conclusion that the time of unloading of goods has a significant impact on the capacity of the road, where there are unloading bays. This parameter becomes crucial when unloading bays are located in the line of a road. In the case of the four ub-inside bays arranged evenly on the fixed road (as shown in Fig. 5 relative to the road without bays the capacity of the road decreased by 52%. If the bays are located outside the main road the difference in capacity is much smaller and amounts to little more than 1%, which is mainly related to parking of vehicles in the bays and departuring from bays (scooping speed for commercial vehicles is time-consuming). This means that locating unloading bays outside the main road is the right urban trend, despite some consequences associated with it, e.g. to reduce the number of parking spaces. This consequence seems to be less painful for drivers going by this road.

A last experiment carried out in this research work was whether there is a correlation between the skills of the driver regarding the departure of unloading bay and the capacity of the road. Skills referred to above was defined in the model as courage in meaning uncertainty (shyness) drivers expressed in numbers of cells, which are the distance from the approaching vehicle to bay, allowing to leave bay by the vehicle parked. The assumption is that this manoeuvre should not lead to a rapid deceleration of the vehicle approaching to the unloading bay. The simulation was carried out for the following input parameters:

  • the maximum velocity of the passenger car: 5;

  • the maximum velocity of the commercial vehicle: 3;

  • the probability of random event: 0.1;

  • the timidity of the driver: 2–5;

  • the visibility of bays: 5;

  • the probability of the new car: 0.9;

  • the unloading time: 80 iterations of cellular automaton;

  • the number of unloading bays (ub-inside): 0–4;

  • the number of unloading bays (ub-outside): 0–4;

The results of this experiment are shown in Fig. 8. Data analysis confirms the existence of such a relationship, which ranged from 6.5% (for the case of 1 ub-inside and 3 ub-outside) to 10.9% (for the case of the previous 3 ub-inside and 1 ub-outside). This means that the parking skill of the driver or leaving the unloading bay affect on road capacity, which there are unloading bays located at.

Fig. 8.
figure 8

The impact of the number of unloading-inside bays and unloading-outside bays and timidity of the driver on the number of iterations of cellular automaton [own study]

5 Conclusion

The main objective of this paper was to present the application to simulate the events of position unloading bays on the road lane or outside road lane. The application implements a mathematical model based on cellular automaton model.

Several experiments were carried out: study of the effects of time unloading of goods on the road capacity and study of assessing the skills of the driver parked and leaving the unloading bay on the road capacity. The study were conducted in a simulation environment with parameters similar to the actual road conditions prevailing in some streets of the city of Szczecin. The results indicate the need to organize the unloading bays outside the main road and the awareness of drivers that their actions have a significant impact on the road capacity.