# Three-Dimensional Drone Cell Placement: Drone Placement for Optimal Coverage
## 4 Proposed Methods for Optimal DC Placement
### Dispersive Flies Optimization  
DFO will be treated as the base-mark algorithm. DFO works on the basis of the movement of flies hovering over food sources. It has been proposed in this paper since it has been proven to outperform generic population-based algorithms such as the differential evolution algorithm (DE), PSO and Genetic Algorithm (GA) and is more effective and reliable in 84.62% and 90% of cases, respectively, when tested over a set of standard benchmarks, and if there exists a statically significant difference, DFO converged the solution in 71.05% of the problems set [48]. DFO requires fewer parameters for its function in comparison to the other aforementioned swarm intelligence algorithms. Dispersive Flies Optimization (DFO) is a minimalist, component-stripped swarm optimizer that relies exclusively on the particles' positions at time \(t\) to determine their positions at time \(t+1\). Unlike other algorithms such as PSO, which uses memory and velocity vectors, or DE, which employs mutant and trial vectors, DFO does not use any additional vectors in its process. The pseudo code for DFO is presented in Algorithm 3.  
These three meta-heuristic algorithms were selected due to their operational diversity and frequent use in the DA-RAN domain. Particle Swarm Optimization has been the most widely used meta-heuristic by leading researchers in the field, as discussed in Section 2. Differential evolution is also a well-established algorithm, applied in a variety of contexts, with its use cases explored in [49]. Dispersive Flies Optimization, while relatively new, is a simple yet effective swarm algorithm, demonstrating performance that can match or surpass others in certain scenarios, as detailed in Section 4.3. Through the implementation of these algorithms, this paper aims to provide an overview of the most commonly used methods for DC placement, while also highlighting lesser-known approaches that can deliver results comparable to those achieved by the pioneers in the field.  
```
1:procedureDFO(\(N,D,\mathbf{X}_{min},\mathbf{X}_{max},f\))
2:for\(i=0\to N-1\)do\(\triangleright\) Initialization
3:for\(d=0\to D-1\)do
4:\(x_{id}^{0}\leftarrow\)\(U(x_{min,d},x_{max,d})\)
5:endfor
6:endfor
7:while\(!\) termination criteria do\(\triangleright\) Main DFO loop
8:for\(i=0\to N-1\)do
9:\(\mathbf{X}_{i}.fitness\gets f(\mathbf{X}_{i})\)
10:endfor
11:\(\mathbf{X}_{s}=\) arg min \([f(\mathbf{X}_{i})]\), \(i\in\{0,1,2,.....N-1\}\)
12:for\(i=0\to N-1\) and \(i\
eq s\)do
13:\(\mathbf{X}_{i_{n}}=\) arg min \([f(\mathbf{X}_{(i-1)\in N}),f(\mathbf{X}_{(i+1)\%N})]\)
14:for\(d=0\to D-1\)do
15:if\(U(0,1)<\Delta\)then
16:\(x_{id}^{t+1}\gets U(x_{min,d},x_{max,d})\)\(\triangleright\) Restart
17:else
18:\(u\gets U(0,1)\)
19:\(x_{id}^{t+1}\gets x_{id}^{t}+u(x_{sd}^{t}-x_{id}^{t})\)\(\triangleright\) Update
20:if\(x_{id}^{t+1}<x_{min,d}\) or \(x_{id}^{t+1}>x_{max,d}\)then
21:\(x_{id}^{t+1}\gets U(x_{min,d},x_{max,d})\)
22:endif
23:endif
24:endfor
25:endfor
26:endwhile
27:return\(\mathbf{X}_{s}\)
28:endprocedure
```  
**Algorithm 3** Dispersive Flies Optimization (DFO)