Next Article in Journal
Fault Ride-Through Optimization Scheme for Hybrid AC/DC Transmission Systems on the Same Tower
Previous Article in Journal
A Novel Whole-Body Wearable Technology for Motor Assessment in Multiple Sclerosis: Feasibility and Usability Pilot Study
Previous Article in Special Issue
Feasibility Study on the Use of NO2 and PM2.5 Sensors for Exposure Assessment and Indoor Source Apportionment at Fixed Locations
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Sensor-Driven Localization of Airborne Contaminant Sources via the Sandpile–Advection Model and (1 + 1)-Evolution Strategy

by
Miroslaw Szaban
1,* and
Anna Wawrzynczak
1,2
1
Institute of Computer Science, University of Siedlce, 08-110 Siedlce, Poland
2
National Centre for Nuclear Research, 05-400 Otwock, Poland
*
Author to whom correspondence should be addressed.
Sensors 2025, 25(19), 6215; https://doi.org/10.3390/s25196215
Submission received: 27 August 2025 / Revised: 26 September 2025 / Accepted: 28 September 2025 / Published: 7 October 2025
(This article belongs to the Collection Sensors for Air Quality Monitoring)

Abstract

The primary aim of this study is to develop an effective decision-support system for managing crises related to the release of hazardous airborne substances. Such incidents, which can arise from industrial accidents or intentional releases, necessitate the rapid identification of contaminant sources to enable timely response measures. This work focuses on a novel approach that integrates a modified Sandpile model with advection and employs the (1 + 1)-Evolution Strategy to solve the inverse problem of source localization. The initial section of this paper reviews existing methods for simulating atmospheric dispersion and reconstructing source locations. In the following sections, we describe the architecture of the proposed system, the modeling assumptions, and the experimental framework. A key feature of the method presented here is its reliance solely on concentration measurements obtained from a distributed network of sensors, eliminating the need for prior knowledge of the source location, release time, or emission strength. The system was validated through a two-stage process using synthetic data generated by a Gaussian dispersion model. Preliminary experiments were conducted to support model calibration and refinement, followed by formal tests to evaluate localization accuracy and robustness. Each test case was completed in under 20 min on a standard laptop, demonstrating the algorithm’s high computational efficiency. The results confirm that the proposed (1 + 1)-ES Sandpile model can effectively reconstruct source parameters, staying within the resolution limits of the sensor grid. The system’s speed, simplicity, and reliance exclusively on sensor data make it a promising solution for real-time environmental monitoring and emergency response applications.

1. Introduction

The emission and storage of toxic substances pose an ongoing risk of accidental or intentional release into the atmosphere, which can have severe consequences for human health and the environment. Airborne pollution remains a critical area of research due to its potential to affect large geographic areas and densely populated urban centers, particularly when released materials are hazardous or difficult to detect. Such releases often occur due to uncontrolled leaks in industrial storage or transport systems. In other cases, they may be intentional, aimed at causing harm or public disruption. Regardless of the cause, early detection and characterization of these events are essential for a timely and effective response. Sensor systems are crucial for detecting airborne contaminants. Modern sensor networks that can measure chemical concentrations in real time are vital for identifying the presence of toxic substances in the atmosphere. When combined with atmospheric dispersion models, sensor data facilitate accurate tracking of contamination plumes and assist in estimating the source term—specifically, identifying the location, timing, and intensity of the release. The most challenging and dangerous situations arise when elevated concentrations of an unknown contaminant are detected without prior information about its source. In these cases, rapid analysis of sensor data, paired with model-based inference, can help estimate the release coordinates and emission rate. This capability is essential for initiating containment measures, issuing public safety alerts, and preventing the spread of hazardous materials.
The literature includes numerous studies focused on locating the sources of atmospheric contamination using data collected from distributed sensors. Existing algorithms for this task can be divided into two main categories: The first category employs a backward approach, designed for open areas or problems on a continental scale. The second category uses a forward approach, where various parameters of a dispersion model, including the source location, are sampled to identify the one that minimizes the distance between the model outputs and the measurements from the sensors within the specified spatial domain. In our approach, the redistribution mechanism follows a forward and stepwise propagation. This inverse problem does not have a unique analytical solution, but it can be analyzed within probabilistic frameworks such as the Bayesian approach, which treats all variables of interest as random variables (e.g., [1,2]). A comprehensive literature review of previous works addressing the inverse problem of atmospheric contaminant releases can be found in sources like [3].
Identifying the source of an atmospheric contaminant release is a computationally intensive task. Traditional methods often require multiple simulations using complex dispersion models, with each run potentially taking from minutes to days. This significant computational demand poses a challenge in emergency situations that necessitate quick source localization based on data from sensor networks. To address prolonged computation times, artificial neural networks have been proposed as an alternative, especially in urban environments (e.g., [4]). However, the effectiveness of source reconstruction relies not only on the dispersion model used but also on the efficiency of the algorithm employed to search the parameter space to align model outputs with sensor measurements.
Various optimization algorithms, including nature-inspired techniques, have been applied to the problem of source reconstruction. A notable recent development is the Layered Algorithm, which utilizes a two-dimensional, three-state cellular automaton (CA) for classification [5]. This method organizes sensor measurements by magnitude into distinct data layers, allowing the CA to effectively identify the probable source location.
In [6], the author provides a thorough review of significant advancements in unmanned ground-based mobile sensing network configurations and autonomous data acquisition strategies utilized for localizing gaseous plume sources.
The issue of identifying contaminant sources has been addressed in previous studies [7,8,9]. These studies focused on contamination in water distribution networks and employed a methodology that combines a machine learning algorithm with an optimization algorithm. Additionally, the problem of leakages from sewage networks, which can lead to the contamination of groundwater reservoirs, was examined in [10].
This paper centers on the Sandpile algorithm, which has been explored for identifying the source of an atmospheric contaminant release. A preliminary study introduced a simplistic model paired with the Generalized Extremal Optimization algorithm; however, it notably omitted the advection mechanism, limiting its physical realism [11].
In this paper, we build upon that research by significantly expanding it and, most importantly, by incorporating the advection mechanism. This enhancement enables our proposed model to more accurately reflect real-world data. We present a novel tool for identifying the sources of airborne contamination, utilizing data gathered from a distributed network of sensors. Our approach adapts the Sandpile model, traditionally used to simulate self-organized criticality, to represent the transport and dispersion of airborne pollutants within a specified spatial domain. The primary aim is to assess the feasibility of applying the Sandpile model as a simplified yet effective method for simulating the movement of contaminants in the atmosphere.
The structure of this paper is as follows: Section 2 introduces the fundamentals of the Sandpile model and explains its relevance in modeling atmospheric pollution. Section 3 discusses how cellular automata are employed to implement the simulation framework. Section 4 describes the (1 + 1)-Evolution Strategy (ES) algorithm, which is used to optimize the source prediction process. Section 5 briefly explores the concept of advection as an important transport mechanism. Section 6 provides an overview of the Gaussian dispersion model, which generates synthetic reference data for validation purposes. Section 7 presents the simulation results and evaluates the performance of the proposed method. Finally, Section 8 concludes the paper and suggests directions for future research.

2. Characteristics of the Sandpile Model

The Sandpile model is a well-established deterministic framework that helps in studying self-organizing criticality. This model was proposed by Bak, Tang, and Wiesenfeld in 1987 (see [12,13,14]). In this framework, the steady state (or critical state) eventually collapses at a certain point in time. The simplest version of the Sandpile model starts with a single column configuration. At each step, if a column has at least two more grains than its right-hand neighbor, it transfers one grain to that neighbor. It has been proven (in [15,16]) that this model converges to a single configuration where the evolutionary rule can no longer be applied to any column. This is known as the fixed point. All possible arrangements that arise from the initial column configuration through the application of the evolution rule can be characterized within a two-dimensional grid [17].
To illustrate the Sandpile model, we can use a simple mental image involving grains of sand [18]. Imagine a pile of sand on a small table. Dropping an additional grain onto the pile can trigger avalanches, causing grains to slide down the slopes. The dynamics of these avalanches depends on the steepness of the slope. As the avalanche occurs, the sand settles somewhere on the table. If the avalanche continues, some grains may fall off the edge of the table. On average, adding one grain to the pile will increase the slope. Over time, as the grains spread, the slope evolves into a critical state. At this point, dropping a single grain onto the pile can result in a large avalanche. This thought experiment illustrates that the critical condition is highly sensitive to stimuli; even a small change—whether internal or external—can lead to significant effects [19].
In the initial stage, we define a class of graphs G = ( V { s } , E ) on which the model is based. The graph G must be finite, undirected, connected, and loopless. It may contain multiple edges and include a distinctive terminal vertex. The set of graphs is denoted as G. The notation u v indicates adjacency in G, meaning { u , v } E .
The configuration of the Sandpile G model is represented by the vector η = ( η ν , ν V ) Z + | V | . The number η ν indicates the number of sand grains at the vertex ν in the configuration η . When this number exceeds a certain threshold, the vertex is considered to be unstable and will distribute one grain of sand to each of its neighbors (see Figure 1). The probability of a neighboring vertex receiving a grain from an unstable vertex is drawn from the interval p ( 0 , 1 ) . The terminal vertex plays a special role, as it can accept an infinite number of grains and will never become unstable [13]. When the local slope of the stack—resulting from the height difference between the top and the adjacent vertex—exceeds a certain threshold, the grains will redistribute. This process allows one grain to fall onto another pile. It occurs by reducing one pile’s height while increasing adjacent piles’ height. In the subsequent iteration of pouring sand, the local threshold is recalibrated. This procedure continues until all vertices reach a stable configuration. At this point, a new grain is introduced from the left side. The configuration η = ( η ν , ν V ) is considered to be stable when η ν d G ( ν ) , where d G ( ν ) represents the degree of vertex ν in graph G [13,20].
In our study, we employed an asynchronous sequential approach, as the dropping of grains at a single point can trigger an avalanche. This avalanche then induces changes at multiple points, ultimately leading to a stable state in the Sandpile model used in cellular automata (CA). During the avalanche, the sand grains move downward toward the base of the pile. However, if the grains can fall in multiple directions, the direction chosen is based on a probability proportional to the height of the slope in that direction.
The Sandpile model is highly versatile and can be easily adapted to various research problems. It can be implemented in one or two dimensions, with open, closed, or infinite boundaries. This model is widely used in fields such as physics, economics, mathematics, and theoretical computer science [21,22,23,24,25]. Its applications range from cellular automata and information systems to earthquake calculations [26], studies of river sediments [27], the spread of forest fires [28,29,30,31], investigations of the Earth’s magnetosphere [32], studies of precipitation distribution [20], diffusion problems (such as those involving lattice gas and lattice Boltzmann models) [33], social sciences [34], neuroscience [35], and the study of consciousness [36], as well as theoretical mathematical investigations on the application of renormalization group methods [37,38].

3. Two-Dimensional CA Approach for Localization Model

CAs and their potential for efficiently performing complex computations were described by S. Wolfram in [39]. This paper focuses on two-dimensional CAs. A cellular automaton is represented as a rectangular grid of X × Y cells, where each cell can assume one of k possible states. After establishing the initial states of all cells (that is, the initial configuration of the cellular automaton), each cell updates its state according to a transition function T F , which is based on the states of neighboring cells.
This study utilizes a finite cellular automaton with stable boundary conditions. State transitions in the cellular automaton occur asynchronously. The transition function discussed in this paper is derived from the Sandpile model, which is applied to the cellular automaton grid. In this context, the cells of the cellular automaton simulate the evolution of sand grains in the Sandpile model.
It is assumed that the contaminant distribution spans the region [ 0 , 10 , 000 ] × [ 0 , 10 , 000 ] meters. Consequently, the data space must be mapped from [ 0 , 10 , 000 ] × [ 0 , 10 , 000 ] onto the grid of X × Y cells. For simplicity, this paper assumes a square grid with X = 100 (see also [11]).

4. Localization Model Based on the (1 + 1)-ES-Sandpile Model

Evolution strategies (ESs) are one of the four primary categories of evolutionary algorithms. A key characteristic of ESs is their unique method for adapting the mutation step size. If new solutions do not improve upon previous ones, the algorithm dynamically adjusts the mutation range. Another notable feature of ESs is that a well-adapted individual can proceed to the next generation without any modifications.
Evolution strategies can be classified into several types (see [40,41,42,43,44]). One example is the (1 + 1)-ES, which generates a single offspring from one parent and selects the better-adapted individual to move on to the next generation, as illustrated in Algorithm 1. Over time, new variants of evolution strategies have developed, such as the ( μ , λ ) and ( μ + λ ) strategies. These types are primarily utilized for problems where the encoding can be easily represented as a vector of floating-point numbers.
Algorithm 1 illustrates the procedure for the (1 + 1)-Evolution Strategy. In this context, σ represents the mutation range parameter, and N ( 0 ,   1 ) denotes the normal distribution. Additionally, Φ ( σ ) is the self-adaptive mutation range algorithm presented in Algorithm 2.
Algorithm 1 outlines the operation of the (1 + 1)-ES process. This is an iterative algorithm that involves a series of actions repeated in each iteration t, as detailed in lines 4–15 of Algorithm 1. The results obtained from these actions lead to cascading conditional statements, which trigger the execution of specific paths within the algorithm (as seen in lines 7–13 of Algorithm 1). The algorithm operates in the following manner:
The first step (line 2) is to generate a random solution X t of the algorithm, which must satisfy the formal assumptions. In all types of evolution strategies, individuals are represented by a pair of vectors: X and σ . The solution vector X = ( X 1 ,   X 2 ,   ,   X n ) represents an individual within an n-dimensional solution space. The mutation step-size vector σ = ( σ 1 ,   σ 2 ,   ,   σ n ) contains values where σ j is used to mutate the gene X j , with j ranging from 1 to n. The mutation process affects both vectors. First, the step-size vector σ is mutated using the parameters c d and c i (as detailed in Algorithm 2). After this adjustment, the solution vector X is mutated using the newly modified step size σ (as outlined in Algorithm 1). The next step (line 3) is to evaluate this solution, F ( X t ) , according to Equation (1). Subsequently, the solution X t is analyzed and modified in the following iterations of the algorithm (lines 4–15). A mutation operation occurs (line 5), creating a new solution Y t . This new solution is produced by modifying the solution X t by adding the product of the mutation range parameter ( σ ) and a value drawn from a normal distribution N ( 0 , 1 ) . In the next step, the newly created solution Y t is evaluated (line 6). If solution Y t is evaluated higher, we have achieved a better result (marked as success, line 7). In this case, solution Y t is formally implemented as X t = Y t (line 8) and advances to the next iteration. Otherwise (if we do not observe success), solution X t remains for the next iteration (line 11) as the best solution found so far. The algorithm terminates when all predefined iterations have been completed (line 4). The final result is the solution X t , evaluated as F ( X t ) .
In Algorithm 1, we observe the self-adaptation of the mutation range parameter on lines 9 and 12, which is detailed in Algorithm 2.
Algorithm 1 Evolutionary strategy (1 + 1)
1:
t = 0
2:
create X t
3:
evaluate X t → calculate F ( X t )
4:
while termination condition NOT TRUE ( t = M a x ) do
5:
     Y t = X t + σ N ( 0 ,   1 ) (mutation of X t )
6:
    evaluate Y t → calculate F ( Y t )
7:
    if  F ( Y t ) is better than F ( X t ) (success) then
8:
         { X t = Y t
9:
         σ = Φ ( σ ) }
10:
    else
11:
         { X t = X t
12:
         σ = Φ ( σ ) }
13:
    end if
14:
     t = t + 1
15:
end while
16:
return X t (effect of the algorithm work)
Algorithm 2 Self-adaptive mutation range algorithm for evolutionary strategy (1 + 1).
1:
calculate ϕ ( t ) = number   of   successes   in   iteration   t t
2:
if  ϕ ( t ) < 1 5  then
3:
     { Φ ( σ ) = c d σ }
4:
end if
5:
if  ϕ ( t ) = 1 5  then
6:
     { Φ ( σ ) = σ }
7:
end if
8:
if  ϕ ( t ) > 1 5  then
9:
     { Φ ( σ ) = c i σ }
10:
end if
The function ϕ ( t ) adjusts the mutation range parameter, sigma, based on the number of successes in subsequent iterations (see Algorithm 2, line 1). This allows for an automatic and flexible selection of the search space range, depending on whether the algorithm discovers new, better solutions or becomes stuck in a local extremum. The current sigma value is modified by multiplying it by the constants c d and c i (lines 3 and 9), depending on whether specific conditions (lines 2 and 8) are met.
The suggested constants c d = 0.82 and c i = 1 c d = 1.22 are based on recommendations by Rechenberg and Schwefel. The 1 5 success rule, represented as ϕ ( t ) , and its corresponding value were initially proposed by Rechenberg following his studies on multidimensional functions. The scaling factors used to adjust the mutation step size—specifically for increasing ( c i ) or decreasing ( c d ) the step—were derived experimentally and are standard recommendations by Schwefel (see [45]).
In the (1 + 1)-Evolution Strategy algorithm, the fitness function is computed as the sum of the relative differences between the results of the Sandpile model and the contaminant concentrations at sensor locations. The difference at each point is calculated using the following formula (based on [11,46]):
F ( C j M ,   C j E ) = j = 1 N log ( C j M ) log ( C j E ) log ( C j M ) ,
where C j M is the concentration value at the j-th sensor location, C j E is the concentration value estimated by the Sandpile model at the j-th sensor location, and N is the total number of sensors.
There is a significant disparity in the output scales: the Gaussian model produces low sensor concentrations (values much lower than 1), while the Sandpile model results in accumulated grain counts in the order of 10 3 . Applying a logarithm effectively normalizes these values to a comparable order of magnitude. Furthermore, our analysis assumes that the data has been pre-processed; we did not consider scenarios involving noisy or incomplete data, as we presumed that the data had already been corrected and denoised.
If the output of the Sandpile model is equal to 0, it is treated as 1 × 10 200 to facilitate logarithm calculations. The final evaluation function is the sum of the differences from all of the considered sensor positions. This evaluation function tends toward a minimum; thus, a smaller value of the obtained difference indicates a better match between the Sandpile model and the target concentrations at the sensors.
The (1 + 1)-Evolution Strategy is quite sensitive to local minima, prompting the search for more effective solutions. This search has led to the development of various strategies, including ( 1 + λ ) , ( μ + λ ) , and ( μ , λ ) .

5. Advection in the Sandpile Model

In the basic Sandpile model, a point is selected for the addition of successive grains of sand. When a grain falls from a certain height, its trajectory is a straight line from the release point to the top of the grain column located directly beneath it.
In the enhanced version proposed in this paper, wind advection plays a significant role in influencing the trajectory of falling grains. The landing position of each grain is determined by mathematical equations that describe the dynamics of particle movement in the air. In this context, the speed and direction of the wind are crucial, highlighting their essential role in shaping the grain’s descent and final location.
Figure 2 provides a conceptual diagram of a sand grain’s trajectory as it falls under the influence of wind. The red dot indicates the release point, while the green path and cell show where the grain would land in the absence of wind. The blue line represents the wind flow, and the yellow path illustrates the grain’s trajectory as influenced by the wind, along with its final landing cell.
Our model, developed within our system, utilizes a cellular automaton approach. Each cell in the grid represents the height of a grain pile, which is determined by the number and size of the grains it contains. When a grain falls onto the peak of a column at coordinates ( X ,   Y ) , we check its four neighboring cells: ( X   +   1   ,   Y ) , ( X     1   ,   Y ) , ( X   ,   Y   +   1 ) , and ( X   ,   Y   1 ) .
If the height difference between the selected peak and any of its neighbors is no more than three grains, the grain remains at the current peak, and its height increases by the size of the new grain (see [17]). However, if the height difference between the selected peak and a neighboring cell equals the height of four grains, a neighboring peak is randomly chosen for the grain to slide onto. During this process, neighboring peaks that are the same height or higher are excluded from selection. The probability of the grain sliding onto a chosen neighbor increases with the height difference. This cascading movement continues recursively until all grain columns reach a stable state.
The model’s parameters include the coordinates of the grid’s starting point and height, as well as the direction and speed of the wind, which influence the movement of the falling grains. The formula used to calculate the height of a grain at given coordinates, taking into account the wind direction and speed, is as follows:
Z = Z 0 g · X 2 s x 2 ( grad x ) 4 + Y 2 s y 2 ( grad y ) 4 2 v 0 2 ,
where
  • Z—The height coordinate of a falling grain at a current planar ( X , Y ) position in the CA grid;
  • Z 0 —The height coordinate of the grain release point ( X 0 , Y 0 , Z 0 ) in the CA grid;
  • g—Acceleration due to gravity ( 9.81 m s 2 );
  • X , Y —Cell coordinates in the CA grid (current planar position of a falling grain);
  • s x , s y —Scaling factors transforming the planar position ( X , Y ) in the CA grid to real-world coordinates;
  • grad x ,   grad y —Wind gradient in the CA grid as a vector [ X , Y ] , where X , Y [ 1 ; 1 ] , which determines the direction and speed of the wind in the CA grid;
  • v 0 —Wind speed ( m s ).
During the simulation, the altitude of a grain is determined by the wind direction gradient for cells within its trajectory. If the grain’s altitude in the next cell is lower than or equal to the altitude of existing grain vertices in that cell— or if it falls below the grid (i.e., z < 0 )— the grain is deposited onto the vertex in the current cell. For example, if a grain is over the cell ( X ,   Y ) and the wind gradient [ 1 ,   1 ] indicates that it will move to cell ( X + 1 ,   Y + 1 ) , we calculate the grain’s altitude at this new location. If this altitude is less than or equal to the vertex height at ( X + 1 ,   Y + 1 ) , or if it is below zero, the grain will be deposited at the vertex of the current cell ( X , Y ) .
An example outcome from our model (which includes advection) is shown in the left panel of Figure 4.

6. Assessing the Suitability of the (1 + 1)-ES Sandpile Model for Airborne Contaminant Source Localization

6.1. Generation of Synthetic Data for Model Evaluation

This chapter examines the applicability of the (1 + 1)-ES-Sandpile model for localizing airborne contaminant sources. To evaluate the effectiveness of the proposed method, synthetic concentration data were generated across the simulation domain using the well-established Gaussian dispersion model (e.g., [48]). This controlled setup allows for a systematic assessment of the algorithm’s ability to accurately identify source locations under simplified yet representative atmospheric conditions.
The Gaussian plume model is one of the most widely utilized methods in air pollution research. It provides a simplified analytical representation of the three-dimensional concentration field produced by a continuous point source under stationary meteorological and emission conditions. Although it is based on several simplifying assumptions, the model remains popular due to its robustness and ease of use. Under uniform and steady wind conditions, the concentration C ( x ˜ , y ˜ , z ) of a contaminant (measured in μ g m 3 ) at a specific location defined by x ˜ meters downwind from the source, y ˜ meters laterally from the plume centerline, and z meters above ground level can be expressed as follows:
C ( x ˜ , y ˜ , z ) = Q 2 π σ y σ z U exp [ 1 2 ( y ˜ σ y ) 2 ] × { exp [ 1 2 ( z H σ z ) 2 ] + exp [ 1 2 ( z + H σ z ) 2 ] } ,
where U denotes the wind speed along the x-axis, Q is the source strength or emission rate, and H is the effective release height, defined as the sum of the physical release height H ˜ and the plume rise h ( H = H ˜ + h ). The dispersion parameters σ y and σ z , representing the standard deviations of the concentration distribution in the crosswind and vertical directions, respectively, are empirical functions of x ˜ . These parameters depend on the atmospheric stability conditions as established by Pasquill and Gifford (e.g., [48]).
A Gaussian dispersion plume model was used to generate a map of the spread of the contaminant in a specific area. We limited the diffusion to stability class C for the urban environment (using Pasquill-type stability for rural areas; see the classification below and Table 1). The release rate was assumed to vary over time within the range Q 1000 g s , 10,000 g s , which caused changes in the concentrations recorded by the sensors in subsequent time intervals. The wind was directed along the x-axis, with an average speed of ( 5 m s ) .
The Pasquill–Gifford stability classes are labeled from A to G, where
A
Extremely Unstable—Highly turbulent conditions;
B
Moderately Unstable—Very turbulent;
C
Slightly Unstable—Less turbulent than B;
D
Neutral—Very little or no turbulence;
E
Slightly Stable—Stable conditions with some turbulence;
F
Moderately Stable—Stable conditions with low turbulence;
G
Extremely Stable—The most stable conditions, with very little turbulence.
Table 1 displays the distribution of Pasquill–Gifford stability classes. These classes are determined by factors such as surface wind speed, daytime incoming solar radiation, and nighttime cloud cover. The classification scheme was originally developed by Pasquill [49] and was later modified by Turner [50] and others [51,52].
The spatial distribution of the contaminant within the simulation domain is shown in Figure 3. A corresponding sample of the contaminant field, mapped onto the computational grid, is presented in the right panel of Figure 4. For this analysis, the physical domain [ 0 , 10 , 000 ] × [ 0 , 10 , 000 ] m was discretized into a 100 × 100 grid, which served as the input representation for the (1 + 1)-ES-Sandpile model.
Figure 4. Heat maps illustrating (left) the typical distribution of 1000 sand grains in the Sandpile model with advection and (right) the contaminant concentration field obtained from the Gaussian dispersion model with an emission rate of 5000 g s . In both cases, the setup assumes a wind speed of 3 m s directed along the x-axis and a source located at ( 20 , 50 ) .
Figure 4. Heat maps illustrating (left) the typical distribution of 1000 sand grains in the Sandpile model with advection and (right) the contaminant concentration field obtained from the Gaussian dispersion model with an emission rate of 5000 g s . In both cases, the setup assumes a wind speed of 3 m s directed along the x-axis and a source located at ( 20 , 50 ) .
Sensors 25 06215 g004
Figure 4 shows that the contaminant distributions generated by both the Gaussian plume model and the Sandpile model with the proper parameter configuration are nearly identical. This similarity is consistent with the expected behavior of the Sandpile model when advection properties are applied with the same parameters. The results suggest that the Sandpile model is a promising tool for estimating Gaussian distributions and, by extension, for modeling airborne contaminant dispersion. Furthermore, subsequent experiments demonstrate the effectiveness of our advection-enhanced Sandpile model in reconstructing the source location of the released substance. In the case of the Sandpile model without advection (see Figure 5), we can observe the typical symmetric shape of the pile presented in [11]. This shape remains largely unchanged even with varying wind speeds or directions in the Gaussian plume model.
The opposite approach was demonstrated in [53], where the Gaussian plume model was used as a tool to find the location of the gas source in the experimental environment of the authors.

6.2. Testing Framework and Assumptions

The (1 + 1)-Evolution Strategy Sandpile model, described in detail in Section 6.1, was evaluated for its efficiency in localizing a contamination source using synthetic sensor data generated by the Gaussian plume model (Section 3).
The nature of these two models is similar. The Sandpile model is based on dropping sand grains onto a specific 2D point; the accumulation of grains causes avalanches, which consequently leads to a 3D structure. The advection mechanism introduced in our model causes the grains to fall not vertically but along a certain trajectory (see Figure 2 and Equation (2)). A model constructed in this way converges with the model of wind-borne substance transport in the air. The airborne substances consist of contamination particles, which were derived using the Gaussian plume model in this study. Therefore, there is significant similarity between the two models, enabling them to be mapped and compared effectively.
The concentrations reported by the sensor grid were fed into the (1 + 1)-ES algorithm to determine whether it could accurately identify an airborne contaminant source within the specified domain. The (1 + 1)-ES algorithm was applied to the Sandpile model, utilizing a two-dimensional cellular automaton (CA) of size 100 × 100 . A larger CA size is expected to produce more accurate results, contingent upon a denser data grid. The number of sand grains ( G N ) used in this model ranged from 0 to 10 6 grains, while the grain size ( G s ) varied from 0 to 1 meter. Wind direction and speed were represented by the vector [ w x , w y ] . The algorithm ran for 200 generations.
In this context, an individual is represented by a pair of vectors ( X ,   σ ) . The solution vector X is defined as X   =   ( X , Y ,   Z , w x , w y ,   G N ,   G s ) , while σ   =   ( σ X ,   σ Y ,   σ Z ,   σ w x ,   σ w y ,   σ G N ,   σ G s ) represents the mutation step-size vector of the (1 + 1)-ES algorithm (explained in detail in Section 4). Here, X , Y , and Z denote the positions where grains of sand are dropped, w x and w y indicate the wind parameters, G N is the number of grains, and G s is the grain size. Each value of σ falls within the range [ 5 ,   5 ] . Each experiment was conducted with 10 restarts.

7. Evaluation Results of the (1 + 1)-ES Sandpile Source Localization Model

Our research was structured in two sequential stages to address the problem’s complexity. The initial stage focused on an inverse problem: fitting the Sandpile model’s parameters to match the contaminant distributions reported by a network of sensors. This calibration process was essential to validate the model’s ability to accurately simulate real-world plumes. The second stage then leveraged this validated model to pinpoint the source characteristics, testing its efficacy by using the simulated plumes to reconstruct the original release location.

7.1. Adjusting the Parameters of the Sandpile Model to Align with Sensor Data

The first and most crucial stage involves experimentally adjusting the parameters of the Sandpile model to match the contaminant spread reported by the sensor network. A well-fitted Sandpile model will enable the identification of the release point in the second stage of the process.
Two groups of testing data were utilized. The first set was employed for preliminary tests (the first stage of experiments). This set comprised readings of contaminant concentration measured across a regular grid of sensors, with one sensor allocated to each square kilometer. The test domain was a square measuring 10 km by 10 km, containing 100 regularly spaced sensors arranged in a 1 km grid, positioned 2.5 m above the ground. The contaminant source was situated within the domain at the coordinates (0 m, 5000 m) and was 28.75 m above the ground. The emission rate was set at Q = 5368.38 g s , with the wind blowing parallel to the x-axis at a speed of 5 m s . A visualization of the simulation results from the Gaussian model contained in this dataset is shown in Figure 6.
In line with the assumptions and experimental plan, it was necessary to estimate the appropriate grain size and the correct number of grains to be dispensed. The results of the tests are presented in the tables below, considering all parameters of the Sandpile model.
The (1 + 1)-ES Sandpile model was executed to estimate the number of grains G N and the grain size G s , while keeping the other parameters at the following levels: ( X , Y )   =   ( 0 ,   50 ) , Z   =   28.75 , and [ w x , w y ] = [ 1 ,   0 ] . The number of generations applied in the algorithm was equal to 200. The parameters tested and analyzed during the calibration of the Sandpile model to the Gaussian model included the following ranges: grain size G s within the range of [ 0 ,   100.0 ] , gradient [ w x , w y ] = [ 1 ,   0 ] , number of grains G N within the range of [ 1 ,   10 6 ] , and σ within the range of [ 5.0 ,   5.0 ] .
The results presented in Table 2 are sorted from the best fit to the worst.
The objective was to minimize the function f ( C j M , C j E ) , where a value of 0 indicates a perfect fit of the Sandpile model to the contaminant spread reported by the sensor network. As shown in Table 2, the best score was obtained with a grain size G s = 0.21 and a large number of grains G N = 99 , 540 (the first row in Table 2), yielding an evaluation function f ( C j M , C j E ) = 2727.47 . The last row of the table indicates that with a grain size that is too large—specifically, G s = 16.72 —only a small number of grains were dispensed to fit the model, resulting in a poor fit (high evaluation function).
Despite the results obtained, the high value of the evaluation function indicates that the models did not achieve a good fit. Therefore, tests were conducted on the Z-coordinate, which had not been previously mapped to the simulation coordinates, such as the CA grid in the Sandpile model. Subsequent experiments were designed to determine the optimal height from which to pour the sand grains. The calibration was performed using the (1 + 1)-ES algorithm, which adjusted the calibrated values—either increasing or decreasing them—to achieve the best fit of the model to the measurement data provided by the Gaussian model. In these experiments, we analyzed Z within the range of [ 0 , 2000 ] and identified Z = 1085 as the chosen value, with an evaluation function of F ( C j M , C j E ) = 1578.28 .
Figure 7 illustrates changes in the fitness function throughout the iterations of calibrating the Sandpile model to match the Gaussian model. It can be observed that the algorithm achieved a result before the 60th generation, after four improvements.
A value as high as the obtained Z-coordinate may seem surprising at first. However, deposition height is intrinsically important and closely linked to grain size. In the Gaussian model, particles are in a state of continuous movement, influenced by wind force and direction. In contrast, the Sandpile model restricts a grain’s position to vertical changes (along the Z-coordinate) once it lands on the plane. When both the grain size is large and the deposition height is low, pile formation becomes impossible. In such cases, grains begin to accumulate in front of the intended pile beyond a certain point. The Sandpile model lacks mechanisms for pile displacement; thus, the only ways to change the pile’s location are through an avalanche (which causes a slope collapse) or by starting the pile in a different position. Therefore, maintaining an adequate deposition height is crucial in the Sandpile model to ensure the proper distribution of sand grains across the study area.
The initial phase of the experiments aimed to fit the Sandpile model to the sensor data in order to propose a dispersion model that closely aligns with the observed registrations. As a result, we selected the parameters that provided the best fit using the (1 + 1)-ES algorithm. The optimized Sandpile parameters were determined as follows: deposition height Z = 1085 , grain size G s = 0.21 , and number of grains G N = 99 , 540 .

7.2. Determining the Location of an Airborne Contaminant Source

The parameters of the Sandpile model selected in the previous stage of the algorithm were used to conduct tests on five different datasets. These datasets represented the concentration of the released substance in a sensor grid, with random source locations within the specified domain (see Figure 8).
In the datasets used in this section to evaluate the effectiveness of the proposed algorithm for contaminant source localization, the release height varied across scenarios (see Figure 8). As a result, the previously fixed sand-dumping height parameter, Z = 1085 (see Section 7.1), was treated as a variable to be estimated alongside the horizontal source coordinates ( X , Y , Z ) . The (1 + 1)-ES algorithm was employed in the following experiments to estimate the contaminant source position within the domain. The algorithm’s constant parameters were set as follows: grain size G s = 0.21 , number of scattered grains G N = 99.540 , and wind conditions [ w x , w y ] = [ 0 ,   1 ] . The objective was to accurately determine the source location ( X , Y , Z ) . The analyzed parameters included the following ranges: grain size X , Y within the range of [ 0 ,   100 ] , and Z within the range of [ 0 ,   2000 ] . All random processes utilized in this paper were executed using a system generator that applied a uniform distribution, with a seed based on the computer’s system clock. The results of these experiments are summarized in Table 3.
Table 3 presents a comparison between the true coordinates of the contaminant source ( X , Y , Z ) and the coordinates estimated by the (1 + 1)-ES Sandpile algorithm across five test cases. The algorithm performs well in estimating horizontal source locations, with most predicted X and Y values closely matching the true coordinates. Although some larger deviations appear, particularly in Cases 4 and 5, these fall within the expected accuracy range of approximately 1000 m, which corresponds to the sensor spacing in the input grid. This indicates that the observed horizontal errors are primarily due to grid resolution rather than limitations of the algorithm. In terms of vertical estimation, the algorithm tends to overestimate the release height. This behavior can be attributed to the intrinsic characteristics of the Sandpile model. In the Sandpile analogy, grains of sand are released from a specific height, with their size and number directly affecting the resulting distribution pattern. In contrast, when generating testing datasets of airborne contaminants using the Gaussian model, the physical weight of the particles is not explicitly considered in the same way. Consequently, the analogy between these two processes introduces a systematic bias in the estimated release height, making the Z-coordinate slightly less precise compared to the horizontal coordinates. The current results in this area were obtained through experimental methods. As mentioned in this paper, there seems to be a correlation between the grain deposition height in the Sandpile model and the release height of the hazardous substance during source localization. However, confirming this hypothesis requires considering additional factors, such as wind velocity and grain size within the Sandpile model, to formally establish this relationship through a mathematical equation. Establishing this dependency is expected to enhance the accuracy of localizing hazardous substance releases. Research in this area is ongoing, but it demands a substantial investment of time. In our specific case, errors along the Z-axis may be acceptable because we are examining the dispersion of a substance in an open area, where the primary goal is to determine the horizontal position of the source. Consequently, the release height is a secondary consideration. As shown in Table 3 and Table 4, there appears to be a correlation between the grain deposition height in the Sandpile model and the release height of the hazardous substance being localized. For the true coordinate Z, the source coordinates indicated by the (1 + 1)-ES Sandpile algorithm tend to grow consistently and quite proportionally across different experiments. Nonetheless, this trend is consistent across test cases, suggesting that it can be accounted for and potentially corrected in future refinements of the approach.
Overall, the (1 + 1)-ES Sandpile algorithm offers reliable and meaningful estimates of contaminant source locations, especially in the horizontal plane, making it a promising approach for environmental monitoring applications. The absolute errors for each coordinate are summarized in Table 4, which supports these observations. As can be seen from analyzing the data in Table 3 and Table 4, the Pearson correlation coefficient (r) for the fit of solutions obtained from the Sandpile–advection model and those generated by the Gaussian plume model is 0.9973 for the X-coordinate, 0.8898 for the Y-coordinate, and 0.6408 for the Z-coordinate. While the fit coefficients for the X- and Y-coordinates are relatively high—particularly for the X-coordinate—the coefficient for the Z-coordinate is considerably lower. This divergence can be attributed to the challenges involved in matching the grain size and pouring height, which results in significant differences, as discussed earlier in this chapter.
The variable number of grains between experiments is due to grains at the edge of the experimental area falling off. This loss of grains negatively impacts the results, especially when the symmetry of the model is disturbed. A greater number of fallen grains generally led to a lower correlation between the models. This trend is evident in Figure 8. Cases 1–3, which experienced minimal grain loss, demonstrate very high Pearson correlation coefficients ( r = 0.9996 , 0.9994 , and 0.9994 , respectively). In Case 4, a moderate loss of grains with a disturbance of the symmetry in the model resulted in a significantly lower correlation coefficient ( r = 0.9650 ). Interestingly, Case 5 presented an anomaly: despite having the highest grain loss, its correlation coefficient ( r = 0.9913 ) was notably higher than that of Case 4, although it was still lower than those of Cases 1–3. This may be attributed to the preservation of the model’s symmetry, which allowed for a more accurate fit.
It is important to highlight the computational efficiency of the proposed algorithm. Each test case run on a standard laptop configuration was completed in under 20 min, which is significantly faster than many traditional inverse modeling approaches. This level of responsiveness is crucial in practical applications, where timely information is essential for effective decision-making. In emergency scenarios involving hazardous releases or environmental contamination, generating accurate source estimates within such short time frames can greatly improve the speed and effectiveness of response efforts. These results demonstrate the algorithm’s strong potential as a near-real-time solution for operational use in emergency management and environmental monitoring.
Our previous results using the Sandpile model without advection, optimized with the GEO algorithm [11], showed poor source localization performance. The average estimation error was 10 % for the y-coordinate, but it increased dramatically to 200 % for the x-coordinate due to the model’s inability to account for advection. Furthermore, applying a simple corrective shift using an empirically derived vector opposite to the wind improved the average estimation error to 10 % , with many results often reaching around 5 % . However, in the current approach, the average estimation error is 4 % , with results frequently nearing 1 % , and 5.5 % for the y-coordinate.
The Layered Algorithm [5] identifies a probable source region rather than pinpointing an exact location in space. Its effectiveness is evaluated using three metrics: classification error, accuracy error, and relevance. Classification error refers to the ratio of the area identified by the algorithm as the probable source region to the total search area, expressed as a percentage. The classification error does not exceed 12 % when using 10 sensors and decreases to less than 1 % with 90 sensors. Accuracy error measures the Euclidean distance between the true source location and the geometric center of the sub-area designated by the algorithm. The average accuracy error decreases significantly as more sensors are added—from over 2000 m with 10 to 15 sensors down to 140 m with 100 sensors. Relevance is a binary metric (yes/no) that indicates whether the true source location falls within the designated sub-area. With just 20 sensors, the relevance is approximately 50 % and increases almost linearly, reaching 100 % when 100 sensors are utilized. The tests were conducted on a standard computer equipped with an Intel Core i7-8850H CPU at 2.60 GHz and 16 GB of RAM. The average computational time for data analysis using the Layered Algorithm in its sequential version was approximately 2.5 min for a single run with 10 sensors. In comparison, a single run with 100 sensors took nearly 10 min on average.
This performance is particularly noteworthy when compared to alternative approaches. For instance, the source reconstruction using Sequential Monte Carlo (SMC) and Bayesian methods described in [1] requires thousands of runs of the dispersion model to determine the probable characteristics of the source. Importantly, it achieves an accuracy that does not surpass that of our method. As a result, the high computational cost of these SMC-based techniques makes them impractical for real-time applications.
The optimization methods presented in this work can identify not only the source of airborne substances but also any substance measurable by detectors that indicate its accumulation (i.e., quantity or concentration). For example, [54] discusses a low-temperature plasma apparatus used for desorbing non-volatile analytes from porous surfaces. This technique can provide input data for the optimization model discussed in this paper, as well as in our previous research [5].

8. Conclusions

In a world facing the ongoing threat of airborne contaminants, this study introduces a novel approach to a critical issue: the rapid localization of an unknown source. By adapting the well-established Sandpile model, which is traditionally used to simulate self-organized criticality, we have demonstrated its potential as a computationally efficient tool for modeling atmospheric dispersion. This work successfully integrates the Sandpile model with the (1 + 1)-Evolution Strategy, creating a robust framework for solving the inverse problem of source term estimation. Using synthetic data generated by the established Gaussian dispersion model, our two-stage validation process has yielded highly promising results.
  • Model Accuracy: We have demonstrated that our advection-enhanced Sandpile model accurately reproduces the contaminant concentration fields generated by the Gaussian model. This finding confirms that the simplified Sandpile approach can effectively capture the complex physics of atmospheric transport and dispersion. As shown in Figure 4, the heat maps of contaminant distribution from both models are nearly identical, validating the Sandpile model as a viable alternative to more complex simulations.
  • Localization Performance: The (1 + 1)-ES Sandpile model proved to be effective at solving the inverse problem of source localization. By using only the sensor data as inputs, our proposed framework identified the source coordinates with acceptable accuracy. The algorithm’s ability to converge on the correct solution with minimal computational overhead highlights its superiority for emergency response applications, where time is critical. Our experiments demonstrated the model’s capability to accurately pinpoint the source, showcasing its practical utility for crisis management.
  • Computational Efficiency: A key outcome of this research is the significant reduction in computational time compared to traditional multi-run dispersion models (e.g., [1]). Using the Sandpile model as a fast-forward simulator, we quickly iterated through potential solutions with the (1 + 1)-Evolution Strategy. This approach is well suited for real-time applications, where a rapid and accurate response is essential for public safety.
Future research should prioritize integrating more complex meteorological and environmental factors, including atmospheric turbulence, wind shear, and varied terrain, to enhance the model’s accuracy.

Author Contributions

Conceptualization, M.S.; methodology, M.S. and A.W.; software, M.S.; validation, M.S.; formal analysis, M.S. and A.W.; investigation, M.S.; data curation, M.S.; writing—original draft preparation, M.S. and A.W.; writing—review and editing, M.S. and A.W.; visualization, M.S.; supervision, M.S. and A.W.; project administration, M.S. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Data Availability Statement

The raw data supporting the conclusions of this article can be made available by the authors on request.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Wawrzynczak, A.; Kopka, P.; Borysiewicz, M. Sequential Monte Carlo in Bayesian assessment of contaminant source localization based on the distributed sensors measurements. In International Conference on Parallel Processing and Applied Mathematics; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2014; Volume 8385, pp. 407–417. [Google Scholar]
  2. Kopka, P.; Wawrzynczak, A. Framework for stochastic identification of atmospheric contamination source in an urban area. Atmos. Environ. 2018, 195, 63–77. [Google Scholar] [CrossRef]
  3. Hutchinson, M.; Oh, H.; Chen, W.H. A review of source term estimation methods for atmospheric dispersion events using static or mobile sensors. Inf. Fusion 2017, 36, 130–148. [Google Scholar] [CrossRef]
  4. Wawrzynczak, A.; Berendt-Marchel, M. Computation of the airborne contaminant transport in urban area by the artificial neural network. In Proceedings of the Computational Science ICCS 2020: 20th International Conference, Amsterdam, The Netherlands, 3–5 June 2020; Proceedings, Part II. Krzhizhanovskaya, V.V., Závodszky, G., Lees, M.H., Dongarra, J.J., Sloot, P.M.A., Brissos, S., Teixeira, J., Eds.; Springer Nature: Amsterdam, The Netherlands, 2020; pp. 401–413. [Google Scholar]
  5. Szaban, M.; Wawrzynczak, A. Application of the Layered Algorithm in search of an airborne contaminant source. J. Parallel Distrib. Comput. 2022, 159, 1–9. [Google Scholar] [CrossRef]
  6. Lewis, T.; Bhaganagar, K. A comprehensive review of plume source detection using unmanned vehicles for environmental sensing. Sci. Total Environ. 2021, 762, 144029. [Google Scholar] [CrossRef] [PubMed]
  7. Grbčić, L.; Lučin, I.; Kranjčević, L.; Družeta, S. A Machine Learning-based Algorithm for Water Network Contamination Source Localization. Sensors 2020, 20, 2613. [Google Scholar] [CrossRef]
  8. Grbčić, L.; Kranjčević, L.; Družeta, S. Machine Learning and Simulation-Optimization Coupling for Water Distribution Network Contamination Source Detection. Sensors 2021, 21, 1157. [Google Scholar] [CrossRef]
  9. Lučin, I.; Grbčić, L.; Čarija, Z.; Kranjčević, L. Machine-Learning Classification of a Number of Contaminant Sources in an Urban Water Network. Sensors 2021, 21, 245. [Google Scholar] [CrossRef]
  10. Buras, M.P.; Solano Donado, F. Identifying and Estimating the Location of Sources of Industrial Pollution in the Sewage Network. Sensors 2021, 21, 3426. [Google Scholar] [CrossRef]
  11. Szaban, M.; Wawrzynczak, A.; Berendt-Marchel, M.; Marchel, L. Application of the Generalized Extremal Optimization and Sandpile Model in Search for the Airborne Contaminant Source. In Parallel Computing Technologies, PaCT 2021; LNCS, 12942; Malyshkin, V., Ed.; Springer: Cham, Switzerland, 2021; pp. 466–478. [Google Scholar]
  12. Bak, P.; Tang, C.; Wiesenfeld, K. Self-organized criticality: An explanation of the 1/f noise. Phys. Rev. Lett. 1987, 59, 381–384. [Google Scholar] [CrossRef]
  13. Chan, Y.; Marckert, J.F.; Selig, T. A natural stochastic extension of the sandpile model on a graph. J. Comb. Theory Ser. A 2013, 120, 1913–1928. [Google Scholar] [CrossRef]
  14. Himangsu, B.; Santra, S.B. Stochastic sandpile model on small-world networks: Scaling and crossover. Phys. A 2018, 511, 258–370. [Google Scholar]
  15. Goles, E.; Morvan, M.; Phan, H.D. Sandpiles and order structure of integer partitions, Discret. Appl. Math. 2002, 117, 51–64. [Google Scholar]
  16. Latapy, M.; Mataci, R.; Morvan, M.; Phan, H.D. Structure of some sandpiles model. Theoret. Comput. Sci. 2001, 262, 525–556. [Google Scholar] [CrossRef]
  17. Formenti, E.; Pham, T.V.; Duong Phan, T.H.; Thu, T. Fixed-point forms of the paralel symmetric sandpile model. Theoret. Comput. Sci. 2014, 533, 1–14. [Google Scholar] [CrossRef]
  18. Frette, V.; Christensen, K.; Malthe-Sørenssen, A.; Feder, J.; Jøssang, T.; Meakin, P. Avalanche dynamics in a pile of rice. Nature 1996, 379, 49–52. [Google Scholar] [CrossRef]
  19. Hesse, J.; Gross, T. Self-organized criticality as a fundamental property of neural systems. Front. Syst. Neurosci. 2014, 8, 166. [Google Scholar] [CrossRef] [PubMed]
  20. Aegerter, C.M. A sandpile model for the distribution of rainfall? Phys. A 2003, 319, 1–10. [Google Scholar] [CrossRef]
  21. Parsaeifard, B.; Moghimi-Araghi, S. Controlling cost in sandpile models through local adjustment of drive. Phys. A 2019, 534, 122185. [Google Scholar] [CrossRef]
  22. Bjorner, A.; Lovasz, L.; Shor, W. Chip-firing games on graphs. Eur. J. Combin. 1991, 12, 283–291. [Google Scholar] [CrossRef]
  23. Bak, P. How Nature Works: The Science of Self-Organized Criticality, 1st ed.; Springer: New York, NY, USA, 1999. [Google Scholar]
  24. Latapy, M.; Phan, H.D. The lattice structure of chip firing games. Phys. D 2000, 155, 69–82. [Google Scholar] [CrossRef]
  25. Rossin, D.; Cori, R. On the sandpile group of dual graphs. Eur. J. Combin. 2000, 21, 447–459. [Google Scholar]
  26. Bak, P.; Tang, C. Earthquakes as a self-organized critical phenomenon. J. Geophys. Res. 1989, 94, 15635–15637. [Google Scholar] [CrossRef]
  27. Rothman, D.; Grotzinger, J.; Flemings, P. Scaling in turbidite deposition. J. Sediment. Res. 1994, 64, 59–67. [Google Scholar]
  28. Ricotta, C.; Avena, G.; Marchetti, M. The flaming sandpile: Self-organized criticality and wildfires. Ecol. Model. 1999, 119, 73–77. [Google Scholar] [CrossRef]
  29. McKenzie, D.; Kennedy, M. Power laws reveal phase transitions in landscape controls of fire regimes. Nat. Commun. 2012, 3, 726. [Google Scholar] [CrossRef] [PubMed]
  30. Hantson, S.; Scheffer, M.; Pueyo, S.; Xu, C.; van Nes, E.H.; Holmgren, M.; Mendelsohn, J. Rare, Intense, Big fires dominate the global tropics under drier conditions. Sci. Rep. 2017, 7, 14374. [Google Scholar] [CrossRef] [PubMed]
  31. Li, Z. Self-organized criticality dynamic of forest fire model. Indian J. Phys. 2023, 97, 1959–1964. [Google Scholar] [CrossRef]
  32. Chapman, S.C.; Dendy, R.O.; Rowlands, G. A sandpile model with dual scaling regimes for laboratory, space and astrophysical plasmas. Phys. Plasmas 1999, 6, 4169. [Google Scholar] [CrossRef]
  33. Déserable, D.; Dupont, P.; Hellou, M.; Kamali-Bernard, S. Cellular Automata in Complex Matter. Complex Syst. 2011, 20, 67–91. [Google Scholar] [CrossRef]
  34. Zhukov, D. How the theory of self-organized criticality explains punctuated equilibrium in social systems. Methodol. Innov. 2022, 15, 163–177. [Google Scholar] [CrossRef]
  35. Plenz, D.; Ribeiro, T.L.; Miller, S.R.; Kells, P.A.; Vakili, A.; Capek, E.L. Self-Organized Criticality in the Brain. Front. Phys. 2021, 9, 639389. [Google Scholar] [CrossRef]
  36. Walter, N.; Hinterberger, T. Self-organized criticality as a framework for consciousness: A review study. Front. Psychol. 2022, 13, 911620. [Google Scholar] [CrossRef] [PubMed]
  37. Antonov, N.V.; Kakin, P.I.; Lebedev, N.M.; Luchin, A.Y. Renormalization group analysis of a self-organized critical system: Intrinsic anisotropy vs. random environment. J. Phys. Math. Theor. 2023, 56, 375002. [Google Scholar] [CrossRef]
  38. Volchenkov, D. Multiplicative Renormalization of Stochastic Differential Equations for the Abelian Sandpile Model. Dynamics 2024, 4, 40–56. [Google Scholar] [CrossRef]
  39. Wolfram, S. A New Kind of Science; Wolfram Media: Champaign, IL, USA, 2021. [Google Scholar]
  40. Rechenberg, I. Cybernetic Solution Path of an Experimental Problem; Library Translation 1122; Royal Aircraft Establishment: Farnborough, UK, 1965. [Google Scholar]
  41. Rechenberg, I. Evolutionsstrategie: Optimierung Technisher Systeme nach Prinzipien der Biologischen Evolution; Frommann-Holzboog Verlag: Stuttgart, Germany, 1973. [Google Scholar]
  42. Schwefel, H.-P. Kybernetische Evolution als Strategie der Experimentellen Forschung in der Strömungstechnik. Master’s Thesis, Technical University of Berlin, Berlin, Germany, 1965. [Google Scholar]
  43. Schwefel, H.-P. Numerical Optimization of Computer Models; Wiley: Chichester, UK, 1981. [Google Scholar]
  44. Brabazon, A.; O’Neill, M.; McGarraghy, S. Evolution Strategies and Evolutionary Programming, In Natural Computing Algorithms; Natural Computing Series; Springer: Berlin/Heidelberg, Germany, 2015; pp. 73–82. [Google Scholar]
  45. Beyer, H.G. The Theory of Evolution Strategies; Springer Science & Business Media: Berlin/Heidelberg, Germany, 2001. [Google Scholar]
  46. Wawrzynczak, A.; Danko, J.; Borysiewicz, M. Lokalizacja zrodla zanieczyszczen atmosferycznych za pomoca algorytmu roju czastek. Acta Sci. Pol. Adm. Locorum 2014, 13, 71–91. (In Polish) [Google Scholar]
  47. Wolski, P. Lokalizacja Źródła Atmosferycznego Uwolnienia Substancji z Wykorzystaniem Modelu Sandpile Uwzględniającego Adwekcję. Master’s Thesis, University of Siedlce, Siedlce, Poland, 2020. (In Polish). [Google Scholar]
  48. Zannetti, P. Gaussian Models. In Air Pollution Modeling; Springer: Boston, MA, USA, 1990; pp. 241–264. [Google Scholar]
  49. Pasquill, F. The estimation of the dispersion of windborne material. Meteorol. Mag. 1961, 90, 33–49. [Google Scholar]
  50. Turner, D.B. Workbook of Atmospheric Dispersion Estimates; Public Health Service Publication; Robert A Taft Sanitary Engineering Center: Cincinnati, OH, USA, 1967. [Google Scholar]
  51. Pasquill, F. Limitations and Prospects in the Estimation of Dispersion of Pollution on a Regional Scale. Adv. Geophys. 1975, 18, 1–13. [Google Scholar]
  52. Seinfeld, J.H.; Pandis, S.N. Atmospheric Chemistry and Physics: From Air Pollution to Climate Change, 3rd ed.; John Wiley & Sons, Inc.: Hoboken, NJ, USA, 2016. [Google Scholar]
  53. Sánchez-Sosa, J.E.; Castillo-Mixcóatl, J.; Beltrán-Pérez, G.; Muñoz-Aguirre, S. An Application of the Gaussian Plume Model to Localization of an Indoor Gas Source with a Mobile Robot. Sensors 2018, 18, 4375. [Google Scholar] [CrossRef]
  54. Ron, I.; Sharabi, H.; Zaltsman, A.; Leibman, A.; Hotoveli, M.; Pevzner, A.; Kendler, S. Non-Contact, Continuous Sampling of Porous Surfaces for the Detection of Particulate and Adsorbed Organic Contaminations by Low-Temperature Plasma Coupled to Ion Mobility Spectrometer. Sensors 2023, 23, 2253. [Google Scholar] [CrossRef]
Figure 1. The avalancheoperation of the Sandpile model. Dropping grains creates a slope; after crossing the threshold equal to 3, the slope falls (avalanche effect) [17].
Figure 1. The avalancheoperation of the Sandpile model. Dropping grains creates a slope; after crossing the threshold equal to 3, the slope falls (avalanche effect) [17].
Sensors 25 06215 g001
Figure 2. A schematic diagram illustrating the falling trajectory of a sand grain influenced by wind. Source: [47].
Figure 2. A schematic diagram illustrating the falling trajectory of a sand grain influenced by wind. Source: [47].
Sensors 25 06215 g002
Figure 3. The source location of the sample release and the spatial distribution of concentrations at ten sensor positions within the sample domain for the Gaussian model.
Figure 3. The source location of the sample release and the spatial distribution of concentrations at ten sensor positions within the sample domain for the Gaussian model.
Sensors 25 06215 g003
Figure 5. Heat maps illustrating (left) the typical distribution of 10 5 sand grains in the simple Sandpile model without advection and (right) the contaminant concentration field obtained from the Gaussian dispersion model with an emission rate of 5000 g s . In both cases, the setup assumes a wind speed of 3 m s directed along the x-axis and a source located at ( 20 , 50 ) . Source: [11].
Figure 5. Heat maps illustrating (left) the typical distribution of 10 5 sand grains in the simple Sandpile model without advection and (right) the contaminant concentration field obtained from the Gaussian dispersion model with an emission rate of 5000 g s . In both cases, the setup assumes a wind speed of 3 m s directed along the x-axis and a source located at ( 20 , 50 ) . Source: [11].
Sensors 25 06215 g005
Figure 6. Three-dimensional distribution of the contaminant concentration for the first testing set with the following parameters: source position ( 0 m , 5000 m , 28.75 m ) , emission rate of 5368.38 g s , and wind directed along the x-axis.
Figure 6. Three-dimensional distribution of the contaminant concentration for the first testing set with the following parameters: source position ( 0 m , 5000 m , 28.75 m ) , emission rate of 5368.38 g s , and wind directed along the x-axis.
Sensors 25 06215 g006
Figure 7. Algorithm run graph during the calibration of the Sandpile model to the Gaussian model, while finding our best approximation of both models F ( C j M , C j E ) = 1578.28 , using the following ranges: G s [ 0 ,   100.0 ] , gradient [ w x , w y ] = [ 1 ,   0 ] , number of grains G N [ 1 ,   10 6 ] and σ [ 5.0 ,   5.0 ] .
Figure 7. Algorithm run graph during the calibration of the Sandpile model to the Gaussian model, while finding our best approximation of both models F ( C j M , C j E ) = 1578.28 , using the following ranges: G s [ 0 ,   100.0 ] , gradient [ w x , w y ] = [ 1 ,   0 ] , number of grains G N [ 1 ,   10 6 ] and σ [ 5.0 ,   5.0 ] .
Sensors 25 06215 g007
Figure 8. Contaminant distributions for five datasets used to evaluate the (1 + 1)-ES Sandpile algorithm in the context of contaminant source identification. Each subfigure (ae) represents a different scenario modeled with a Gaussian distribution centered at the true source coordinates (in meters) ( X , Y , Z ) : (a) Case 1: ( 2946 , 6824 , 29 ) , (b) Case 2: ( 5744 , 6075 , 12 ) , (c) Case 3: ( 3409 , 4119 , 25 ) , (d) Case 4: ( 2455 , 2324 , 16 ) , and (e) Case 5: ( 7878 , 4633 , 4 ) .
Figure 8. Contaminant distributions for five datasets used to evaluate the (1 + 1)-ES Sandpile algorithm in the context of contaminant source identification. Each subfigure (ae) represents a different scenario modeled with a Gaussian distribution centered at the true source coordinates (in meters) ( X , Y , Z ) : (a) Case 1: ( 2946 , 6824 , 29 ) , (b) Case 2: ( 5744 , 6075 , 12 ) , (c) Case 3: ( 3409 , 4119 , 25 ) , (d) Case 4: ( 2455 , 2324 , 16 ) , and (e) Case 5: ( 7878 , 4633 , 4 ) .
Sensors 25 06215 g008
Table 1. The Pasquill–Gifford stability classes defined based on meteorological conditions [49,50,51,52].
Table 1. The Pasquill–Gifford stability classes defined based on meteorological conditions [49,50,51,52].
Surface WindDaytime Incoming Solar RadiationNighttime Cloudiness
Speed (m/s)StrongModerateSlight>4/8≤3/8
<2AA–BBEF
3A–BBCEF
4BB–CCDE
5CC–DDDD
>6CDDDD
Table 2. Summary of the optimal configurations for the grain number G N and grain size G s , as determined by the (1 + 1)-ES Sandpile algorithm. The results were obtained under the following constants: ( X , Y ) = ( 0 , 50 ) , Z = 28.75 m , [ w x , w y ] = [ 1 , 0 ] , and a total of 200 generations.
Table 2. Summary of the optimal configurations for the grain number G N and grain size G s , as determined by the (1 + 1)-ES Sandpile algorithm. The results were obtained under the following constants: ( X , Y ) = ( 0 , 50 ) , Z = 28.75 m , [ w x , w y ] = [ 1 , 0 ] , and a total of 200 generations.
Lp.XYZ [ w x , w y ] G s G N f ( C j M , C j E )
105028.76[1, 0]0.2199,5402727.47
205028.76[1, 0]0.1996,9562727.52
305028.76[1, 0]0.0577,0442737.96
405028.76[1, 0]0.0172,9472763.87
505028.76[1, 0]0.0567,1792825.11
605028.76[1, 0]0.0650,0642903.14
705028.76[1, 0]0.2442,4602978.77
805028.76[1, 0]0.2822,9853093.93
905028.76[1, 0]0.0111,9763106.10
1005028.76[1, 0]16.725173325.24
Table 3. Comparison of the true release source coordinates within the domain for the testing datasets, along with the corresponding source coordinates estimated by the Sandpile model and the (1 + 1)-ES algorithm.
Table 3. Comparison of the true release source coordinates within the domain for the testing datasets, along with the corresponding source coordinates estimated by the Sandpile model and the (1 + 1)-ES algorithm.
LpTrue Source CoordinatesSource Coordinates Indicated by the
(1 + 1)-ES Sandpile Algorithm
X Y Z X est Y est Z est
1294668242930006900365
2574460751258005900201
3340741192534003900295
4245523241629003600507
57878463347800370021
Table 4. Absolute errors between true source coordinates and those estimated by the (1+1)-ES Sandpile algorithm.
Table 4. Absolute errors between true source coordinates and those estimated by the (1+1)-ES Sandpile algorithm.
LpTrue CoordinatesAbsolute Errors
X Y Z | X est X | | Y est Y | | Z est Z |
129466824295476336
2574460751256175189
334074119257219270
424552324164451276491
57878463347893317
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Szaban, M.; Wawrzynczak, A. Sensor-Driven Localization of Airborne Contaminant Sources via the Sandpile–Advection Model and (1 + 1)-Evolution Strategy. Sensors 2025, 25, 6215. https://doi.org/10.3390/s25196215

AMA Style

Szaban M, Wawrzynczak A. Sensor-Driven Localization of Airborne Contaminant Sources via the Sandpile–Advection Model and (1 + 1)-Evolution Strategy. Sensors. 2025; 25(19):6215. https://doi.org/10.3390/s25196215

Chicago/Turabian Style

Szaban, Miroslaw, and Anna Wawrzynczak. 2025. "Sensor-Driven Localization of Airborne Contaminant Sources via the Sandpile–Advection Model and (1 + 1)-Evolution Strategy" Sensors 25, no. 19: 6215. https://doi.org/10.3390/s25196215

APA Style

Szaban, M., & Wawrzynczak, A. (2025). Sensor-Driven Localization of Airborne Contaminant Sources via the Sandpile–Advection Model and (1 + 1)-Evolution Strategy. Sensors, 25(19), 6215. https://doi.org/10.3390/s25196215

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Article metric data becomes available approximately 24 hours after publication online.
Back to TopTop