1 Introduction

In recent years, nature-inspired (NI) meta-heuristic algorithms have been used successfully to solve a wide variety of optimization problems such as scheduling, image segmentation, feature selection, economic load dispatch, and many other engineering applications. As shown in Fig. 1, these optimization algorithms can be classified into four main classes: evolutionary-based, physics-based, human-based, and swarm intelligence-based algorithms.

The first class of nature-inspired algorithms includes Evolutionary Algorithms (EA) that imitate the evolutionary behaviors of creatures in nature using the operators of selection, crossover, mutation, and reproduction to find better candidate solutions. Genetic Algorithm (GA) (Holland 1992) is regarded as the best evolutionary algorithm. Some other popular evolutionary algorithms are: Differential Evolution (DE) (Storn and Price 1997), Evolutionary Programming (EP) (Yao et al. 1999), Evolution Strategy (ES) (Beyer and Schwefel 2002), Genetic Programming (GP) (Koza 1997), Probability-Based Incremental Learning (PBIL) (Baluja 1994), and Biogeography-Based Optimizer (BBO) (Simon 2008; Ma et al. 2017).

The second class is Physics-based Algorithms (PA). These optimization algorithms are inspired by physical rules in the universe. Some of the popular physics-based algorithms are: Simulated Annealing (SA) (Kirkpatrick et al. 1983), Central Force Optimization (CFO) (Formato 2007, 2008, 2009), Gravitational Search Algorithm (GSA) (Rashedi et al. 2009; Siddique and Adeli 2016), and Big-Bang Big-Crunch (BBBC) (Erol and Eksin 2006). Other recently developed physics-based algorithms are: Electromagnetic Field Optimization (EFO) (Abedinpourshotorban et al. 2016), Water Evaporation Optimization (WEO) (Kaveh and Bakhshpoori 2016), Optics Inspired Optimization (OIO) (Kashan 2015), Sine Cosine Algorithm (SCA) (Mirjalili 2016b), Multi-Verse Optimizer (MVO) (Mirjalili et al. 2016), Thermal Exchange Optimization (TEO) (Kaveh and Dadras 2017), Sonar Inspired Optimization (SIO) (Tzanetos and Dounias 2017), Vibrating Particles System Algorithm (VPSA) (Kaveh and Ghazaan 2017), and Henry Gas Solubility Optimization (HGSO) (Hashim et al. 2019).

The third class is Human-based Algorithms (HA) which are inspired from several phenomena commonly associated with the behaviors and the perception of human beings (Fausto et al. 2019). Some of the most well-regarded human-based algorithms are: Harmony Search (HS) (Geem et al. 2001), Imperialist Competitive Algorithm (ICA) (Atashpaz-Gargari and Lucas 2007), FireWork Algorithm (FWA) (Tan and Zhu 2010), Teaching Learning-Based Algorithm (TLBA) (Rao et al. 2011), Human Group Formation (HGF) (Tan and Zhu 2010), and Football Game Inspired Algorithm (FGIA) (Fadakar and Ebrahimi 2016).

Fig. 1
figure 1

Classification of nature-inspired meta-heuristic algorithms

The last class includes swarm intelligence (SI) Optimization algorithms. These algorithms are inspired from the collective social behavior of swarms, systems or communities such as herds of animals, schools of fish, colonies of insects, and flocks of birds. The two most popular SI algorithms are Particle Swarm Optimization (PSO) (Eberhart and Kennedy 1995; Kennedy 2010), and Ant Colony Optimization (ACO) (Dorigo and Di Caro 1999). Other SI optimization algorithms are: Artificial Bee Colony (ABC) Algorithm (Karaboga and Basturk 2007), Cat Swarm Optimization (CSO) (Chu et al. 2006), Cuckoo Search Algorithm (CS) (Yang and Deb 2009), Firefly Algorithm (FA) (Yang 2009; Fister et al. 2013), Bat Algorithm (BA) (Yang 2010), Krill Herd (KH) (Gandomi and Alavi 2012; Wang et al. 2019), Grey Wolf Optimizer (GWO) (Mirjalili et al. 2014; Faris et al. 2018), Moth-Flame Optimization (MFO) Algorithm (Mirjalili 2015), Dragonfly Algorithm (DA) (Mirjalili 2016a), Whale Optimization Algorithm (WOA) (Mirjalili and Lewis 2016), Grasshopper Optimization Algorithm (GOA) (Saremi et al. 2017), Salp Swarm Algorithm (Mirjalili et al. 2017), Crow Search Algorithm (CSA) (Askarzadeh 2016), and many others.

Table 1 illustrates the characteristics of some well-known SI algorithms.

Table 1 Characteristics of CSA and some well-known SI algorithms

CSA is one of the swarm intelligence meta-heuristic optimization algorithms introduced by Askarzadeh in 2016. This algorithm is used to solve different optimization problems such as image processing, scheduling, economic dispatch, computer science, engineering, and many others. CSA is inspired by the social intelligent behavior of crows for hiding food and showed a robustness and an efficiency compared to several well-known optimization algorithms in the literature. Similar to other SI, CSA has some advantages such as (Gharehchopogh and Gholizadeh 2019; Ab Wahab et al. 2015):

  • Simplicity, flexibility, robustness, scalability, and self-organization;

  • Few control parameters as compared to EA;

  • Execution of various tasks by individuals simultaneously;

  • Memory space is less utilized by SI compared to EA.

This paper presents a review of CSA, its variants, and its applications in different fields. In order to conduct this study, we use Google scholar by employing the following search strings to build a database of CSA related articles:

  • Crow Search Algorithm;

  • Crow Search Meta-heurstics;

  • Crow Search Algorithm applications;

  • CSA.

Among the resulted articles, we do not consider those:

  • Published in predatory journals;

  • Presenting an opinion, a point of view, a poster, a keynote or a summary of a conference;

  • Having less than 4 pages;

  • Written in a language other than English, or if they are unavailable;

  • Which are incomplete, i.e. in the case where several versions of an article exist, the most complete version is chosen;

At the end, statistical analysis of the retained articles reveals that they come from various well-known publishers such as Elsevier, Springer, IEEE, IOP, and others as shown in Fig. 2. They are published in both journals and conferences but Springer seems to be the most targeted database. Figure 3 presents the distribution of CSA publications along years. It shows that the interest on the study of CSA has clearly increased in the last 4 years. In fact, since the introduction of CSA in 2016, more than 100 CSA related papers have been published with a slight peak in 2019. On the other hand, Table 2 shows the top 10 countries ranked by the number of CSA publications.

Fig. 2
figure 2

Number of CSA related publications by scientific databases

Fig. 3
figure 3

Number of CSA related publications by year

Table 2 Top 10 countries ranked by number of CSA related publications

The remainder of this paper is organized as follows: Sect. 2 presents the general structure of CSA. Section 3 gives a review of recent variants of the classical CSA. Section 4 describes an extensive overview of CSA application in various fields. Discussion and future works are given in Sect. 5. Finally, Sect. 6 concludes the paper.

2 Crow Search Algorithm

Crow Search Algorithm (CSA), developed by Alireza Askarzadeh (Askarzadeh 2016), is a recent swarm intelligence meta-heuristic optimization algorithm used to solve several optimization problems. This optimization algorithm draws its basic idea on the crows memory ability, their communication skills, and their social behavior for hiding food. It has four main principles defined as follows (Askarzadeh 2016; Hassanien et al. 2018):

  1. 1.

    Crows live in flock;

  2. 2.

    Crows memorize the position of their hiding food places;

  3. 3.

    Crows follow each other to do thievery;

  4. 4.

    Crows protect their caches from being pilfered.

The objective of this meta-heuristic is that a given crow i should be able to follow another crow j in order to discover its hiding food place. During this process, crow i should update its position progressively. Moreover, crow i has to change the position of food when stolen. For this purpose, CSA starts with a flock of N crows and two matrices:

  • Position matrix representing the position of each crow i at iteration t. It is noted as a vector \(P_{i}^{t}(i=1,2,\ldots \,N ~\) and \(~ t=1,2,\ldots \, t_{max})\) with \(P_{i}^{t}= [P_{i1}^{t}, P_{i2}^{t},\ldots ,P_{id}^{t}]\) , \(t_{max}\) the maximum number of iterations, and d is the problem dimension.

  • Memory matrix noted M where hiding places positions are stored. Each position of crow i at iteration t is given by a vector \(M_{i}^{t}= [M_{i1}^{t}, M_{i2}^{t},\ldots \,M_{id}^{t}]\) where \(M_{i}^{t}\) represents the best position that crow i has obtained so far.

Then, two scenarios may happen (Askarzadeh 2016; Hassanien et al. 2018; Liu et al. 2017; Abdelaziz and Fathy 2017):

Scenario 1 Crow j does not realize that is followed by crow i. As a result, crow i will approach to the hiding food place of crow j and the new updating position of crow i is given as follow:

$$\begin{aligned} P_{i}^{t+1}= P_{i}^{t}+ r_i*fl_{i}^{t}*(M_{j}^{t}-P_{i}^{t}) \end{aligned}$$
(1)

where \(fl_{i}^{t}\) denotes the flight length of crow i at iteration t and \(r_i\) is a random number with a uniform distribution between 0 and 1. The value of fl influences the searching capability of crows. Large values of fl lead to global search while small values lead to local search (Askarzadeh 2016). Figure 4 shows the effect of fl on the search capability of CSA.

Scenario 2 Crow j realizes that crow i follows it. As a result, crow j will deceive crow i by going to another random position of the search space.

The position of crow i is defined randomly. Scenario 1 and scenario 2 can be expressed as follows:

$$\begin{aligned} P_{i}^{t+1}= \left\{ \begin{array}{ll} P_{i}^{t}+ r_i*fl_{i}^{t}*(M_{j}^{t}-P_{i}^{t}), &{}\quad if \,\, r_j\geq AP_{i}^{t}\\ \hbox {a random position}&{}\quad \text{otherwise} \end{array} \right. \end{aligned}$$
(2)

where \(r_j\) is a random number with a uniform distribution between 0 and 1 and \(AP_{i}^{t}\) denotes the awareness probability of crow j at iteration t. The large values of AP increase diversification, while small values increase intensification. AP controls the balance between exploration and exploitation (Askarzadeh 2016).

The crows update their memories as follows:

$$\begin{aligned} M_{i}^{t+1}= \left\{ \begin{array}{ll} P_{i}^{t+1}& \quad if ~ f(P_{i}^{t+1})~\text {is better than}~f(P_{i}^{t})\\ M_{i}^{t}&\quad \text {otherwise} \end{array} \right. \end{aligned}$$
(3)

where f() denotes the value of the objective function. The pseudo-code of the original Crow Search Algorithm is illustrated in Algorithm 1 (Askarzadeh 2016). Its corresponding flowchart is illustrated in Fig. 5.

Fig. 4
figure 4

Effect of fl on the search capability of CSA

figure a
Fig. 5
figure 5

Flowchart of the Crow Search Algorithm

3 Recent variants of Crow Search Algorithm

A number of variants of standard CSA have been developed recently in order to ensure a good balance between the intensification/diversification and enhance the effectiveness and robustness of the standard CSA. The variants of CSA are classified into modified and hybridized versions as shown in Fig. 6.

Fig. 6
figure 6

Variants of Crow Search Algorithm

3.1 Modified versions of Crow Search Algorithm

Some recent modified versions of CSA are shown in Table 3. The details of each of them are given below.

3.1.1 Binary Crow Search Algorithm

De Souza et al. (2018) proposed a V-Shaped Binary Crow Search Algorithm (BCSA) for feature selection problem. The effectiveness of the proposed algorithm was evaluated based on six public domain datasets available in the UCI Machine Learning repository in comparison with Binary PSO (BPSO), Binary BA (BBA), Sequential Backward Selection (SBS), and Sequential Forward Selection (SFS). Simulation results showed that BCSA achieved better performance compared to other optimization algorithms.

Abdallh and Algamal (2020) proposed a Binary Crow Search Algorithm (BCSA) for selecting the most relevant descriptors in quantitative structure-activity relationship (QSAR) classification model. In BCSA, a new time-varying transfer function was adopted to improve the exploration and exploitation capability of the original CSA. The efficiency of BCSA was validated based on training, testing, and external validation datasets and results revealed that BCSA outperforms other methods existing in the literature by providing high classification accuracy and short computing time.

Laabadi et al. (2020) proposed a Binary CSA (BCSA) for solving the two-dimensional bin packing problem (2D-BPP). Sigmoid transformation method was employed to adapt CSA for solving the 2D-BPP. The performance of BCSA was evaluated based on 2D-BPP benchmark instances categorized in 10 classes. Simulation results showed the effectiveness of BCSA compared to PSO and Finit First Fit (FFF) algorithms in terms of solution quality and computational time.

3.1.2 Chaotic Crow Search Algorithm

Sayed et al. (2019) proposed a Chaotic Crow Search Algorithm (CCSA) based on the integration of chaos in CSA for solving the feature selection problem. Ten chaotic maps were employed to adjust the random movement parameters of CSA. The performance of CCSA was tested based on twenty benchmark datasets taken from the UCI machine learning repository. Experimental results demonstrated the superiority of CCSA compared to the standard CSA and other well-regarded and recent optimization algorithms.

Tahir and Ali (2017) proposed a chaotic Crow Search Algorithm (CCSA2) based on the incorporation of chaos in CSA for solving the high dimensional optimization problem. Awareness Probability (AP) and random location were substituted using chaotic maps to avoid local optima and ensure a good balance between intensification and diversification. Simulation results showed that CCSA2 outperforms classical CSA, GA, and PSO algorithms in terms of speed convergence and function dimensions.

Rizk-Allah et al. (2018) developed a Chaotic Crow Search Algorithm (CCSA) for solving the fractional optimization problem. Chaos theory was integrated into CSA to tune the parameters of the standard CSA. The performance of the proposed CCSA was validated on twenty well-known fractional benchmark problems in comparison with the standard CSA, PSO, FA, GWO, and DA. Simulation results proved that CCSA outperforms other SI optimization algorithms in terms of reliability and quality.

Meraihi et al. (2020) proposed a Modified Binary Dragonfly Algorithm (MBCSA) for solving the graph coloring problem. The chaotic maps are used to choose the right values of the flight length fl and awareness probability AP. The performance of MBCSA was evaluated using the well-known DIMACS benchmark graph coloring instances and results showed the effectiveness and superiority of MBCSA compared to some well-known optimization algorithms existing in the literature.

Makhdoomi and Askarzadeh (2020) proposed a modified Crow Search Algorithm \((CSA_{AC-AP})\) for optimizing the operation of a photovoltaic/diesel generator hybrid energy system. The chaotic method was introduced into CSA to determine the value of AP. The effectiveness of \(CSA_{AC-AP}\) was evaluated using 3 types of solar profiles: high solar radiation, regular solar radiation, and low solar radiation. Experimental results showed that \(CSA_{AC-AP}\) outperforms other optimization algorithms such as GA, PSO, and CSA in terms of robustness and accuracy.

3.1.3 Dynamic Crow Search Algorithm

Sahoo and Padhy (2019) proposed an Improved Crow Search Algorithm (ICSA) for solving the multiprocessor task scheduling problem. In the proposed algorithm, the awareness probability and the random movement were recalculated using a dynamic formulation. Simulation results showed that ICSA outperforms other existing algorithms in the literature such as Bacteria Foraging Optimization (BFO) and Genetic Based Bacteria Foraging Optimization (GBF).

Cuevas et al. (2020) proposed an Improved CSA for optimal capacitor allocation in distribution system networks and inner parameter identification of induction motors. Two contributions were introduced to enhance the performance of CSA: the first contribution is the dynamic formulation of AP; the second contribution is the use of Levy Flight for uniform arbitrary movements. Experimental results revealed the superiority and effectiveness of the proposed ICSA compared to other algorithms such as DE, GSA, and ABC algorithms.

Bhullar et al. (2020) proposed an Enhanced Crow Search Algorithm (ECSA) for Automatic Voltage Regulator (AVR) System Optimization. The performance of ECSA was investigated based on 23 benchmark functions including unimodal, multimodal and fixed dimension multimodal benchmark functions. Simulation results showed the robustness of ECSA when compared with some state-of-the-art algorithms existing in the literature.

Ouadfel and Abd Elaziz (2020) developed an enhanced version of CSA, called ECSA, for solving the feature selection problem. Dynamic local neighborhood and adaptive awareness probability were used to improve and increase the performance of CSA. The effectiveness of ECSA was evaluated based on 16 datasets from taken from the UCI repository taking into account the Mean Accuracy (MA), Mean Fitness (MF), and Mean Feature Selection Ratio (MFSR) metrics. Experimental results revealed that ECSA outperforms the original CSA and other optimization techniques available in the literature.

3.1.4 Gaussian Crow Search Algorithm

dos Santos Coelho et al. (2018) proposed a modified CSA, named MCSA, for solving the circular antenna array design problems. Gaussian probability distribution function and population diversity information were used to tune and control AP and Flight Length parameters. The effectiveness of MCSA was tested using 2 case studies: loney’s solenoid design and circular antenna design. Simulation results demonstrated the effectiveness of MCSA compared to some well-regarded optimization algorithms for solving complex electromagnetic optimization problems.

3.1.5 Adaptive Crow Search Algorithm

Sannigrahi and Acharjee (2018) proposed an adaptive CSA (MCSA) for obtaining optimal placement of Distributed Generation (DG) and Distributed Static Compensator (DSTATCOM) in a 51-b practical distribution system. In MCSA, the control parameters are logically tuned to make them adaptive with the iteration. Simulation results showed the effectiveness of MCSA compared to the standard CSA, DE, and HS algorithms in terms of voltage profile enhancement, maximum economic benefit, and line loss reduction.

Mohammadi and Abdi (2018) proposed a Modified CSA (MCSA) for solving the non-convex economic load dispatch problem. An innovative selection of crows and adaptive adjustment of the flight length were introduced to enhance the effectiveness of CSA. The performance of MCSA was evaluated based on three different well-regarded test systems. Simulation results showed the superior performance and robustness of MCSA compared to other optimization algorithms in terms of computing time and solution quality.

Jain et al. (2017) proposed an adaptive CSA (ICSA) for solving the high dimensional global optimization problems. Adaptive adjustment operator, experience factor, and Levy Flight distribution were introduced to enhance the exploration and exploitation capability of the classical CSA. The performance of ICSA was tested on 15 well-known high-dimensional non-linear scalable benchmark functions. Simulation results showed the superiority of ICSA compared to other existing optimization algorithms.

Shi et al. (2017) proposed an improved CSA (ICSA) for solving unconstrained optimization problems. Adaptive inertia weight factor and roulette wheel selection scheme were introduced in CSA to improve its exploitation and exploration capabilities and convergence speed. The effectiveness of ICSA was evaluated using a set of well-known test functions and design benchmarks. Simulation results showed efficiency and superiority of ICSA when compared with GA, FA, PSO, and standard CSA.

Mandala and Rao (2019) proposed an improved CSA, called Adaptive Awareness Probability-based CSA (AAP-CSA) for medical data preservation. The effectiveness of AAP-CSA was evaluated using 4 medical datasets such as Autism- Adolescent dataset, Cryotherapy dataset, Autism-Child dataset, and Immunotherapy dataset in comparison with GA, DE, PSO, and original CSA. Simulation results showed the superiority of AAP-CSA compared to other meta-heuristics.

3.1.6 Fuzzy-Based Crow Search Algorithm

Anter et al. (2019) proposed a hybrid approach, called CSA-FFCM, based on the hybridization of CSA with Fast Fuzzy C-Means (FFCM) for crop identification in agricultural. The performance of CSA-FFCM was evaluated over a set of images captured by different cameras under different conditions from maize fields. Simulation results proved the capability of CSA-FFCM to avoid the local optima and find optimal centroid values of the FFCM.

Parvathavarthini et al. (2018) proposed a novel clustering method (FCM-CSA) based on combining CSA with Fuzzy C-Means (FCM) for optimal centroid initialization. The efficiency of the proposed algorithm was validated using benchmark datasets taken from UCI data repository and artificial datasets taken from Easter Finland University. Experimental results showed the effectiveness of FCM-CSA compared to K-Means, Chaotic PSO, and FCM-PSO algorithms.

Anter and Ali (2019) proposed combining CSA with Fuzzy C-Means and chaos theory (CFCSA) for solving the feature selection problems of medical diagnosis. The effectiveness of CFCSA was evaluated based on various benchmark medical datasets taken from the UCI machine learning repository in comparison with binary CSA, binary ALO, chaotic ALO, and BA. Simulation results showed the efficiency and robustness of CFCSA compared to other meta-heuristics in terms of accuracy and computation time.

Fred et al. (2020) proposed a hybrid technique (FCM-CSA) based on the hybridization of CSA with FCM for medical image segmentation. In FCM-CSA, the cluster validity functions were adopted for the optimal selection of cluster number. The effectiveness of FCM-CS was tested based on 10 DICOM CT abdomen datasets in comparison with FCM-ABC, FCM-SA, FCM-CS, and FCM-FA methods. Experimental results showed that FCM-CSA provides satisfactory and promising results when compared with some well-regarded meta-heuristic algorithms.

3.1.7 Opposition-based learning Crow Search Algorithm

Shekhawat and Saxena (2019) proposed an enhanced CSA called Intelligent Crow Search Algorithm (ICSA) for solving real structural design problems. Opposition-Based Learning was employed in the initialization step of CSA and cosine function was used in position updating step of CSA to enhance its exploitation and exploration steps. The effectiveness of ICSA was validated based on two sets of benchmark functions; i.e., 23 conventional benchmark functions and latest CEC-2017 benchmark function. Experimental results showed the effectiveness and robustness of the proposed ICSA compared to some well-known metaheuristic algorithms.

3.1.8 Multi-objective Crow Search Algorithm

Nobahari and Bighashdel (2017) proposed a multi-objective CSA (MOCSA) for solving multi-objective optimization problems. The performance of MOCSA was evaluated using 13 unconstrained multi-objective test problems in comparison with ten well-known multi-objective optimization algorithms. Computational results showed the effectiveness and robustness of MOCSA compared to other well-regarded algorithms in the literature.

Satpathy et al. (2018) proposed a novel multi-objective Virtual Machine (VM) placement called Crow Search based VM placement (CSAVMP) for reducing the power consumption and resource wastage in cloud data centers with live migration. Simulation results showed a better performance of CSAVMP compared to Grouping GA and First Fit Decreasing (FFD) algorithms in terms of number of servers used, resources wastage, and energy consumption.

Hinojosa et al. (2018) proposed two multi-objective optimization techniques: Multi-Objective Crow Search Algorithm (MOCSA) and Multi-Objective Chaotic Crow Search Algorithm (MOCCSA). In the proposed techniques, an archive was incorporated to store the non-dominated solution with an adaptive grid. The performance of the proposed approaches were evaluated using ten challenging benchmark functions taken from the well-known CEC 2009 proposed by Zhang. Quantitative and qualitative results showed competitive results of both approaches compared to Multi-Objective DA and Multi-Objective PSO algorithms.

Rizk-Allah et al. (2020) developed a multi-objective orthogonal opposition-based CSA (M2O-CSA) for solving large-scale multi-objective optimization problems. A new mechanism based on ratio analysis (MOORA) technique was employed for determining the best compromise solution from Pareto-optimal solutions. The effectiveness of M2O-CSA was validated based on 10 on test instances (5 unconstrained and 5 constrained test suits) and results showed the efficiency of M2O-CSA compared to MOCSA and MOCCSA algorithms.

3.1.9 Other improved Crow Search Algorithms

Marichelvam and Geetha (2018) proposed an enhanced CSA, called HCSA, based on the incorporation of dispatching rules into CSA for minimizing the weighted sum of makespan and total flowtime in a flow shop environments. The performance of the proposed algorithm was evaluated using random problem instances in comparison with GA, SA, PSO, ACO, ABC, and Scatter Search (SS) algorithm. Simulation results demonstrated the effectiveness of HCSA compared to well-known optimization algorithms.

In the work of Qu and Fu (2019), an enhanced CSA based on neighborhood search of non-inferior solution set (NICSA) was proposed. In NICSA, the individuals choose the neighborhood search mode automatically by determining the factor of the non-inferior solution. The performance of NICSA was validated based on 23 benchmark test functions and results showed its effectiveness when compared with other optimization algorithms in aspects of convergence rate, search veracity, variance analysis, and sensitivity parameters.

Gupta et al. (2018b) proposed an optimized Crow Search Algorithm (OCSA) to improve the diagnosis of Parkinson’s disease. Three different machine learning techniques such as k-nearest neighbors (k-NN), Random Forest, and Decision Tree classifiers were used to predict the accuracy of CSA. The effectiveness of OCSA was evaluated based on 20 benchmark datasets. Simulation results showed the superiority of OCSA compared to CCSA by achieving the values of 88.2% and 0.20 s for accuracy and computational time, respectively.

Javidi et al. (2019) proposed an Enhanced Crow Search Algorithm (ECSA) for optimum design of structures. Three modifications were proposed to improve the performance of CSA. The first modification is the replacement of violated decision variable by variable of the global best solution; the second modification is the introduction of the free-fly mechanism for constraint handling; the last modification is the proposition of Personal Upper Bound Strategy (PUBS). Experimental results proved that ECSA obtains competitive results compared to the standard CSA and other existing meta-heuristic algorithms.

Fallah et al. (2019) proposed an Improved Crow Search Algorithm (ICSA) for optimal design of Water Distribution Networks (WDNs). The performance of ICSA was tested using two WDNs: Two-Reservoir and Khorramshahr City networks in Iran. Simulation results showed that ICSA reaches the optimal point with less computational time when compared to the classical CSA and other optimization methods existing in the literature.

Wijayaningrum and Putriwijaya (2020) developed an improved CSA (ICSA) based on a new solution update mechanism for data clustering. In ICSA, individual can follow another search agent with the best fitness value or randomly chosen search agent. The effectiveness of ICSA was evaluated using several test scenarios with a range of values from 100 to 600 taking into account the Root-mean-square Standard Deviation (RMSSTD) and R-squared (RS) metrics. Experimental results demonstrated the performance and efficiency of ICSA compared to K-Means, K-Medoids, GA, and PSO algorithms in terms of solution obtained and computational time.

Sonuç (2020) proposed a modified CSA (MCSA) for solving the Weapon-Target Assignment (WTA) problem in military operation research. In MCSA, a trial mechanism using new parameter called LIMIT was introduced to enhance the quality of solutions. The efficiency of MCSA was evaluated based on 12 WTA problem instances with different dimensions in comparison with ABC, SA, ABC-SA, and basic CSA. Simulation results showed that MSCA achieves better results when compared with 4 state-of-the-art algorithms.

Turgut et al. (2020) proposed an enhanced CSA (CROWISL) based on the integration of hierarchical island model concepts into basic CSA for solving optimal control problems. The effectiveness of CROWISL was evaluated based on 45 well-known optimization test problems including classic benchmark optimization problems and CEC 2015 benchmark functions. CROWISL was also applied to solve 6 different optimal control problems having different difficulties. Experimental results revealed that CROWISL gives more efficient predictive performance compared to basic CSA and other well-regarded meta-heuristics existing in the literature.

Jatana and Suri (2020) proposed an improved CSA (ICSA) based on mutation sensitivity testing strategy for automate test data generation. Cauchy random numbers were generated for each of the test cases to improve the exploration capabilities of CSA and avoid the search from falling into local optima. Simulation results demonstrated the effectiveness of ICSA compared to well-regarded meta-heuristics such as GA, PSO, ACO, and CSA by achieving high detection score for test-suite generation.

Table 3 Modified versions of CSA
Table 4 Modified versions of CSA

Finally, the number of publications (in percentage) in each CSA modified version is given in Fig. 7. As it is shown, Improved CSA attracts the highest number of contributions whereas Gaussian and Opposition-based Learning are the less used ones.

Fig. 7
figure 7

The modified versions of CSA

3.2 Hybridized versions of Crow Search Algorithm

Many hybrid optimization approaches based on the hybridization of CSA with other optimization algorithms have been suggested to enhance the performance, efficiency, and robustness of the standard CSA. Table 4 presents the well-regarded hybrid CSA algorithms in the literature. Details of these hybrid algorithms are given below.

3.2.1 Hybridization with Local Search

Allaoui et al. (2018) proposed a hybrid approach based on the hybridization of CSA with Local Search algorithm for solving the DNA fragment assembly problem. The efficiency of the hybrid approach was tested based on a set of thirty benchmarks obtained from the National Center for Biotechnology Information (NCBI) web site. Simulation results demonstrated the better performance of the hybrid approach compared to six state-of-the-art algorithms with a great length for large instances.

Zamani et al. (2019) proposed a conscious neighborhood-based CSA, called CCSA, for solving global optimization problems. Three strategies named Neighborhood based Local Search (NLS), Non-neighborhood based Global Search (NGS) and Wandering Around based Search (WAS) were introduced to enhance the effectiveness of CSA. The performance of CCSA was evaluated on several benchmark functions and four engineering design problems. Experimental results revealed the superiority of CCSA compared to the original CSA and other state-of-the-arts optimization methods.

3.2.2 Hybridization with Genetic Algorithm

Laabadi et al. (2019) proposed an efficient hybrid optimization algorithm (CSGA) based on the hybridization of CSA with GA to solve the two-dimensional bin packing problem (2D-BPP). In this proposed algorithm, CSA was discretized and adopted to the 2D-BPP and genetic operators were used to enhance individual adaptation. The effectiveness of CSGA was examined using various test instances of the 2D-BPP in comparison with GA and BPSO. Simulation results showed the efficiency of CSGA compared to GA and BPSO.

Moghaddam et al. (2019) proposed an improved CSA (ICSA) for optimal designing of hybrid PV/Wind/Battery system to enhance the load supply reliability. Mutation and crossover operators of GA were used to enhance the performance of CSA. The effectiveness of ICSA was evaluated based on solar radiation and wind speed data of Zanjan city in comparison with conventional PSO and CSA. Experimental results revealed that ICSA has more convergence speed, better reliability, and lower Net Present Cost System (NPCS) compared to PSO and CSA.

3.2.3 Hybridization with differential evaluation

Bhargava and Yadav (2020) developed a hybrid approach, called hDECSA, based on the hybridization of SCA and DE for solving the combined economic emission dispatch problem. The performance of hDECSA was evaluated based on 3 diverse bus systems in comparison with DE, PSO, DE+PSO, and hDEPSO algorithms. Simulation results showed the effectiveness and robustness of hDECSA compared to other state-of-the-art optimization models in terms of CPU time and generation strategy.

3.2.4 Hybridization with Particle Swarm Optimization Algorithm

Farh et al. (2020) proposed a hybrid method (CSA-PSO) based on the combination of CSA with PSO for solving the optimal power flow problem with Renewable Distributed Generations (RDGs). The performance of CSA-PSO was evaluated based on IEEE 19 and IEEE 30 standard bus test systems in comparison with PSO, TLBA, and Phasor PSOGSA algorithms. Simulation results demonstrated the superiority of CSA-PSO compared to the state-of-the-art optimization approaches.

Babu et al. (2020a) proposed a hybrid approach (hCA-PSO) based on the hybridization of CSA and PSO for Automatic Generation Control (AGC) studies of multi-area systems. The effectiveness of hCA-PSO was evaluated based on settling time and oscillation magnitude metrics in comparison with classical CSA and PSO algorithms. Experimental results showed the robustness and effectiveness of hCA-PSO compared to CSA and PSO algorithms in terms of dynamic responses and convergence characteristics.

3.2.5 Hybridization with Bat Algorithm

Javaid et al. (2018) proposed an efficient hybrid method (BCSA) based on the hybridization of CSA with Bat Algorithm (BA) for Home Energy Management Evaluation in Smart Grid. The performance of BCSA was validated for a single home with 15 appliances in comparison with classical CSA and BA. Simulation results demonstrated the effectiveness of BCSA compared to CSA and BA by obtaining 31,191% reduction in total electricity payment.

3.2.6 Hybridization with Grey Wolf Optimizer

Arora et al. (2019) proposed a hybrid approach (GWOCSA) based on the hybridization of GWO with CSA for feature selection and unconstrained function optimization. The performance of the proposed approach was validated based on 23 functions optimization benchmark problems and 21 datasets taken from UCI repository. Simulation results showed that GWOCSA achieves competitive performance compared to other existing algorithms in the literature in terms of convergence speed, classification accuracy, and number of selected optimal features.

Davoodkhani et al. (2020) proposed a hybrid method (hGWO-CSA) based on the combination of CSA with GWO for solving the Maximum Power Point Traking (MPPT) of photovoltaic energy system. In the proposed method, GWO was applied for MPPT solution and then the results obtained by GWO was considered as the initial value of CSA. Simulation results showed the superiority of hGWO-CSA in achieving Global MPP with higher convergence speed compared to traditional GWO and CSA.

3.2.7 Hybridization with Dolphin Echolocation Algorithm

Mahesh and Vijayachitra (2019) proposed a hybrid approach, named DECSA, based on the combination of CSA with Dolphin Echolocation Algorithm (DE) for cluster-based energy-aware routing in wireless sensor networks. In this approach, the position update of DE was updated using the CSA. The performance of DECSA was evaluated using three metrics: network energy, lifetime, and throughput. Experimental results showed that DECSA outperforms other existing optimization algorithms such as Low Energy Adaptive Clustering Hierarchy (LEACH), Fractional ABC (FABC), and Fractional LION (FLION) by giving better normalized energy of 0.0476.

3.2.8 Hybridization with Dragonfly Algorithm

More and Ingle (2018) proposed a hybrid technique, called D-Crow, based on the incorporation of CSA into DA for getting optimal Energy-aware Virtual Machine Migration (VMM). D-Crow was evaluated based on 3 metrics: energy consumption, migration cost, and load. Experimental results proved that D-Crow outperformed the original DA and other existing optimization algorithms such as ACO, modified exponential gravitational search algorithm (MEGSA-VMM), and LR by achieving the minimum values of 11.0639%, 7.3719%, and 10.0368% for the migration cost, load, and energy consumption, respectively.

Kumar and Vimala (2019) proposed a hybrid approach (C-FDLA) based on the combination of CSA with Integrated Fractional DA (FDLA) for Load Balancing in Cloud Computing environments. C-FDLA was evaluated based on the number of reallocated tasks and the load values. Simulation results showed the effectiveness of C-FDLA compared to other optimization algorithms such as Classical DA, FDLA, PSO, and ABC algorithms. C-FDLA gives minimum load value of 0.0913 and number of tasks reallocated as 11.

3.2.9 Hybridization with Whale Optimization Algorithm

Wu et al. (2018) proposed a new hybrid approach, called HWCSA, based on the hybridization of CSA with Whale Optimization Algorithm (WOA) for solving data clustering problem. Two operators namely enhance diversity operator and hybrid individual operator were used to enhance the quality of the solutions. The performance of HWCSA was evaluated with CSA and WOA based on six well-known UCI dataset benchmarks. Simulation results demonstrated a better accuracy rate of HWCSA compared to CSA and WOA.

Shende and Sonavane (2020) a hybrid method (CrowWhale-ETR) based on the combination of CSA with WOA for energy and trust aware multicast routing in WSN for IoT applications. The effectiveness of CrowWhale-ETR was tested using 50 and 100 nodes in the presence or absence of the node attacks taking into account 4 metrics such as delay, detection rate, energy, and throughput of the network. Experimental results showed that CrowWhale-ETR gives better performance compared to some well-known methods existing in the literature.

Ahmad and Bamnote (2019) proposed a combined method (WCO) based on the hybridization of WOA with CSA for software cost estimation. The performance of WCO was tested using 4 datasets taken from the promise software engineering repository taking into account the Mean Magnitude of Relative Error (MMRE) metric. Experimental results revealed that WCO gives the best MMRE with a value of 0.2442 when compared to other approaches existing in the literature.

3.2.10 Hybridization with Sine Cosine Algorithm

Ye et al. (2018) proposed a hybrid optimization algorithm (SCCSA) based on the integration of CSA and Sine Cosine Algorithm for active and reactive power joint optimal scheduling dispatch problem of Island micro-grid. Simulation results indicated the capability of the hybrid algorithm to control the voltage of nodes in micro-grid. Results also proved its efficiency in economic operation of micro-grid.

Pasandideh and Khalilpourazari (2018) proposed a hybrid approach based on the hybridization of Sine Cosine Algorithm with CSA for solving global optimization problems. Seven well-known benchmark functions were used to test the performance of SCCSA. Experimental results showed that SCCSA gives competitive results in comparison with other state-of-the-art optimization algorithms.

3.2.11 Hybridization with Cat Swarm Optimization Algorithm

Pratiwi (2017) proposed a hybrid approach (CSA-CS) based on the combination of CSA with Cat Swarm Optimization (CS) for Vehicle Routing Problem with Time Windows (VRPTW). Simulation results showed the capability of CSA-CS for solving VRPTW. Good performance was obtained when Count Dimension to Change (CDC) decreased and number of population increased.

3.2.12 Hybridization with Fruit Fly Optimization Algorithm

Ramgouda and Chandraprakash (2019) proposed a novel hybrid method (MOCSFO) based on the hybridization of Multi-objective Crow Search and Fruit Fly Optimization algorithm for generating the constrained combinatorial interaction test suits. Experimental and comparative results proved that MOCSFO outperforms other existing methods in terms of average time and average size.

3.2.13 Hybridization with Lion Algorithm

George and Sumathi (2019) developed a hybrid approach, called C-lion Algorithm, based on the hybridization of CSA with LA for feasible selection of Sensitive-Utility (SU) coefficient vector. The robustness of C-Lion Algorithm was evaluated based on 3 datasets taken from the UCI machine learning repository taking into account privacy and utility factors. Experimental results showed that C-Lion Algorithm provides the maximum utility of 0.909 and privacy of 0.864 compared to other optimization algorithms such as BA, Privacy and Utility BAT (PUBAT), and CSA.

Ganeshan and Rodrigues (2019) proposed a hybrid method (Crow-AFL) by hybridizing CSA with Adaptive Fractional Lion Optimization Algorithm for solving the intrusion detection problem. The performance of Crow-AFL was tested using DARPA’s KDD cup dataset 1999 taking into account 3 metrics: accuracy, True Positive Rate (TPR) and True Negative Rate (TNR). Simulation results showed that Crow-AFL yields better performance with the values of 96%, 95% and 96% for accuracy, TPR, and TNR metrics, respectively.

Gaddala and Raju (2020) presented a combined method, called Crow Search Mating-based Lion Algorithm (CSM-LA), based on the hybridization of CSA with LA for optimal location and sizing of the Unified power quality conditioner (UPQC) in distribution networks. The effectiveness of CSM-LA was tested using IEEE 33 and IEEE 69 benchmark test bus systems in comparison with other conventional optimization algorithms such as PSO, LA, CSA, ROA, WS-WU, GM-DA, and RMPF. Experimental results demonstrated the superiority of CSM-LA compared to other optimization algorithms existing in the literature in terms of performance and convergence analysis.

3.2.14 Crow Search Algorithm with Support Vector Machine

Sun et al. (2017b) proposed a hybrid method (CSA-LSSVM) based on the combination of CSA with Least Square Support Vector Machine for prognosis power convertor. The performance of CSA-LSSVM was evaluated using an open-loop boost convertor. Simulation results revealed the effectiveness of CSA-LSSVM in terms of estimation accuracy and computation efficiency.

3.2.15 Crow Search Algorithm with Extreme Learning Machine

Liu et al. (2017) proposed an evaluation method based on the combination of CSA with Extreme Learning Machine (ELM), called CSA-ELM, for analyzing spatial variation characteristics of regional groundwater quality. The effectiveness of CSA-ELM was tested based on 15 farms located in the Jiansanjiang Administration of Heilongjiang Province, China. Simulation results showed the reliability and stability of CSA-ELM model compared to NIM, ELM, and BP models.

3.2.16 Crow Search Algorithm with Neural Network

Naik et al. (2017) proposed an enhanced CSA based Functional Link Artificial Neural Network (FNANN) for solving data mining classification problems. The performance of the proposed approach was evaluated based on datasets taken from the UCI repository. Experimental results demonstrated the superiority of the proposed approach compared to the standard optimization methods such as GA-based trained FLANN, PSO-based trained FLANN, and CSA-based trained FLANN in terms of accuracy and error rate.

Chithra and Jagatheeswari (2018) proposed a Fractional Crow Search-based Support Vector Neural Network (FC-SVNN) for classification of patients and severity analysis of tuberculosis (TB). The effectiveness of FC-SVNN was tested using ten images taken from ZNSM-iDB database in comparison with five classifier methods. Experimental results showed the robustness and effectiveness of FC-SVNN method compared to other existing classifier methods in the literature. It obtained the values of 0.9487, 0.04, 0.96 for accuracy rate, False Positive Rate (FPR), and True Positive Rate (TPR), respectively.

3.2.17 Hybridization with other algorithms

Arumugam et al. (2019) proposed a hybrid optimization approach based on the combination of CSA with response surface method based on Box-Behnken design for optimizing the parameters of Ultrasonicated Transesterification Process. The hybrid approach was investigated to optimize the parameters of amplitude, ultrasonic pulse, reaction temperature, and catalyst concentration. Simulation results showed that the proposed approach reduces the reaction time and temperature over conventional transesterification route.

Hassanien et al. (2018) proposed a hybrid approach, named RCSA, based on the hybridization of CSA with rough searching for solving engineering optimization problems. The performance of the proposed approach was evaluated based on 30 benchmark problems IEEE CEC 2005, IEEE CEC 2010, and four engineering design problems. Computational results demonstrated that RCSA outperforms standard CSA and other existing algorithms in the literature.

Horng and Lin (2017) proposed a hybrid method (CSOO) based on merging CSA into Ordinal Optimization for solving Equality-Constrained Simulation Optimization Problems (ECSOP). CSOO contains three phases: exploitation, exploration, and surrogate model. Experimental results revealed the efficiency of CSOO compared to other well-known metaheuristics such as standard CSA, GA, ES, and PSO.

John and Rodrigues (2019) proposed an efficient hybrid approach based on the hybridization of CSA with Taylor series (MOTCO) for Cluster Head Selection in Energy-Aware Wireless Sensor Network (WSN). The performance of MOTCO was evaluated using two WSN architectures with 50 and 100 nodes in comparison with LEACH, BC, FABC, and PSO algorithms. Simulation results showed that MOTCO outperforms other existing algorithms in the literature such as BC, FABC, LEACH, and PSO.

Patil and Patil (2018) proposed a hybrid method based on the combination of CSA with Discrete Wavelet Transform (DWT), called CODWTK-MS, for Mumford Shah (MS) inpainting design. CSA was used to optimize the filter coefficients of DWT. Simulation results demonstrated the superiority of the proposed CODWTK-MS compared to other conventional inpainting methods such as MS, DWT-based MS, DWT Kernel-based MS, and Dragonfly Optimized DWT Kernel based MS (DODWTK-MS) in terms of Mean Square Error (MSE), Signal to Noise Ratio (SNR), Peak SNR (PSNR), Stimulus-Dependent Maximum Entropy (SDME), and Edge similarity.

Sun et al. (2017a) proposed a fault diagnostic algorithm (CSA-DBN) based on the hybridization of CSA with Deep Belief Network (DBN) for Single-Ended Primary-Inductor Converter (SEPIC). The effectiveness of CSA-DBN was tested considering hard and soft faults such as Open Circuit Faults (OCFs), Short Circuit Faults (SCFs), power MOSFET, inductor, diode, and capacitor. Experimental results showed that CSA-DBN gives higher accuracy compared to SVM and Back Propagation Neural Network (BPNN) methods.

Dash et al. (2019) proposed a combined approach, named TOPSIS-CS-WV, based on the hybridization of CSA with Technique for Order of Preference by Similarity (TOPSIS)and Weighted Voting (WV) classifier for stocking the index price movement prediction. The effectiveness of the TOPSIS-CS-WV was tested using 3 benchmark stock indices: BSE SENSEX, S&P500, and NIFTY 50. Simulation results showed that TOPSIS-CS-WV provides better prediction compared to other models existing in the literature.

Islam et al. (2019) proposed a combined CSA with local search and niching method, named NCSA, for numerical optimization. The niching technique was integrated into CSA to increase its exploration capability. The performance of NCSA was analyzed using 23 classical benchmark functions in comparison with the original CSA, PSO, and GSA. Simulation results proved that NCSA gives faster convergence rate and better solutions compared to other optimization algorithms.

Thomas and Rangachar (2018) proposed an effectiveness approach (GWTM+Crow+SSVM) based on the integration of the Gabor filter+wavelet+texture (GWTM) operator in CSA for Face Recognition in Low-Resolution Images. The performance of the proposed hybrid approach was evaluated using three metrics such as accuracy, FAR, and FRR. Simulation results showed that GWTM+Crow+SSVM obtains minimum FAR and FRR of 0.0500 and higher accuracy of 0.9500 compared to other existing approaches.

Ramya and Sivakuaran (2020) proposed a hybrid approach (RFCSA) based on the hybridization of CSA with Random forest (RF) for interfacing PV power system. The performance of RFCSA was analyzed in 3 case studies: constant irradiance and constant temperature, temperature variation under constant irradiance, and irradiance variation under constant temperature. Experimental results revealed the effectiveness and superiority of RFCSA compared to other optimization techniques such as the standard CSA, GA, and Adaptive CS (ACS).

Sultana et al. (2020) proposed a hybrid method (RSM-CSA) based on the hybridization of CSA with Response Surface Method (RSM) for optimizing the properties of jute fiber reinforced concrete. The performance of RSM-CSA was evaluated using data obtained from Box Behnken Design (BBD). Simulation results showed the effectiveness and robustness of RSM-CSA in maximizing the strength of jute fiber-reinforced concrete.

Babu et al. (2020b) proposed a hybrid technique (HCA-PS) based on the combination of CSA with Pattern Search (PS) algorithm for optimizing the parameters of fractional-order proportional-integral cascaded with proportional-derivative with filter (FOPI-PDN) in load frequency control (LFC) studies of a multi-area system. Simulation results showed the superiority of HCA-PS compared to FA, CS, and original CSA in terms of dynamic responses and convergence characteristics.

Table 5 Hybridization versions of CSA

The percentage of publications using hybridized versions of CSA with meta-heuristics, SVM, ELM, ANN, and other algorithms is given in Fig. 8. As it is shown in this figure, hybridizing CSA with other meta-heuristics is the most used technique in this area.

Fig. 8
figure 8

The hybridized versions of CSA

4 Applications of Crow Search Algorithm

CSA has been used to solve a large variety of optimization problems in several fields of research. They can be categorized into continuous, combinatorial, and constrained optimization. Some of CSA applications are summarized in Table 5. The details are given below.

4.1 Continuous optimization

4.1.1 Image segmentation

Upadhyay and Chhabra (2019) used CSA for solving multilevel image segmentation using Kapur’s entropy as objective function. The performance of CSA was evaluated using benchmark image set commonly used in the literature taking into account the metrics of Structure Similarity Index (SSIM), Feature Similarity Index (FSIM), and Peak Signal to Noise Ratio (PSNR). Qualitative and quantitative results showed the effectiveness of CSA compared to other existing optimization algorithms such as DE, PSO, CS, GWO, and MFO in terms of consistency and quality of solutions.

Oliva et al. (2017) proposed a new method, called MCET-CSA, based on the integration of Minimum Cross-Entropy Thresholding criterion with CSA for magnetic resonance brain image segmentation. The performance of the proposed method was evaluated using two sets of benchmark images commonly used in the image segmentation literature. Simulation results showed that MCET-CSA obtains better results in terms of consistency and quality compared to other existing image segmentation methods.

4.1.2 Power electronics converters

Sun et al. (2018) proposed a non-invasive condition monitoring based CSA for multiple devices health state estimation of boost converters. The parameters of values of capacitor, inductor, diode, and power MOSFET were obtained using CSA. Experimental results showed that these parameters can be obtained simultaneously using CSA and their identification accuracy reaches to more than 90%.

4.1.3 Digital Fractional Order Integrator

Mahata et al. (2016) applied CSA for accurate design of digital rational approximation to the Fractional-Order Integrator (FOI). The effectiveness of CSA was evaluated using 3 metrics: Root Mean Square Magnitude Error (RMSME), Root Mean Square Phase Error (RMSPE), and Absolute Magnitude Error (AME). Simulation results demonstrated the efficiency of CSA compared to some well-known algorithms such as Real coded Genetic Algorithm (RGA), PSO, ABC, and DE in terms of convergence rate and frequency response.

4.1.4 Multi-cue Particle Filter

Sharma et al. (2018) proposed a new resampling method based on CSA for optimizing Multi-cue Particle Filter (MPF). The effectiveness of the proposed method was evaluated based on 12 benchmark video sequences in comparison with state-of-the-art algorithms. Quantitative and qualitative results showed the efficiency of the proposed method by achieving CLE of 7.98 and F-measure of 0.734.

Walia et al. (2019) proposed a robust tracker method based on CSA with adaptive fusion model for optimal Multi-cue Particle Filter. The performance of the proposed method was evaluated based on 16 benchmark video sequences in comparison with other existing optimization methods. Experimental results showed the effectiveness of the proposed method by obtaining F-measure of 0.683 and CLE of 10.99.

4.1.5 Clustering

Lakshmi et al. (2018) proposed a clustering approach (CSAK-Means) for cluster analysis based on CSA with K-Means clustering algorithm for global optimum solution. The performance of CSAK-Means was tested using Mean Square Error (MSE) criterion as fitness function. Experimental results revealed that CSAK-Means outperforms other existing clustering algorithms in the literature.

4.1.6 Optimal IIR filter design

Ghibeche et al. (2019) used CSA with least ep-norm for solving the optimal Infinite Impulse Response (IIR) design filter problem. The performance of CSA was tested using low pass and high pass IIR digital filters design examples. Simulation results showed the robustness and accuracy of CSA compared to other existing approaches in the literature for optimal IIR filter design.

4.1.7 Optimal Power System Stabilizer

Kumar et al. (2018) used CSA to optimize the conventional parameters of Power System Stabilizer (PSS) and static VAR compensator (SVC) in Studied Machine Infinite Bus (SMIB) system. The performance of CSA was evaluated with studied SMIB system in comparison with PSO and TLBA. Simulation results demonstrated the effectiveness of CSA in tuning the parameters of PSS and SVC compared to PSO and TLBA algorithms.

4.1.8 Photovoltaic model parameters estimation

Omar et al. (2017) used CSA for identifying the unknown parameters of photovoltaic model. The performance of CSA was evaluated using single diode and double diode PV models with minimum output power error as objective function. Simulation results showed the effectiveness of CSA compared to other PV models such as Shuffled Frog Leaping Algorithm (SFLA) and GA.

4.1.9 Fault detection

Gupta et al. (2019) employed CSA for fault detection in WSNs. A random forest classifier was used for accurate classification of faulty and non-faulty data. The performance of CSA was evaluated based on three real-world datasets (Intel lab data, SensorScope, and multihop labeled data). Simulation results showed that CSA outperforms other classifier methods existing in the literature.

4.1.10 Abrasive water jet cutting

Tamilarasan et al. (2018) applied CSA for optimizing the Abrasive water jet cutting process parameters of ceramic tile. The experiments with 3 factors and 3 levels were planned based on box-behnken design technique and quadratic model. Simulation results showed that CSA obtain optimum parameters for Abrasive water jet cutting process to yield the minimum surface roughness.

4.1.11 Estimation of Software Reliability Growth Model

Chaudhary et al. (2019) used CSA for solving the problem of parameter estimation of Software Reliability Growth Models (SRGM). The performance of CSA was tested based on 7 software failure datasets using MSE and Theil Statistic (TS) as metrics in comparison with LSE, GA, and GSA algorithms. Experimental results showed that CSA yields better performance compared to GA, GSA, and LSE approaches.

4.1.12 Optimal parameters control

Kaur et al. (2020) used CSA for optimizing the parameters of Proportional-Integral-Derivative (PID) controllers. The effectiveness of CSA was evaluated based on 2 different control problems with 4 metrics such as integral of square error, integral of absolute error, integral of time square error, and integral of time absolute error. Simulation results showed the reliability of CSA in optimizing the PID parameters.

4.2 Combinatorial optimization

4.2.1 Feature selection

Alhakeem and Ali (2019) used CSA for solving the channels feature selection problem. The performance of CSA was validated using classification accuracy and processing time as evaluation metrics and no-zero channels condition was adopted to overcome the zero variables problem. Simulation results showed the efficiency and robustness of CSA to obtain best channels offline in comparison with GA .

Gupta et al. (2018a) adopted CSA for the Extraction Usability Feature from hierarchical model. In the proposed method, the procedure involved in CSA is altered for the purpose of usability feature selection and prediction. Simulation results showed that MCSA gives greater accuracy when compared with existing metaheuristics such as standard CSA, BBA, and MWOA.

4.2.2 Travel salesman

Azezan et al. (2019) used CSA for solving the traveling salesman Problem. The performance of CSA was evaluated based on 10 instances taken from TSPLIB datasets with different coordinates in comparison with other optimization algorithms such as ACO and SA. Experimental results showed the robustness and effectiveness of CSA compared to ACO and SA algorithms by producing better result with lower cost.

4.2.3 Home Energy Management System

Javaid et al. (2017) used CSA and enhanced DE for evaluating the performance of Home Energy Management System (HEMS). The performance of CSA was tested in a single home with thirteen appliances categorized in three classes: fixed appliances, shiftable appliances, and elastic appliances. Simulation results showed the effectiveness and robustness of CSA compared to Enhanced Differential Evolution (EDE) in terms of cost and User Comfort (UC).

Ali et al. (2017) employed CSA to evaluate the performance of Home Energy Management System and optimize the total energy consumption. Simulation results showed that CSA performs better than HS algorithm in terms of cost minimization and HS algorithm performs better in terms of Peak to Average Ratio (PAR) reduction and User comfort maximization. Results also showed that there will be trade-off between electricity cost and user comfort.

Butt et al. (2017) used CSA for solving the home energy management scheduler problem. The performance of CSA and GA were evaluated in a residual area comprising 15 smart appliances categorized in 3 categories (fixed, Shiftable, and elastic appliances). Simulation results showed that CSA outperforms GA in term of electricity cost and GA outperforms CSA in terms of Peak to Average Ratio (PAR) and waiting time.

4.2.4 Scheduling

Adhi et al. (2018) used CSA to solve the scheduling problem. The effectiveness of CSA was evaluated based on a set of problem instances taken from Kacem’s datasets. Simulation results demonstrated that CSA gives better performance in terms of time execution and optimum solution compared to other optimization algorithms existing in the literature. It is also proved that CSA is a good method for providing optimum solution of scheduling problem.

Kumar and Kousalya (2019) used CSA for Task Scheduling in Cloud Computing to find suitable virtual Machine and minimize the Makespan. The performance of CSA was tested using cloudsim in comparison with Min-Min and Ant optimization algorithms. Experimental results showed better performance of CSA compared to Win-Win and Ant algorithms.

Marichelvam et al. (2016) used CSA for solving Machine Scheduling Problem. Dispatching rules were integrated with the initial solutions of CSA to improve the quality of solutions. The performance of CSA was validated with benchmark problems and random problem instances in comparison with well-known meta-heuristics such as GA, ACO, Memetic Algorithm (MA), SA, and PSO. Computational results demonstrated that CSA outperforms other well-known optimization algorithms.

Reddy et al. (2018) used CSA to reduce makespan by simultaneous scheduling of machines and tools considering tool transfer times in Multimachine Flexible Manufacturing System (FMS). The constancy of CSA was validated using 22 job sets in comparison with well-known existing methods in the literature. Simulation results showed the performance and effectiveness of CSA compared to other existing methods.

4.3 Constrained Optimization

4.3.1 Economic Dispatch

Sheta (2017) used CSA for solving the Economic Load Dispatch Problem (ELDP). The performance of CSA was evaluated using three power generators test cases in comparison with GA, Flower Pollination Algorithm (FPA), and PSO. Simulation results showed the superiority of CSA compared to GA, PSO, and FPA by obtaining stable and adequate power generator that minimizes the total fuel cost and maximizes the power reliability.

El Ela et al. (2017) used CSA for solving the Economic Environment Dispatch (Combined Economic and Emission Dispatch(CEED))problem. The effectiveness of CSA was validated based on four test systems consisting of the standard IEEE 30-bus model system, three, ten and forty thermal generators in comparison with GA, PSO, and Hybrid GA (HGA). Experimental results demonstrated the effectiveness and robustness of CSA compared to other meta-heuristic algorithms in terms of solution equality and computation efficiency.

Soliman et al. (2017) used CSA to solve the Economic Dispatch and Economic Emission Dispatch Problems for Abu-Rudeis Field Power Plant (ARFPP) in Egypt. The performance of CSA was tested based on 11 gas generator sets taken from ARFPP grid. Simulation results revealed that CSA achieves promising results compared to fmincom method.

Kumar et al. (2016) used CSA for solving Security Constrained Non-convex Economic Load Dispatch Problem with Prohibited Operation Zones and Ramp Rates. CSA was evaluated in comparison with PSO and Classical approach Lagrange’s algorithm (LA). Simulation results showed the effectiveness of CSA compared to PSO and LA algorithms.

Habachi et al. (2019) applied CSA for solving the economic load dispatch problem of the Morocco electricity network. The performance of CSA was evaluated using 6 power generators test cases in comparison with PSO and Conventional Methods (CM). Simulation results showed that CSA yields better performance compared to PSO and CM in terms of accuracy and production cost.

4.3.2 Optimal Power Flow

Naresh et al. (2019) used CSA for solving the Optimal Power Flow (OPF) problem. The performance of CSA was tested based on IEEE 14-bus, 26-bus, and 30-bus power systems with 3 objective functions (cost of generation, emission, and active power loss) and 4 constraints (generator, active power, reactive power limits, and valve point loading). Simulation results showed that CSA gives faster convergence, lower cost, and lower active power loss compared to other optimization techniques such as FPA, Moth Swarm Algorithm (MSA), and Modified PSO (MPSO).

Saha et al. (2017) used CSA for solving the problem of OPF. The effectiveness of CSA was validated based on IEEE 30-bus test system with different objective functions including total fuel cost, total active power loss, voltage deviation, voltage stability index, and total emission. Simulation results showed the effectiveness and robustness of CSA to produce superior results for the system compared to well-known optimization algorithms existing in the literature.

Fathy and Abdelaziz (2018) employed CSA for solving OPF problem for electric power systems. The robustness of CSA was evaluated based on IEEE 30-bus system and IEEE 118-bus system with various constrained objective functions such as total fuel cost, active power loss, and pollutant emission. Experimental results showed the superiority and efficiency of CSA in solving OPF problem compared to other meta-heuristics available in the literature.

4.3.3 Distributed Generator

Zaki et al. (2017) used CSA for enhancing the performance of an Inverter-Based Distributed Generation (DG) System. The performance of CSA was evaluated based on PSCAD/EMTDC environment in comparison with GA. Simulation results showed that CSA obtained minimum execution time and minimum iteration number compared to GA.

Ismael et al. (2018) employed CSA to determine the optimal size and placement of distributed generation (DG) in real Egyptian radial distribution networks. The performance of CSA was tested based on three DG types such as constant current, constant power, and constant impedance. Simulation results showed the performance of CSA in minimizing the system losses and maximizing the overall saving.

NageswaraRao et al. (2017) used CSA for optimal allocation of distributed generation to reduce the power losses. The effectiveness of CSA was evaluated based on IEEE 33-bus and IEEE 69-bus in comparison with Improved Analytical (IA) method. Simulation results showed the better performance of CSA in comparison with IA method.

4.3.4 Optimal Reactive Power Dispatch

Lakshmi and Kumar (2018) used CSA for solving the Optimal Reactive Power Dispatch Problem. The effectiveness of CSA was tested based on standard IEEE 30-bus, 57-bus, and 118-bus test systems. Simulation results revealed the efficiency of CSA compared to other existing optimization techniques in terms of search capability and robustness.

4.3.5 Optimal Capacitor/Compensator Allocation

Shaheen and El-Sehiemy (2017) used CSA for optimal placement of capacitor devices on medium-voltage distribution networks. The effectiveness of CSA was tested based on East Delta Network (EDN) as a real Egyptian distribution network. Experimental results showed the performance of CSA to obtain optimal allocation of capacitor devices.

Choudhary et al. (2016) used CSA to investigate the optimal placement of static synchronous compensator (STATCOMs) to improve the voltage profile and reduce the transmission losses. The efficiency of CSA was tested based on IEEE 14, IEEE 30, and IEEE 57 standard bus systems. Simulation results showed that CSA obtained best location for allocation of STATCOM.

4.3.6 Optimal Conductor Size Selection

Abdelaziz and Fathy (2017) employed CSA for solving the problem of optimal selection of conductor size in radial distribution networks. The performance of CSA was evaluated based on 16-bus and 86-bus radial distribution systems under the constraints of bus voltage limits and the current capacity of the conductor. Simulation results revealed the superiority of CSA compared to other existing algorithms in the literature.

4.3.7 Bridges Reinforcement

Valdivia et al. (2019) used CSA for solving the problem of bridge reinforcement through conversion of cable-stayed arch. The performance of CSA was tested with other optimization techniques by using a well-known statistical test. Experimental results revealed the robustness and performance of CSA to solve the bridges reinforcement problem.

4.3.8 Virtual Machine Placement

Satpathy et al. (2017) used two methods: Greedy Crow Search (GCS) and Travelling Salesman Problem based Crow Search (TSPCS) to solve VM placement problem in cloud data centers. The performance of the two methods were evaluated in terms of resource utilization and power consumption in comparison with First Fit (FF) algorithm. Simulation results revealed that TSPCS gives better performance compared to GCS and FF methods.

4.3.9 Capacitated Vehicle Routing

Dhanya and Kanmani (2018) applied CSA for solving the Capacitated Vehicle Routing Problem (CVRP). CSA parameters were considered with five levels represented by numbers starting from 0.1 at an interval of 0.2 and numbers starting from 0.5 at an interval of 0.5 for awareness probability and flight length, respectively. The effectiveness of CSA was evaluated using 3 various size-CVRP instances selected from Christofides and Eilon instances. Simulation results showed that CSA achieves better performance in small, medium, and large CVRP instances.

4.3.10 Load frequency control

Pain and Acharjee (2018) used CSA for controlling the load frequency of security-constrained deregulated power system (DPS). A unique objective function was developed by combining area control error (ACE) and significant time response (STR) specifications with suitable weighting coefficients. Simulation results showed the effectiveness and superiority of CSA compared to real codded (RGA) and Enhanced PSO (EPSO) algorithms by providing better results and superior convergence capability.

4.3.11 Optimal High-Pass Filters Design

Aleem et al. (2017) used CSA for solving the problem of optimal design of resonance-free third-order high-pass filter in distributed networks. The effectiveness of CSA was evaluated in comparison with GA and PSO algorithms by regarding the indices of investment and operating costs. Experimental results showed the efficiency and convergence capability of CSA compared to GA and PSO.

4.3.12 Irrigation Management

Banadkooki et al. (2020) employed CSA for optimizing reservoir operation and minimizing irrigation water deficit. The performance of CSA was tested taking into account 3 indices including vulnerability index, volumetric reliability index, and resiliency index. Simulation results showed the efficiency and superiority of CSA compared to GA, PSO, Shark Algorithm (SHA), and Weed Algorithm (WA).

4.3.13 Hybrid Power System

Elbaz and Güneşer (2019) used CSA to optimize the size wind power plant/hybrid PV in Libya. The effectiveness of CSA was evaluated using long-run data pertaining to wind speed and solar radiation to find out the numbers of batteries, wind turbines, and PV panels. Simulation results showed the robustness and performance of CSA compared to PSO in terms of cost minimization and computation time. CSA was proved to be a reliable optimizing tool for hybrid power system.

4.3.14 Optimal Coordination of Overcurrent

Sarkar et al. (2019) used CSA for optimal coordination of overcurrent (OC) relay in mesh distribution networks. The effectiveness of CSA was evaluated using 4 different power system networks in comparison with GA, Continuous GA (CGA), FA, Chaotic FA (CFA), Simplex Method (SM), and Root Tree Algorithm (RTA). Simulation results showed the efficiency and ability of CSA to provide better solutions when compared with some well-known optimization techniques.

Table 6 CSA Applications Areas

5 Discussion and future works

CSA is a recent and promising nature-inspired optimization algorithm that has been used to solve a large variety of optimization problems. Many advantages can be listed for this algorithm as summarized in Table 6. The most interesting one is its few control parameters. Indeed, this meta-heuristic requires to adjust only two parameters. It is also characterized by its reasonable execution time, its good convergence acceleration rate, and its ability to be easily hybridized with other optimization solutions. However, CSA presents some limitations and disadvantages. The main limitation is that the No Free Lunch (NFL) theorem confirms that an optimization algorithm cannot perform successfully on all optimization problems. Moreover, CSA may sometimes stuck in local optima due to the poor tuning of its control parameters. To overcome that, researchers have developed many variants of CSA as mentioned previously and showed in Tables 3 and 4. However, there are still several possibilities for new open areas. As future works, we suggest:

Table 7 Advantages and disadvantages of CSA
  • Development of improved versions of CSA to tune the two control parameters.

  • Development of modified versions of CSA to deal with some complex optimization problems.

  • Comparison of the performance of CSA with other meta-heuristics such as KH, CFO, BBO, SSA, and MVO algorithms.

  • Hybridization of CSA with other meta-heuristics like ACO, CS, FA, HS, BBO, and SSA algorithms to enhance the balance between exploration and exploitation.

  • Application of CSA to solve other optimization problems in the fields of computer science (Multicast Routing, Intrusion Detection, Text Summarization, Wireless mesh network planning), Electrical engineering (Photo-electronic detection, renewable energy optimization, annual energy loss), Mechanical engineering (parameter calibration, steel making), and real-world applications (Timetabling, self-driving cars) (Table 7).

6 Conclusion

CSA is a swarm intelligence algorithm that has drawn attention from researchers since it was developed in 2016. This work provided a comprehensive survey of CSA and its modifications, hybridizations, and applications. We showed that related studies proved the effectiveness, robustness, flexibility, and capability of CSA to generate good solutions with a reasonable computational time. Despite its success, there are still several research areas which are not covered by this meta-heuristic. For instance, the hybridization of CSA with other meta-heuristics could be proposed to enhance the exploitation and exploration of CSA. Another possible area for future search is the introduction of new methods for CSA parameters adjustment according to problems needs. Also, another interesting research area is the application of CSA to solve other optimization problems.