Serval Optimization Algorithm: A New Bio-Inspired Approach for Solving Optimization Problems

This article introduces a new metaheuristic algorithm called the Serval Optimization Algorithm (SOA), which imitates the natural behavior of serval in nature. The fundamental inspiration of SOA is the serval’s hunting strategy, which attacks the selected prey and then hunts the prey in a chasing process. The steps of SOA implementation in two phases of exploration and exploitation are mathematically modeled. The capability of SOA in solving optimization problems is challenged in the optimization of thirty-nine standard benchmark functions from the CEC 2017 test suite and CEC 2019 test suite. The proposed SOA approach is compared with the performance of twelve well-known metaheuristic algorithms to evaluate further. The optimization results show that the proposed SOA approach, due to the appropriate balancing exploration and exploitation, is provided better solutions for most of the mentioned benchmark functions and has superior performance compared to competing algorithms. SOA implementation on the CEC 2011 test suite and four engineering design challenges shows the high efficiency of the proposed approach in handling real-world optimization applications.


Introduction
An optimization problem is a type of problem that has several feasible solutions. Optimization is the process of searching for the best solution among possible solutions for a problem [1]. Optimization is used in various science, engineering, technology, and real-world applications [2]. Finding the best optimum can achieve multiple benefits, such as reducing costs, maximizing profits, improving equipment efficiency, etc. For this reason, finding suitable and effective solutions for optimization applications is a fundamental challenge for scientists. From a mathematical point of view, an optimization problem is characterized by three main parts: decision variables, objectives, and constraints [3].
Problem-solving techniques in dealing with optimization tasks are classified into two groups: deterministic and stochastic approaches [4]. Deterministic methods in two categories, gradient-based and non-gradient-based, are effective in handling optimization problems that are linear, convex, differentiable, and have a continuous search space [5]. Among the deterministic methods of solving optimization problems are approaches such as dynamic programming, Newton methods, linear programming, gradient method, quadratic programming, and simplex methods, among the deterministic methods of solving optimization problems [6]. However, as optimization problems become more complex, the number of decision variables increases, and for many real-world applications, deterministic approaches lose their effectiveness. Features such as complexity, non-linearity, non-convexity, non-differentiability, discretization, and problems with high-dimensions objective functions or a discrete search space, etc., are the nature of many modern optimization problems and real-world applications. Such characteristics lead to disruption of the efficiency of deterministic approaches and the problem that they are getting stuck in local optima [7].
• SOA is a nature-inspired approach that simulates natural serval behaviors.

•
The essential inspiration of SOA is the serval strategy when hunting in three stages: selection, attack, and chase. • The mathematical model of SOA is presented in two phases: exploration and exploitation. • SOA capability is benchmarked in optimizing the CEC 2017 and CEC 2019 test suites.

•
The performance of SOA in handling real-world applications is evaluated on the CEC 2011 test suite and four engineering design challenges.

•
The performance of the proposed SOA approach is challenged in comparison with twelve well-known metaheuristic algorithms.
The article is organized as follows: a literature review is presented in Section 2. The proposed SOA approach is introduced and modeled in Section 3. Simulation studies and results are presented in Section 4. The effectiveness of SOA in handling real-world applications is challenged in Section 5. Conclusions and suggestions for future research are provided in Section 6.

Literature Review
Metaheuristic algorithms have been developed based on the simulation of various natural phenomena, natural behaviors of animals, birds, aquatic animals, insects, and other living creatures in the wild, physical laws and phenomena, biological sciences, genetics, human behaviors and interactions, rules of games, and other evolutionary phenomena. Therefore, based on the main idea used in the design, metaheuristic algorithms are classified into five groups: swarm-based, evolutionary-based, physics-based, game-based, and human-based.
Swarm-based algorithms are developed by being inspired by the swarming behavior of living organisms, such as, e.g., animals, birds, insects, and aquatics in nature. The most famous algorithms of this group can be mentioned: Particle Swarm Optimization (PSO) [13], Artificial Bee Colony (ABC) [14], and Ant Colony Optimization (ACO) [15]. PSO is developed based on the simulation of the movement of flocks of birds or fish that are searching for food. ABC is introduced inspired by the activities of a honey bee colony in obtaining food resources. ACO is designed based on modeling the ability of ants to find the optimal route between the nest and the food source. Searching for food resources and hunting strategy for providing food are natural behaviors among animals that are employed in the design of numerous metaheuristic algorithms such as the Coati Optimization Algorithm (COA) [16], Reptile Search Algorithm (RSA) [17], White Shark Optimizer (WSO) [18], Honey Badger Algorithm (HBA) [19], Golden Jackal Optimization (GJO) [20], African Vultures Optimization Algorithm (AVOA) [21], Grey Wolf Optimizer (GWO) [22], Whale Optimization Algorithm (WOA) [23], Marine Predator Algorithm (MPA) [24], and Tunicate Swarm Algorithm (TSA) [25].
Evolutionary-based algorithms are introduced with inspiration from biological and genetics sciences, random operators, concepts of natural selection, and survival of the fittest. Genetic Algorithm (GA) [26] and Differential Evolution (DE) [27] are among the most well-known and widely used metaheuristic algorithms that are designed based on reproduction simulation, Darwin's theory of evolution, and stochastic operators such as selection, crossover, and mutation.
Physics-based algorithms are designed with inspiration from phenomena, concepts, and laws in physics. The Simulated Annealing (SA) [28] algorithm is one of the most famous physics-based approaches. The modeling of the metal annealing phenomenon in metallurgy has been the main idea in its design. Physical forces are the origin of the creation of algorithms such as the Spring Search Algorithm (SSA) [29] based on spring tensile force, the Gravitational Search Algorithm (GSA) [30] based on gravitational attraction force, and the Momentum Search Algorithm (MSA) [31] based on momentum the search space. Therefore, each serval is a candidate solution for the problem whose position in the search space determines the values of the decision variables. From a mathematical point of view, each serval is a vector, and their population together forms the SOA population matrix, which can be represented according to Equation (1). The initial position of servals in the search space at the beginning of the implementation of the algorithm is randomly generated using Equation (2).
x i,j = lb j + r i,j · ub j − lb j , i = 1, 2, . . . , N and j = 1, 2, . . . , d, where X denotes the population matrix of serval locations, X i is the ith serval (candidate solution), x i,j is its jth dimension in search space (decision variable), N denotes the number of servals, d is the number of decision variables, r i,j are random numbers in the interval [0, 1], lb j , and ub j are the lower and upper bounds of the jth decision variable, respectively. Since each serval is a candidate solution for the problem, the objective function of the problem can be evaluated based on the proposed values of each serval for the decision variables. Then, according to Equation (3), a vector can represent the values of the problem's objective function.
where F denotes the vector of objective function values and F i denote to the obtained objective function value from the ith serval. Among the calculated values for the objective function, the best value is identified as the best candidate solution, and the member corresponding to it is determined as the best member of the population. Considering that in each SOA iteration, the positions of all population members are updated, of course, the best member should be updated in each iteration.

Mathematical Modelling of SOA
The process of updating SOA population members in the search space has two phases based on simulating the serval hunting strategy in nature. These phases are intended to model exploration in global search and exploitation in local search in SOA design.

Phase 1: Prey Selection and Attacking (Exploration)
The serval is an efficient predator that uses its strong sense of hearing to identify the location of its prey and then attack it. In the first phase of SOA, the positions of servals are updated based on the simulation of these two strategies. This update causes big changes in the position of servals and leads to a detailed scanning of the search space. The purpose of this phase of SOA is to increase the power of SOA exploration in global search and to identify the main optimal region.
In the SOA design, the position of the population's best member is considered the prey position. First, the new position for the serval is calculated using Equation (4) to model the serval's attack on the prey. Then, if this new position improves the value of the objective function, it replaces the previous serval position according to Equation (5).
x P1 i,j = x i,j + r i,j · P j − I i,j ·x i,j , i = 1, 2, . . . , N and j = 1, 2, . . . , d, where X P1 i denotes the new position of the ith serval based on the first phase of SOA, x P1 i,j is its jth dimension, F P1 i is its objective function value, r i,j are random numbers in interval [0, 1], P denotes the prey location, P j is its jth dimension, I i,j are numbers randomly selected from the set {1, 2}, N is the total number of servals population, and d is the number of decision variables.

Phase 2: Chase Process (Exploitation)
After attacking the prey, the serval tries to stop the prey by leaping in a chase process, then kills it and feeds on it. In the second phase of SOA, this serval strategy is employed in updating the population position of SOA. The simulation of the chase process causes small changes in the positions of the servals in the search space. In fact, the purpose of this SOA phase is to increase the exploitation power of SOA in local search and find better solutions.
In order to mathematically model the chasing process between the serval and the prey, a new random position near the serval is calculated using Equation (6). This new position, provided that it improves the value of the objective function, replaces the previous position of the corresponding serval according to Equation (7).
x P2 i,j = x i,j + r i,j · ub j − lb j t , i = 1, 2, . . . , N, j = 1, 2, . . . , d, and t = 1, 2, . . . , T, where X P2 i represents the new position of the ith serval based on second phase of SOA, x P2 i,j is its jth dimension, F P2 i denotes its objective function value, t is the iteration counter of the algorithm, and T represents to the total number of algorithm iterations.

Repetition Process, Pseudocode, and Flowchart of SOA
By updating all servals based on the first and second phases of SOA, the first iteration of the algorithm is completed. Then, based on the new positions of the servals and the new values obtained for the objective function, the algorithm enters the next iteration. The operation of updating the positions of servals is repeated until the last iteration of the algorithm based on Equations (4)- (7). After the complete implementation of SOA, the best candidate solution obtained during the algorithm's execution is introduced as the solution to the problem. The SOA implementation process is presented in the form of a flowchart in Figure 1, and its pseudo code is presented in Algorithm 1. Input information of the optimization problem. Variables' interval, constraints, the objective function.
Set the population size (N) and the total number of iterations (T).
Create and evaluate the initial population. Set = 1 and = 1.
Phase 1: Update the best member to identify the prey location . Save the best solution found so far.  Start SOA. 1. Input problem information: variables, the objective function, and constraints. 2. Set the population size (N) and the total number of iterations (T) 3. Generate the initial population matrix at random. 4. Evaluate the objective function. 5. For t = 1 to N 6. For i = 1 to N 7.
Update the best member of population as prey location. 9.
Calculate the new position of the ith SOA member based on attack simulation using Equation (4). x P1 i,j ← x i,j + r i,j · P j − I i,j ·x i,j
Calculate new position of the ith SOA member based on simulation the chase using Equation (6).
Save the best candidate solution so far. 16. end. 17. Output the best quasi-optimal solution obtained with the SOA. End SOA.

Computational Complexity of SOA
This subsection is dedicated to the computational complexity analysis of the proposed SOA approach. SOA initialization operation has a complexity equal to O(Nd), where N is the number of servals and d is the number of decision variables. The process of updating the SOA population and calculating the objective function in two phases has a complexity equal to O(2NdT), where T is the maximum number of algorithm iterations. Therefore, the total computational complexity of SOA is O(Nd(1 + 2T)).

Simulation Studies and Results
This section is dedicated to evaluating the performance of SOA in solving optimization problems and achieving solutions for these problems. For this purpose, thirty-nine standard benchmark functions from the CEC 2017 test suite and CEC 2019 test suite have been employed. The CEC 2017 test suite has 30 benchmark functions, including 3 unimodal functions C17-F1 to C17-F3, 7 multimodal functions C17-F4 to C17-F10, 10 hybrid functions C17-F11 to C17-F20, and 10 composition functions C17-F21 to C17-F30. The C17-F2 function is not considered in the simulations due to its unstable behavior. The complete information of the CEC 2017 test suite is described in [54]. CEC 2019 test suite has 10 hard benchmark functions, the complete information of which is described in [55]. The quality of the SOA approach in optimization has been compared with the performance of twelve well-known metaheuristic algorithms. These algorithms include: (i) widely used and famous methods: GA, PSO, (ii) high cited methods: GSA, TLBO, MVO, GWO, WOA (iii) recently published methods MPA, TSA, RSA, AVOA, and WSO. The adjusted values for the parameters of competitor algorithms are listed in Table 1. SOA and competitor algorithms are employed to optimize the 39 benchmark functions mentioned above. Simulation results are presented using six indicators: mean, best, worst, standard deviation (std), median, and rank.

Evaluation the CEC 2017 Test Suite
To analyze the quality of SOA and competitor algorithms in handling optimization problems, they have been implemented on the CEC 2017 test suite for dimensions d equal to 10, 30, 50, and 100. Tables 2-5 present the results obtained from these implementations.
The optimization results show that the proposed SOA approach has provided superior performance compared to competing algorithms in the CEC 2017 test suite optimization by creating a suitable balance between exploration and exploitation. The performance of SOA and competitor algorithms in the optimization of the CEC 2017 test suite is drawn as a boxplot diagram in Figures 2-5.

Evaluation the CEC 2019 Test Suite
This subsection tests the effectiveness of the proposed SOA approach and competing algorithms in solving the CEC 2019 test suite. The optimization results of C19-F1 to C19-F10 functions are published in Table 6.
What is evident from the comparison of the simulation results is that the proposed SOA approach is the first best optimizer C19-F1 to C19-F4, and C19-F6 to C19-F9 functions against competitor algorithms. The optimization results show that SOA's proposed approach better handles the CEC 2019 test suite by winning the first rank compared to competitor algorithms. The performance of SOA and competitor algorithms in the optimization of the CEC 2019 test suite is drawn as a boxplot diagram in Figure 6.

Statistical Analysis
In this subsection, by providing a statistical analysis of the simulation results, it has been investigated how significant the superiority of the proposed SOA approach is against competitor algorithms from a statistical point of view. For this reason, the Wilcoxon rank sum test [56] is utilized, which is applicable to determine the significant difference between the average of two data samples. The results of applying the Wilcoxon rank sum test on the performance of the proposed SOA proposed approach and competitor algorithms are reported in Table 7. Based on the values obtained for the p-value index, in cases where the p-value is less than 0.05, the proposed SOA approach has a statistically significant superiority compared to the corresponding competitor algorithm.                F26, C17-F29, and C17-F30. The optimization results show that the proposed SOA approach has provided superior performance compared to competing algorithms in the CEC 2017 test suite optimization by creating a suitable balance between exploration and exploitation. The performance of SOA and competitor algorithms in the optimization of the CEC 2017 test suite is drawn as a boxplot diagram in Figures 2-5.

Evaluation the CEC 2019 Test Suite
This subsection tests the effectiveness of the proposed SOA approach and competing algorithms in solving the CEC 2019 test suite. The optimization results of C19-F1 to C19-F10 functions are published in Table 6.   What is evident from the comparison of the simulation results is that the proposed SOA approach is the first best optimizer C19-F1 to C19-F4, and C19-F6 to C19-F9 functions against competitor algorithms. The optimization results show that SOA's proposed approach better handles the CEC 2019 test suite by winning the first rank compared to competitor algorithms. The performance of SOA and competitor algorithms in the optimization of the CEC 2019 test suite is drawn as a boxplot diagram in Figure 6.

Statistical Analysis
In this subsection, by providing a statistical analysis of the simulation results, it has been investigated how significant the superiority of the proposed SOA approach is against competitor algorithms from a statistical point of view. For this reason, the Wilcoxon rank sum test [56] is utilized, which is applicable to determine the significant difference between the average of two data samples. The results of applying the Wilcoxon rank sum test on the performance of the proposed SOA proposed approach and competitor algorithms are reported in Table 7. Based on the values obtained for the p-value index, in cases where the p-value is less than 0.05, the proposed SOA approach has a statistically significant superiority compared to the corresponding competitor algorithm.

SOA for Real-World Applications
This section is dedicated to analyzing the effectiveness of the proposed SOA approach in handling real-world applications. In this regard, SOA and competitor algorithms are employed to optimize the CEC 2011 test suite and four engineering design problems.

Evaluation the CEC 2011 Test Suite
This collection contains twenty-two real-world optimization problems (the C11-F3 function was excluded in the simulation studies). The CEC 2011 test suite details are described in [57]. The optimization results of the CEC 2011 test suite using SOA and competitor algorithms are published in Table 8.   The simulation results imply that the proposed SOA approach is the best optimizer for handling functions C11-F1, C11-F2, C11-F4 to C11-F6, C11-F8 to C11-F10, F12, F15, F18, and C11-F20 to C11-F22. A comparison of the simulation results indicates that the proposed SOA approach has an acceptable efficiency in dealing with real-world optimization problems against competitor algorithms. Additionally, the results of employing the Wilcoxon rank sum test on the performance of SOA and competitor algorithms on the CEC 2011 test suite show the statistically significant superiority of SOA in competition with the compared algorithms. The performance of SOA and competitor algorithms in dealing with the CEC 2011 test suite is plotted as a boxplot diagram in Figure 7. proposed SOA approach has an acceptable efficiency in dealing with real-world optimization problems against competitor algorithms. Additionally, the results of employing the Wilcoxon rank sum test on the performance of SOA and competitor algorithms on the CEC 2011 test suite show the statistically significant superiority of SOA in competition with the compared algorithms. The performance of SOA and competitor algorithms in dealing with the CEC 2011 test suite is plotted as a boxplot diagram in Figure 7.

The SOA Testing on Engineering Optimization Problems
In this subsection, the performance of SOA in solving four engineering design problems from real-world applications is evaluated.

Pressure Vessel Design Problem
The pressure vessel design is a real-world challenge in engineering studies where the goal is to minimize the design cost. The schematic of this design is provided in Figure 8.

The SOA Testing on Engineering Optimization Problems
In this subsection, the performance of SOA in solving four engineering design problems from real-world applications is evaluated.

Pressure Vessel Design Problem
The pressure vessel design is a real-world challenge in engineering studies where the goal is to minimize the design cost. The schematic of this design is provided in Figure 8.  Tables 9 and 10.  The mathematical model of pressure vessel design problem is as follows [58]: The optimization results of pressure vessel design using SOA and competitor algorithms are released in Tables 9 and 10. Based on the simulation results, the proposed SOA approach has provided the optimal solution with the values of the design variables equal to (0.778027, 0.384579, 40.31228, 200), and the value of the objective function equals to 5882.901. The analysis of the results shows that compared to competitor algorithms. Therefore, SOA has provided better performance in dealing with pressure vessel design. The convergence curve of SOA in achieving the solution for the pressure vessel design problem is drawn in Figure 9.  Based on the simulation results, the proposed SOA approach has provided the optimal solution with the values of the design variables equal to (0.778027, 0.384579, 40.31228, 200), and the value of the objective function equals to 5882.901. The analysis of the results shows that compared to competitor algorithms. Therefore, SOA has provided better performance in dealing with pressure vessel design. The convergence curve of SOA in achieving the solution for the pressure vessel design problem is drawn in Figure 9.

Speed Reducer Design Problem
The speed reducer design is an engineering subject aiming to minimize the speed reducer's weight. The schematic of this design is provided in Figure 10.

Speed Reducer Design Problem
The speed reducer design is an engineering subject aiming to minimize the speed reducer's weight. The schematic of this design is provided in Figure 10.  The mathematical model of the speed reducer design problem is as follows [59,60]: . Minimize: f (x) = 0.7854x 1 x 2 2 3.3333x 2 3 + 14.9334x 3 − 43.0934 − 1.508x 1 x 2 6 + x 2 7 + 7.4777 x 3 6 + x 3 7 + 0.7854 x 4 x 2 6 + x 5 x 2 7 . Subject to: g 1 (x) = 27 The implementation results of the proposed SOA and competitor algorithms on the speed reducer design problem are released in Tables 11 and 12. Based on the simulation results, the proposed SOA approach has provided the optimal solution with the values of the design variables equal to (3.5, 0.7, 17, 7.3, 7.8, 3.350215, 5.286683) and the objective function equal to 2996.348. Analysis of the results shows that SOA has provided better performance in handling speed reducer design compared to competitor algorithms. The convergence curve of SOA while solving the speed reducer design problem is drawn in Figure 11. Based on the simulation results, the proposed SOA approach has provided the optimal solution with the values of the design variables equal to (3.5, 0.7, 17, 7.3, 7.8, 3.350215, 5.286683) and the objective function equal to 2996.348. Analysis of the results shows that SOA has provided better performance in handling speed reducer design compared to competitor algorithms. The convergence curve of SOA while solving the speed reducer design problem is drawn in Figure 11.

Welded Beam Design
The welded beam design is a real-world application with the aim of minimizing the fabrication cost of the welded beam. The schematic of welded beam design problem is provided in Figure 12.

Welded Beam Design
The welded beam design is a real-world application with the aim of minimizing the fabrication cost of the welded beam. The schematic of welded beam design problem is provided in Figure 12. Minimize: f (x) = 1.10471x 2 1 x 2 + 0.04811x 3 x 4 (14.0 + x 2 ). Subject to: g 1 (x) = τ(x) − 13600 ≤ 0, g 2 (x) = σ(x) − 30000 ≤ 0, g 3 (x) = x 1 − x 4 ≤ 0, g 4 (x) = 0.10471x 2 1 + 0.04811x 3 x 4 (14 + x 2 ) − 5.0 ≤ 0, 1 − x 3 28 30·10 6 4(12·10 6 ) . With 0.1 ≤ x 1 , x 4 ≤ 2 and 0.1 ≤ x 2 , x 3 ≤ 10. The results of using the SOA and competing algorithms on the problem of welded beam design are released in Tables 13 and 14. Based on the simulation results, the proposed SOA approach has provided the optimal solution with the values of the design variables equal to (0.20573, 3.470489, 9.036624, 0.20573) and the objective function equal to 1.724852. Based on the statistical indicators, it is clear that SOA has provided a more effective capability in handling the welded beam design problem compared to competitor algorithms. The SOA con-vergence curve during welded beam design optimization is drawn in Figure 13.
is clear that SOA has provided a more effective ca design problem compared to competitor algorithms welded beam design optimization is drawn in Figu   Figure 13. SOA's performance convergence curve on the

Tension/Compression Spring Design
The tension/compression spring design is a re mizing the weight of tension/compression spring. T in Figure 14.

Tension/Compression Spring Design
The tension/compression spring design is a real-world issue with the goal of minimizing the weight of tension/compression spring. The schematic of this design is provided in Figure 14.   The mathematical model of tension/compression spring design problem is as follows [23]: Consider: X = [x 1 , x 2 , x 3 ] = [d, D, P]. Minimize: f (x) = (x 3 + 2)x 2 x 2 1 . Subject to: ≤ 0, g 4 (x) = x 1 +x 2 1.5 − 1 ≤ 0. With 0.05 ≤ x 1 ≤ 2, 0.25 ≤ x 2 ≤ 1.3 and 2 ≤ x 3 ≤ 15. The simulation results of the tension/compression spring design problem using the SOA and competitor algorithms are released in Tables 15 and 16. Based on the simulation results, the proposed SOA approach has provided the optimal solution with the values of the design variables equal to (0.051689, 0.356718, 11.28897) and the objective function equal to 0.012665. Comparing the obtained results indicates the superiority of SOA in dealing with the tension/compression spring design problem compared to competing algorithms. The SOA convergence curve while achieving the optimal design for the tension/compression spring design problem is drawn in Figure 15. Based on the simulation results, the proposed SOA approach has provided the optimal solution with the values of the design variables equal to (0.051689, 0.356718, 11.28897) and the objective function equal to 0.012665. Comparing the obtained results indicates the superiority of SOA in dealing with the tension/compression spring design problem compared to competing algorithms. The SOA convergence curve while achieving the optimal design for the tension/compression spring design problem is drawn in Figure 15.

Conclusions and Future Works
This paper introduced a new swarm-based metaheuristic algorithm named the Serval Optimization Algorithm (SOA) based on the simulation of serval behaviors in nature. The serval strategy during hunting in the three stages of prey selection, attack, and the

Conclusions and Future Works
This paper introduced a new swarm-based metaheuristic algorithm named the Serval Optimization Algorithm (SOA) based on the simulation of serval behaviors in nature. The serval strategy during hunting in the three stages of prey selection, attack, and the chase is the fundamental inspiration of SOA. Different steps of SOA were stated and mathematically modeled in two phases of exploration and exploitation. The effectiveness of SOA in solving optimization problems was tested on thirty-nine benchmark functions from the CEC 2017 test suite and the CEC 2019 test suite. The SOA's results were compared with the performance of the other twelve well-known metaheuristic algorithms. The optimization results showed that SOA had performed better by balancing exploration and exploitation and had superior performance compared to competitor algorithms. Employing the proposed approach in optimizing the CEC 2011 test suite and four engineering design challenges demonstrated SOA's evident ability to address real-world applications.
The introduction of SOA enables several research tasks for future studies. Designing the multi-objective version of SOA and using it in multi-objective optimization problems, developing the binary version of SOA, and using it in applications that require binary algorithms, such as feature selection, are among the most special suggestions for future studies. The use of SOA in various optimization problems in science and real-world applications are among the other recommendations of this article for future research.