Grasshopper Optimization Algorithm: Theory, Variants, and Applications

Grasshopper Optimization Algorithm (GOA) is a recent swarm intelligence algorithm inspired by the foraging and swarming behavior of grasshoppers in nature. The GOA algorithm has been successfully applied to solve various optimization problems in several domains and demonstrated its merits in the literature. This paper proposes a comprehensive review of GOA based on more than 120 scientific articles published by leading publishers: IEEE, Springer, Elsevier, IET, Hindawi, and others. It provides the GOA variants, including multi-objective and hybrid variants. It also discusses the main applications of GOA in various fields such as scheduling, economic dispatch, feature selection, load frequency control, distributed generation, wind energy system, and other engineering problems. Finally, the paper provides some possible future research directions in this area.


I. INTRODUCTION
In the last three decades, the area of optimization using meta-heuristics has gained increasing interest from academics and researchers, so several meta-heuristics are being proposed regularly for solving complex and real-world problems in different fields such as engineering, computer, medical, economics, etc. Meta-heuristics are divided into two major categories: single-based and population-based algorithms as shown in Figure 1.
The associate editor coordinating the review of this manuscript and approving it for publication was Amjad Anvari-Moghaddam . Unlike single-based meta-heuristic algorithms, population-based meta-heuristic algorithms generate a set of multiples solutions (population) at each run. The class of population-based meta-heuristics can be classified into four main categories: evolutionary-based, swarm intelligence-based, event-based, and physics-based.
In the third family, the source of inspiration is not nature bur rather from actions related to humans. For example, Teaching Learning-Based Algorithm (TLBA) [44] mimics the teaching and learning process in classrooms, Imperialist Competitive Algorithm (ICA) [45] is inspired from imperialism in societies, and Harmony Search (HS) [46]- [48] is inspired from musical concepts.
As discussed in the abstract, GOA is a recent Swarm Intelligence method inspired from the swarming behaviour of grasshoppers in nature. This algorithm was proposed by Saremi et al. in 2017 [43]. The literature shows that it has been employed to solve various optimization problems such as feature selection, scheduling, load frequency control, economic dispatch, engineering, etc. GOA is inspired by the foraging and swarming behavior of grasshoppers in nature and revealed its merits in the literature. In this context, this article proposes a review of GOA, its variants (modified, multi-objective, and hybrid versions), and its applications. We have reviewed a large number of publications coming from several leading publishers: IEEE, Springer, Elsevier, IET, Hindawi, and others. The following search keywords were used in Google Scholar: • GOA.
• Grasshopper Optimization Algorithm • Hybrid Grasshopper Optimization Algorithm • Grasshopper Optimization meta-heuristics • Improved Grasshopper Optimization Algorithm • Grasshopper Optimization Algorithm applications • Multi-objective Grasshopper Optimization Algorithm To sift the large number of papers found, the following criteria were considered and used: • Papers published in legitimate academic journals; • Papers having more than 4 pages; • Papers dated from 2017 to 2020 • Papers Written in English; • Paper representing a complete version when several versions of the paper exist. The statistics resulting from our study are shown in the figures below. Figure 2 presents the number of GOA related papers per scientific publishers where Elsevier and Springer are those who published the most about GOA. Figure 3 shows the number GOA related papers per year. We can see that GOA attracted a lot of interest over the last 4 years with a peak recorded in 2019. Table 1 represents the top 10 countries in terms of the number of the publication on the GOA algorithm. It can be seen that GOA has been the most popular in India and China. The Top 10 Journals ranked by the number of GOA publications are given in Table 2. Finally, Figure 4 shows the tag cloud of the top 10 GOA-related keywords. The 10 GOA co-cited articles are presented in Table 3.  There is similar survey of GOA which analyzed over 50 research papers (in [64]). What makes this survey different   is the collection and analysis of more than 150 GOA articles published between 2017 and the beginning of 2021.
In the rest of this paper, Section 2 first provides the structure of GOA and its pseudo-code. Section 3 the provides an in-depth literature review of GOA's variants and improvements. An extensive overview of GOA applications in various fields is given in section 4. Section 5 provides results and comparisons of GAO with some well-known meta-heuristics. In section 6, GOA is discussed and some possible future research directions for this algorithm are presented. Finally, section 7 concludes the paper.

II. GRASSHOPPER OPTIMIZATION ALGORITHM
The GOA algorithm was proposed by Saremi et al. in [43], which is a recent and interesting swarm intelligence algorithm that mimics grasshoppers' natural foraging and swarming behaviors. Grasshoppers are insects well-known as a dangerous pests that affect and damage crop production and agriculture [43], [74]. Their life cycle includes two phases called nymph and adulthood. The nymph phase is characterized by small steps and slow movements, while the adulthood phase is characterized by long-range and abrupt movements [43]. The movements of nymph and adulthood constitute the intensification and diversification phases of GOA. The swarming behavior of grasshoppers is mathematically modeled as follows [43]: where P i indicates the i-th grasshopper' position, S i is the social interaction between grasshoppers, G i denotes the gravity force on the i-th grasshopper, and A i is the wind advection.
To produce a random behavior of grasshoppers, Equation 1 can be rewritten as follows: where r 1 , r 2 , and r 3 are random numbers in the range [0, 1] The social interaction S i is defined as follows: where N denotes the number of grasshoppers, d ij = |P j − P i | defines the Euclidean distance between the i-th and the j-th grasshopper,d ij = P j −P i d ij is a unit vector from the i-th to the j-th grasshopper, and s represents the social forces designed by the following equation: where f and l are the attraction intensity and attraction length scale, respectively. The social interaction between grasshoppers can be defined as attraction and repulsion.
where g denotes the gravitational constant andê g represents a unit vector toward the center of earth. The wind advection A i is given by the following equation: where u represents the drift constant andê w is a unit vector in the wind direction. After replacing the values of S, G, and A, the following equation can be obtained: Equation 7 cannot be used directly to solve optimization problems, as the grasshoppers reach quickly the comfort zone and the swarm system does not converge to a target location [43], [75]. An enhanced version of this equation is given as: where ub d and lb d represent the upper and lower bounds in the d-th dimension, respectively.T d denotes the best solution found so far in the d-th dimension space. Note that S is similar to S component in equation 1, G is equal to zero and A is always toward the best solutionT d . The parameter c 1 is similar to inertia weight ω in PSO, loudness A 0 in BA, or a in GWO [76]. It is used to reduce the grasshoppers movements around the target (food). Thus, it provides a good balance between intensification and diversification. The parameter c 2 is used to reduce the repulsion zone, attraction zone, and comfort zone between grasshoppers correspondingly to the number of iterations. c 1 and c 2 are considered as a single parameter and it is expressed using the following equation [43]: (9) where c max and c min represent the maximum and minimum values of c, respectively, t is the current iteration and t max is the maximum number of iterations. The position of a grasshopper is updated based on its current position, global best position, and the positions of other grasshoppers within the swarm. This helps GOA to avoid getting trapped in local optima.
The pseudo-code of the standard Grasshopper Optimization Algorithm is given in Algorithm 1 [43]. Its flowchart can be represented in Figure 6. The source code of GOA can be found in: http://www.alimirjalili.com/GOA.html.

Algorithm 1
The Pseudo-Code of the Grasshopper Optimization Algorithm 1: Generate the initial population of Grasshoppers P i (i = 1, 2, . . . , n) randomly 2: Initialize c min , c max and maximum number of iteration t max 3: Evaluate the fitness f (P i ) of each grasshopper P i 4: T = the best solution 5: while (t < t max ) do 6: Update c 1 and c 2 using equation (9) 7: for i = 1 to N (all N grasshoppers in the population) do 8: Normalize the distance between grasshoppers in the range [1,4] 9: Update the position of the current grasshopper using equation (8) 10: Bring the current grasshopper back if it goes outside the boundaries 11: end for 12: Update T if there is a better solution 13: t = t + 1 14: end while 15: Return the best solution T

III. RECENT VARIANTS OF GRASSHOPPER OPTIMIZATION ALGORITHM
Different variants of original GOA categorized into modified and hybrid versions have been suggested in the literature as shown in Figure 7. The realized details of these versions are given in the following subsections.

A. MODIFIED VERSIONS OF GRASSHOPPER OPTIMIZATION ALGORITHM
A summary of some recent modified versions of GOA is given in Figure 8 and Table 4. The details of each modified version are provided below.

1) BINARY GRASSHOPPER OPTIMIZATION ALGORITHM
Pinto et al. [77] developed a Binary GOA (BGOA) based on the percentile concept for solving the Multidimensional Knapsack Problem (MKP). The performance of BGOA was validated using OR-Library benchmarks MKP instances in comparison with Binary Artificial Algae Algorithm (BAAA) and K-Means Transition Ranking (KMTR). Test results showed competitive results of BGOA compared to BAAA and KMTR models.
In [78], a Binary GOA (BGOA) was proposed for tackling the Set Covering Problem (SCP). The percentile concept was applied to obtain the binary version of GOA. Simulation results showed that BGOA improves significantly the accuracy and quality of the solutions in solving the SCP.
Hichem et al. [79] proposed a Novel Binary GOA (NBGOA) for solving the feature selection problem. The effectiveness of NBGOA was evaluated using 20 datasets with various sizes taken from the UCI datasets repository in comparison with five well-regarded optimization techniques in the feature selection field. Simulation results revealed that NBGOA achieves better results compared to the tested methods in terms of fitness function and average classification accuracy.
Mafarja et al. [67] proposed binary variants of GOA for tackling the feature selection problems. Two mechanisms were used to obtain the binary version of GOA. The first mechanism is based on Sigmoid transfer function (BGOA-S) and V-shaped transfer function (BGOA-V). While the second one is based on the mutation operator and best solution found so far (BGOA-M). These techniques were evaluated based on 25 standard UCI datasets in comparison with eight well-known approaches. It was demonstrated that BGOA-M outperforms BGOA-S, BGOA-V, and other existing optimization techniques.

2) CHAOTIC GRASSHOPPER OPTIMIZATION ALGORITHM
Saxena et al. [80] proposed ten variants of enhanced chaotic GOA (ECGOAs) for solving the three-bar truss design problem and frequency-modulated sound synthesis parameter estimation problem. Ten Chaotic maps were used to enhance the bridging mechanism of GOA and results showed that ECGOA with Singer map outperforms the standard GOA and other 9 variants of ECGOA.
Zhang et al. [81] proposed a chaotic GOA (LMGOA) based on Logistic Map for tackling the Multi-Area Economic Dispatching (MAED) problem. The effectiveness of LMGOA was validated in 3 different case studies compared to DE, EP, PSO, and ABC algorithms. Test results illustrated the superiority of LMGOA when compared with GOA and state-of-the-art techniques.
In [82], an enhanced chaotic GOA (ECGOA) based PID controller was proposed for automatic voltage regulator system. The performance of ECGOA was validated in terms of transient response, robustness, stability, and error. Test results revealed the superiority of ECGOA compared to ABC, BBO, CS, GOA, BFOA, IKA, MBO, SCA, and FPA.
Arora and Anand [83] proposed a Chaotic GOA (CGOA) based on the integration of chaos theory into GOA for solving the global optimization problems. CGOA was evaluated using the thirteen most widely used benchmark functions. According to the experiments, CGOA gave optimal solutions compared to the original GOA. It is proved that the chaotic maps, especially circle map, provide a good balance between intensification/diversification and prevent the GOA from stagnating in local optima.   Suriya et al. [84] developed a chaotic GOA (CGOA) based on the incorporation of chaos theory in GOA for optimizing the results of the Generation and Transmission Expansion Plan (GTEP) model. The performance of CGOA was evaluated based on 32 generating units and results showed that CGOA outperforms other tested approaches in terms of peak load reductions and cost of the transmission network expansion.
Saxena [85] proposed eleven different variants of GOA (SFECGOAs) based on the integration of chaos theory and crossover operators into GOA. The robustness of SFECGOAs was validated based on the latest 29 Congress on Evolutionary Computation-2017 (CEC-2017). SFECGOAs were also applied for solving the Model Order Reduction (MOR), Protein Structure Prediction (PSP), and Frequency Modulated (FM) sound wave parameter synthesis problems. Experimental results demonstrated the superiority of SFCGOAs compared to the classical GOA and other stateof-the-art optimization algorithms.
An enhanced GOA (OLCGOA) was proposed by Xu et al. [86] for tackling the Feature Selection Problem (FSP). The effectiveness of OLCGOA was tested using 30 IEEE CEC2017 benchmark functions. It was also applied for solving the FSP. According to the experiments, OLCGOA can reach optimal solutions for solving benchmarking and feature selection problem.
Saxena and Kumar [87] proposed 10 enhanced chaotic GOA (ECGOAs) variants for tackling the protein structure prediction problem. The efficiency of ECGOAs was validated using artificial and real protein sequences. Test results revealed the effectiveness of the chaotic variants (ECGOA) compared to the original GOA.
Dwivedi et al. [88] suggested an enhanced model (ECAGOA) based on chaotic adaptive GOA with Ensemble of Feature Selection (EFS) for tackling the intrusion detection problem. ECAGOA was assessed using 3 datasets including ISCX 2012, CIC-IDS2017, and NSL-KDD. According to the experiments, ECAGOA provided better performance comparing with state-of-the-art feature selection techniques in terms of accuracy, detection rate, and false alarm rate.

3) GAUSSIAN GRASSHOPPER OPTIMIZATION ALGORITHM
An improved GOA (IGOA) was proposed by Luo et al. [70] for solving the financial stress prediction problem. Three strategies including Gaussian mutation, opposition-based learning, and Levy-flight were introduced in GOA to provide a good balance between exploitation and exploration. IGOA was evaluated using datasets collected from some Japanese financial statements from 1995 to 2009 compared to GA, FA, PSO, MFO, DE, SCA, and standard GOA. According to the experiments, IGOA provided good classification accuracy comparing with other existing approaches.
Li et al. [89] proposed an enhanced GOA (EGOA) for modeling multivariable systems with support vector regression. Gaussian mutation operator and coevolution strategy were introduced into GOA to enhance the search ability. Experimental results showed the effectiveness and superiority of EGOA compared to standard GOA, GA, PSO, and GSA.
Algamal et al. [90] suggested an improved GOA (PGOA) by adding Gaussian function into GOA for feature selection and optimizing SVR parameters. PGOA was tested and assessed using four chemical datasets taking into account three metrics: prediction, number of features, and computational time. According to the simulation, PGOA outperforms other nature-inspired algorithms such as PSO, FA, BA, WOA, and the standard GOA.

4) LEVY-FLIGHT GRASSHOPPER OPTIMIZATION ALGORITHM
Zhang et al. [91] developed an enhanced method (LGOA) based on the integration of Levy flight in GOA for visual tracking. The performance of LGOA was evaluated using 8 video sequences in comparison with PSO, CS, ALO, and the standard GOA. Experimental results showed the performance and effectiveness of LGOA compared to the classical GOA, PSO, CS, ALO algorithms.
In [92], an improved GOA (IGOA) was proposed for task scheduling problems. Levy flight mechanism, nonlinear comfort zone parameter, and random jumping strategy were introduced to improve the performance of GOA. IGOA was tested using 29 well-known benchmark functions in comparison with the basic GOA, PSO, DA, Opposition-Based Learning GOA (OBLGOA), WOA, and ALO. According to the results, IGOA obtains competitive results in comparison with the original GOA and other existing optimization algorithms.
Alhejji et al. [93] suggested an adaptive GOA (AGOA) by adding a Levy-flight distribution mechanism into the original GOA for tackling the optimal power flow (OPF) problem. The robustness of AGOA was verified using 26-bus and IEEE 30-bus systems as well as 57-bus system. According to the experiments, AGOA gave better results when compared with other optimization approaches reported in the literature.
Chhikar and Kumar [94] developed a Multi-Islands Levyflight GOA model, named MI-LFGOA, for spatial image steganalysis. MI-LFGOA was tested using SPAM (686-D) and SRM (34671-D) subsets taken from the BOSS base 1.01 image database. Test results revealed that MI-LFGOA gives promising solutions when comparing with other feature selection approaches.
Mokeddem [95] proposed an improved method (LGOA) by incorporating the Levy-flight mechanism into GOA for parameter extraction of solar photo-voltaic models.
LGOA was assessed using Sharp ND-R250A5 module under irradiance and temperature conditions. According to the experiments, LGOA provided high accuracy and good performance compared to the original GOA.

5) DYNAMIC GRASSHOPPER OPTIMIZATION ALGORITHM
An enhanced GOA (GOA_EPD) based on the use of Evolutionary Population Dynamics (EPD) and selection operators was proposed by Mafarja et al. [65] for tackling the feature selection problems. GOA_EPD was evaluated based on 22 real benchmark datasets taken from the UCI machine learning repository. Comparative results and analysis showed the robustness of GOA_EPD comparing with GA, PSO, BGSA, BBA, and bGWO.
Zhao et al. [96] proposed a Dynamic Improved GOA (DJGOA) by integrating dynamic weight strategy and random jumping concept for tackling the single objective numeric optimization problem. DJGOA was evaluated using 13 benchmark functions in comparison with PSO, DA, and standard GOA. It was demonstrated that DJGOA gives better performance compared to the standard GOA, PSO, and DA.
Wang et al. [97] suggested a dynamic quantum binary GOA (DQBGOA_MR) based on quantum computing concept, mutual information strategy, and rough set mechanism for tackling the feature selection problem. DQBGOA_MR was tested using twenty UCI datasets by considering three metrics such as average classification accuracy, average feature subset size, and average fitness value. According to the extensive experiments, DQBGOA_MR provided better solutions comparing with other swarm intelligence techniques.

6) ADAPTIVE GRASSHOPPER OPTIMIZATION ALGORITHM
Wu et al. [69] proposed an adaptive GOA (AGOA) for optimizing the trajectory planning of solar-powered Unmanned Aerial Vehicles (SUAVs) in an urban environment. To enhance the performance of AGOA, natural selection, dynamic feedback, and democratic decision-making strategies were incorporated into GOA. Simulation results showed that AGOA gives better performance when compared with standard GOA, PSO, and GWO optimization algorithms.
Shankar et al. [101] proposed an adaptive GOA (AGOA) for medical image security with efficient optimal secret and public key. An adaptive process was used to enhance the high-security investigation of GOA.
Mansoor et al. [102] proposed an adaptive GOA (GHO) for solving the maximum power point tracking (MPPT) problem fast varying irradiance and partial shading conditions. An adaptive search and skip method were introduced. GHO was tested on five different cases of weather conditions in comparison with Perturb and Observe (P&O), ABC, PSO, DA, PSO Gravitational Search (PSOGS), and CS algorithms.
Shukla [103] suggested a self-adaptive GOA by adding the concepts of mutation and perceptive into the original GOA for anomaly intrusion detection. To test the performance of self-adaptive GOA, three datasets such as NSL-KDD, CIC-IDS 2017, and AWID were used. According to the experiments, the self-adaptive GOA provided better results comparing with PSO, GA, DE, and ABC in terms of accuracy, detection rate, and false-positive rate. To test the efficiency of the EGOA-FC model, two histopathological images (i.e TNBC patients cancer and UCSB bio segmentation images datasets) were used in the simulation. According to the experiments, EGOA-FC showed good results compared to K-means and fuzzy c-means techniques in terms of aggregated Jaccard index value and F1-score.

8) OPPOSITION-BASED LEARNING GRASSHOPPER OPTIMIZATION ALGORITHM
Ewees et al. [105] proposed an enhanced version of GOA (OBLGOA) by integrating the OBL mechanism into GOA for tackling benchmark optimization functions and engineering problems. The effectiveness of OBLGOA was investigated based on twenty-three benchmark functions and four engineering problems in comparison with standard GOA, GA, BA, DE, DA, PSO, MFO, MVO, ALO, and SCA. Simulation results revealed that OBLGOA outperforms state-of-the-art optimization algorithms in terms of the performance measures.
Raeesi et al. [106] suggested an improved GOA (IGOA) by incorporating the opposition-based learning strategy into GOA for tuning the parameters of Takagi-Sugeno-Kang (TSK) model. The efficiency of IGOA was investigated using unimodal and multimodal test functions. According to the experiments, IGOA gives better solutions compared to the original GOA.

9) MULTI-OBJECTIVE GRASSHOPPER OPTIMIZATION ALGORITHM
Elmi and Efe [75] proposed a multi-objective GOA (MOGOA) for robot path planning in static environments. MOGOA was investigated for optimizing several metrics such as path length, path cost, smoothness, and computational time.
Tharwat et al. [76] proposed a novel multi-objective GOA (MOGOA) for tackling constrained and unconstrained optimization problems. MOGOA was validated using 12 testing functions (6 unconstrained functions and 6 constrained functions) in comparison with MOPSO, MOALO, and NSGA-II. It was demonstrated that MOGOA gives competitive results when comparing with other optimization metaheuristics.
In [66], a multi-objective GOA (MOGOA) was proposed for solving multi-objective problems. MOGOA was tested on ZDT and CEC2009 and compared to NSGA-II, MOPSO, MODA, and MOALO. It was demonstrated that MOGOA gives competitive results compared to other multi-objective optimization models by producing accurate Pareto optimal solutions.
Another multi-objective optimization technique (MOGOA) was proposed by Jahani et al. [107] for optimal network distribution reconfiguration. The effectiveness of MOGOA was approved based on 33-bus and 69-bus test systems. Test results demonstrated the efficiency and performance of MOGOA to find a Pareto set solution with high-quality results

10) OTHER IMPROVED GRASSHOPPER OPTIMIZATION ALGORITHM
Liu et al. [110] proposed a combined approach (LWSGOA) by combining GOA with Linear Weighted Sum (LWS) for solving the energy management problem. LWSGOA was validated by establishing an optimal model of three interconnected heat exchangers (EH) representing Multi-Integrated Energy System (MIES) as the case study. Experimental results proved the scalability and flexibility of LWSGOA by providing lower multi-carrier energy consumption costs, lower peak power, and heat demand for multi-IES compared to other existing methods.
Taher et al. [111] proposed a modified GOA (MGOA) by integrating the mutation process in the conventional GOA for tackling the optimal power flow (OPF) problem. MGOA was validated using standard IEEE 30-bus, IEEE 57-bus, and IEEE 118-bus test systems with 13 case studies in comparison with standard GOA, GA, TLBO, and PSO algorithms. It was demonstrated that MGOA gives better results compared to other well-regarded optimization approaches existing in the literature.
In the work of Zakeri and Hokmabadi [112], a real-valued GOA (GOFS) was proposed for tackling the feature selection problem. GOFS was validated using 10 UCI datasets and compared with 12 well-regarded feature selection methods. The effectiveness of GOFS was proved compared with other optimization algorithms by achieving the highest classification accuracy in 7 out of 10 datasets.
Yue and Zhang [113] proposed an enhanced GOA (PCA-GOA) for global optimization problems. Principal Component Analysis (PCA) and novel inertia weight were incorporated into GOA to enhance its search space ability. in a simiar work, Feng et al. [114] proposed an enhanced GOA (EGOA) for solving the Bin Packing Problem (BPP). Nonlinear convergence parameter, niche mechanism, and β-hill climbing were introduced to improve the convergence accuracy of GOA. Simulation results showed the efficiency and ability of EGOA to find optimal solutions in different problem sizes compared to the original GOA, DA, ALO, PSO, and OBLGOA algorithms. In a similar work, an improved GOA (IGOA) was proposed by Mishra et al. [115], in which random walk theory was leveraged to provide a balanced exploration and exploitation of the search space and avoid premature convergence into local optima.
Tanwar et al. [116] proposed a Fractional-GOA model by integrating the fractional calculus into GOA for sensor activation control in Wireless Sensor Networks (WSNs). Experimental results proved the effectiveness of Fractional-GOA comparing with other existing models by obtaining maximal energy, throughput, and alive nodes of 0.111, 0.85, and 11, respectively.
Bala et al. [119] suggested an improved GOA by incorporating the Echo State Network (ESN) strategy into GOA for predicting faults in airplane engines. The improved GOA was validated using time-series data collected from the GitHub repository with mean squared error (MSE) as an objective function. According to the experiments, the improved GOA provided accurate solutions comparing with CS, DE, PSO, BPSO, LSTM, ESN, Deep ESN, and the classical GOA.
Goel et al. [120] developed a modified GOA by combining GOA with the random forest approach for Autism Spectrum Disorder (ASD) detection. The modified GOA was validated using three ASD screening datasets of different age groups including children, adolescents, and adults. According to the experiments, the modified GOA provides better results when comparing with other state-of-the-art approaches by achieving an accuracy of 100% at all stages of life.
Huang et al. [121] suggested an improved GOA (IGOA) by adding the social interaction mechanism and learning strategy into GOA for optimizing the parameters of power filter (HAPF). IGOA was tested using numerical data of three cases of an industrial plant taking into account the parameters of capacitive reactance, inductive reactance, and controllable gain of the active filter. Test results revealed that IGOA provides promising performance when compared with previous optimization techniques. VOLUME 9, 2021 The analysis of the proportion of published papers that propose a modified version of GOA reveals that most of them focus on improving GOA. In fact, as shown in Figure 9, 23% of approaches improve the performance of the original version of GOA. Chaotic version comes at the second position with a proportion of 17% of the total papers.

B. HYBRIDIZED VERSIONS OF GRASSHOPPER OPTIMIZATION ALGORITHM
Various hybridization of GOA with other optimization algorithms such as meta-heuristic and machine learning can be found in the literature. Some of them are given in Figure11 and Table 5. As shown in Figure 10, more than 50% of papers propose hybridization with metaheuristics and 26% of them use Neural Networks (NN) as machine learning technique. The following subsections discuss them in details.

1) HYBRIDIZATION WITH GENETIC ALGORITHM
Alphonsa and MohanaSundaram [122] suggested a hybrid optimization approach (GOAGA) by combining GOA with GA for securing medical data. The performance of GOAGA was examined in 3 different test cases in comparison with GA, ABC, PSO, FA, GSO, GMGW, GWOSEB, and the standard GOA. It was revealed that GOAGA gives better performance for the preservation of sensitive healthcare data compared to GA, ABC, PSO, FA, GSO, GMGW, GWOSEB, and the original GOA.
El-Shorbagy and El-Refaey [123] suggested a combined algorithm (hybrid-GOA-GA) by combining GOA with GA for tackling the non-linear equations system. Eight benchmarks of non-linear equations were used to validate and assess the efficiency of the hybrid-GOA-GA. According to the results, the hybrid-GOA-GA showed its competitiveness and superiority when comparing with other existing methods in terms of accuracy and computational cost.

2) HYBRIDIZATION WITH DIFFERENTIAL EVOLUTION ALGORITHM
In [124], a combined approach (GOA-jDE)integrating GOA with DE was proposed for solving the global optimization problems. GOA-jDE was assessed using 14 optimization test functions and results showed the feasibility of GOA-jDE compared to DE, GOA, Modified GOA (MGOA), PSO,

3) HYBRIDIZATION WITH ARTIFICIAL BEE COLONY ALGORITHM
GOA and ABC was hybridized by Dahiya et al. [126]. The authors proposed node deployment, cluster leader selection, and optimal route selection in Wireless Sensor Networks (WSNs). HAGOA was examined using metrics such as sensor node lifetime, energy consumption, remaining energy, end to end delay, and maximum number of rounds in comparison with LEACH, ACO, PSO, ABC, ACOPSO, HABCS, and AGOA. It was demonstrated that HAGOA gives better performance compared to other optimization meta-heuristics.

4) HYBRIDIZATION WITH GREY WOLF OPTIMIZER
A hybrid method (GWGHA) based on hybridizing GWO with GOA was proposed by Teng et al. [127] for the Cycle Traffic Light Timing Optimization Problem (CTLTOP). The performance of GWGHA was validated based on data taken from Kaohsiung, Taiwan, Bahıa Blanca, Argentina, and Malaga, Spain in comparison with PSO, SPSO2011, GWO, and GOA. In [144] a hybrid algorithm (GWO-GOA) was proposed by hybridizing GOA with GWO for tackling the text feature selection problem. GWO-GOA was assessed using eight datasets taking into account five metrics (i.e accuracy, sensitivity, specificity, precision, recall, and F-measure). According to the experiments, GWO-GOA showed better quality when comparing with GOA, GWO, and other techniques.

5) HYBRIDIZATION WITH BAT ALGORITHM
Yue and Zhang [128] suggested a hybrid model (BGOA) by hybridizing GOA with BA for solving global optimization problems. BGOA was assessed using 23 test benchmark test functions comparing with GA, BA, and the standard GOA. According to the experiments, BGOA provided better solutions compared to GA, BA, and GOA.

6) HYBRIDIZATION WITH GRAVITATIONAL SEARCH ALGORITHM
The GOA algorithm was hybridized with GSA by Guo et al. [129]. Gravity search and landmark operators were adopted to enhance the global search capability of GOA. Simulation results demonstrated that HGOA gives competitive results compared to GOA, PSO, SCA, MFO, SSA, and BA.

7) HYBRID GOA AND CAT SWARM OPTIMIZATION ALGORITHM
Bansal et al. [130] hybridized the binary variant of GOA known as Simple Matching Binary GOA (SM-BGOA) with a variant of Cat Swarm Optimization Algorithm known as NCSOA for feature selection and optimal design of multi-layer perceptron. The effectiveness of SM-GNCSOA was evaluated based on 10 data sets selected from the UCI repository and results showed the capability of SM-GNCSOA for solving the optimal design of multi-layer perceptron problem in terms of classification accuracy

8) HYBRIDIZATION WITH ANT LION OPTIMIZATION ALGORITHM
One of the very first hybridization of ALO and GOA was proposed by Amaireh et al. [131]. The authors used the hybrid method in sidelobe-level (SLL) suppression for circular antenna array.

9) HYBRIDIZATION WITH SALP SWARM ALGORITHM
Dahiya et al. [132] combinined GOA with SSA for discovering the global optimum in a given search space. The performance of HAGOA was assessed using unimodal and multimodal benchmark functions.

10) HYBRIDIZATION WITH TEACHING-LEARNING-BASED OPTIMIZATION
Zhang et al. [133] combined Adaptive GOA with Teaching-Learning-Based Optimization (TLBO) algorithm (TLGOA) and utilizes it for abrupt motion tracking.

11) HYBRIDIZATION WITH INVASIVE WEED OPTIMIZATION ALGORITHM
Yue et al. [128] proposed a combined method (IWGOA) based on the hybridization of GOA with invasive weed optimization (IWO) for global optimization problems.

12) GRASSHOPPER OPTIMIZATION ALGORITHM WITH SUPPORT VECTOR MACHINE
Aljarah et al. [72] proposed a combined method (GOA-SVM) based on the hybridization of GOA with SVM for optimizing the parameters of SVM model and the location of the best features subset simultaneously. The efficiency of GOA-SVM was evaluated based on 18 low and high-dimensional benchmark datasets in comparison with 7 well-regarded algorithms. Another similar work was done by Barman et al. [73] and Ibrahim et al. [135].
Shi et al. [136] suggested an improved long short-term memory GOA (GOA-ImLSTM) by hybridizing GOA with SVM and LSTM for decision-making for Self-Driving Vehicles. GOA-ImLSTM was assessed using Vehicle trajectory data collected from Roads of Los Angeles and California. According to the experiments, GOA-ImLSTM enhanced the accuracy of solutions when compared with other decision-making techniques.
Zhang et al. [137] suggested a novel model (GOA-MSVM) by combining GOA with SVM for fault identification accuracy of rotating machinery. GOA-MSVM was assessed in two case studies: rolling bearing faults and gear faults. According to the experiments, GOA-MSVM provided promising results compared to five other SVM-based approaches.

13) GRASSHOPPER OPTIMIZATION ALGORITHM WITH SUPPORT VECTOR REGRESSION
Barman and Choudhury [134] hybridized GOA and Support Vector Regression (SVR) for Short Term Load Forecasting (STLF) during periods with substantial weather changes in North-East India. The performance of GOA-SVR was evaluated based on the data of the load dispatch center of Assam state in 3 case studies under 3 typical weather conditions. Experimental results demonstrated that GOA-SVR outperforms the conventional methods in all cases.

14) GRASSHOPPER OPTIMIZATION ALGORITHM WITH NEURAL NETWORK
Talaat et al. [140]  Moghanian et al. [141] suggested a novel model (GOAMLP) by combining GOA with multi-layer perceptron neural network for tackling the intrusion detection problem. KDD and UNSW datasets were used to validate the robustness of GOAMLP. Experimental results demonstrated that GOAMLP is more accurate and outperforms other existing techniques such as RF, XGBooston, HHO, BWO, and ANN with BOA.
A hybrid model (GORNN) by combining GOA with RNN was proposed by Jape et al. [142] for boosting the speed of the induction motor. The viability and effectiveness of GORNN was validated using two scenarios: step demand torque with constant demand speed and ramp demand torque with constant demand speed. According to the experiments, GORNN provided good solutions when compared with other existing techniques.
Renukadevi and Karunakaran [143] proposed hybridized GOA with Deep Belief Network(DBN) for liver disease classification. The performance of DBN-GOA was evaluated based on real-time and open-source computed tomography (CT) image datasets. It was demonstrated that DBN-GOA provide 98%, 95.82%, 97.52%, 98.53% and 96.8% for the accuracy, sensitivity, specificity, precision, and F-1 score, respectively.

IV. APPLICATIONS OF GRASSHOPPER OPTIMIZATION ALGORITHM
GOA has been applied for tackling various optimization problems in different domains such as feature selection, load frequency control, distributed generation, scheduling, wind energy system, and economic dispatch. Table 6 provides some of the applications of GOA in continuous, constrained, and combinatorial optimization sub-fields. The details are provided below.

A. GOA FOR CONTINUOUS OPTIMIZATION 1) CLUSTERING
Łukasik et al. [147] used GOA for generating accurate data clusterings. GOA was validated using benchmark datasets based on real-world examples taken from the UCI machine learning repository. Test results revealed that GOA outperforms the standard K-means algorithm by obtaining high accuracy.

2) OPTIMAL LINEAR ANTENNA ARRAY
Amaireh et al. [149] employed GOA and Antlion optimization (ALO) for optimal design of Linear Antenna Arrays (LAA). GOA was tested on three different case studies: 10, 16, and 24 elements of linear antenna arrays in comparison with Taguchi Algorithm (TA), PSO, and BBO.

3) STABILIZATION OF POWER SYSTEMS
Sahu et al. [151] employed GOA for optimizing the parameters of Static Synchronous Series Compensator (SSSC) controller. The performance of GOA was assessed under a single-machine infinite bus system in three scenarios: nominal loading, light loading, and heavy loading.
Hekimoğlu [152] used GOA for optimizing the power system stabilizer (PSS) parameters with fractional-order proportional-integral-derivative (FOPID) controller. The performance of GAO was evaluated under three configurations (light, nominal, and heavy loading cases). The merits of GOA in such problems was demonstrated in this study.

4) RECONFIGURABLE HF BROADBAND WHIP ANTENNA
Wang et al. [154] used GOA for solving the problems of low gain, low efficiency, and pattern warping in the high-frequency band of the existing 10-meter HF broadband whip antenna. Simulation results showed that GOA improves the gain and efficiency of antenna in low and high-frequency bands and avoids the problem of warping in antenna patterns.

5) HAND POSTURE ESTIMATION
Mirjalili et al. [155] estimated hand postures USN the GOA algorithm. The effectiveness of GOA was evaluated using 20-Degree-of-Freedom (DoF) hand model and results showed the reliability of GOA to find a reasonable solution for the problem.

6) BLDC MOTOR DRIVE CONTROLLER
Potnuru and Tummala [156] applied GOA for Controlling a BrushLess Direct Current (BLDC) motor drive. The performance of GOA was validated using Integral Speed Error (ISE) as an objective function and results showed the effectiveness of GOA in reducing the speed error and the time of gain tuning.

7) OPTIMAL ESTIMATION OF SINGLE DIODE MODEL PARAMETERS
Montano et al. [157] used GOA for estimating the optimal Single Diode Model (SDM) parameters of a photo-voltaic (PV) module. GOA was tested using four different types of PV modules in comparison with GA and PSO algorithms.

8) GRID-CONNECTED WIND GENERATOR
Amin et al. [158] used GOA-based Proportional-Integral (PI) controller for optimizing and improving the grid-connected wind generator. The effectiveness of GOA was tested using wind speed data extracted from Zafarana wind farm in Egypt.

B. GOA FOR CONSTRAINED OPTIMIZATION 1) ECONOMIC DISPATCH PROBLEMS
Rajput et al. [159] used GOA for tackling the Economic Load Dispatch Problem (ELDP). The robustness of GOA was validated using 3 power generators test cases consisting of 6 generation units with loss, 13 generation units with valve point loading, and 38 generation units.

2) CONGESTION MANAGEMENT
Kaur and Kumar [160] used GOA for Congestion Management Problem (CMP) in a pool-based electricity market. The effectiveness of GOA was evaluated using IEEE 30 Bus system and results showed the performance of GOA compared to SA, PSO, and Random Search (RS) optimization algorithms. VOLUME 9, 2021

3) DISTRIBUTED GENERATOR
Shishupal and Manglani [162] employed GOA for determining the optimal size and placement of shunt capacitors at suitable bus locations in radial distribution system. The performance of GOA was tested based on 15-bus radial distribution system with main feeder and four lateral feeders. According to the simulation, GOA gives better results compared to the Improved Harmony Algorithm (IHA) in minimizing the system loss and system cost of capacitor placement. Another similar work was done by Sambaiah and Jayabarathi [163], in which GOA was used for the optimal allocation of distributed generation in distribution networks.

4) OPTIMAL REACTIVE POWER PLANNING
Juhari et al. [167] applied GOA for tackling the reactive power planning problem. The robustness of GOA was evaluated based on the standard IEEE-30 bus test system with minimization of real power loss as an objective function. According to the simulation, GOA gives good results in minimizing the power transmission loss.

5) WIND ENERGY SYSTEM
Fathy and El-baksawi [168] used GOA to extract the maximum power from the wind energy system. The performance of GOA was evaluated using collected data for wind speed in 4 different sites in northern Saudi Arabia (Qurayyat, Sakaka, Tabarjal, and Dumat Al-Jandal).

6) OPTIMAL DISTRIBUTION NETWORK SYSTEM RECONFIGURATION
Hamour et al. [169] used GOA for solving the Distribution Network System Reconfiguration (DNSR) to minimize the real power loss. GOA was tested on IEEE 33-bus radial distribution systems in comparisons with Enhanced GA (EGA), Selective PSO (SPSO), and Fuzzy Adaptation of EP (FEP). Simulation results demonstrated that GOA gives reasonable computing time and high performance when compared to other optimization methods.

7) OPTIMAL VARIATIONAL MODE DECOMPOSITION (VMD) PARAMETERS
Zhang et al. [68] proposed a parameter-adaptive VMD based on GOA for optimizing the Variational Mode Decomposition (VMD) parameters. The proposed adaptive VMD method was used for analyzing the vibration signals from rotating machinery. According to the experiments, the proposed method showed better results compared to the conventional fixed-parameter VMD method on this problem area.

8) OPTIMAL SNUBBER SPRING
Neve et al. [170] used GOA for optimizing the snubber spring for weight minimization in railway bogie. The performance of GOA was validated according to bounds, loading, and boundary conditions and results showed the efficiency of GOA for solving real engineering design problems.

9) FLood ROUTING PROBLEM
Khalifeh et al. [171] used GOA for solving the non-linear Muskingum flood routing river problem. The performance of GOA was tested using time-series datasets of the outflow of the Kardeh River with minimizing the Sum of Squares of Residuals (SSQ) as the objective function.

10) OPTIMAL PROTON EXCHANGE MEMBRANE FUEL CELLS STACK PARAMETERS
El-Fergany [174] proposed a GOA-based method for optimizing the parameters of proton exchange membrane fuel cells (PEMFCs) stack. The performance of the GOA-based method was tested using four test studies.

11) OPTIMAL LOAD FREQUENCY CONTROL
Nosratabadi et al. [175] used GOA for optimizing the parameters of Predictive Functional Modified PID (PFMPID) controller LFC. The performance of GOA was validated using ITSE as objective function.
Lal et al. [176] proposed a GOA-based Fuzzy proportionalintegral-derivative (PID) controller of LFC of multi-area interconnected microgrid power system. The efficiency of the proposed algorithm was validated taken into account 3 metrics such as minimum settling time, minimum undershoot, and overshoot. Barik and Das [177] used GOA for optimal LFC of solar photovoltaic/biogas/biodiesel generator based isolated renewable microgrid. The effectiveness of GOA was evaluated in different scenarios of source and load variations by comparing it with GA, PSO, and GWO and results revealed its robustness and efficiency compared to the three studied algorithms.
Annamraju and Nandiraju [178] applied GOA for tuning the parameters of the PID controller for LFC of an autonomous two-area hybrid MicroGrid (MG). The robustness of GOA was tested using three critical scenarios in comparison with GA and Social-Spider Optimiser (SSO) algorithms.

12) SMART LOAD MANAGEMENT SYSTEM
Talaat et al. [180] employed GOA-based Under-Frequency Load Shedding (UFLS) for smart load management system. The performance of GOA was validated using IEEE 9-bus and 39-bus test systems in comparison with GA and PSO.
C. GOA FOR COMBINATORIAL OPTIMIZATION 1) FEATURE SELECTION Shukla and Kanungo [188] used GOA based feature selection method for face identification in a Content-Based Image Retrieval (CBIR).

2) OPTIMAL RESOURCE ALLOCATION
Vahidi and Rahmati [189] used GOA for optimizing the resource allocation in a cloud computing environment. The effectiveness of GOA was evaluated using 3 sets of smallscale, 3 sets of medium-scale, and 2 sets of large-scale resource allocation standard examples in comparison with GA and SEIRA algorithms.
Yadav et al. [190] applied GOA for designing a digital finite impulse response (FIR) filters. The consistency of GOA was done using an absolute error difference objective function comparing with ABC, PSO, and CSA algorithms. According to the experiments, GOA obtains better solutions compared to ABC, PSO, and CSA approaches in terms of minimum stop-band ripple, minimum pass-band ripple, and higher attenuation in stop-band.

V. RESULTS AND COMPARISONS
In this section, the performance of the GOA algorithm is investigated, evaluated, and confirmed based on three sets of mathematical test functions (i.e. unimodal, mutlimodal, and composite). They are compared with some well-regarded optimization algorithms such as GA, PSO, FA, PFA, BA, and GSA. 30 search agents and 500 iterations are employed in the experiments. Results are normalized in the range of [0,1] for all the functions due to their different ranges/domains. The experimental results are provided in Table 7. Firstly, for unimodal test functions, it is clearly shown that GOA algorithm gives superior results on 5 out of 7 test functions (F1, F4, F5, F6, and F7). Due to the proprieties and characteristics of the unimodal functions, these results revealed that GOA has high exploitation ability and convergence. Secondly, according to Table 7, it can be observed that GOA provides better performance on 4 out of 6 multimodal test functions (F9, F11, F12, and F13). These results reveal the performance of GOA in preventing from local optima stagnation. Finally, GOA algorithm gives excellent results on 3 out of 6 composite test functions (F14, F16, and F18). It can be confirmed that GOA algorithm provides good balance between exploration and exploitation.
To confirm the significance of the results, Friedman statistical test is used and the results are given in Table 8. It is clearly observed that GOA algorithm obtains the first rank. These results revealed strongly the effectiveness and performance of GAO compared to other optimization algorithms.

VI. DISCUSSION AND FUTURE WORKS
As discussed above, GOA is a recent and popular optimization algorithm. The wide range of applications is an indication of its merits, and this algorithm benefits from high exploration and exploitation. Some of the advantages of this algorithm are listed in Table 9. However, GOA has some restrictions and disadvantages. It surely requires tuning, adaptation, and modification to solve new optimization problems.
Just like any other meta-heuristics, the performance of this algorithm substantially degrade proportional to the size of a problems (e.g. number of decision variables) due to the VOLUME 9, 2021   premature convergence. To overcome that, many variants of GOA were proposed as summarized in Tables 4 and 5.
Some of the most interesting research directions around the GOA algorithm are as follows: • Development of enhanced versions of GOA to handle some hard and challenging, large-scale optimization problems.
• Comparison of the robustness of GOA with other population-based algorithms such as AOA, CSA, FPA, KH, WEO, CFO, and CSO algorithms.
• Hybridization of GOA with other swarm intelligence algorithms like ACO, CS, PSO, FA, DA, CSA, and MFO to improve the balance between exploration/exploitation and prevent premature convergence.
• Application of GOA for handling other optimization problems in different domains such as Multicast Routing, Intrusion Detection, UAV planning, Image segmentation, Travel salesman, Virtual Machine Placement, Photo-electronic detection, parameter calibration, and other real-world complex optimization problems.

VII. CONCLUSION
This work was an attempt to present, discuss, and analyze the state-of-the-art of the GOA algorithm. We started with first discussing the methodology of this survey. It was discussed that several relevant keywords were used and the best publications were selected using a number of criteria to ensure reviewing high-quality research outputs. Then, the inspirations and mathematical models of GOA were presented. The main part of this work was the discussion and critisim of variants, hybrids, and applications of the GOA in the literature. The application areas investigated were mainly feature selection, scheduling, distributed generation, economic dispatch, and flood routing. Despite the success of GOA, several areas are worthy of exploration for future works. Firstly, The modification of the standard GOA requires more research. In addition to three main mechanism of swarming (an individual's position, social interaction, and gravity), alignment, separation, and cohesion can be used as well. Secondly. GOA variants by hybridizing GOA with other meta-heuristics and defining new operators and strategies to improve the exploitation and exploration of GOA are recommended. Finally, another interesting area for future research is the application of GOA to solve other practical optimization problems, especially complex, dynamic, and large scale optimization problems.
ASMA BENMESSAOUD GABIS received the master's degree from the Ecole Nationale Supérieure d'Informatique, Algiers, Algeria, in 2010, where she is currently pursuing the Ph.D. degree with LMCS. Her research interests include network design and communication, application of AI, machine learning, and meta-heuristics for multi-objective optimization and performance evaluation.
SEYEDALI MIRJALILI (Senior Member, IEEE) is currently the Director of the Centre for Artificial Intelligence Research and Optimization, Torrens University Australia. He is internationally recognized for his advances in swarm intelligence and optimization, including the first set of algorithms from a synthetic intelligence standpoint-a radical departure from how natural systems are typically understood-and a systematic design framework to reliably benchmark, evaluate, and propose computationally cheap robust optimization algorithms. He has published over 200 publications with over 25,000 citations and an H-index of 55. As the most cited researcher in Robust Optimization, he is in the list of 1% highly-cited researchers and named as one of the most influential researchers in the world by Web of Science, since 2019. His research interests include robust optimization, engineering optimization, multi-objective optimization, swarm intelligence, evolutionary algorithms, and artificial neural networks. He is working on the application of multi-objective and robust meta-heuristic optimization techniques as well. He is an Associate Editor of several journals, including Neurocomputing, Applied Soft Computing, Advances in Engineering Software, Applied Intelligence, and IEEE ACCESS.
AMAR RAMDANE-CHERIF received the Ph.D. degree from Pierre and Marie University, Paris, in 1998. Since 2000, he has been a Professor with the University of Versailles SaintQuentin en Yvelines, France. His research interests include software architecture, dynamic architecture, architectural quality attributes, architectural styles, and design patterns.