Cuckoo Search Algorithm
- Pages: 4
- Word count: 980
- Category: Bird
A limited time offer! Get a custom sample essay written according to your requirements urgent 3h delivery guaranteedOrder Now
Cuckoo is an optimization algorithm developed by Xin she Yang and Sushan Deb in 2009. This optimization algorithm is inspired by the life of a bird family, called Cuckoo. Special lifestyle of these birds and their characteristics in egg laying and breeding has been the basic motivation for development of this new evolutionary optimization algorithm.Lets discuss about this concept through this article. Cuckoo’s breeding behavior:
Cuckoo has the habit of laying their eggs in the nest of some host birds The mother removes one egg laid by the host mother, lays her own and flies off with the host egg in her bill. The whole process takes barely ten seconds. Some parasitic female cuckoo replicate the color and prototype of eggs of a few chosen host species.If the host bird ascertain the eggs are not their own they may either obliterate the cuckoo eggs or build a new nest. Some of these eggs which are more similar to the host bird’s eggs have the opportunity to grow up and become a mature cuckoo. The grown eggs reveal the suitability of the nests in thatarea.
The more eggs survive in an area, the more profit is gained in that area.Cuckoos search for the most suitable area to lay eggs in order to maximize their eggs survival rate. After remained eggs grow and turn into a mature cuckoo, they make some societies. Each society has its habitat region to live in. The best habitat of all societies will be the destination for the cuckoos in other societies. Then they immigrate toward this best habitat. They will inhabit somewhere near the best habitat. Considering the number of eggs each cuckoo has and also the cuckoo’s distance to the goal point (best habitat), some egg laying radii is dedicated to it. Then, cuckoo starts to lay eggs in some random nests inside her egg laying radius. This process continues until the best position with maximum profit value is obtained and most of the cuckoo population is gathered around the same position.
In order to solve an optimization problem, it’s necessary that the values of problem variables be formed as an array. Nvar, representing current living position of cuckoo. This array is defined as follows: Habitat = [x1, x2, . . . , xNvar ] . Each of the variable values (x1, x2, . . . , xNvar ) is floating point number.The profit of a habitat is obtained by evaluation of profit function fp at a habitat of (x1, x2, . . . , xNvar ). So Profit = fp(habitat) = fp(x1, x2, . . . , xNvar ) To start the optimization algorithm, a candidate habitat matrix of size Npop × Nvar is generated. Then some randomly produced number of eggs is supposed for each of these initial cuckoo habitats. In nature, each cuckoo lays from 5 to 20 eggs. These values are used as the upper and lower limits of egg dedication to each cuckoo at different iterations. Another habit of real cuckoos is that they lay eggs within a maximum distance from their habitat. From now on, this maximum range will be called “Egg Laying Radius (ELR)”.
In an optimization problem with upper limit of varhi and lower limit of varlow for variables, each cuckoo has an egg laying radius (ELR) which is proportional to the total number of eggs, number of current cuckoo’s eggs and also variable limits of varhi and varlow. So ELR is defined as: ELR = α × Number of current cuckoo’s eggs Total number of eggs ×(varhi −varlow) ,where α is an integer, supposed to handle the maximum value of ELR. Each cuckoo only flies x% of all distance toward goal habitat and also has a deviation of ϕ radians. These two parameters, x and ϕ, help cuckoos search much more positions in all environment. For each cuckoo, xand ϕ are defined as follows: x~U(0, 1);ϕ ~ U(−ω, ω)where x ~U(0,1) means that x is a random number (uniformly distributed) between 0 and 1. ω is a parameter that constrains the deviation from goal habitat. An ω of x/6 (rad) seems to be enough for good convergence of the cuckoo population to global maximum profit. LEVY FLIGHTS:
A Lévy flight is a random walk in which the step-lengths are distributed according to a heavy-tailed probability distribution. After a large number of steps, the distance from the origin of the random walk tends to a stable distribution. where 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 determines how far a random walker can go for a fixed number of iterations.
For Matlab implementation, this biased random walk can partly be achieved by stepsize=rand*(nest(randperm(n),:)-nest(randperm(n),:));
new_nest=nest+stepsize.*K; where K=rand(size(nest))>pa and pa is the discovery rate
The applications of Cuckoo Search into engineering optimization problems have shown its promising efficiency. For example, for both spring design and welded beam design problems .A promising discrete cuckoo search algorithm is recently proposed to solve nurse scheduling problem.An efficient computation approach based on cuckoo search has been proposed for data fusion in wireless sensor networks.Several more applications pf Cuckoo search has been in use. CONCLUSION:
In this paper, an improved cuckoo search algorithm enhancing the accuracy and convergence rate of the cuckoo search algorithm was proposed. The impact of keeping the parameters of the cuckoo search algorithm constant was discussed and a strategy for improving the performance ofthe algorithm by properly tuning these parameters was presented. According to the simulation results, the proposed approach performed well in several benchmark problems in terms of the accuracy of the solutions found.