Upload
nepaladz
View
701
Download
14
Tags:
Embed Size (px)
Citation preview
Cuckoo Search Optimization Algorithm
Algorithm Design CS435
Group Members :Arjun
Feressa Haymanot
JamesJune 2014
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.
a cuckoo which hatches and is raised by non-relatives, is known as a brood parasite.
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 meta-heuristic algorithms in applications.
Note:- Heuristic: experience-based techniques for problem
solving, A heuristic is still a kind of an algorithm, but one
that will not explore all possible states of the problem,
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 pa (0,1).
• As a further approximation, this last assumption can be
approximated by a fraction pa of the n nests being
replaced by new nests (with new random solutions at
new locations).
• For a maximization problem, the quality or fitness of a
solution can simply be proportional to the objective
function. Other forms of fitness can be defined in a
similar way to the fitness function in genetic algorithms.
Lévy flight
When generating new solutions x(t+1) for, say cuckoo i, a L´evy flight is performed
xi(t+1) = xi
(t) + α ⊕ L evy(λ ) …….. (1)
Where α > 0 is the step size, which should be related to the
scales of the problem of interest. In most cases, we can use α = 1
New Solution Current Location
The transition probability
Use of Lévy flight
Some of the new solutions should be generated by L´evy walk around the best solution obtained so far, this will speed up the local search.
However, a substantial fraction of the new solutions should be generated by far field randomization and whose locations should be far enough from the current best solution, this will make sure the system will not be trapped in a local optimum.
Replace j by the new Solution
End
Start
Initialize a Random population of n host nests, xi
Get a Cuckoo randomly ,i
Evaluate its Fitness Fi
Select a nest among n randomly , j
Let j as the solution
Abandon a fraction pa of worse nests and build new one at new locations
Keep the Current Best
Find the best nest
Fi>=Fj
T<=MaxIterationsNo
Yes
No
Yes
Let Eggs Grow
Initialize Cuckoos with Eggs
Lay Eggs in different nests
Some of Eggs are detected and killed
Determine Egg Laying Radius for each Cuckoo
Move all Cuckoos to wards best environment
Determine Cuckoo Societies
Find nests with best Survival rate
Start
Check Survival of Eggs in nests
Kill Cuckoos in worst Area
Stop Condition
Population < MaxValue
yes
No
No
yes End
PSEUDO CODE OF CUCKOO SEARCH ALGORITHM Begin Objective function f(x), x = (x1, ..., xd) ; Initial a population of n host nests xi (i = 1, 2, ..., n); while (t <MaxGeneration) or (stop criterion)
Get a cuckoo (say i) randomly by Lévyflights; Evaluate its quality/fitness Fi; Choose a nest among n (say j) randomly; if (Fi > Fj) Replace j by the new solution; end Abandon a fraction (pa) of worse nests and build new ones at new locations via L´evy flights; Keep the best solutions (or nests with quality solutions); Rank the solutions and find the current best; end while Postprocess results and visualization; End
Comparison with other Meta Heuristic Algorithms
An important advantage of this algorithm is its simplicity.
Compared to other metaheuristic algorithms there is essentially only a single parameter(Pa) in Cuckoo Search (apart from the population size n).
It is very easy to implement.
Applications The applications of Cuckoo Search in engineering
optimization. Solve NP-Hard problems like Traveling Salesman
Problem and Nurse Scheduling Problem.
Spring design and Welded beam design problems.
Solve nurse scheduling problem.
An efficient computation for data fusion in wireless
sensor networks.
A new quantum-inspired cuckoo search was
developed to solve Knapsack problems.
Efficiently generate independent test paths for
structural software testing and test data generation.
Applied to train neural networks with improved
performance.
Thank You