Abstract

Swarm intelligence (SI) is a research field which has recently attracted the attention of several scientific communities. An SI approach tries to characterize the collective behavior of animal or insect groups to build a search strategy. These methods consider biological systems, which can be modeled as optimization processes to a certain extent. The Social Spider Optimization (SSO) is a novel swarm algorithm that is based on the cooperative characteristics of the social spider. In SSO, search agents represent a set of spiders which collectively move according to the biological behavior of the colony. In most of SI algorithms, all individuals are modeled considering the same properties and behavior. In contrast, SSO defines two different search agents: male and female. Therefore, according to the gender, each individual is conducted by using a different evolutionary operation which emulates its biological role in the colony. This individual categorization allows reducing critical flaws present in several SI approaches such as incorrect exploration-exploitation balance and premature convergence. After its introduction, SSO has been modified and applied in several engineering domains. In this paper, the state of the art, improvements, and applications of the SSO are reviewed.

1. Introduction

Swarm intelligence (SI) algorithms have attracted the attention of researchers due to their powerful and efficient performance for solving optimization problems. These algorithms are developed by the combination between randomness and deterministic rules, emulating animal groups in the nature swarms [1].

Insects and animal groups provide a rich set of metaphors to develop new swarm algorithms; these entities are complex systems with individuals that reproduce different behaviors depending on its biological role such as gender, type, or size [2]. In spite of this, most of SI algorithms model generic individuals with the same simple rule of behavior. Under such conditions, it is not possible to include new operators that reproduce complex biological behaviors such as task-division and gender responsibility.

The Social Spider Optimization (SSO) [3] proposed by Erik Cuevas et al., in 2013, is a population-based algorithm that simulates the cooperative behavior of the social spider. SSO considers two search agents (spiders): male and female. Each individual is conducted with a different set of evolutionary operators depending on it gender which mimics different cooperative behaviors typically found in the colony. This individual categorization allows reducing critical flaws present in several SI approaches such as incorrect exploration-exploitation balance and premature convergence. Unlike other popular algorithms as Particle Swarm Optimization (PSO) [4], Genetic Algorithm (GA) [5], Cuckoo Search (CS) [6], Artificial Bee Colony (ABC) [7], Harmony Search (HS) [8], and Social Network Optimization (SNO) [9], it evades the concentration of particles in the best positions, preventing critical faults as premature convergence to suboptimal solutions or a limited balance between exploration and exploitation. These characteristics have motivated the use of the SSO algorithm to solve a wide variety of engineering applications in diverse areas including machine learning: Artificial Neural Networks Training [10, 11] and Support Vector Machine Parameter Tuning [12, 13]; control: Fractional Controller Design [1416] and frequency controllers [17]; image processing: Image Multilevel Thresholding [18], Image Contrast Enhancement [19], and Image Template Matching [20], and energy: Distribution of Renewable Energy [21], Congestion Management [22], and Anti-Islanding Protection [23].

After its introduction, SSO has been extensively modified and applied in several engineering domains. This paper presents a review of the SSO algorithm, its improvements, adaptations, and applications. The rest of the document is organized as follows: Section 2 presents an explanation of the original SSO algorithm and its operators, Section 3 presents a brief list of modifications of the algorithm doing enfaces in the principal modification in each case, Section 4 presents a list of applications and problems solved using the SSO or some of its modifications, Section 5 presents future work to realize with the algorithm and finally Section 6 presents the conclusions.

2. Social Spider Optimization (SSO)

2.1. Statistics and Publications of the SSO

Since the introduction of the Social Spider Optimization (SSO) method in 2013, it has attracted the attention of the metaheuristic community. Currently, there exist more than 120 documents that consider modification, improvement, or application of SSO in any domain.

To the best of our knowledge, in total, there are 120 documents which consider the modification and applications of the SSO method. From them, there are 71 papers which were published on journals with JCR index, such as Expert Systems with applications, Neural Computing and Applications, IEEE Transactions on Magnetics, Memetic Computing, Applied Soft Computing, Soft Computing, Swarm and Evolutionary Computation, and Engineering Applications of Artificial Intelligence. Figure 1 shows the number of Journal Citations Reports (JCR) indexed documents since 2014. In addition, there are 49 articles published on conferences, such as IEEE Symposium on Swarm Intelligence (SIS), IEEE Congress on Evolutionary Computation (CEC), the Conference Companion on Genetic and Evolutionary Computation (GECCO), International Conference on Advanced Computational Intelligence (ICACI), International Conference on Swarm Intelligence (ICSI), just to name a few.

From Figure 1, it is clear that the SSO method has attracted the attention of more and more researchers in studies and applications. Under such conditions, the SSO algorithm has been modified and applied in several domains.

2.2. Original SSO Algorithm

The SSO assumes the search space as a communal spider web and each candidate solution in the population represents a spider. Each spider receives a weight according to the fitness value of the solution that it symbolizes. The approach models two different search set of evolutionary operators that simulate the different cooperative behaviors assumed in the colony.

The algorithm was designed to solve a nonlinear global optimization problem with box constraint in the form:where is a nonlinear function and is a reduced feasible space limited by the lower () and upper () limits.

The SSO uses a population of candidate solutions to solve the optimization problem. Each solution represents a spider position whereas the general web represents the search space . In the approach, the population is divided into two search agents: Male (Ms) and Female (Fs). With the aim of simulating a real spider colony, the number is of females, and Nf is randomly selected in a range between the 65–95% of the entire population S, whereas the rest Nm is considered as the male individuals (Nm= S - Nf). Under this conditions, the group Fs forms a set of female individuals (Fs = ), hence the Ms group, the male individuals, (Ms = ), where .

In the algorithm each spider has a weight wei according to its solution fitness, and that weight is calculated as follows:where fiti is the fitness of the i-th spider position, i 1,.., N, and best and worst are, respectively, the best fitness value and the worst fitness value of whole population . The information exchange is the principal mechanism of the SSO in the optimization process. It is simulated through vibrations produced in the web. The vibration that a spider perceives from a spider is modeled as follows:where wej is the weight of the j-th spider and d is the distance between the two spiders. Each spider can perceive only three types of vibration, , , and . is the vibration produced by the nearest spider with a higher weight with regard to (). is produced by the nearest female spider and it is only applicable if is a male spider and finally is produced by the best spider in the population S.

In the algorithm, a population of spiders is operated since an initial stage k=0 to a determinate number it of iterations (k=it). Depending on its gender each individual is conducted by a different set of evolutionary operators. In the case of female spiders, the new position is obtained by modifying the current spider position . The modification is randomly controlled by a probability factor Pf and the movement is produced in relation to other spiders and its vibrations transmitted through the search space: where α, β, δ, and rand are random numbers between and is the iteration number and the individuals and symbolize the nearest spider with a higher weight than and the best spider in the communal web, respectively.

On the other hand, male spiders are classified into two types: dominant (D) and nondominant (ND). The group is integrated with the male spider whose fitness values are better with regard to the complete male set. Thus, the ND group is formed by the rest of the male spiders. In the optimization process the male spiders are operated by the following model:where α, δ, and rand are random numbers between and is the nearest female spider to de male individual i.

In the SSO mating operator is performed between dominant male and female individuals with a specific range r; this generates a new individual snew. The weight of each spider defines the probabilities of the influence of each spider on snew; the heavier element has more probability to influence the new individual snew. Once a new spider is generated, it is compared with the rest of the population, and if the new spider has a better fitness than the worst spider member of the population, the worst spider is replaced with snew; otherwise is discarded. Figure 2 illustrates the complete evolutionary process in the form of flow chart.

2.3. Performance Comparison

To prove the performance of the SSO algorithm, it was applied to a set of benchmark functions. It was compared to the results given by two popular algorithms in the literature: the PSO and the ABC algorithms. In the analysis, a representative set of functions have been considered. They are shown in Table 2. The population for all the algorithms was set in 50, and while the stop criteria were fixed in 1000 iterations, the parameters calibration for each algorithm in the comparison was set as follows:(1)ABC the parameter limit was set in 100 according to its own reference guideline [7].(2)PSO the weight factor decreases linearly from 0.9 to 0.2, and the parameters =2 and =2 [4].(3)SSO the probability factor Pf is set in 0.7.

The performance experiment considers the results of 30 runs and takes as performance measure the following indexes: the Average Best Fitness (AB), the Median Best fitness (Med), and the Standard Deviation (STD) of the best solution. The results of the experiment presented in Table 1 show that the SSO outperforms the other algorithms in all the test functions. That is due to a good balance between exploration and exploitation.

The analysis of the final fitness values cannot absolutely characterize the capacities of an optimization algorithm. Consequently, a convergence experiment on the six functions from Table 2 has been conducted. The objective of this test is to evaluate the velocity with which each optimization scheme reaches the optimum. In the experiment, the performance of every algorithm PSO, ABC, and SSO is analyzed. In the test, all functions are operated considering 30 dimensions. In order to build the convergence graphs, we employ the raw data generated in the simulations. As each function is executed 30 times for each algorithm, we select the convergence data of the run which represents the median test from the 30 executions. Figure 3 presents the convergence tables for PSO, ABC, and SSO where it proved that the SSO convergence rate is faster than the other two algorithms finding the best solution in less than 200 iterations.

3. Modifications and Improvements

In this section, the modifications and improvements of the SSO algorithm are reviewed. In some cases, they are grouped when the methods maintain similar characteristics.

3.1. Social Spider Optimization Based on Rough Sets (SSORS)

In 2016, Mohamed Abd El Aziz et al. [24] proposed a modification of SSO by using the rough set theory for the evaluation of the fitness function. The approach is applied to solve the minimum attribute reduction problem. In the algorithm, the fitness function depends on the rough sets dependency degree and takes into consideration the number of selected features.

The algorithm starts by randomly initializing a population of spiders. Next, each individual is converted into a binary vector of length by using the following equations:where is the spider value at the iteration and . The algorithm uses the dependency degree given by where and are called condition and decision features and POSC(D) is the positive region that contains all the objects of that can be classified in classes of U/D using information of C, which is used to evaluate the performance of the solutions. Furthermore, the fitness function is defined bywhere is a parameter that gives balance between number of selected features and the classification quality and is the length of the feature set. The fitness of each spider is compared with the global best (Fbest), and if it has a better fitness value, then Fbest is replaced with the current spider and its position becomes the reduct set . The process is repeated until a stop criterion is satisfied. Figure 4 shows the SSORS computational procedure in form of a flowchart.

The SSORS was compared with other similar schemes to solve a feature selection problem known as minimum attribute selection. They include approaches such as Particle Swarm Optimization with rough sets (PSORS), Harmony Search with rough sets (HSRS), Artificial Bee Colony with rough sets (ABCRS), FireFly Algorithm with rough sets (FARS), the rough set method itself (RS), and Algorithm Fish Swarm with rough sets (AFSRS) and test them in eight classifiers including Random Forest (RF), Support Vector Machines (SVM), Logistic Model Tree (LMT), Logistic Regression (Log), J48 decision tree (J48), and Naïve Bayes (NB). In the analysis, the algorithms were tested in six medical data sets available in the UCI machine learning repository, including Pima Indians Diabetes, Bupa Liver Disorder, Wisconsin Breast Cancer, Heart-Statlog, Breast Tissue, and Dermatology. Figures 5(a) and 5(b) present the classification performance of each approach for every data set. From the results, the authors demonstrate that the SSORS outperforms its competitors in terms of classification accuracy and speed.

3.2. Modified SSO Approach Based on Beta Distribution and Natural Gradient Local Search (MSSO)

Metaheuristic algorithms need a right balance between exploration and exploitation to give successful results in optimization problems. The classical SSO requires the random selection of parameters , , and ((4) and (5)) to control the movement of the spiders, which can affect the mentioned balance leading the algorithm to a premature convergence. With the aim of improving this balance, Carlos E. Klein et al. proposed a modification for the SSO (MSSO) in 2016 [25], where the mentioned parameters are selected from a Beta distribution in the range 0-1 [26] instead of the use of random numbers. The use of this distribution helps to preserve diversity and avoid premature convergence, improving the algorithm exploration. Furthermore, to improve the exploitation the author proposed the use of natural gradient (NG) with a rank one covariance matrix approximation to local search in each generation. In this method, the best spider realizes local search using NG after performing the operator. The NG parameters are the learning rate for the mean value and for the scale factor. The complete computational process is summarized in Figure 6 as a flow chart.

To prove the performance of the MSSO algorithm, authors considered the solution of two engineering problems such as the solenoid and brushless motor design. The algorithm was compared with the SSO algorithm, a version of the SSO algorithm with the NG method for local search and with itself without applying the NG local search method. The MSSO outperforms its competitors in terms of the objective function minimization. Table 3 exposes the performance result of each approach. The results consider 30 executions, a population size of 20 and a stop criterion of 3000 evaluations of the objective function.

3.3. SSO for Constrained Optimization SSO-C

In 2013, Erik Cuevas et al. [1] introduced a modification of SSO to solve constrained optimization by adding a set of penalty elements to the objective function. With this inclusion, a constrained optimization problem is converted into an unconstrained one. Therefore, the set of penalties gives a feasibility criterion to bias the generation of new individuals toward feasible regions to get better results.

Most of the optimization problems are subject to different types of constraints. These problems are known as constrained optimization problems. A constrained optimization problem is defined by finding a parameter vector that minimizes or maximizes an objective function subject to equality or inequality constraints:The objective function is defined on the search space , which is characterized as an n-dimensional rectangle in . The domain of each variable is defined within the lower and upper limits ( and ). A feasible region is delimited by a set of additional constraints () and is defined on the feasible space (). at any point, and constraints that satisfies are called active constraints. By extension, equality constraints are so-called active at all points of S.

3.3.1. The Penalty Function

Since the SSO-C aims to solve constrained optimization problems, it replaces the original objective function J(x) with other function C(x) which considers the original objective function J(x) minus a penalty function P(x) that introduces a tendency term that penalizes constrain violations produced by . Furthermore, considering the constrained optimization problem defined in equation 10, the substituted and penalty function is defined as follows:where and are the penalty coefficients that weight the importance of each kind of constraint and are set to 1 × 103 and 10, respectively.

The biological metaphor considers the spider size as a characteristic that evaluates the capacity of the individual to perform better a specific task. In this approach every spider receives a weight which represents the quality of the solution of each spider of the population independently of its gender; this weight is calculated as follows:where is the fitness obtained by the evaluation of the spider position with regard to the substitute function

3.4. Parallel Social Spider Clustering Algorithm for High Dimensional Data sets (P-SSO)

As the dimensionality in specific problems increases, it is desirable that the execution time of SI algorithms would be reduced. With this aim, Urvashi Prakash Shukla et al. suggested a parallel version of the SSO (P-SSO) in 2016 [27]. In this version, the position of each spider (female, dominant and nondominant male) is updated simultaneously; this increases the computational speed, giving the algorithm the ability to work in high dimensional problems. The computational procedure of P-SSO is illustrated in Figure 7 as a flowchart.

This algorithm was applied to solve clustering problems with high dimensional data. According to the authors, the approach performs ten times faster than the original SSO algorithm. The P-SSO outperforms several clustering schemes even in other real-life applications as multispectral image segmentation as a clustering problem. In terms of accuracy, the P-SSO provides two times better precision than one of its competitors.

3.5. Elite Opposition-Based Social Spider Optimization (EOSSO)

The SSO emulates the cooperative behavior of a spider colony by stochastic position changes; with this method the probability of getting a good solution is relatively low. With the purpose to increase the probability of getting a better solution Ruxin Zhao et al. proposes the use of Elite Opposition-Based Learning Strategy EOLS in the SSO and creates the EOSSO in 2017 [28].

Opposition-Based Learning (OBL) is a machine intelligence strategy that considers the current individual and its opposite particle at the same time to get a better approximation for the current candidate solution. It has been proved that an opposite candidate has a greater chance to be closer to the global optimal than a random candidate solution. Some of the concepts of OBL are defined as follows.

The EOSSO main idea is to calculate and evaluate the opposite solution of each particle at the same time and select the better one as an individual for the next generation. The best fitness valued individual is seen as an elite individual.

At the global optimization process, the strategy expands the search space of the algorithm and strengths the diversity of the population. Thus the global searching ability can be enhanced and help to get a better optimal solution. The complete computational process is summarized in Figure 8.

To test the performance of the ESSO algorithm, it was tested on a set of benchmark functions and compared with other popular algorithms in the literature such as BAT algorithm (BA), ABC, and the original SSO. Table 4 presents the results of each performance considering a population size of 50 particles, a stop criterion of 1000 iterations, and 30 executions. The results indicate that the ESSO method outperforms its competitors in terms of fitness and convergence speed.

3.6. Hybrid Social Spider Optimization and Genetic Algorithm

A desirable property for any population-based optimization technique is to avoid premature convergence and entrapment into local optima; with this aim, Tawhid and Ali proposed a hybrid optimization approach based on both SSO and GA algorithms in 2016 [29]. In that approach, the authors combine the properties of exploration and exploitation of the SSO. Then, it applies the arithmetical crossover and mutation operators of the GA, calling the algorithm Hybrid Social Spider Optimization and Genetic Algorithm (HSSOGA). With this combination, the search process is accelerated and helps to find a near optimal solution in a reasonable time.

The HSSOGA algorithm consists of mainly three steps:(1)Apply the social spider cooperative operators to take advantage of its balance between exploration and exploitation.(2)Subdivide the population and apply the arithmetical crossover operation on the populations with the aim of improving the search diversity of the proposed algorithm.(3)Apply the GA mutation operator in order to avoid premature convergence.

Figure 9 presents the computational procedure of HSSOGA as a flowchart.

In order to demonstrate the performance of the HSSOGA algorithm, it was tested on different large-scale unconstrained optimization benchmark functions at dimensions 30, 100, and 400. In the comparison, the HSSOGA has been configured with a population size s=25. The Pf was set with 0.7, the crossover rate = 0.6, the mutation rate with Pm = 0.001, the number of variables in each partition v = 5, and the number of solutions in each partition =5. Table 5 shows the performance of the HSSOGA algorithm considering 4 typical functions used in the literature. The authors report the average fitness and the standard deviations given by the HSSOGA through different dimensions and functions.

3.7. Improved Social Spider Optimization (ISSO)

With the objective of accelerating the convergence efficiency and search ability of the SSO, Shuang-Cheng Sun et al. [30] proposed five improved SSO algorithms in 2017. The first algorithm ISSO1 takes advantage of the historical process adding the historical best position to operate the movement of the spiders in the search area through a vibration perceived by the i-th spider, leading to an increment of the convergence speed. The second improvement ISSO2 tries to overcome the chaotic search on the earlier stages of the search process due to the low influence of the spider’s vibrations on a high distance between them, adding acceleration coefficients to the half of the female and dominant spiders. Furthermore, a random search term that decreases with each iteration and is controlled by an inertia weight is added. A small step size causes a careful search among the spiders but decreases the convergence speed.

On the other hand, a big step size increases the convergence speed but decreases the search accuracy, which may lead to losing the optimal position. To solve these troubles in the ISSO3 algorithm add a linearly decreased step size leading this to a reasonable tradeoff between computational time and search accuracy. In the ISSO4 algorithm, a mutation operator for the nondominant spiders is added with the objective to improve the solutions diversity. Finally, the ISSO5 algorithm makes use of the improvements of the other four algorithms at the same time. Figure 10 presents the computational process of each version ISSO1, ISSO2, ISSO3, and ISSO4 in form of a flowchart.

All algorithms have been applied to solve inverse radiation-conduction heat transfer problems, where each one outperforms the original algorithm in terms of computational speed and accuracy. Figure 11 shows a comparative analysis of all methods.

3.8. Simplex Method Social Spider Optimization

One obstacle for the SSO to be applied in complex problems is its high computational cost. Therefore, as the dimensionality of a search space and the data amount increases, a problem of local optima entrapment and poor convergence rates is present. To overcome these problems, Yongquan Zhou et al. proposed to apply the simplex method to the original SSO (SMSSO) in 2017 [31], enhancing the algorithm global and local search abilities and avoiding local optima entrapment while increasing the convergence rate.

The simplex method was introduced by Spendley et al. [32] and is defined by some points equal to the number of dimensions in the search space plus one. The process of the simplex method is described as follows:(1)Evaluate the solutions of the entire population and select the global best sbest1 and the second best sbest2, assuming that is the spider that must be replaced and that f(sbest1), f(sbest2), and f() are the corresponding fitness values.(2)Calculate the middle position () of sbest1 and sbest2 defined by(3)Determine the reflection point sref given byThe reflection coefficient is typically set to one.(4)Compare the fitness value between sref and sbest1. If f(sref) < f(sbest1), the extension operation was performed based on the next equation:where is the extension coefficient, and this parameter is usually set in two. Then compare the fitness value of the extension point and the global best. If < sbest1, should be replaced by and, in another case, sref will be substituted for .(5)Compare the fitness values of sref and If f(sref) < f(), the compression operation should be performed using the following equation: β is the condense coefficient; it is typically set to 0.5. Then, it is compared to the fitness values between and , and if f(scomp) < f(), should be replaced with scomp; otherwise, sref will be substituted with .(6)If f(sbest1) < f(sref) < f(), the condense point scond must identify performing shrink operations where the shrink coefficient is described by σ:If f(scond) < f(), will be replaced with scond. In other case, sref will be replaced with .

The proposed SMSSO algorithm is shown in Figure 12 as a flowchart.

The SMSSO was applied to solve data-clustering problems using different data sets selected from the UCI machine learning repository as artificial data set one (AD1), artificial data set two (AD2), iris data, and Teaching Assistant Evaluation, among others, which confirms its potential and effectiveness. The algorithm was compared to other algorithms in the state of the art such as ABC, DE, SSO, FPA, CLSPSO, and FPA. Each algorithm was applied twenty times, and the quality measures are best, mean, and the standard deviation (Std). Table 6 presents the comparative results of each method for every data set. Figure 13 shows a graphical perspective of all comparisons.

4. Applications

Since its introduction, SSO has been used in a wide variety of applications in several engineering areas such as control, computer vision, image processing, and energy. This section presents a review of some of the most important problems.

4.1. Clustering for High Dimensional Data Sets

In 2016, Urvashi Prakash Shukla et al. [27] proposed a parallel version of the SSO method to segment spectral images. In order to solve the problem, the segmentation task is converted into a clustering problem. Then, the data grouping is approached as an optimization process.

Under this approach, the clustering process is conducted as a minimization of the intraclass distance (ICD) among the data. ICD is a metric of distance between the cluster center and the elements present in the cluster. According to the authors, ICD produces compact clusters in comparison with another distance criterion.

Therefore, the proposed objective function was formulated considering several elements such as the given data set , the samples N, the dimensions D, and the cluster number . The objective function was modeled as follows:where the elements and the cluster head and is the Euclidian distance that represents the distance metric.

Each spider represents a random observation of the data set and serves as a cluster center in order to build the different groups. The number of clusters is known in prior aswhere i-th spider has dimensionality , thus the swarm is represented bywhere is the population size and and are the number of male and female spiders, respectively.

Each observation of is assigned to a cluster based on the distance from the cluster center; this assignation is given byAfter the data is assigned to the corresponding clusters using (21), the objective function of each spider is computed byThe rest of the algorithm continues as usual. In order to test the algorithm performance, it was applied in low dimensional data sets taken from the UCI repository and other high dimensional data sets such as the real-life Statlog (stat). This data set contains multispectral satellite image, handwritten digit (hand), dermatology (der), and Mice, a study based on protein behavior among others. The results are shown in Table 7, taking as quality measure the classification error percentage (CEP) and the execution time required reporting the median (med) value and the standard deviation (std).

The approach demonstrated a superior performance on small data sets in terms of “average classification error percentage” in comparison with other evolutionary algorithms. For big data sets, the experimental results reveal that the algorithm is ten times computationally faster than the original SSO.

4.2. Simplex Method-Based Social Spider Optimization Algorithm for Clustering Analysis

One of the most popular clustering algorithms due to its simplicity is the K-means algorithm, but its performance strongly depends on the initial cluster centers used and it can converge to a local minimum. Many researchers have attempted to solve the clustering problem with metaheuristic algorithms to deal with these troubles. In 2017 Yongquan Zhou et al. [31] proposed the use of the SMSSO on a data-clustering problem using eleven benchmark data sets to confirm the potential of the proposed algorithm. The experimental results show that the SMSSO algorithm outperforms the K-means technique and other state of the art techniques in terms of accuracy, robustness, and convergence speed.

In the study, the SMSSO algorithm was proposed to solve data-clustering problems. The aim is to divide the data set D, where each datum has attributes, into clusters. Furthermore, each attribute of the data set is . To obtain the optimal coordinates of the centers of clusters, the dimension of the solution is . Each spider in the SMSSO represents a clustering center vector in the clustering problem. It can be described as . The classification minimizes the sum of the distances required. Hence, the distance between each datum and the center of the cluster to which it belongs is minimized. Finally, the objective function is defined as follows:The performance of the SMSSO was tested on different sets mentioned in Section 3.7 and some of its results are shown in Table 6 and Figure 14. According to the authors, the approach is better than other similar algorithms with regard to several metrics.

4.3. A Hybrid SSO for Text Clustering Quality Improvement

One of the most widely studied data mining problems is text clustering. It organizes text documents into groups with the objective that each group has similar text documents. The main issues in this problem are efficiency and accuracy. As a clustering problem can be mapped to an optimization problem, the researchers have been used evolutionary optimization techniques to improve accuracy and efficiency.

In 2017 T. Ravi Chandran et al. [33] proposed the use of the SSO for textual document clustering. They compared it versus the K-means clustering and another state of the art clustering algorithms such as PSO, ACO, and improved ABC. The results proved to give a better accuracy. Then they proposed the use of two hybrid clustering techniques, the SSO + K-means (SSOK) and K-means + SSO (KSSO), and found that the SSOK algorithm outperforms KSSO, KPSO (K-means + PSO), KGA(K-means + GA), KABC (K-means + ABC), and Interleaved K-means + IBCO clustering techniques.

In this problem, each spider represents a collection of clusters. The algorithm starts initializing each spider with randomly chosen text documents where is the number of clusters to be formed. These text documents in each spider are the initial centroids. Each text document in the data set is associated with one of these centroids based on the distance measure.

The fitness function of each spider is the average distance between text documents and cluster centroid and is defined as follows:where centi is the centroid of the cluster , docj is the text document present in the cluster , is the number of text documents in the cluster , K is the number of clusters in each spider, and dist is the distance measure function that takes two document vectors.

Since there is a smaller average distance between documents and the cluster centroid, then more compact is the clustering solution; thus, the text document clustering problem can be considered a minimization problem.

Each spider is updated in relation to its cooperative behavior. The mating operation is performed for all the dominant male spiders and a set of female spiders in the mating radio. The process is repeated until stop criteria are reached. SSO-based text document clustering is reported in [33].

SSO clustering algorithms produce more compact clusters than K-means due to its globalized searching ability. However, K-means is efficient for large data sets in terms of execution time. In hybridized SSO-based text document clustering, the global search ability of the SSO and the speed of convergence of the K-means algorithm are combined in order to produce an optimal clustering solution.

SSOK algorithm consists of two modules: the SSO module and K-means module. In the initial stage, the SSO module is used to discover the vicinity of the optimal solution by global search. This produces cluster centroids. These centroids are the input data to the K-means module to refine and generate the optimal clustering solution. The entire process is reported in [33].

KSSO algorithm makes use of two modules: the K-means module and SSO module; in the initial stage the K-means module produces optimal centroids, and these centroids are passed to SSO module to initialize and start with the SSO clustering process. The entire process is reported in [33].

4.4. Approach for Support Vector Machines Parameters Tuning

Machine learning technics are usually applied to perform pattern recognition tasks, using the data set to train the algorithms in a learning process. The performance and accuracy of these methods are strongly influenced by the selection of their hyperparameters and the choice of the features used in the classification process. Danillo R. Pereira et al. proposed the use of the SSO to perform these parameters choice, specifically focusing in the hyperparameters of support vector machines (SVM) for the Radial Basis Function kernel (RBF) in 2014 [12].

The SSO algorithm was tested in three different SVM kernels: RBF, Sigmoid, and Polynomial, on different problems, and was compared with other optimization approaches, Novel Global Harmony Search (NGHS) and PSO, through different public benchmarking data sets, proving to outperform its competitors in different kernels and data sets in terms of classification accuracy.

In order to compare the optimization methods, the algorithms were executed ten times and the mean execution time and execution times of each of them were calculated. The calibration parameters for each algorithm was set as follows:(i)PSO: c1 = c2 =2 and w =.9(ii)NGHS: pm=0.1(iii)SSO: Pf = 0.5

Each algorithm works with a population of ten individuals and the stop criteria was set in 200 iterations. Table 8 presents the performance results of each algorithm for every data set. According to the authors, the SSO method reaches the best performance indexes.

4.5. Approach to Design Evolutionary Feedforward Neural Networks

Due to its nonlinear nature, the training of feedforward neural networks (FNN) is a complex task. Considering the presence of a large number of local solutions, metaheuristic algorithms are suitable to solve this problem. S. Z. Mirjalili et al. proposed the use of the SSO as a feedforward neural network (FNN) trainer on five standard classification data sets: XOR, balloon, iris, breast cancer, and heart in 2015 [11].

In this approach, the SSO algorithm is proposed to find the weights that characterize the FNN. Therefore, the set of weights is selected to minimize the following formulation:where is the actual output of the i-th input, d is the desired output of the i-th input, and m is the number of outputs. Equation (26) is known in the literature as the mean squared error (MSE).

In order to test the performance of the proposed approach, the algorithm was applied over five benchmark data sets from the UCI Machine Learning Repository. Their results have been compared with other well-known algorithms in the literature such as PSO, GA, and ACO. Each algorithm was executed ten times and the population sizes were set in 50 for the XOR data set and 200 for the rest of the sets, and the stop criteria was set in 250 iterations. The performance of each method is presented in Table 9. The results have been exhibited in terms of the average fitness value (AVE), the standard deviation (STD), and the classification rate percentage (%).

The results show that the SSO is very efficient in learning FNN, due to its exploration and high local optima avoidance. In terms of classification, the results of the SSO were better in terms of classification accuracy. It was also observed that the algorithm outperforms the others in iris, breast cancer, and heart data sets.

4.6. Parameter Improvement in the Lukasiewicz Structure

In feature selection, the removal of unnecessary features from the original data sets is of crucial importance to reach accuracy. Furthermore, dimensionality represents an important obstacle which affects the accuracy in data classification. Under such conditions, the membership of an object can be defined by the generalized Lukasiewicz structure [34]. The membership accuracy depends on the parameters that characterize the structure. Jintara Dollaor et al. proposed the use of the SSO to determine suitable values of similarity in conjunction with a fuzzy-entropy evaluation to select data features for the optimal parameters in the Lukasiewicz structure in 2016 [35].

In the approach, the SSO was proposed to find the optimal parameter for generalized Lukasiewicz structure. Therefore, the objective function is modeled as follows:wherewhere is a similarity value of sample and is the ideal vector represented by , . t represents the number of features , is a weight parameter, and is a parameter in the adjustment similarity value of data class i; a variation in this parameter can decrease or increase the classification performance.

In order to demonstrate the performance of the approach, it was tested in a benchmark data set of the UCI machine learning repository and was compared with the PSO and QPSO algorithms. Each algorithm was executed 30 times, the population was set in 50, and the stop criteria were set in 1000 iterations. Table 10 presents the computational results of each approach. In the table, the mean classification accuracy (MCA) and the standard deviation (STD) were used as quality measures.

The results demonstrated that the SSO generates a higher mean classification than PSO and QPSO in terms of average accuracy and average rank. It was also found that the SSO has been capable of seeking optimal parameter within cooperative neural network achieving the best classification results with a reduced number of features.

4.7. Image Fusion Approach for Contrast Enhancement and Brightness Preservation

Image enhancement is one image processing technique with the objective to generate an image with superior information contents in terms of quality and quantity. This processing typically improves the appearance of the output image by increasing its contrast and sharpness features. Image enhancement based on spatial domain uses a transform function that takes the intensity value of each pixel from the original picture and generates a new intensity value of the corresponding pixel to produce the enhanced image. Lalit Maurya et al. proposed the use of the SSO to enhance two images, one having high peak signal to noise ratio (PNRS) and the other having high contrast with maximum entropy in 2016 [19]. Both images were fused to obtain an output image that has an optimal tradeoff between contrast and noise.

In the proposed approach the SSO gives two sets of parameters for image enhancement; one has high fitness given by maximizing the objective function defined as follows:where is the enhanced image generated by applying the transformation function on the original image, edgels(·) is the number of edge pixels of the enhanced image, and M x N is the size of the image. H(·) is the entropy of the enhanced image and another image of high PSNR value given bywhere r, e are the reference and the enhanced image, respectively. L is the dynamic range of the pixel values.

The main idea is to approach the two populations in the SSO algorithm to give the two optimal set of parameters, while the male spiders use the PSNR as evolutionary criteria. Meanwhile, the female spiders are updated using the fitness value given by (28), and finally the two best global positions are used as the enhanced images and fused to give the output image.

In order to probe the performance of the approach, the algorithm was tested in different benchmarking images and compared with both classic techniques as Histogram Equalization (HE) and Linear Contrast Stretching (LCS) and swarm algorithms as PSO.

In order to compare between both swarm algorithms, their population was set in 30 with a stop criteria of 40 iterations. Their calibration parameters were configured as follows:(i)PSO: c1 = c2 = 1.8, w =0.6(ii)SSO: Pf = was set as a fraction of the maximum iteration number

Table 11 presents the computational results of each algorithm for every image of the data set. In the table, the authors report the fitness values, the PSNR metric, and the Absolute Mean Brightness Error (AMBE). According to the authors, the SSO presented the best possible performance in comparison with its competitors.

4.8. Performance Study in Multilevel Image Thresholding Approach

In image thresholding, an image is divided into one or more regions based on one or several threshold values. The approach evaluates the quality of the segmentation through the use of an objective function. In the segmentation problem, the objective is to find the optimal vector of intensity levels that maximizes a given evaluation function. Salima Ouadfel et al. presented a performance study of the SSO and flower pollination algorithm (FP) to solve image segmentation problems via Multilevel Thresholding in 2016 [18].

For the study two objective functions were considered. The between-class variance is defined as follows:wherewhere is the mean intensity of the original image with and .

And the Kapur’s entropy is as follows:for t0=0 and tk+1= L.

The performance of the algorithms has been evaluated using benchmark images and compared against other two algorithms in the literature: PSO and BAT; all algorithms used a population size of 50, and the stop criteria was set in 10000 function calls, and the calibration parameters for each algorithm was set as follows:(i)PSO: c1 = c2 = 1.429, w =0.9,0.4. V=(1,-1)(ii)SSO: Pf =0.7(iii)FP: 0.8(iv)BAT: A = 0.25, R =0.5, Q = (0.2,0)

Table 12 presents the computational results of each approach over every image from the data set. The experimental results obtained from several benchmark images show that the algorithms have the same results for bi-level thresholding due to the relatively low complexity of the problem. For three-level thresholding, the SSO and FP outperform the other algorithms. Finally, for a higher number of thresholds, the SSO showed its stability and accuracy due to its balance between exploration and exploitation in the search space. In all cases, for both objective functions, the SSO outperforms all the other algorithms with which it has been compared in terms of fitness values and stability.

4.9. SSO-Based Template Matching

Template matching (TM) is a key procedure for many different image processing applications. The main purpose of a TM approach is to find the best possible resemblance between a subimage (image template) and some coincident region within a source image. Typically, TM involves an exhaustive search process across every single pixel position within the source image where a similarity measurement (such as the Normalized Cross-Correlation) between a given image template of size and a corresponding subregion within the said source image is computed for each of said positions.

In 2017, Cuevas et al. [20] proposed an SSO-based TM approach in which a reduction of the computational cost related to the exhaustive evaluation of NCC values is achieved by applying said measurement to selected pixel positions provided by the SSO’s search agents. For this purpose, the algorithm considers that each spider (regardless of their gender) represents a 2-D position () inside a delimited search region within the given source image of size . Furthermore, for each of said positions, a similarity value with regard to a given image template of size and a corresponding subregion from the source image is evaluated and used as fitness values. With that being said, each spider may be defined byFurthermore, the similarity value (fitness) related to each spider position and the applied image template is given by the NCC value, as given bywhere stand for the gray-scale average intensity of the source image for the coincident region defined by the image template at the pixel position (), while stand for the gray-scale average intensity of . These values are given byFurthermore, this SSO-based TM approach also includes a memory mechanism applied to reduce computational cost further. Essentially, this mechanism is used to store previously evaluated positions (along with their respective NCC values) which are constantly compared with every new search position provided by each spider in order to avoid reevaluating the same solutions.

In order to test the performance of the algorithm, a series of comparative experiments was developed. The algorithm was applied over a set of benchmark images and compared against exhaustive computation (EC), the imperialist competitive algorithm (ICA), and PSO; each algorithm was run 30 times, their populations were set in 100, and the stop criteria were set as follows:(i)PSO: c1 = c2 = 15, V= (1, -1)(ii)SSO: Pf =0.7(iii)ICA: NumOfImper = 90, NumOfColony = 90 = 0.1, = 0.15 and = 0.9

Table 13 shows the computational results of each algorithm for every image of the data set. The comparisons consider four quality indexes: average elapsed time (AET), success rate (SR), average number of checked locations (ANCL), and the average number of function evaluations (AFE).

Experimental results probe a higher performance of the SSO algorithm in terms of elapsed time and number of NCC evaluations. According to the authors, the SSO version obtains the best performance results in comparison with its competitors.

4.10. Unscented Transform for Wind Turbine Uncertainty for Economic Dispatch Approach

In power systems analysis, the impact of wind power generation can be considered as an inseparable part of power grids. In 2015, Reza Khorramnia et al. [36] proposed a modification of the SSO as a probabilistic method to meet large nonconvex economic dispatch (ED) problems under uncertainties caused by wind turbines. The unscented transform was utilized to model the uncertainty in wind speed and to solve the ED problem.

In the approach, the SSO allocates wind and thermal plants with the objective to minimize the total generation cost during a certain interval of time, while satisfying the restrictions mentioned in [19]. Therefore, the optimization problem can be formulated as follows:where is the fuel cost of a thermal unit that is modeled as a second-order polynomial function of its generation . The model also includes several valve effects. In general, the model can be defined as follows:where , , , , and are the cost coefficients for the ij-th generating unit.

In order to prove the approach, the algorithm was compared with other similar algorithms in the literature such as GA and PSO, in different ED system units reporting the best, worst, and average results. Table 14 presents the experimental result of each scheme.

Experimental results demonstrated that SSO delivers better solutions by providing a more efficient search. The approach saves time and requires a lower computation overload in comparison with other stochastic techniques.

4.11. Optimal Congestion Management Approach

Congestion management is an essential topic in the emerging electric power market. It can impose a barrier to electricity trading. In a no regulated environment, it can be said that a system is congested when some operating restrictions are violated. In an optimal power flow method, the minimization of the congestion cost and service is used to regulate the power injection. Zakaria Hejrati et al. proposed the use of the SSO to determine the minimum redispatch cost for an optimal congestion management in a no regulated electricity market in 2014 [22].

In the approach, the SSO method is used to minimize the redispatch cost given bysubject to the following:Power balance constraint:Operating limit constraint:Line flow constraint: The experiments have been conducted considering the IEEE 24-bus and 118-bus systems. In the study, they compared the SSO results with those produced by Genetic Algorithms (GA) and Evolutionary Programming (EP). The algorithms were run 20 times and, as a quality measure, the best average and worst cost were reported in Table 15.

The experimental results showed that the SSO presents better redispatch costs in comparison with other approaches such as GA and EP.

4.12. Efficient Frequency Controllers for Autonomous Two-Area Hybrid Microgrid System

Hybrid microgrid system (HμGS) which comprises different types of renewable sources has attracted the attention of researchers and industry. Due to the production variability of renewable energies, the system output experiments voltage fluctuations. The main role of the controller is to ensure that the system finally eliminates the fluctuations. Attia A. El-Fergany et al. proposed the use of the SSO for tuning the gains of a PID controller in 2016 [17]. These gains and the absolute deviations are used to build the fitness function and formulate the optimization problem.

With the aim of finding the optimal tuning parameters for the PID controller, it is necessary to take into consideration the deviations on the line power, which are evaluated by using the absolute error (ITAE). Under such conditions, the objective function is defined as follows:subject toIn order to test the performance of the algorithm, the approach was validated considering the control of an isolated hybrid microgrid system (HμGS) under several energy storage scenarios. It was compared with the GA. Each algorithm was run 50 times with a stop criterion of 100 iterations. Table 16 presents the experimental results exhibiting the best fitness value, the maximum negative undershoots (MNUS), and the maximum positive overshoot (MPOS).

The results demonstrated that the proposed approach eliminates the signal deviations getting a fast response and robustness. Such results show a better performance of the SSO method in comparison with GA.

4.13. Optimal Design of Fractional Controller for LFC in an Interconnected Multisource Power System

Fractional order elements are a generalization of integration and differentiation operators that do not follow the conventional integer characteristics of the traditional calculus. This integral differential operator, denoted by , takes the fractional integral and fractional derivative into a single expression defined asThe difference between the conventional PID controller and a fractional order PID (PIλDμ) are the two extra parameters which help to add flexibility in the controller design improving its dynamic response. The mathematical formulation for a FOPID controller iswhere is the proportional gain, the integrator and the derivative gains, also and are the fractional order of the integrator and differentiator, respectively.

H. Shayeghi et al. proposed the SSO to find the optimal design parameters of a fractional order proportional integrative derivative (FOPID) controller for an interconnected multisource system in 2016 [15]. In this approach the SSO finds the optimal parameters , , , , and , which minimizes different error indexes such as Integral Time multiplied Absolute Error (ITAE), Integral of Squared Error (ISE), Integral of Time multiplied Squared Error (ITSE), Integral of Absolute Error (IAE), Integral Square Time of Square Error (ISTSE), and the Integral Square Time of Absolute Error (ISTAE).

In order to test the approach performance, the results given by the SSO were compared to those given by the Teaching Learning Based Optimization (TLBO) method. The schemes have been applied on a two-area test system that includes a high voltage direct current (HVDC) region.

The calibration parameters of the SSO were set as follows:(i)Population size = 100(ii)Iterations = 100(iii)Female percent = 88(iv)Male percent = 12(v)Pf

Table 17 presents the experimental results. According to authors, the SSO demonstrated to obtain the optimal parameters for the controller. The simulation results showed that the scheme has a higher ability than other methods getting a better performance in terms of damping and deviation. The experiments reveal that the controller obtained by SSO maintains a better performance in presence of uncertainties, nonlinearities, and disturbances.

4.14. Evolutionary Calibration of Fractional Fuzzy Controllers

A fuzzy controller (FC) is a nonlinear control system based on empirical rules. These rules usually come from a human operator that directly manipulates the process with base in the natural language of the expert. These rules usually come in the form IF-THEN. The collection of rules emulates the decision-making process of the operator. In spite of several configurations of FCs in literature, the fuzzy fractional +I present interesting characteristics of robustness and stability. In this configuration, the integral error is added to the output of the fuzzy fractional controller and helps to eliminate the final steady state error.

Erik Cuevas et al. introduced the use of the SSO for the parameter calibration of a fractional order fuzzy controller in 2017 [14]. The approach is compared with other well-known evolutionary algorithms. In the calibration process, the SSO finds the parameters , , , and and the fractional order of the differential operator in the system by which the ITAE performance index is minimized defined aswhere α is the order of the fractional differentiator, , and are the proportional, derivative, integral, and output gains of the controller, respectively, represents the reference input of the controller, and represents the output of the control system so the difference between and is the error of the control system.

The proposed scheme was experimentally evaluated considering three different systems: high-order plants, nonminimum systems, and dynamical fractional systems. Table 18 presents the plants used in the analysis. The algorithm was also compared against other similar approaches such as PSO, GA, GSA, HS, and CS. Each algorithm was run 35 times, their population size was set in 50 and the stop criteria was set in 100 and 500 iterations to test the quality of the solutions when the operation of each calibration method is limited to a reduced number of iterations. As a quality measure, the fitness value for each plant was reported.

The calibration parameters for each algorithm were set as follows:(i)PSO: c1 = c2 = 2, w= (0.9, 0.4)(ii)GA: cp = 0.55 mp = 0.1(iii)GSA: = 10, = 100(iv)HS: HMCR = 0.7 PAR = 0.3 BW = 0.1(v)CS: (vi)SSO: Pf =0.7

Table 19 presents the experimental results. According to the authors, the algorithm demonstrated to outperform other techniques in terms of quality and convergence.

4.15. Sensor Deployment Scheme for Wireless Sensor Networks Based on SSO

Wireless Sensor Networks (WSNs) consist of multiple sensors distributed through a specified sensing area with the purpose of acquiring some kind of physical or environmental data, such as pressure, temperature, or sounds. Each sensor node has capabilities for sensing, processing, and communication, the latter of which allows transmission and data sharing. Other applications for WSNs include the monitoring and control of industrial processes, vehicular tracking, forests, and buildings monitoring, seismic activity observation, machine health monitoring, and surveillance. The main problem regarding the deployment of WSNs is the optimal placement of sensor nodes along a specified service area; in this sense, the aim is to allow sensor networks to achieve sufficient coverage, so that each location within the service area is monitored by at least one sensor node, while also reducing WSNs construction and communication costs and an efficient resource management.

In 2017, Zhou et al. [37] proposed a sensor deployment scheme for WSNs based on the SSO algorithm. In said approach, each search agent (spider) is used to represent a set of 2-D discrete positions within a prespecified grid of size , which represent the sensors’ deployment area. As such, each spider is represented bywhere the paired elements represent candidate positions for the placement of sensor nodes within said grid (search space), while stand for the maximum number of sensor nodes that are to be deployed.

Furthermore, each sensor node is assumed to have a finite coverage radius . Thus, the objective is to place all of the available sensor nodes so that the covered area within the specified grid is maximized. With that being said, for said sensor allocation scheme, the target objective function is given by grid ’s rate of coverage, as given bywhere denotes the set of all sensor nodes while stand for the coverage probability for a given grid point , relative to the placement of all sensor nodes , as given bywith denoting the probability that the grid point is covered by an specific sensor node , given as follows:In order to test the performance of the approach diverse studies, mainly focused on the coverage area of the sensors with a sensing radius = 90 m distributed in an 800 × 700  field, the SSO algorithm was compared with the GA, PSO, and the virtual force algorithm (VFA); each algorithm was run 20 times to eliminate random errors, the population size was set in 30, and the stop criteria was set in 100 iterations. Figure 14 shows the performance of each method.

According to the authors, the SSO proves to outperform the other algorithms in terms of convergence to the optimal coverage ratio, and with the SSO algorithm the coverage ratio reaches 94%, while when using the other algorithms it only covers between 74 and 84%.

4.16. Reinforced Concrete Short Columns Design

The process related to the manufacture of materials employed by the building industry is known to be quite energy-consuming while also being a notable source of pollutants emissions such as . In particular, the optimal design of Reinforced Concrete (RC) columns in terms of both the minimization of cost and pollutant emissions is of particular interest for said industry. In 2016, Akin et al. [38] proposed an SSO-based design scheme for RC columns subjected to axial load. In said approach, a constrained design problem consisting of five decision variables is considered, namely, the height and width of the structure ( and ), the diameter of corner reinforcement bars (), and the total number of reinforced bars applied for the side reinforcements ( and ). As such, each individual spider in SSO is used to represent a possible configuration for said parameters. This isAs previously specified, the objective is to minimize both the cost and the amount of emissions related to the manufacture of individual RC columns. For this purpose, the authors proposed the following weighted aggregate objective function:where and denote total the cost and emissions related to a RC column designed by considering a specified design configuration (solution) , respectively, while the terms and are weighting terms. Naturally, the value of is related to the amounts of materials employed for the manufacture of the designed RC column, expressed as follows:where and denote the unit cost of steel, while stand for the weight of steel per unit length in the designed column. Similarly, represents the unit cost of concrete, whereas represents the volume of concrete per unit length on the designed wall.

In the study, authors demonstrate that the SSO shows good performance finding an optimum solution for RC columns design. The algorithm also confirms to be computationally efficient and able to design low cost and low CO2 emitting RC columns satisfying stability, safety, and material constraints.

5. Future Work with Social Spider Optimization

The SSO algorithm has attracted the attention of the research community principally for the way it divides the population in genders which gives more diversity to the operators [39]. This characteristic allows also reaching a fast convergence due to its balance between exploration and exploitation of the search space. However, several research directions can be considered as future work such as the following:(1)It is necessary to improve the algorithm to reduce its computational cost and reduce the computation time.(2)The adaptation of the algorithm to attack the multiobjective paradigm should be the next logical step to research.(3)The use of data mining and machine learning technics in the algorithm is suitable to improve its performance.(4)Continue solving real-world applications such as filter design, renewable energies, image processing, and artificial vision.

6. Conclusions

The Social Spider Optimization (SSO) proposed by Erik Cuevas et al., in 2013, is a population-based algorithm that simulates the cooperative behavior of the social spider. SSO considers two search agents (spiders): male and female. Each individual is conducted with a different set of evolutionary operators depending on its gender, which mimic different cooperative behaviors typically found in the colony. This individual categorization allows reducing critical flaws present in several SI approaches such as incorrect exploration-exploitation balance and premature convergence. After its introduction, the SSO has shown its potential to solve a wide variety of engineering problems in terms of quality and accuracy of the global solution where it outperforms other well-known algorithms which it is compared with. There are several applications and adaptations to research that made suitable the use of the algorithm in the future.

Conflicts of Interest

The authors declare that they have no conflicts of interest.