Research Article

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

Algorithm 1

Primary Copies Assigning in DTTA.
1 Get pi of arrival task tiP;
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; FT ⟵ +∞; u ⟵ NULL;
8 while!all uj∈Uhas been scanneddo.
9  OverlapTagTRUE;
10  foreachuj in Ucandidatedo.
11   ifuj’s assigned last task can be overlapped then.
12    Calculate EFTj(tiP) in overlapping mode;
13    ifEFTj(tiP)<FT & EFTj(tiP) <tdithen.
14     FT ⟵ EFTj(tiP);
15     u ⟵ uj;
16  foreachuj in Ucandidatedo.
17   Calculate EFTj(tiP) in non-overlapping mode;
18   ifEFTj(tiP)<FT & EFTj(tiP) <tdithen.
19    OverlapTag ⟵ FALSE;
20    FT ⟵ EFTj(tiP);
21    u ⟵ uj;
22  ifu is not null & tiB can be scheduled & OverlapTag = TRUEthen.
23   AllocateTagTRUE;
24   Assign tiP on UAV u in overlapping mode;
25   generate backup copy tiB based on FT;
26   schedule tiB;
27   break;
28  ifu is not null then.
29   Assign tiP on UAV u in non-overlapping mode;
30   AllocateTagTRUE;
31   ifeti > etthresholdthen.
32    generate tiB based on FT;
33    schedule tiB;
34   break;
35  Ucandidate ⟵ next top α% UAV in ;
36  ifallocateTagFALSEthen.
37  Reject tiP;