cuckoo search final

17
Cuckoo Search Optimization Algorithm Algorithm Design CS435 Group Members : Arjun Feressa Haymanot James June 2014

Upload: nepaladz

Post on 16-May-2015

701 views

Category:

Documents


14 download

TRANSCRIPT

Page 1: Cuckoo search final

Cuckoo Search Optimization Algorithm

Algorithm Design CS435

Group Members :Arjun

Feressa Haymanot

JamesJune 2014

Page 2: Cuckoo search final

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.

Page 3: Cuckoo search final
Page 4: Cuckoo search final

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.

Page 5: Cuckoo search final

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.

Page 6: Cuckoo search final

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,

Page 7: Cuckoo search final

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.

Page 8: Cuckoo search final

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).

Page 9: Cuckoo search final

• 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.

Page 10: Cuckoo search final

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

Page 11: Cuckoo search final

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.

Page 12: Cuckoo search final

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

Page 13: Cuckoo search final

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

Page 14: Cuckoo search final

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

Page 15: Cuckoo search final

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.

Page 16: Cuckoo search final

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.

Page 17: Cuckoo search final

Thank You