Dispersive flies optimisation is a bare-bones swarm intelligence algorithm which is inspired by the swarming behaviour of flies hovering over food sources. DFO is a simple optimiser which works by iteratively trying to improve a candidate solution with regard to a numerical measure that is calculated by a fitness function. Each member of the population, a fly or an agent, holds a candidate solution whose suitability can be evaluated by their fitness value. Optimisation problems are often formulated as either minimisation or maximisation problems. DFO was introduced with the intention of analysing a simplified swarm intelligence algorithm with the least number of tunable parameters and components. In the first work on DFO, this algorithm was compared against a few other existing swarm intelligence techniques using error, efficiency and diversity measures. It is shown that despite the simplicity of the algorithm, which only uses agents’ position vectors at time t to generate the position vectors for time t + 1, it exhibits a competitive performance. Since its inception, DFO has been used in a variety of applications including medical imaging and image analysis as well as data mining and machine learning.
Algorithm
DFO bears many similarities with other existing continuous, population-based optimisers. In that, the swarming behaviour of the individuals consists of two tightly connected mechanisms, one is the formation of the swarm and the other is its breaking or weakening. DFO works by facilitating the information exchange between the members of the population. Each fly represents a position in a d-dimensional search space:, and the fitness of each fly is calculated by the fitness function, which takes into account the flies' d dimensions:. The pseudocode below represents one iteration of the algorithm: for i = 1 : N flies
end for i = arg min for i = 1 : N and for d = 1 : D dimensions
else
end if end for d end for i In the algorithm above, represents fly at dimension and time ; presents 's best neighbouring fly in ring topology, at dimension and time ; and is the swarm's best fly. Using this update equation, the swarm's population update depends on each fly's best neighbour. Other than the population size, the only tunable parameter is the disturbance threshold, which controls the dimension-wise restart in each fly vector. This mechanism is proposed to control the diversity of the swarm. Other notable minimalist swarm algorithm is Bare bones particle swarms, which is based on particle swarm optimisation, along with bare bonesdifferential evolution which is a hybrid of the bare bones particle swarm optimiser and differential evolution, aiming to reduce the number of parameters. Alhakbani in her PhD thesis covers many aspects of the algorithms including several DFO applications in feature selection as well as parameter tuning.
Applications
Some of the recent applications of DFO are listed below: