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 \mathbf{x} represents a position in a d-dimensional search space: \mathbf{x} = (x_1,x_2,\ldots,x_d), and the fitness of each fly is calculated by the fitness function f(\mathbf{x}), which takes into account the flies' d dimensions: f(\mathbf{x}) = f(x_1,x_2,\ldots,x_d) .
