Cuckoo search
   HOME

TheInfoList



OR:

In
operations research Operations research () (U.S. Air Force Specialty Code: Operations Analysis), often shortened to the initialism OR, is a branch of applied mathematics that deals with the development and application of analytical methods to improve management and ...
, cuckoo search is an
optimization Mathematical optimization (alternatively spelled ''optimisation'') or mathematical programming is the selection of a best element, with regard to some criteria, from some set of available alternatives. It is generally divided into two subfiel ...
algorithm In mathematics and computer science, an algorithm () is a finite sequence of Rigour#Mathematics, mathematically rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algo ...
developed by
Xin-She Yang Xin-She Yang is Reader at the Middlesex University and was a senior research scientist at National Physical Laboratory, best known as a developer of various heuristic algorithms for engineering optimization. He obtained a DPhil in applied mathe ...
and Suash Deb in 2009. It has been shown to be a special case of the well-known (μ + λ)-
evolution strategy Evolution strategy (ES) from computer science is a subclass of evolutionary algorithms, which serves as an optimization (mathematics), optimization technique. It uses the major genetic operators mutation (evolutionary algorithm), mutation, recomb ...
. It was inspired by the obligate brood parasitism of some
cuckoo Cuckoos are birds in the Cuculidae ( ) family, the sole taxon in the order Cuculiformes ( ). The cuckoo family includes the common or European cuckoo, roadrunners, koels, malkohas, couas, coucals, and anis. The coucals and anis are somet ...
species by laying their eggs in the nests of host birds of other species. Some host birds can engage direct conflict with the intruding cuckoos. For example, if a host bird discovers the eggs are not their own, it will either throw these alien eggs away or simply abandon its nest and build a new nest elsewhere. Some cuckoo species such as the
New World The term "New World" is used to describe the majority of lands of Earth's Western Hemisphere, particularly the Americas, and sometimes Oceania."America." ''The Oxford Companion to the English Language'' (). McArthur, Tom, ed., 1992. New York: ...
brood-parasitic Tapera have evolved in such a way that female parasitic cuckoos are often very specialized in the mimicry in colors and pattern of the eggs of a few chosen host species. Cuckoo search idealized such breeding behavior, and thus can be applied for various optimization problems.


Metaphor

Cuckoo search (CS) uses the following representations: Each egg in a nest represents a solution, and a cuckoo egg represents a new solution. The aim is to use the new and potentially better solutions (cuckoos) to replace a not-so-good solution in the nests. In the simplest form, each nest has one egg. The algorithm can be extended to more complicated cases in which each nest has multiple eggs representing a set of solutions. CS is based on three idealized rules: # Each cuckoo lays one egg at a time, and dumps its egg in a randomly chosen nest; # The best nests with high quality of eggs will carry over to the next generation; # The number of available hosts nests is fixed, and the egg laid by a cuckoo is discovered by the host bird with a probability p_a \in (0,1). In this case, the host bird can throw the egg away/abandon the nest, and build a completely new nest. In addition, Yang and Deb discovered that the random-walk style search is better performed by Lévy flights rather than simple
random walk In mathematics, a random walk, sometimes known as a drunkard's walk, is a stochastic process that describes a path that consists of a succession of random steps on some Space (mathematics), mathematical space. An elementary example of a rand ...
.


Algorithm

The
pseudo-code In computer science, pseudocode is a description of the steps in an algorithm using a mix of conventions of programming languages (like assignment operator, conditional operator, loop) with informal, usually self-explanatory, notation of action ...
can be summarized as: Objective function: f(\mathbf), \quad \mathbf=(x_1,x_2,\dots,x_d); \, Generate an initial population of n host nests; While (tF_i or maximization, F_i \propto f(\mathbf_i) Choose a nest among n (say, j) randomly; if (F_i>F_j ), Replace j by the new solution; end if A fraction (p_a) of the worse nests are abandoned and new ones are built; Keep the best solutions/nests; Rank the solutions/nests and find the current best; Pass the current best solutions to the next generation; end while An important advantage of this algorithm is its simplicity. In fact, comparing with other population- or agent-based
metaheuristic In computer science and mathematical optimization, a metaheuristic is a higher-level procedure or heuristic designed to find, generate, tune, or select a heuristic (partial search algorithm) that may provide a sufficiently good solution to an op ...
algorithms such as
particle swarm optimization In computational science, particle swarm optimization (PSO) is a computational method that Mathematical optimization, optimizes a problem by iterative method, iteratively trying to improve a candidate solution with regard to a given measure of qu ...
and
harmony search This is a chronologically ordered list of metaphor-based metaheuristics and swarm intelligence algorithms, sorted by decade of proposal. Algorithms 1980s-1990s Simulated annealing (Kirkpatrick et al., 1983) Simulated annealing is a pr ...
, there is essentially only a single parameter p_a in CS (apart from the population size n). Therefore, it is very easy to implement.


Random walks and the step size

An important issue is the applications of Lévy flights and random walks in the generic equation for generating new solutions : \mathbf_=\mathbf_t + s E_t, where E_t is drawn from a standard normal distribution with zero mean and unity standard deviation for random walks, or drawn from Lévy distribution for Lévy flights. Obviously, the random walks can also be linked with the similarity between a cuckoo's egg and the host's egg which can be tricky in implementation. Here the step size s determines how far a random walker can go for a fixed number of iterations. The generation of Lévy step size is often tricky, and a comparison of three algorithms (including Mantegna's) was performed by Leccardi who found an implementation of Chambers et al.'s approach to be the most computationally efficient due to the low number of random numbers required. If s is too large, then the new solution generated will be too far away from the old solution (or even jump outside of the bounds). Then, such a move is unlikely to be accepted. If s is too small, the change is too small to be significant, and consequently such search is not efficient. So a proper step size is important to maintain the search as efficient as possible. As an example, for simple isotropic random walks, we know that the average distance r traveled in the d-dimension space is : r^2=2 d D t, where D=s^2/2\tau is the effective diffusion coefficient. Here s is the step size or distance traveled at each jump, and \tau is the time taken for each jump. The above equation implies that : s^2=\frac. For a typical length scale L of a dimension of interest, the local search is typically limited in a region of r=L/10 . For \tau=1 and t=100 to 1000, we have s\approx 0.01L for d=1, and s \approx 0.001L for d=10. Therefore, we can use s/L=0.001 to 0.01 for most problems. Though the exact derivation may require detailed analysis of the behaviour of Lévy flights. Algorithm and convergence analysis will be fruitful, because there are many open problems related to metaheuristics


Theoretical analysis

As significant efforts, theoretical analyses are required to improve performances of CS-base algorithms: # Theoretical analysis on convergence of CS-based algorithms # Providing the sufficient and necessary conditions for the control parameter settings # Employing non-homogeneous search rules to enhance the classical CS algorithm


Improved Cuckoo Search Algorithms

Convergence of Cuckoo Search algorithm can be substantially improved by genetically replacing abandoned nests (instead of using the random replacements from the original method). Modifications to the algorithm have also been made by additional interbreeding of best (high quality) nests and this approach has been successfully applied to a range of industrial optimisation problems.


References

{{Optimization algorithms Nature-inspired metaheuristics