#REDIRECT [[List of metaphor-based metaheuristics#Flower pollination]]
<!-- Please do not remove or change this AfD message until the issue is settled -->
{{Article for deletion/dated|page=Flower pollination algorithm|timestamp=20160715142231|year=2016|month=July|day=15|substed=yes|help=off}}
<!-- Once discussion is closed, please place on talk page: {{Old AfD multi|page=Flower pollination algorithm|date=15 July 2016|result='''keep'''}} -->
<!-- End of AfD message, feel free to edit beyond this point -->
{{Expert-subject|Computer science|talk=|reason=needs appropriate Wiki links and definitions for laymen|date=July 2015}}
'''Flower pollination algorithm''' (FPA) is a meta[[Heuristic (computer science)|heuristic]] [[algorithm]] that was developed by [[Xin-She Yang]],<ref>Xin-She Yang. Flower pollination algorithm for global optimization, Unconventional Computation and Natural Computation. Lecture Notes in Computer Science. Volume 7445, pp. 240-249 (2012).</ref> based on the [[pollination]] process of flowering [[plants]].
{{Redirect category shell|1=
== Main characteristics ==
{{R from merge}}
This algorithm has 4 rules or assumptions:
{{R to section}}
}}
1. Biotic and cross-pollination is considered as global pollination process with
pollen carrying pollinators performing Levy flights.
2. Abiotic and self-pollination are considered as local pollination.
3. Flower constancy can be considered as the reproduction probability is proportional
to the similarity of two flowers involved.
4. Local pollination and global pollination is controlled by a switch probability <math>p \in [0, 1]</math>.
Due to the physical proximity and other factors such as wind, local pollination can
have a significant fraction p in the overall pollination activities.
These rules can be translated into the following updating equations:
:<math> x_i^{t+1}=x_i^t + L (x_i^t-g_*)</math>
:<math> x_i^{t+1}=x_i^t + \epsilon (x_i^t-x_k^t)</math>
where <math>x_i^t</math> is the solution vector and <math>g_*</math> is the current best found so far during iteration. The switch probability between two equations during iterations is <math>p</math>. In addition, <math>\epsilon</math> is a random number drawn from a uniform distribution. <math>L</math> is a step size drawn from a Lévy distribution.
Lévy flights using Lévy steps is a powerful random walk because both global and local search capabilities can be carried out at the same time.
In contrast with standard Random walks, Lévy flights have occasional long jumps, which enable the algorithm to jump out any local valleys.
Lévy steps obey the following approximation:
:<math> L \sim \frac{1}{s^{1+\beta}}, </math>
where <math>\beta</math> is the Lévy exponent.<ref>I. Pavlyukevich, Lévy flights, non-local search and simulated annealing, J. Computational Physics, Vol. 226, 1830-1844 (2007).</ref> It may be challenging to draw Lévy steps properly, and a simple way of generating Lévy flights <math>s</math> is to use two normal distributions <math>u</math> and <math>v</math> by a transform<ref>X. S. Yang, Nature-Inspired Optimization Algorithms, Elsevier, (2014).</ref>
:<math> s = \frac{u}{|v|^{1+\beta}}, </math>
with
:<math> u \sim N(0, \sigma^2), \quad v \sim N(0,1), </math>
where <math>\sigma</math> is a function of <math>\beta</math>.
A matlab demo program is available for function optimization.<ref>X. S. Yang. http://www.mathworks.com/matlabcentral/fileexchange/45112-flower-pollination-algorithm</ref>
== References ==
{{Reflist|50em}}
[[Category:Nature-inspired metaheuristics]]
|