|
Algorithm 3. CLUSTER FORMATION |
|
for i: 1 to N |
| j = i; |
|
while(j > 1 && (j − 1) > (j)) |
| swap( (j), (j − 1)) |
| swap(lat(j), lat(j − 1)) |
| swap(long(j), long(j − 1)) |
| swap(alt(j), alt(j − 1)) |
| j = j − 1; |
| end |
| end |
| for all drones n : |
| q = n/4; |
| h = n/2; |
| hq = h+q; |
| arr1 = arr(1:q); |
| arr2 = arr(q + 1:h); |
| arr3 = arr(h + 1,hq); |
| arr4 = arr(hq + 1,n); |
| optarr1[arr1 ][arr4 ]; |
| optarr2[arr2] [arr3 ]; |
| end |
|
for each cluster do
|
|
fordronekdo
|
| Calculate distance of dronek from other drones; |
| Update dronek position ; |
| Calculate value; |
|
if ≥ gbest
then
|
|
gbest = ; |
| end |
| end |
| Elect dronek as leader; |
| end |