2. What is Cuckoo Search?
Cuckoo search (CS) is an optimization algorithm
developed by Xin-she Yang and Suash Deb in 2009.
It was inspired by the obligate brood parasitism of
some cuckoo species by laying their eggs in the nests
of other host birds (of other species).
An obligate parasite is a parasitic organism that cannot complete its life cycle
without exploiting a suitable host. If an obligate parasite cannot obtain a host it will
fail to reproduce. This is opposed to a facultative parasite, which can act as a
parasite but does not rely on its host to continue its lifecycle.
The parasite may live outside of the host ectoparasite for example, a tick. Alternatively,
the parasite may live within the host endoparasite for example, the fluke. A special
alternative whereby the obligate parasite does not live directly in or on the host, but
rather acts at a distance. For example, a cuckoo which hatches and is raised by
3.
4. Consequence
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.
5. Adaptation, and Evolution
Some cuckoo species have evolved in such a
way that the female parasitic cuckoos are
often very specialized in the mimicry in colors
and pattern of the eggs of a few chosen host
species.
6. Inspiration
Cuckoo search idealized such breeding
behavior, and thus can be applied for various
optimization problems. It seems that it can
outperform other metaheuristic algorithms in
applications.
Heuristic: experience-based techniques for problem solving, learning, and
discovery that give a solution which is not guaranteed to be optimal. A heuristic is
still a kind of an algorithm, but one that will not explore all possible states of the
problem, or will begin by exploring the most likely ones. Eg. Chess.
Examples of Heuristic algorithms: Evolutionary Algorithms, Support Vector
Machines etc.
7. By searching over a large set of feasible
solutions, metaheuristics can often find good
solutions with less computational effort than
algorithms, iterative methods, or simple
heuristics. As such, they are useful
approaches for optimization problems.
8. 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.
9. Three idealized rules of Cuckoo Search
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 (0,1).
10. Often, random walks are assumed to be Markov chains or
Markov processes which is a random process usually
characterized as memoryless.
So in Markov process, the next state depends only on the
current state and not on the sequence of events that preceded
it.
Characteristic equation:
x(t+1) = x(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. Represents transition probability.
- s is step size
- x is position/state
Getting step size in Matlab:
stepsize=rand*(nest(randperm(n),:)-nest(randperm(n),:));
new_nest=nest+stepsize.*K;
12. Comparison with other
Meta Heuristic Algorithms
An important advantage of this algorithm is its
simplicity. Compared to other metaheuristic
algorithms such as particle swarm optimization
and harmony search, there is essentially only
a single parameter in Cuckoo Search (apart
from the population size n). Therefore, it is
very easy to implement.
13. Comparison with other
Meta Heuristic Algorithms
An important advantage of this algorithm is its
simplicity. Compared to other metaheuristic
algorithms such as particle swarm optimization
and harmony search, there is essentially only
a single parameter in Cuckoo Search (apart
from the population size n). Therefore, it is
very easy to implement.
14. Applications
The applications of Cuckoo Search in engineering optimization
problems have shown its promising efficiency.
Solve NP-Hard problems like Traveling Salesman Problem and
Nurse Scheduling Problem.