Many applications involve optimization, and thus require sophisticated optimization algorithms to solve. Such applications can be very diverse, spanning many areas and disciplines from engineering designs and scheduling to data mining and machine learning[41, 43, 13, 33, 40]. One of the current trends is to use metaheuristic algorithms inspired by the successful characteristics in nature. Among these new algorithms, cuckoo search has been shown to be powerful in solving many problems [41, 43]. This standard version was mainly designed for single objective optimization problems, which was later extended to multiobjective optimization . Both versions used simplified characteristics to represent the brood parasitism of some cuckoo species and their interactions with host birds species.
However, the reality is far more complicated in the cuckoo-host co-evolution systems . The co-evolution often involves multiple cuckoo species that compete with each other and compete for the resources of host bird species, while the hosts can also have multiple species. Cuckoo species tend to evolve to lay eggs with mimicry of the size, colours and texture of the eggs of host birds, often with critical timing advantage, while host birds can counter-act such parasitism by developing their defensive strategies to identify potential intruding eggs and minimize the risk of hatching cuckoo eggs. This arms race is both co-evolutionary and ongoing [11, 27], and the co-evolution seems to promote species richness and subspecies variations as well as diversity in parasitic cuckoos .
One way to model such co-evolution has been proposed by Mishra 
to use a host-parasite co-evolutionary approach where both parasites and hosts took random flights and the probability of detection or rejection of eggs is dynamic, depending on the accumulative success of the parasites such as cuckoos. This approach has been used to solve both function optimization problems and completing incomplete correlation matrix. However, this approach only captured a very small part of the major characteristics of the cuckoo-host co-evolutionary systems.
In order to capture more detailed characteristics of this co-evolution system, in this paper, we extend the original cuckoo search to a new multi-species co-evolutionary cuckoo search algorithm, which simulates the main co-evolutionary behaviour of both cuckoo species and host species.
Therefore, the paper is organized as follows. Section 2 summarizes the original cuckoo search and its main equations. Section 3 outlines the novel features of the new multi-species cuckoo search, followed by the numerical experiments on 15 different test benchmarks in Section 4. Section 5 presents the results of five different case studies concerning engineering designs, inverse parameter estimation and data clustering. The paper concludes with discussions about further research directions in Section 6.
In order to capture more detailed characteristics of this co-evolution system, in this paper, we extend the original cuckoo search to a new multi-species co-evolutionary cuckoo search algorithm, which simulates the main co-evolutionary behaviour of both cuckoo species and host species. Therefore, the paper is organized as follows. Section 2 summarizes the original cuckoo search and its main equations. Section 3 outlines the novel features of the new multi-species cuckoo search, followed by the numerical experiments on 15 different test benchmarks in Section 4. Section 5 presents the results of five different case studies concerning engineering designs, inverse parameter estimation and data clustering. The paper concludes with discussions about further research directions in Section 6.
2 The Original Cuckoo Search
Cuckoo search (CS) is a nature-inspired metaheuristic algorithms, developed in 2009 by Xin-She Yang and Suash Deb . CS is based on the brood parasitism of some cuckoo species. In addition, this algorithm is enhanced by the so-called Lévy flights , rather than by simple isotropic random walks. Recent studies show that CS is potentially far more efficient than PSO and genetic algorithms [42, 17]. A relatively comprehensive review of the studies up to 2014 was carried out by Yang and Deb .
2.1 Cuckoo Search and its Algorithmic Equations
In the natural world, many cuckoo species (59 species among 141 cuckoo species) engage the so-called obligate reproduction parasitism strategy. There is an evolutionary arms race between such cuckoo species and their associated host species [10, 11, 27]. Based on such phenomena, Yang and Deb developed the cuckoo search in 2009 , which uses three simplified rules: 1) Each cuckoo lays one egg at a time, and dumps it in a randomly chosen nest. 2) The best nests with high-quality eggs will be carried over to the next generations. 3) The number of available host nests is fixed, and the egg laid by a cuckoo is discovered by the host bird with a probability . In this case, the host bird can either get rid of the egg, or simply abandon the nest and build a completely new nest at a new location.
In the original cuckoo search, there is no distinction between an egg, a nest, or a cuckoo, as each nest corresponds to one egg which also represents one cuckoo, which makes it much easier to implement . Mathematically speaking, cuckoo search uses a combination of a local random walk and the global explorative random walk, controlled by a switching parameter . The local random walk can be written as
where and are two different solutions selected randomly by random permutation, is a Heaviside function,
is a random number drawn from a uniform distribution, andis the step size. Here is the small scaling factor.
On the other hand, the global random walk is carried out by using Lévy flights
where is the step size scaling factor, which should be related to the scales of the problem of interest. Here ‘’ highlights the fact that the search steps in terms of random numbers should be drawn from the Lévy distribution on the right-hand side of Eq. (3), which approximates the Lévy distribution by a power-law distribution with an exponent . In addition, here denotes that the multiplication is an entry-wise operation. The use of Lévy flights makes the algorithm more likely to jump out of any local optima, enabling a better exploration ability [28, 41, 43].
2.2 Cuckoo Search in Applications
Since the development of the cuckoo search algorithm in 2009, it has been applied in many areas, including optimization, engineering design, data mining and computational intelligence with promising efficiency. From the case studies in engineering design applications, it has been shown that cuckoo search has superior performance to other algorithms for a range of continuous optimization problems [42, 17, 16, 43, 50]. A review by Yang and Deb covered the literature up to 2013 , while a review by Fister et al. covered the literature up to 2015, and another review by Mohamad et al. focused on applications up to 2014 . The most recent literature has been carried out by Shehab et al. , which covers some of the literature up to 2017. These reviews have briefly outlined some of the diverse applications using cuckoo search and its variants.
, training neural networks, runoff-erosion modelling , phase equilibrium in thermodynamic calculations , network optimization , scheduling , multilevel color image segmentation , biodiesel engine optimization 
, graphic objective feature extraction, fractional order PID control design , vulnerabilities mitigation  and others .
In addition, different cuckoo search variants have been developed. For example, a binary cuckoo search for feature selection has been developed by Pereira et al.. Walton et al.  developed a modified cuckoo search for solving complex mesh generation in engineering simulation, while Zheng and Zhou  provided a variant of cuckoo search using Gaussian process. Mlakar et al. developed a self-adaptive cuckoo search , while Wang et al. enhanced cuckoo search with chaotic maps .
3 Multi-Species Cuckoo Search
In the original cuckoo search and its many variants, there is only one cuckoo species interacting with one species of host birds. In the standard cuckoo search, a cuckoo is allowed to lay a single egg and each nest contains only a single egg. This is a very simplified scenario. In the real-world cuckoo-host systems, it is observed that multiple cuckoo species co-evolve with multiple host species to compete for survival of the fittest by brood parasitism [10, 27]. Loosely speaking, cuckoos can evolve to subspecies with speciation, and they can be subdivided into different gentes targeting at different host species [11, 21]. The interaction dynamics can be very complex, forming an on-going, co-evolutionary arms race between cuckoo subspecies and host species as well as different cuckoo species. Studies have shown that such co-evolution may promote species richness in parasitic cuckoos with the enhanced speciation and extinction rates . Strictly speaking, different species, subspecies and gentes are used in the biological literature and their meanings are different [21, 27]; however, we will simply use species here for simplicity.
Based on these characteristics, we can extend the original cuckoo search to capture more realistic cuckoo-host co-evolution to develop a new multi-species co-evolution cuckoo search, or multi-species cuckoo search (MSCS) for short.
In order to describe the multi-species cuckoo search in detail, we use the following idealized rules/assumptions:
There are multiple cuckoo species ( species) that compete and co-evolve with a host species. The arms race between cuckoo species and the host species obeys the survival of the fittest. Both the best cuckoos and the best hosts will pass onto the next generation.
Each cuckoo of any cuckoo species can lay eggs inside a randomly selected host nest. Each cuckoo egg has a probability to be discovered (and then abandoned) by the host (thus the survival probability is ).
Each nest contains eggs. If the fraction/ratio of cuckoo eggs is higher than , the host bird can abandon the nest and then fly away to build a new nest in a new location.
Based on these rules for MSCS, we can represent them more mathematically. Each solution to an optimization problem is represented by an egg, which corresponds to a -dimensional vector. Therefore, an egg is equivalent to a solution, and a nest represents a group of solutions.
In general, there are species with a total population of , each species has cuckoos such that
Each cuckoo lays eggs. There are host nests, and each nest can have eggs on average. So the total number of eggs in the host nests are , which should be greater than . That is, . In nature, it is estimated that approximately to of eggs in the host nests are cuckoo eggs. Thus, we can set for simplicity.
Competition can occur at three different levels: intraspecies competition, inter-species competition and cuckoo-host competition. Even for a single species, cuckoos within the same species can compete for host nests. For multiple species, one species of cuckoos can compete with cuckoos from other species by egg-replacing strategy. The most significant competition is the cuckoo-host competition. All these three kinds of competition interact and co-evolve to form a complex system, leading to potential self-organizing intelligent behaviour.
Different cuckoo species will compete for survival of the fittest, and they can take over other cuckoos’ territory or replace eggs laid by other cuckoo species. This can be done simply by random swapping its location vector with another in a dimension-by-dimension manner. This binary random swapping operator can be realized by
where is randomly selected from cuckoo species , while is selected from cuckoo species . Here, is a random binary vector with the same length of and each of its components is either 1 or 0 [i.e., ]. For example, is a binary vector in a 7-dimensional space. Again, means that the operation is a component-wise or dimension-wise operation.
The main steps for implementing and simulating the above idealized characteristics are as follows:
There are two population sets: a total population of cuckoos for cuckoo species (each has its own population ), and a population of host nests. Thus, there are two initial best solutions: to denote the best cuckoo among all cuckoo species (each species has its own best cuckoo ) and to denote the best host in terms of objective fitness.
For each generation of evolution, each cuckoo (say, cuckoo ) from a cuckoo species (say, species ) can lay eggs in a randomly selected host nest (say, nest ). The newly laid eggs will replace randomly selected eggs in the nest (so that the total number of eggs in the nest remain constant ). The main equation for this action can be carried out by Eq.(1).
For any new egg laid by a cuckoo, there is a probability of to be discovered. Among eggs, if the fraction of cuckoo eggs exceeds , the host can abandon the nest completely and fly away to build a new nest at a new location via Eq.(2).
Different species of cuckoos will compete for survival and territories, thus they can lay eggs in nests that other cuckoos just laid. This competition is equivalent to replacing or swapping its own eggs with another cuckoo’s eggs from different species. Thus, it can be achieved by randomly swapping their components dimension by dimension via (5) and (6).
Random mixing is carried out in terms of egg-laying and nest choices among different cuckoo species and the host species.
Both the best cuckoos and host nests (in terms of their fitness) should pass onto the next generation.
These key steps can be schematically represented as the pseudocode in Algorithm 1. To illustrate the main ideas, for two species of cuckoos with a total population of , we have and . If two species have the same population size, we have . For simplicity, if all nests have the same number of four eggs in nests, we have and , thus there eggs in all the nests. In addition, if each cuckoo lays one egg at a time (or ), this means that there are cuckoo eggs in the cuckoo-host system. Thus, in this case, there are exactly of the eggs belong to cuckoos in the combined population of cuckoo species and host nests.
Obviously, the number of cuckoo eggs in a particular nest can be randomly distributed from to . For , if there are or eggs in a nest, one egg may typically belong to cuckoos. If the number of alien eggs is higher, this nest can be abandoned by its host, and thus a new replacement nest with new eggs (or randomly generated solutions) will be built in a new location, typically far enough from the original location.
It is worth pointing out that there seems to have some similarity between multi-species cuckoo interactions and the multi-swarm optimization in the literature . However, there are two key differences here: the multi-species cuckoo search (MSCS) mimics the co-evolution between parasite cuckoo species and host species, while mutli-swarms mainly split a population of the same kind into subgroups or subswarms. In addition, the share of information in MSCS is among the same cuckoo species and the same host species, not directly shared among competing species. Such information-sharing structure can potentially enable extensive exploitation of local information as well as global information. On the other hand, multi-swarms tend to share information among all subswarms. Furthermore, different cuckoo species compete for survival, while the multi-swarms do not compete. These differences mean that MSCS is not a simple multi-swarm system, rather it is an interacting co-evolving multi-swarm system. Therefore, different characteristics and performance can be expected.
4 Validation by Numerical Experiments
All new algorithms have to be extensively tested by a diverse range of benchmarks and case studies. As a preliminary test, we will use a subset of 15 function benchmarks and 5 case studies.
For this purpose, we have selected 15 benchmark functions with different modalities and objective landscapes from traditional optimization functions, the CEC2005 test suite and most recent CEC2015 test functions. The chosen set of benchmarks have diverse properties so that we can test the proposed algorithm more thoroughly.
The first function is the shifted sphere function from the CEC2005 benchmark suite . This function has the global minimum in the domain .
The second function is Ackley function
which has its global minimum at . This function is highly nonlinear and multimodal.
The third function is Yang’s forest-like function
which has the global minimum at in the domain of . This function is highly nonlinear and multimodal, and its first derivatives do not exist at the optimal point due to the modulus factor.
The fourth function is the shifted Schwefel’s problem with noise in fitness as given in CEC2005 benchmark suite , which has the mean global minimum in the domain .
The fifth function is Schwefel’s Problem 2.22 
which has the global minimum at in the domain . This function is unimodal.
The sixth function is the shifted Rosenbrock function of CEC2005 benchmark suite with the minimum in .
The seventh function is the shifted and rotated Griewank function with the minimum in the domain of .
The eighth function is Function 23 of the CEC2005 benchmarks , which is a non-continuous rotated hybrid composition function with the minimum in .
The ninth function is Function 24 of the CEC2005 benchmarks , which is a rotated hybrid composition function with in .
The tenth function is Function 25 of the CEC2005 benchmark suite , which is a rotated hybrid composition function without bounds with the minimum of in .
The next five functions are taken from the CEC2015 benchmark suite [8, 30]. The 11th function is the rotated bent cigar function with the minimum , while the 12th function is the rotated Discus function with the minimum of . The 13th function is the shifted and rotated Weierstrass function with , and the 14th function is the shifted and rotated Schwefel’s function with . Finally, the 15th function is the shifted and rotated Katsuura function with . All these functions have variables in the domain of [-100,100] where is the dimensionality of the functions.
4.2 Parameter Settings
For the implementations, we have used , , , , , and for the two sets of populations. For the parameters in the algorithmic equations, we have used , , and a fixed number of iterations as the stopping criterion.
In addition, is used for all the test functions in the first experiment, then is used for the second numerical experiment, while all other parameter values remain the same. For both the standard cuckoo search (CS) and the proposed MSCS, we have used so that the total numbers of function evaluations remain the same for all algorithms. Thus, the fairness of the comparison in terms of function evaluations is ensured. The parameter setting has been based on preliminary parametric studies in our own simulation as well as the suggestions in the literature [41, 43].
Each algorithm has been run for trials so as to calculate the best (minimum) and means of the obtained solutions. The error is defined as the absolute value of the difference between the best found by the algorithm and the true minimum (true). That is
The numerical results are summarized in Table 1 where the best corresponds to the minimum of and the mean corresponds to the average value of .
From Table 1, we can see that MSCS can obtain better results in all the benchmarks. The diversity among the cuckoo-host populations in MSCS is higher than those in CS, and the MSCS can be potentially more robust. This will in general promote the exploration ability of the search process.
Another way of looking at the simulation results is to analyze and compare the convergence behaviour. In fact, MSCS converges faster than CS for all the test functions by tracing both the minimum objective values found during iterations. For example, for function , its convergence plot is shown in Fig. 1 where we can see that MSCS converges faster even from the very early iterations.
In order to test the proposed algorithm for solving higher-dimensional problems, we have also tested the function benchmarks for . In most literature, researchers tend to use higher numbers of iterations for higher values of , typically , but we have used the same settings of the parameters as before; that is, . The results are summarized in Table 2.
As we can see from Table 2 that the MSCS obtained better results for almost all functions, except for the shifted and rotated Weierstrass function where the two algorithms obtained the same orders of results, but the variation of MSCS is small. This means that the MSCS not only can produce optimal solutions, but also is sufficiently robust.
5 Practical Applications
To test the proposed MSCS algorithm further, we now use five test problems in real-world applications with diverse properties and nonlinearity. Three case studies are about designs in engineering and they are mostly mixed integer programming problems. The fourth case study is the parameter estimation problem or an inverse problem, which requires to solve a second-order differential equation to calculate the values of objective function. The final problem is the data clustering using the well-know Fisher’s iris flower data set.
It is worth pointing out that these case studies are seemingly simple, but they are quite hard to solve due to high nonlinearity, multimodality and irregular search domains. The pressure vessel problem is also a mixed integer programming problem, which is much harder to solve, compared its continuous counterpart.
5.1 Design of a Spring
Let us start with a simple but nonlinear problem about the design of spring under tension or compression [2, 9] from a metal wire. There are three design variables: the wire diameter (), the mean coil diameter (), and the number () of turns/coils. The objective is to minimize the overall weight of the spring
subject to nonlinear constraints:
Some simple bounds or limits for the design variables are:
Using the proposed MSCS with the same parameter settings given in Section 4.2, the results of 20 different runs are summarized in Table 3 where comparison is also made. As we can see, MSCS can obtain the best or the same results as the best results in the literature.
|Author||Optimal solution||Best objective|
|Arora ||(0.053396, 0.399180, 9.185400)||0.01273|
|Coello ||(0.051480, 0.351661, 11.632201)||0.01271|
|Yang and Deb ||(0.051690, 0.356750, 11.28716)||0.012665|
|Present||(0.051690, 0.356750, 11.28716)||0.012665|
5.2 Pressure Vessel Design
A well-known design benchmark is the pressure vessel design problem that has been used by many researchers. This problem concerns the minimization of the overall cost of a cylindrical vessel subject to stress and volume requirements. There are four design variables, including the thickness and for the head and body, respectively, of the vessel, the inner radius and the length of the cylindrical section [6, 9]. The main objective is
subject to four constraints:
The inner radius and length are limited to . However, the thickness and can only be the integer multiple of a basic thickness of 0.0625 inches. Thus, the simple bounds for thickness are
This is a mixed integer programming because two variables are discrete and the other two variables are continuous.
|Author||Optimal solution||Best objective|
|Cagnina et al. ||(0.8125, 0.4375, 42.0984, 176.6366)||6059.714|
|Coello ||(0.8125, 0.4375, 42.3239, 200.0)||6288.7445|
|Yang et al. ||(0.8125, 0.4375, 42.0984456, 176.6365959)||6059.714|
|Present||(0.8125, 0.4375, 42.0984456, 176.6366)||6059.714|
Using the same parameter settings as before, the results of 20 independent runs are summarized and compared in Table 4. In fact, all these algorithms can find the global optimal solution as found by Yang et al. .
5.3 Speed Reducer Design
The speed reducer design is an engineering design benchmark, which has 7 design variables such as the face width of the gear, number of teeth, and diameter of the shaft and others . All these variables can take continuous values, except for which is an integer.
The objective to minimize the cost function
subject to 11 constraints:
In addition, the simple bounds for the variables are: , , (integers only), , , , and .
|Author||Optimal solution||Best objective|
|Akhtar et al. ||(3.5061, 0.7, 17, 7.549, 7.8593, 3.3656,5.28977)||3008.08|
|Cagnita et al. ||(3.5, 0.7, 17, 7.3, 7.8, 3.350214, 5.286683)||2996.348165|
|Yang & Gandomi ||(3.5, 0.7, 17, 7.3, 7.71532, 3.35021, 5.2875||2994.467|
|Present||(3.5, 0.7, 17, 7.3, 7.8, 3.34336449, 5.285351)||2993.749589|
The results of the 20 independent runs are summarized and comparison has been made in Table 5. As we can see, MSCS obtained the best result. Since there is no literature about the analysis of this problem and we do not know what the global best solution should be, we can only say that is the best result achieved so far.
5.4 Parameter Identification of Vibrations
For a simple vibration problem, there are two unknown parameters and to be estimated from the measurements of the vibration amplitudes. The governing equation is
In general, the solution is a damped harmonic motion. However, for fixed and with an initial values of and , there is an analytical solution , which can be written as
For a real system with a forcing term , we do not know the parameters, but the vibrations can be measured. For example, in an experiment, there are measurements as shown in Table 6.
The task is to estimate the values of the two parameters. However, one of the main challenges is that the calculation of the objective function that is defined as the sum of errors squared. That is
where the predicted
has to be obtained by solving the second-order ordinary differential equation (27) numerically and iteratively for every guessed set of and .
Using the MSCS with a population of cuckoos and the same parameter setting given in Section 4.2. We have run the algorithm for 20 times, and the mean values of estimate parameters are: and , which are very close to the true values of and .
5.5 Iris Classification
To test the MSCS algorithm further, we use it to solve the classification problem of the well-known Fisher’s Iris flower data set. This data set has 150 data points or instances with 4 attributes and 3 distinct classes . We use the data from the UCI Machine Learning Repository111http://archive.ics.uci.edu/ml/datasets/Iris.
We have encoded the centres of the clusters as the solution vectors so as to minimize the overall intra-clustering distances. Although the parameter settings are the same as before, the number of iterations is limited to 100 so as to be comparable with the results from the literature 
. The best values obtained are compared with the results obtained by other methods such as the hybrid k-means and PSO approach, multiple kernel based fuzzy c-means with cuckoo search , and k-means with improved feature based cluster centre initialization algorithm (CCIA) .
The optimization results are summarized in Table 7. As we can see, MSCS obtained the best result which signifies an improvement over the best results obtained by multiple kernel fuzzy c-means based cuckoo search approach (MKF-cuckoo) .
|K-means and PSO||Kao et al. |
|MKF-Cuckoo||Binu et al. |
|K-means||Khan & Ahmad |
|K-means with CCIA||Khan & Ahmad |
The results and simulation we have obtained so far are indeed encouraging. Obviously, we will carry out more thorough evaluations of the proposed approach in the future work. So let us summarize the work we have done so far in this paper.
The original cuckoo search has been extended to capture more realistic characteristics of cuckoo-host co-evolution systems. We have thus developed a multi-species cuckoo search for solving optimization problems using multiple cuckoo species competing and co-evolving with host species. We then tested the proposed approach using a set of 15 function benchmarks to show that the proposed algorithm can indeed work well. Preliminary results suggest that MSCS can have a higher convergence rate and obtain better results in general. In addition, we have used 5 different case studies from engineering designs, parameter estimation and data clustering to further test the proposed algorithm. Our simulation results and subsequent comparison have shown that the MSCS can indeed find the optimal solutions that are either better and comparable with the results obtained by other methods.
The essence of multi-species co-evolution is to use more than one species so as to see how different species interact and compete. In the present studies, we have just used species for the cuckoo-host co-evolution. Future work will focus on more than two species and more detailed parametric studies using different numbers of species with varied population sizes. In addition, it would gain more insight by tuning the key parameters in the algorithm to see how they may affect the overall performance of the algorithm.
Furthermore, in the real-world cuckoo-host co-evolution systems, there are multiple cuckoo species interacting with multiple host species, which can have much more complex behaviour and characteristics. The current approach with the preliminary tests consists of only a single host species with multiple cuckoo species. A possible extension can be the multiple host bird species compete and co-evolve with multiple cuckoo species. For example, the common cuckoos can lay eggs in many different host species including garden warblers and reed warblers . The number of eggs laid by cuckoos and inside nests can be random. It can also be useful to carry out further tests of this algorithm using a more extensive set of benchmarks and real-world case studies.
Acknowledgement: The authors would like to thank the anonymous reviewers for their constructive comments.
-  Akhtar S, Tai K, Tay T. A socio-behavioural simulation model for engineering design optimization. Engineering Optimization 2002; 34(4): 341–454.
-  Arora JS. Introduction to Optimum Design. New York: McGraw-Hill; 1989.
-  Bhargava V, Fateen, SEK, Bonilla-Petriciolet A. (2013). Cuckoo search: a new nature-inspired optimization method for phase equilibrium calculations. Fluid Phase Equilibria 2013; 337:191–200.
-  Binu D, Selvi M, Aloysius G. MKF-cuckoo: hyrbidization of cuckoo search and multiple kernel-based fuzzy c-means algorithm. AASRI Procedia 2013; 4: 243–249.
Blackwell T and Branke J, Multi-swarm optimization in dynamic environments, in: Applications of Evolutionary Computing, EvoWorkshops 2004, Lecture Notes in Computer Science, Vol. 3005, Springer, Berlin, 2004; 489–500.
Cagnina LC, Esquivel SC, Coello Coello CA. Solving engineering optimization problems with the simple constrained particle swarm optimizer. Informatica 2008; 32:319–326.
-  Chandrasekaran K, Simon SP. Multi-objective scheduling problem: hybrid appraoch using fuzzy assisted cuckoo search algorithm. Swarm and Evolutionary Computation 2012; 5(1): 1–16.
-  Chen Q, Liu B, Zhang Q, Suganthan PN, Qu BY, Problem definition and evaluation criteria for CEC2015 special session and competition on bound constrained single-objective computationally expensive numerical optimization, Technical Report, Commputational Intelligence Laboratory, Zhengzhou University, China and Technical Report, Nanyang Technology Univesity, Singapore, Nov. 2014.
-  Coello Coello CA. Use of a self-adaptive penalty approach for engineering optimization problems. Computers in Industry 2000; 41: 113-127.
-  Davies NB and Brooke ML. Co-evolution of the cuckoo and its hosts. Scientific American 1991; 264(1):92-98.
-  Davies NB. Cuckoo adaptations: trickery and tuning. Journal of Zoology 2011; 284(1): 1–14.
-  Dhivya M and Sundarambal M. Cuckoo search for data gathering in wireless sensor networks. Int. J. Mobile Communications 2011; 9(4): 642-656.
-  Dubey HM, Pandit M, Panigrahi BK, A biologically inspired modified flower pollination algorithm for solving dispatch problems in modern power systems. Cognitive Computation 2015; 7(5): 594–608.
-  Duda RO, Hart PE. Pattern Classification and Scene Analysis. New York: John Wiley and Sons; 1973.
-  Durgun I, Yildiz AR. Structural design optimization of vehicle components using cuckoo search algorithm. Materials Testing 2012; 3(3): 185-188.
-  Fister Jr I, Fister D, Fister I. A comprehensie review of cuckoo search: variants and hybrids. Int. J. Mathematical and Numerical Optimisation 2013; 4(4): 387–409.
-  Gandomi AH, Yang XS, Alavi AH. Cuckoo search algorithm: a metaheuristic approach to solve structural optimization problems. Engineering with Computers 2013; 29(1): 17–35.
-  Golinski J. An adaptive optimization system applied to machine synthesis. Mech. Mach. Theory 1973; 8(4): 419–436.
-  Kao Y-T, Zahara E, Kao I-W. A hybridized approach to data clustering. Expert Systems with Applications 2008; 34(3): 1754–1762.
Khan SS, Ahmad A. Cluster center initialization algorithm for k-means clustering. Pattern Recognition Letters 2004; 25(11): 1393–1302.
-  Krüger O, Sorenson MD, Davies NB. Does co-evolution promote species richness in parasitic cuckoos? Proc. Roy. Soc. B 2009; 276(1674): 3871–3879.
Mishra SK. Global optimization of some difficult benchmark functions by host-parasite co-evolutionary algorithm. Economics Bulletin 2013; 33(1): 1–18.
-  Mlakar U, Fister Jr I, Fister I. Hybrid self-adaptie cuckoo search for global optimization. Swarm and Evolutionary Computation 2016; 29: 47–72.
Mohamad AB, Zain AM, Bazin NEN, Cuckoo search algorithm for optimization problems – A literature review and its applications. Applied Artificial Intelligence 2014; 28 (5): 419–448.
-  Moravej Z, Akhlaghi A. A novel approach based on cuckoo search for DG allocation in distribution network. Electrical Power and Energy Systems 2013; 44(1): 672–679.
-  Pare S, Kumar A, Bajaj V, Singh GK. A multilevel color image segmentation technique based on cuckoo search algorithm and energy curve, Applied Soft Computing 2016; 47:76–102.
-  Payne RB. The Cuckoos. Oxford: Oxford University Press; 2005.
-  Pavlyukevich I. Lévy flights, non-local search and simulated annealing. J. Computational Physics 2007; 226(2):1830-1844.
-  Pereira LAM, Rodrigues D, Almeida TNS, Ramos CCO, Souza AN, Yang XS, Papa JP. A binary cuckoo search and its application for feature selection. in: Cuckoo Search and Firefly Algorithm. Studies in Computational Intelligence 2013; Vol.516, pp.141–154.
-  Qu BY, Liang JJ, Wang ZY, Chen Q, Suganthan PN, Novel benchmark functions for continuous multimodal optimization with comparative results, Swarm and Evolutionary Computation 2016; 26(1): 23-34.
-  Santos CAG, Freire PKMM, Mishra SK. Cuckoo search via Lévy fligths for optimization of a physically-based runoff-erosion model. Journal of Urban and Environmental Engineering 2012; 6(2): 123–131.
-  Shehab M, Khader AT, Al-Betar MA. A survy on applications and variants of the cuckoo search algorithm. Applied Soft Computing 2017; https://doi.org/10.1016/j.asoc.2017.02.034
-  Siddique N, Adeli H, Nature-inspired chemical reaction optimisation algorithms. Cognitive Computation 2017; 9: 411-422.
-  Suganthan PN, Hansen N, Liang JJ, Deb K, Chen YP, Auger A, Tiwari S. Problem definitions and evaluation criteria for the CEC2005 special session on real-parameter optimization, Technical Report of Nanyang Technological University, Singapore and KanGAL Report, IIT Kanpur, India; 2005.
-  Valian E, Mohanna S, Tavakoli S. Improved cuckoo search algorithm for feedforward neural network training. Int. J. Articial Intelligence and Applications 2011; 2(3): 36–43.
-  Walton S, Hassan O, Morgan K, Brown MR. Modified cuckoo search: a new gradient free optimization algorithm. Chaos, Solitons & Fractals 2011; 44(9): 710-718.
-  Wang GG, Deb S, Gandomi AH, Zhang ZJ, Alavi AH. Chaotic cuckoo search. Soft Computing 2016; 20(9): 3349–62.
-  Wong PK, Wong KI, Vong CM, Cheung CS. Modeling and optimization of biodiesel energy performance using kernel-based extreme learning machine and cuckoo search. Renewable Energy 2015; 74: 640–647.
-  Woźniak M, Polap D, Napoli C, Tramontana E. Graphic object feature extraction system based on cuckoo search algorithm. Expert Systems with Applications 2016; 66: 20–31.
-  Wu TQ, Yao M, Yang, JH. Dophin swarm extreme learning machine. Cognitive Computation 2017; 9(2): 275–284.
-  Yang XS, Deb S. Cuckoo search via Lévy flights, in: Proc. of World Congress on Nature & Biologically Inspired Computing (NaBic 2009), India, IEEE Publications, USA. 2009; pp. 210–214
-  Yang XS, Deb S. Engineering optimization by cuckoo search. Int. J. Math. Modelling Num. Optimisation 2010; 1(4): 330–343.
-  Yang XS, Deb S. Cuckoo search: recent advances and applications. Neural Computing and Applications 2014; 24(1): 169-174.
-  Yang XS, Gandomi AH. Bat algorithm: a novel approach for global engineering optimization. Engineering Computations 2012; 29(5): 464–483.
-  Yang XS. Cuckoo Search and Firefly Algorithm: Theory and Applications. Studies in Computational Intelligence, Vol. 516, Springer; 2014.
-  Yang XS, Deb S. Multiobjective cuckoo search for design optimization. Computers and Operations Research 2013; 40(6): 1616-1624.
-  Yang XS, Huyck C, Karamanoglu M, Khan N. True global optimality of the pressure vessel design problem: a benchmark for bio-inspired optimisation algorithms. Int. J. Bio-Inspired Computation 2013; 5(6): 329–335.
-  Yang XS. Engineering Mathematics with Examples and Applications. London: Academic Press; 2017.
-  Yao X, Liu Y, Lin G. Evolutionary programming made faster. IEEE Trans. Evol. Computation 1999; 3(2): 82-102.
-  Yildiz AR. Cuckoo search algorithm for the selection of optimal machine parameters in milling operations. Int. J. Adv. Manuf. Technol. 2013; 64(1): 55–61.
-  Zamani AA, Tavakoli S, Etedali S. Fractional order PID control design for semi-active control of smart base-isolated structures: a multi-objective cuckoo search approach. ISA Tractions 2017; 67: 222-232.
-  Zheng HQ, Zhou Y. A novel cuckoo search optimization algorithm based on Gauss distribution. J. Computational Information Systems 2012; 8(10): 4193–4200.
-  Zineddube M. Vulnerabilities and mitigation techniques toning in the cloud: a cost and vulnerablities coverage optimization approach using cuckoo search algorithm with Lévy flights. Computers & Security 2015; 48: 1–18.