Firefly algorithm

The firefly algorithm is a metaheuristic proposed by Xin-She Yang and inspired by the flashing behaviour of fireflies.

The primary purpose for a firefly’s flash is to act as a signal system to attract other fireflies. Xin-She Yang formulated this firefly algorithm by assuming:

  1. All fireflies are unisexual, so that any individual firefly will be attracted to all other fireflies;
  2. Attractiveness is proportional to their brightness, and for any two fireflies, the less bright one will be attracted by (and thus move towards) the brighter one; however, the intensity (apparent brightness) decrease as their mutual distance increases;
  3. If there are no fireflies brighter than a given firefly, it will move randomly.

The brightness should be associated with the objective function.