Cuckoo Search
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
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.
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.
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.
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.
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.
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).
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;
What is the algorithm?
How does it work?
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.
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.
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.
Thank You

Cuckoo search

  • 1.
  • 2.
    What is CuckooSearch? 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
  • 4.
    Consequence Some host birdscan 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 Somecuckoo 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 idealizedsuch 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 overa 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 ina 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 rulesof 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 walksare 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;
  • 11.
    What is thealgorithm? How does it work?
  • 12.
    Comparison with other MetaHeuristic 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 MetaHeuristic 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 ofCuckoo Search in engineering optimization problems have shown its promising efficiency.  Solve NP-Hard problems like Traveling Salesman Problem and Nurse Scheduling Problem.
  • 15.