| 
Algorithm 2. The Structure of the Mission Planning Framework Based on the Adaptive Two-Level Variable Neighborhood Search Algorithm | 
| 1: | 
Set the shaking neighborhoods structures of the first-level  with  and the shaking neighborhoods structures of the second-level  with . Set the local search neighborhood structures of the first-level  with , the local search neighborhood structures of the second-level  with . Let ,  and . | 
| 2: | 
{Initialization phase} | 
| 3: | 
 //generate an initial solution | 
| 4: | 
Repeat | 
| 5: | 
{First-Level Adaptive Shaking: Sensor allocation} //first-level
 | 
| 6: | 
//Adaptive select the shaking neighborhood structure, the UAVs, and sensors for shaking
 | 
| 7 | 
//generate the shaking solution according to shaking neighborhoods structure. | 
| 8: | 
{First-Level Local Search Phase: Sensor allocation}
 | 
| 9: | 
while 
 | 
| 10: | 
//perform local search onaccording to local search neighborhoods structure. | 
| 11: | 
while//second-level
 | 
| 12: | 
{Second-Level Shaking Phase: Route Planning}
 | 
| 13: | 
//generate the shaking solution of the second-level base on the shaking neighborhoods structure. | 
| 14: | 
{Second-Level Local Search Phase: Route Planning}
 | 
| 15: | 
while
 | 
| 16: | 
//perform local search onaccording to local search neighborhoods structure. | 
| 17: | 
if
 | 
| 18: | 
 | 
| 19: | 
 | 
| 20: | 
else
 | 
| 21: | 
 | 
| 22: | 
end if
 | 
| 23: | 
end while
 | 
| 24: | 
end while
 | 
| 25: | 
{Acceptance decision}
 | 
| 26: | 
iforis accepted
 | 
| 27: | 
 | 
| 28: | 
 | 
| 29: | 
else
 | 
| 30: | 
 | 
| 31: | 
end if
 | 
| 32: | 
end while
 | 
| 33: | 
Until the upper limit  of time or a given number  of iterations without improvement is reached |