QoE-Driven Task Offloading under Shared Resources in 5G-Enabled IoT Systems ()
1. Introduction
The integration of fifth generation (5G) networks with the Internet of Things (IoT) supports smart-city, industrial, healthcare, and connected-mobility applications [1]-[8]. Despite the communication capabilities of 5G, many IoT devices remain constrained by limited battery capacity and processing resources. Local execution of computation-intensive tasks can therefore increase delay and device energy use, whereas remote execution introduces transmission overhead [9]-[15].
Computation offloading addresses this trade-off by assigning tasks to local processors, nearby MEC servers, or remote cloud resources [16]. The decision is complicated by variations in task size, computational demand, channel conditions, deadlines, and available resources. It is also coupled across users when several tasks compete for the same radio bandwidth or MEC processing capacity [14] [17]-[19]. Under these conditions, selecting an execution location for each task becomes a combinatorial resource-allocation problem rather than a collection of independent decisions.
Deep reinforcement learning and federated learning have been applied to adaptive offloading [5] [20]-[23]. They can represent complex decision environments but require a training process and explicit state-action design. Metaheuristic methods offer a training-free alternative, although their effectiveness depends on the balance between global exploration and local refinement [24]-[27].
This study develops PiFBOA, a hybrid MFO-PFOA optimizer for Device-MEC-Cloud task offloading under shared uplink and MEC resources. The novelty is not claimed to arise from a new elementary search operator. Instead, MFO is preserved as the identifiable population-search backbone, while PFOA-derived nonlinear control and reverse-evasion are restricted to a separate best-solution refinement stage. A refinement is accepted only when it improves the score after ternary decoding, which makes the contribution of the PFOA component directly testable against MFO alone.
The contributions are: 1) a resource-coupled Device-MEC-Cloud formulation with shared uplink bandwidth and MEC CPU capacity; 2) an explicit MFO-PFOA hybridization in which MFO performs the population-level search and PFOA-derived nonlinear reverse-evasion generates selectively accepted, peer-guided refinements of the incumbent best solution after ternary decoding; 3) a parameter-selection protocol using validation seeds disjoint from the final test seeds; 4) a matched-fitness-evaluation comparison with MFO, adapted HGSTO, discrete PSO, and a deterministic greedy heuristic; and 5) a small-scale exhaustive validation against the exact optimum.
The remainder of the paper is organized as follows. Section 2 reviews related work. Section 3 presents the system model and objective. Section 4 describes PiFBOA. Section 5 presents the experimental methodology. Section 6 reports and discusses the results, and Section 7 concludes the paper.
2. Related Work and Research Gap
Task offloading has been widely studied using game-theoretic optimization, reinforcement learning, scheduling, and population-based search. Keshta et al. [28] investigated game-theoretic optimization for IoT task offloading, while Cumia et al. [2] used distributed multi-agent Q-learning to reduce energy consumption at the extreme edge. Eang et al. [19] jointly considered offloading decisions and resource allocation for real-time IoT applications, highlighting the importance of accounting for both communication and computing constraints.
Learning-based approaches have also received considerable attention. M2FD combines federated learning and deep reinforcement learning for multi-type task offloading [5]. Wang et al. [21] addressed dependent-task offloading using deep reinforcement learning, while Nieto et al. [23] considered dynamic task offloading across the 5G edge-cloud continuum. These methods can adapt to complex operating conditions, but they rely on model training and on the definition of suitable state and action spaces. M2FD is therefore retained as an important learning-based reference in this study, although it is not used as an experimental baseline because a source-faithful implementation of its federated learning pipeline was not available.
Metaheuristic approaches provide an alternative that does not require policy training. Ben Sada et al. [24] proposed HGSTO, which combines genetic search and simulated annealing for selective inference-task offloading under time and energy constraints. Chen et al. [25] introduced a multi-population quantum-behavior particle swarm approach for IoT task offloading. At the optimizer level, PFOA [26] already includes nonlinear control and diversity-preserving mechanisms, whereas MFO [27] combines exploration toward better population members with exploitation around the current best solution.
The gap considered in this work is therefore not the introduction of a new elementary search operator. Rather, it concerns the controlled integration of complementary search mechanisms within a resource-coupled Device–MEC–Cloud offloading problem. Existing studies either focus on learning-based policies, apply metaheuristics directly to offloading, or combine multiple search operators without explicitly isolating the contribution of a selective refinement stage under shared uplink and MEC constraints. This study addresses that gap by preserving MFO as the population-search backbone and introducing a PFOA-derived reverse-evasion refinement only around the incumbent best solution, with acceptance conditioned on an improvement after ternary decoding. This design allows the effect of the refinement stage to be evaluated directly against an MFO-only baseline under a matched fitness-evaluation budget.
3. System Model and Problem Formulation
The considered system consists of three execution layers: IoT devices, Mobile Edge Computing (MEC) resources connected to the access network, and remote cloud resources [19] [23]. Each computational task is assigned to exactly one of these layers. Offloaded tasks share the available uplink bandwidth, while tasks assigned to the MEC layer also share the available MEC computing capacity. Consequently, the performance of one task depends not only on its own characteristics but also on the offloading decisions made for the other tasks.
3.1. Task Representation and Decision Variable
Consider a set of
computational tasks. Task
is characterized by
where
denotes the input data size,
the required number of CPU cycles,
the maximum tolerated latency, and
the maximum device-side energy allowed for the task.
The execution decision for task
is represented by the ternary variable
(1)
where
denotes local execution,
MEC execution, and
cloud execution. The complete offloading solution is denoted by
3.2. Local, MEC, and Cloud Execution
For local execution, let
denote the CPU frequency of device
, and let
be the effective switching-capacitance coefficient. The corresponding execution latency and energy consumption are
(2)
and
(3)
For offloaded tasks, the total uplink bandwidth
is shared equally among all tasks assigned to either MEC or cloud. Let
denote the number of offloaded tasks under assignment
. The bandwidth allocated to each offloaded task is therefore
(4)
The corresponding uplink transmission rate is
(5)
where
is the transmit power of device
,
is the channel power gain, and
is the noise power spectral density. The uplink transmission time is then
(6)
For MEC execution, let
denote the aggregate MEC computing capacity and
the number of tasks assigned to the MEC layer. Equal CPU sharing is assumed, giving
(7)
The MEC execution latency and device-side energy consumption are
(8)
and
(9)
For cloud execution, a fixed backhaul delay
and an effective per-task cloud computing rate
are considered. The cloud CPU rate is not shared among cloud-assigned tasks; therefore, cloud-side CPU contention is not explicitly modeled. The resulting latency is
(10)
While the corresponding device-side energy consumption is
(11)
The result-download time is neglected because the returned output is assumed to be small relative to the uploaded task data. Energy consumption is evaluated from the IoT-device perspective; MEC and cloud infrastructure energy are, therefore, outside the scope of the present model. Future work will extend the model to include downlink transmission delay and infrastructure-side energy consumption at the MEC and cloud layers.
A key consequence of this formulation is that offloading decisions are mutually dependent. Changing the execution layer of one task may alter both the bandwidth available to all offloaded tasks and the computing capacity available to MEC-assigned tasks.
3.3. QoE and Search Objective
For a given assignment
, the latency
and energy
of task
correspond only to the execution layer selected by
. A task is considered successfully served when it satisfies both its latency and device-side energy constraints:
(12)
The Quality of Experience (QoE) satisfaction ratio is then defined as
(13)
Because QoE is discrete, several different assignments may obtain the same satisfaction ratio. To distinguish such solutions during the search, a secondary normalized latency-energy term is introduced:
(14)
The optimization score is defined as
(15)
where
controls the contribution of the secondary normalized latency-energy term to the scalar optimization score. For
, candidate assignments are ranked according to the combined score
, and an assignment with slightly lower QoE may therefore be preferred if the latency-energy contribution is sufficiently favorable. The sensitivity of the results to
is examined in Section 5.2. In the final configuration selected on the disjoint validation seeds,
; consequently, the final optimization runs rank candidate assignments according to QoE alone. Mean latency and mean device-side energy are reported separately as performance metrics.
4. Proposed Method
This section describes the proposed PiFBOA method.
4.1. Ternary Decoding and MFO Backbone
MFO and PFOA operate in continuous search spaces, whereas the offloading problem considered here is ternary. To avoid introducing an implicit initialization bias toward any execution layer, each candidate solution is represented by a continuous vector
, with
, and decoded only when its fitness is evaluated:
(16)
Accordingly, the intervals
,
, and
correspond respectively to local, MEC, and cloud execution. Since the three intervals have equal widths, uniform initialization over
gives the three execution layers equal initial selection probability.
The MFO backbone follows the search structure reported in [27]. Candidate positions are initialized uniformly over
. During exploration, each candidate is guided by a randomly selected population member with a better score; when no better member exists, the current global best is used instead. The resulting candidate is decoded and accepted only if its optimization score does not decrease.
The exploration update is
(17)
where
,
, and
denotes the
-th component of the selected guiding solution.
During exploitation, the candidate moves toward the current global best according to
(18)
where
is the
-th component of the current best solution and
is the iteration index. As the search progresses, the
factor reduces the step magnitude and promotes progressively finer exploitation around the incumbent best solution.
4.2. Selective PFOA-Derived Refinement
The hybrid component introduces a separate refinement stage based on two mechanisms derived from PFOA [26]: nonlinear control and reverse-evasion direction. Rather than modifying the MFO population dynamics, this stage generates
peer-guided alternatives around the current best solution.
The nonlinear control factor is defined as
(19)
where
is the maximum number of iterations.
For each refinement trial, a peer solution
is selected from the population, and a component-wise random sign vector
is generated. The refined candidate is computed as
(20)
where
denotes element-wise multiplication and
controls the refinement amplitude.
Each candidate generated by (20) is decoded using (16) and evaluated with the objective function defined in Section 3.3. The best refinement replaces the incumbent only if it strictly improves
; otherwise, the current best solution is retained.
The term
provides a search direction informed by the current population rather than by an independent random perturbation. The sign vector
can reverse this direction independently across dimensions, thereby increasing the diversity of the refinement candidates. At the same time,
decreases as the search progresses, so the refinement evolves from broader perturbations in early iterations toward a more localized search near convergence. The scale factor
controls the overall strength of this mechanism and is selected using validation seeds that are separate from the final test set.
This design keeps the MFO search structure intact while using the PFOA-derived mechanism only as a selective refinement step. Its contribution can therefore be assessed directly through comparison with the MFO-only baseline. The complete procedure is summarized in Algorithm 1.
5. Experimental Methodology
5.1. Workload Generation and Simulation Settings
The main experiment considers 400 users, with one computational task generated
Algorithm 1. Proposed procedure.
Step |
Procedure |
1 |
Initialize the MFO population uniformly over
and evaluate the assignments decoded using (16). |
2 |
Apply MFO exploration using (17) and greedily accept non-degraded candidates. |
3 |
Apply MFO exploitation using (18) and update the incumbent best solution. |
4 |
Compute
using (19) and generate
PFOA-derived refinement candidates using (20). |
5 |
Decode and evaluate the refinement candidates; replace the incumbent only if a strict improvement is achieved. |
6 |
Repeat until the fitness-evaluation budget is exhausted, then return the decoded best assignment. |
for each user. For each random seed, a single workload instance is generated and reused across all methods to ensure paired comparisons under identical conditions. Each workload instance is treated as a static scheduling snapshot in which all considered tasks are assumed to be available within the same scheduling interval. Dynamic task arrivals and departures during the interval are not modeled.
Unless otherwise stated, task computation demand is sampled from a discrete uniform distribution between 100 and 1000 million CPU cycles, and input data size from a discrete uniform distribution between 50 and 500 KiB. The latency requirement is sampled from
s, the device-side energy requirement from
J, and the local CPU frequency from
GHz. Channel gain is sampled in dB from
and then converted to linear power gain. These distributions define a controlled synthetic workload and are not intended to reproduce measured application traces. The main simulation settings are summarized in Table 1.
Table 1. Main simulation settings.
Parameter |
Value |
Users/tasks |
400/400 |
Population size |
50 |
Reference iterations for parameter tuning |
100 |
Matched NFE target for the final comparison |
11,250 |
Total uplink bandwidth |
10 MHz |
Transmit power |
0.1 W |
Noise PSD |
1.995 × 10−20 W/Hz |
Aggregate MEC CPU capacity |
100 GHz |
Cloud CPU frequency |
10 GHz |
Cloud backhaul delay |
0.020 s |
Local energy coefficient
|
1 × 10−28 |
Final
|
1.1/16/0 |
Final paired test seeds |
30 (seeds 0 - 29) |
5.2. Parameter Selection on Disjoint Validation Seeds
The algorithmic parameters were examined using eight validation seeds (200-207), which are completely disjoint from the 30 seeds used in the final evaluation. The scale factor
was evaluated at 0.2, 0.5, 0.8, 1.1, and 1.4; the number of refinement trials
at 4, 8, 12, and 16; and the weight
of the secondary latency-energy term at 0, 0.01, 0.02, and 0.05.
Table 2 reports the mean QoE and mean latency obtained for each tested parameter value on the validation seeds. Among the tested values,
,
, and
yielded the highest mean QoE in their respective validation comparisons. These values were therefore fixed before the final 30-seed evaluation. The analysis is intended to assess parameter robustness and select a reasonable operating configuration rather than to perform an exhaustive hyperparameter search.
Table 2. Parameter sensitivity on validation seeds 200 - 207.
Validation setting |
Mean QoE |
Mean latency (s) |
|
0.5675 |
0.4971 |
|
0.5706 |
0.4944 |
|
0.5663 |
0.4993 |
|
0.5731 |
0.4917 |
|
0.5716 |
0.4941 |
|
0.5728 |
0.4938 |
|
0.5744 |
0.4940 |
|
0.5716 |
0.4941 |
|
0.5747 |
0.4911 |
|
0.5784 |
0.4921 |
|
0.5781 |
0.4907 |
|
0.5716 |
0.4941 |
|
0.5725 |
0.4930 |
5.3. Baselines, Matched-Budget Protocol, and Statistical Analysis
MFO is used as the direct ablation baseline because it corresponds to the population-search backbone without the selective refinement stage. HGSTO is implemented as a source-guided adaptation of the genetic-algorithm and simulated-annealing structure reported in [24] and mapped to the same ternary Device–MEC–Cloud decision space. The implementation uses tournament selection with tournament size 3, uniform crossover with a component-wise probability of 0.5, 10% elitism, an initial mutation probability of 0.30 that decreases linearly over generations, four hill-climbing trials when mutation is activated, and simulated-annealing refinement with initial temperature
, cooling factor 0.90, and five neighborhood steps per generation. Discrete PSO uses integer-valued positions, inertia weight
, cognitive and social coefficients
, and velocities rounded and clipped to the interval
before position updates. Greedy EDF (Earliest-Deadline-First) serves as a deterministic low-cost reference: tasks are processed in increasing deadline order, and each task is assigned to the execution layer that yields the best current global score among the three alternatives.
The main stochastic comparison uses a matched target budget of 11,250 fitness evaluations (NFE). The proposed method, MFO, HGSTO, and discrete PSO each use exactly 11,250 evaluations. Greedy EDF requires only 1200 evaluations and is therefore treated as a low-cost deterministic reference rather than as an equal-budget population-based competitor.
All stochastic methods are evaluated on the same 30 workload seeds (0 - 29). For workload seed
, PiFBOA and MFO use solver seed
; PiFBOA additionally uses
for the refinement stage, while HGSTO and discrete PSO use
and
, respectively. Thus, the same workload instance is reused across methods, while solver randomizations remain independent. Paired t-tests and Wilcoxon signed-rank tests are used for pairwise comparisons. Holm correction is applied across the four proposed-method-versus-baseline comparisons for each reported metric. In addition, 95% confidence intervals for paired differences and Cohen’s
are reported. Convergence is plotted against the number of fitness evaluations rather than iteration count so that search progress is compared on a common computational-effort axis.
6. Results and Discussion
6.1. Matched-Fitness-Evaluation Comparison
Table 3 summarizes the main comparison over the 30 paired 400-user workloads. Under the matched search budget of 11,250 fitness evaluations, PiFBOA achieves a mean QoE of 0.5769, compared with 0.5719 for MFO, 0.5242 for HGSTO, and
Table 3. Main comparison over 30 paired 400-user workloads.
Method |
QoE |
Latency (s) |
Energy (J) |
Score |
NFE |
PiFBOA |
0.5769 ± 0.0191 |
0.4926 ± 0.0144 |
0.0933 ± 0.0036 |
0.5769 ± 0.0191 |
11,250 |
MFO |
0.5719 ± 0.0205 |
0.4927 ± 0.0181 |
0.0936 ± 0.0041 |
0.5719 ± 0.0205 |
11,250 |
HGSTO |
0.5242 ± 0.0218 |
0.9757 ± 0.0761 |
0.1253 ± 0.0076 |
0.5242 ± 0.0218 |
11,250 |
Discrete PSO |
0.3643 ± 0.0173 |
1.2553 ± 0.1003 |
0.1503 ± 0.0085 |
0.3643 ± 0.0173 |
11,250 |
Greedy EDF |
0.5383 ± 0.0214 |
0.5111 ± 0.0182 |
0.0968 ± 0.0041 |
0.5383 ± 0.0214 |
1200 |
0.3643 for discrete PSO. Greedy EDF achieves a mean QoE of 0.5383 using only 1200 evaluations. PiFBOA and MFO exhibit nearly identical mean latency, at 0.4926 s and 0.4927 s respectively, while their mean device-side energy consumptions are also very close, at 0.0933 J and 0.0936 J.
Figure 1 compares convergence using the number of fitness evaluations as a common search-effort axis. PiFBOA maintains a small but persistent advantage over MFO after the early stage of the search. HGSTO improves more gradually, whereas discrete PSO converges to a lower QoE. Using NFE rather than iteration count provides a more comparable view of search progress across methods with different internal update structures.
Figure 1. Mean best QoE versus number of fitness evaluations.
6.2. Statistical Robustness
Table 4 reports the paired QoE comparisons between PiFBOA and each comparator. The mean QoE difference between PiFBOA and MFO is 0.0050, with a 95% confidence interval of [0.0023, 0.0077]. The difference is statistically significant under both the paired t-test (p = 7.31 × 10−4) and the Wilcoxon signed-rank test (p = 7.29 × 10−4), and remains significant after Holm correction. In contrast, the differences in mean latency and device-side energy are not statistically significant, with Holm-adjusted p-values of 0.960 and 0.352, respectively.
Table 4. Paired QoE comparisons: PiFBOA minus comparator.
Comparator |
ΔQoE |
95% CI |
t-test p |
Wilcoxon p |
Holm-adjusted p |
Cohen’s dz |
MFO |
0.0050 |
[0.0023, 0.0077] |
7.31 × 10−4 |
7.29 × 10−4 |
7.31 × 10−4 |
0.69 |
HGSTO |
0.0528 |
[0.0490, 0.0565] |
5.72 × 10−23 |
1.70 × 10−6 |
1.14 × 10−22 |
5.29 |
Discrete PSO |
0.2126 |
[0.2062, 0.2190] |
1.40 × 10−33 |
1.73 × 10⁻6 |
5.61 × 10−33 |
12.46 |
Greedy EDF |
0.0386 |
[0.0363, 0.0409] |
5.53 × 10−25 |
1.69 × 10⁻6 |
1.66 × 10−24 |
6.24 |
Table 5. Paired latency and energy comparisons: PiFBOA minus comparator.
Metric |
Comparator |
Difference |
95% CI |
Holm-adjusted p |
Cohen’s dz |
Latency |
MFO |
−0.00009 |
[−0.00380, 0.00362] |
0.960 |
−0.009 |
Latency |
HGSTO |
−0.48305 |
[−0.51134, −0.45476] |
9.01 × 10−25 |
−6.38 |
Latency |
Discrete PSO |
−0.76268 |
[−0.79945, −0.72590] |
4.77 × 10−27 |
−7.74 |
Latency |
Greedy EDF |
−0.01848 |
[−0.02180, −0.01516] |
6.30 × 10−12 |
−2.08 |
Energy |
MFO |
−0.00026 |
[−0.00082, 0.00030] |
0.352 |
−0.173 |
Energy |
HGSTO |
−0.03200 |
[−0.03449, −0.02950] |
2.85 × 10−21 |
−4.79 |
Energy |
Discrete PSO |
−0.05698 |
[−0.06047, −0.05350] |
4.18 × 10−24 |
−6.10 |
Energy |
Greedy EDF |
−0.00352 |
[−0.00401, −0.00303] |
1.18 × 10−14 |
−2.68 |
As shown in Table 5, the latency and device-side energy differences between PiFBOA and MFO are not statistically significant after Holm correction. In contrast, PiFBOA shows statistically significant differences relative to HGSTO, discrete PSO, and Greedy EDF for both metrics.
6.3. Small-Scale Exact-Optimum Validation
To assess solution quality independently of the selected baselines, exhaustive search was performed on ten separate 9-task instances, for which exact enumeration of the ternary search space remains computationally feasible.
As summarized in Table 6, PiFBOA and MFO reached the exact optimum in all ten 9-task instances. Greedy EDF matched the exact optimum in seven of the ten instances. These results show that both stochastic optimizers consistently recover the exact QoE optimum on the tractable small-scale test cases, whereas the greedy heuristic does not always reach the optimum.
Table 6. Small-scale exhaustive validation (9 tasks, 10 seeds).
Method |
QoE |
Optimization score |
Exact-score matches |
Exact oracle |
0.9889 ± 0.0351 |
0.9889 ± 0.0351 |
10/10 |
PiFBOA |
0.9889 ± 0.0351 |
0.9889 ± 0.0351 |
10/10 |
MFO |
0.9889 ± 0.0351 |
0.9889 ± 0.0351 |
10/10 |
Greedy EDF |
0.9333 ± 0.1405 |
0.9333 ± 0.1405 |
7/10 |
This experiment does not establish global optimality for the 400-user problem. Nevertheless, it shows that the implementation can recover the exact optimum on tractable instances and provides an additional sanity check on the search procedure.
6.4. Interpretation and Limitations
The results indicate that the selective refinement mechanism provides a measurable improvement over the MFO backbone under the considered resource-coupled setting. Because offloaded tasks share uplink bandwidth and MEC processing capacity, individual decisions affect the resources available to other tasks. Within this coupled environment, the refinement stage improves QoE relative to MFO, while the differences in mean latency and device-side energy are not statistically significant.
The improvement over MFO remains modest, which is consistent with the design of the proposed method: MFO is intentionally retained as the main population-search mechanism, while the additional refinement stage acts only on the incumbent best solution. The empirical contribution should therefore be interpreted as evidence that this selective hybridization can improve search quality under the considered offloading model, rather than as evidence of a fundamentally new search paradigm.
The study also has several limitations. Workload parameters are synthetically generated and uniformly sampled rather than derived from measured application traces. Validation using measured IoT application traces and measured 5G channel conditions is left for future work. Uplink bandwidth and MEC computing capacity are shared equally instead of being jointly optimized. Future work will jointly optimize the discrete offloading decisions together with continuous communication and computing-resource allocation. Result-download time is neglected, cloud backhaul delay is fixed, and the energy model covers only the IoT device rather than MEC or cloud infrastructure. HGSTO is evaluated through a source-guided adaptation rather than the authors’ original implementation. Finally, exhaustive enumeration is practical only for small task counts, so optimality gaps at the 400-user scale remain unknown.
7. Conclusions
This study investigated a selective hybrid metaheuristic for resource-coupled Device–MEC–Cloud task offloading in 5G-enabled IoT systems. The proposed approach retains MFO as the main population-search mechanism and introduces a PFOA-derived refinement stage around the incumbent best solution. The refinement is accepted only when it improves the resource-coupled objective after ternary decoding.
Using a matched search budget of 11,250 fitness evaluations across 30 paired 400-user workloads, the proposed method achieved a QoE satisfaction ratio of 0.5769, a mean latency of 0.4926 s, and a mean device-side energy consumption of 0.0933 J. QoE remained significantly higher than that of MFO under both Wilcoxon and Holm-corrected comparisons, while the differences in mean latency and device-side energy were not statistically significant. The method also achieved higher QoE than the adapted HGSTO, discrete PSO, and the low-cost greedy reference. On ten tractable 9-task instances, it recovered the exact exhaustive-search optimum in all cases.
These results indicate that the selective refinement strategy can improve QoE under shared uplink and MEC resource constraints without introducing a significant additional device-side energy cost relative to MFO. Future work will consider the joint optimization of discrete offloading and continuous resource allocation, measured workload and radio traces, and larger-scale optimality analysis.
Author Contributions
Conceptualization, K.T.L. and K.K.D.; methodology, K.T.L. and K.K.D.; software, K.T.L. and B.R.D.J; validation, K.T.L., K.K.D., and B.R.D.J.; writing-original draft preparation, K.T.L.; writing-review and editing, K.T.L., B.R.D.J., K.K.D., and A.O.; supervision, A.O. All authors have read and agreed to the published version of the manuscript.