Dispersive flies optimisation (DFO) 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 fewest 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 (e.g. particle swarm optimization and differential evolution). 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 (the swarming flies). Each fly formula_1 represents a position in a "d"-dimensional search space: formula_2, and the fitness of each fly is calculated by the fitness function formula_3, which takes into account the flies' "d" dimensions: formula_4.
The pseudocode below represents one iteration of the algorithm:
 for i = 1 : N flies
 formula_5
 end for i 
 formula_6 = arg min formula_7
 for i = 1 : N and formula_8
 for d = 1 : D dimensions
 if formula_9
 formula_10
 else
 formula_11
 end if 
 end for d
 end for i 
In the algorithm above, formula_12 represents fly formula_13 at dimension formula_14 and time formula_15; formula_16 presents formula_17's best neighbouring fly in ring topology (left or right, using flies indexes), at dimension formula_14 and time formula_19; and formula_20 is the swarm's best fly. Using this update equation, the swarm's population update depends on each fly's best neighbour (which is used as the focus formula_21, and the difference between the current fly and the best in swarm represents the spread of movement, formula_22).
Other than the population size formula_23, the only tunable parameter is the disturbance threshold formula_24, 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 (BB-PSO), which is based on particle swarm optimisation, along with bare bones differential evolution (BBDE) 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:
References.
 ;templatestyles src="Reflist/styles.css" / ;