Firefly algorithm
   HOME

TheInfoList



OR:

In mathematical optimization, the firefly algorithm is a
metaheuristic In computer science and mathematical optimization, a metaheuristic is a higher-level procedure or heuristic designed to find, generate, or select a heuristic (partial search algorithm) that may provide a sufficiently good solution to an optimizati ...
proposed by Xin-She Yang and inspired by the flashing behavior of
fireflies The Lampyridae are a family of elateroid beetles with more than 2,000 described species, many of which are light-emitting. They are soft-bodied beetles commonly called fireflies, lightning bugs, or glowworms for their conspicuous production ...
.


Algorithm

In pseudocode the algorithm can be stated as: Begin 1) Objective function: 2) Generate an initial population of fireflies 3) Formulate light intensity so that it is associated with (for example, for maximization problems, 4) Define absorption coefficient while (t < MaxGeneration) for i = 1 : n (all n fireflies) for j = 1 : i (n fireflies) Vary attractiveness with distance r via move firefly i towards j; Evaluate new solutions and update light intensity; end if end for j end for i Rank fireflies and find the current best; end while end Note that the number of objective function evaluations per loop is one evaluation per firefly, even though the above pseudocode suggests it is ''n''×''n''. (Based on Yang's
MATLAB MATLAB (an abbreviation of "MATrix LABoratory") is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementa ...
code.) Thus the total number of objective function evaluations is (number of generations) × (number of fireflies). The main update formula for any pair of two fireflies \mathbf_i and \mathbf_j is :: \mathbf_i^=\mathbf_i^t + \beta \exp \gamma r_^2(\mathbf_j^t - \mathbf_i^t) +\alpha_t \boldsymbol_t where \alpha_t is a parameter controlling the step size, while \boldsymbol_t is a vector drawn from a Gaussian or other distribution. It can be shown that the limiting case \gamma \rightarrow 0 corresponds to the standard Particle Swarm Optimization (PSO). In fact, if the inner loop (for j) is removed and the brightness I_j is replaced by the current global best g^*, then FA essentially becomes the standard PSO.


Criticism

Nature-inspired
metaheuristics In computer science and mathematical optimization, a metaheuristic is a higher-level procedure or heuristic designed to find, generate, or select a heuristic (partial search algorithm) that may provide a sufficiently good solution to an optimiza ...
in general have attracted criticism in the research community for hiding their lack of novelty behind metaphors. The firefly algorithm has been criticized as differing from the well-established particle swarm optimization only in a negligible way.


See also

* Swarm intelligence


References


External links



Files of the Matlab programs included in the book: Xin-She Yang, Nature-Inspired Metaheuristic Algorithms, Second Edition, Luniver Press, (2010). {{collective animal behaviour Nature-inspired metaheuristics