Research Article

A Damage-Tolerant Task Assignment Algorithm for UAV Swarm in Confrontational Environments

Algorithm 2

Backup Copies Assigning in DTTA.
1 Get pi of arrival task tiB;
2 Let in U that satisfies task ti demands;
3 foreachuj in do.
4  Calculate the distance dij between task ti and UAV uj;
5 Sort in an increasing order by the value of dij;
6 Ucandidate ⟵ top α% UAV in ;
7 AllocateTagFALSE;
8 while!all uj∈Uhas been scanneddo.
9  Sort Ucandidate by task count in ascending order;
10  foreachuj in Ucandidatedo.
11   iftiB can overlap with uj’ last task then.
12    Calculate EFTj(tiB) in overlapping mode;
13    ifEFTj(tiB)<tdithen.
14     AllocateTagTRUE;
15     Assign tiB on UAV uj in overlapping mode;
16     st(ti) ⟵1;
17     break;
18  ifAllocateTag = FALSE;
19   foreachuj in Ucandidatedo.
20   Calculate EFTj(tiB) in non-overlapping mode;
21   ifEFTj(tiB)<tdithen.
22    AllocateTagTRUE;
23    Assign tiB on UAV uj in non-overlapping mode;
24    st(ti) ⟵1;
25    break;
26  ifAllocateTag = TRUE;
27   break;
28  Ucandidate ⟵ next top α% UAV in ;
29  ifallocateTagFALSEthen.
30  Reject tiB;