Flower pollination algorithm

Flower pollination algorithm (FPA) is a metaheuristic algorithm that was developed by Xin-She Yang,[1] based on the pollination process of flowering plants. FPA has been applied to solve practical problems in engineering,[2] solar PV parameter estimation,[3] and fuzzy selection for dynamic economic dispatch.[4]

Main Characteristics

This algorithm has 4 rules or assumptions:

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 p \in [0, 1]. 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:

 x_i^{t+1}=x_i^t + L (x_i^t-g_*)
 x_i^{t+1}=x_i^t + \epsilon (x_i^t-x_k^t)

where x_i^t is the solution vector and g_* is the current best found so far during iteration. The switch probability between two equations during iterations is p. In addition, \epsilon is a random number drawn from a uniform distribution. L 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:

 L \sim \frac{1}{s^{1+\beta}},

where \beta is the Lévy exponent.[5] It may be challenging to draw Lévy steps properly, and a simple way of generating Lévy flights s is to use two normal distributions u and v by a transform[6]

 s = \frac{u}{|v|^{1+\beta}},

with

 u \sim N(0, \sigma^2), \quad v \sim N(0,1),

where \sigma is a function of \beta.


A matlab demo program is available for function optimization[7]

References

  1. 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).
  2. X. S. Yang, M. Karamanoglu, X. S. He, Flower pollination algorithm: A novel approach for multiobjective optimization, Engineering Optimization, Vol. 46, No. 9, 1222-1237 (2014).
  3. D. F. Alam, D. A. Yousri, M. B. Eteiba, Flower pollination algorithm based solar PV parameter estimation, Energy Conversion and Management, Vol. 101, pp. 410-422 (2015)
  4. H. M. Dubey, M. Pandit, B.K. Panigraphi, Hybrid flower pollination algorithm with time-varying fuzzy selection mechanism for wind integrated multi-objective dynamic economic dispatch, Renewable Energy, Vol. 83, pp. 188-202 (2015).
  5. I. Pavlyukevich, Lévy flights, non-local search and simulated annealing, J. Computational Physics, Vol. 226, 1830-1844 (2007).
  6. X. S. Yang, Nature-Inspired Optimization Algorithms, Elsevier, (2014).
  7. X. S. Yang,http://www.mathworks.com/matlabcentral/fileexchange/45112-flower-pollination-algorithm
This article is issued from Wikipedia - version of the Wednesday, January 13, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.