# Cooperative Scheduling of Imaging Observation Tasks for High-Altitude Airships Based on Propagation Algorithm

Authors: He Chuan; Qiu Dishan; Liu Jin
Journal: The Scientific World Journal
 (2012)

---

## Abstract

The cooperative scheduling problem on high-altitude airships for imaging observation tasks is discussed. A constraint programming model is established by analyzing the main constraints, which takes the maximum task benefit and the minimum cruising distance as two optimization objectives. The cooperative scheduling problem of high-altitude airships is converted into a main problem and a subproblem by adopting hierarchy architecture. The solution to the main problem can construct the preliminary matching between tasks and observation resource in order to reduce the search space of the original problem. Furthermore, the solution to the sub-problem can detect the key nodes that each airship needs to fly through in sequence, so as to get the cruising path. Firstly, the task set is divided by using k-core neighborhood growth cluster algorithm (K-NGCA). Then, a novel swarm intelligence algorithm named propagation algorithm (PA) is combined with the key node search algorithm (KNSA) to optimize the cruising path of each airship and determine the execution time interval of each task. Meanwhile, this paper also provides the realization approach of the above algorithm and especially makes a detailed introduction on the encoding rules, search models, and propagation mechanism of the PA. Finally, the application results and comparison analysis show the proposed models and algorithms are effective and feasible.


---

## Body

## 1. Introduction

The high-altitude airship is a stay-in-air aerostat, which is lifted off by static buoyancy and moved forward by propulsion device. It is normally powered by regenerative energies, such as solar cells or regenerative fuel cells. The high-altitude airship can stay 20~100 km above the ground in the near space for a long time. This airspace belongs to neither the aviation field nor spaceflight field, but it has a broad prospect in many military applications. Once equipped with various payloads, it can be used to fulfill different missions, such as information acquisition, communication security, and battlefield transportation [1–4].Nowadays, high-altitude airship located in the near space is attracting more and more interests worldwide. It is well known that some projects of high-altitude airship have been launched, for example, the Sky Tower [5] and Dark Sky Station [6] projects in USA, the Cargo Lifter [7] project in the European Union, the ETRI [8] project in Korea, and the Sky Net project in Japan [9]. China began its own high-altitude airship projects in 2002 and has already completed the design, manufacture and test flight of the low-altitude craft [10–12]. The verification airship has accomplished its low-altitude flight experiment in 2003. It is expected that the operational height of the final product is 20~22 km off ground, the payload can reach 1.8 t, and the duration would be more than one year.As a new application platform, the high-altitude airship has many advantages compared with the imaging satellite [13–15] and conventional heavier-than-air (HTA) [16, 17] aircraft (e.g., unmanned aircraft vehicle). For instance, it has a longer endurance, a rapider response, a higher effectiveness-cost ratio, a more suitable operational altitude, and a higher viability [18–21].Longer Endurance
Due to its specific flying mechanism, the high-altitude airship can successively work for several months or even longer. On the other hand, the working period of satellite is restrained by its orbit, and that of UAV is constrained by the fuel capacity.Rapider Response
The lifting-off speed of the high-altitude airship can be up to 300 m/min. With such a fast lifting-off speed, it only requires 2 hours for the airship to get to the near space. In comparison, launching a new satellite requires about 40 days of preparations. Although UAV is a fast deployment aircraft, it also requires special auxiliary equipment for launching.Higher Effectiveness-Cost Ratio
The high-altitude airship generally has a simpler structure and a lower cost in deployment, operation, and control. Furthermore, the high-altitude airship has a larger payload capacity than both satellite and UAV.More Suitable Operational Altitude
The operational altitude of the high-altitude airship is higher than UAV but lower than the imaging satellite. Since stratosphere is below the ionosphere, the electromagnetic signal of airship would not be interfered by the ionized particles in the ionosphere.Higher Viability
Airship has a naturally stealth ability for its nonmetal makeup. Both the electromagnetic and heat reflective areas of an airship are small. Moreover, the working altitude of the high-altitude airship is unlikely to be reached by normal antiaircraft weapons.
Those above features have turned high-altitude airship into an ideal imaging observation platform. In return, they also lead to many differences in control technologies (e.g., attitude control, driving control, pressure control, and position control) of high-altitude airships compared with imaging satellite and UAV. For example, altitude adjustments of airship require specific control technologies by capsule inflation and deflation.
Existing studies on high-altitude airship are scattered over a range of journals, conferences, books, and reports. Chen et al. [22] investigated the inertia propulsion system of high-altitude airship and established hydrodynamic models with three factors, that is, the velocity of the wind, the diameters, and the working altitude. Ma and Sun [23] studied the feasibility and technical difficulty of the Multipower system in high-altitude airship. Then, a new management method of the Multipower system is proposed based on the various flight modes. Rao et al. [24] focused on the mission path-following controller for the airship by applying artificial neural network (ANN). Bessert and Frederich [25] investigated the aerodynamic influence of high-altitude airship and presented a novel method to test the aerodynamics on the structural behavior of airship. The aforementioned researches mainly focused on the single high-altitude airship platform, which included cruising path control, energy system design, communication links optimization, and dynamics modeling. These researches were utilized to improve the performance of platform (e.g., reducing energy consumption, decreasing the cruising distance, and easing control). However, few studies have paid attention to the task planning, which is one of the most demanding issues for airship applications.
There are also numerous distinctions in task scheduling between high-altitude airship and other platforms. Compared with imaging satellite, high-altitude airship can cruise independently above the target for fixed-point observation because of its slow speed and suspension ability. The task execution sequence of airship is completely determined by its path choosing. Thus, the task planning for high-altitude airship is free from orbit issues faced by imaging satellite. Moreover, the high moving speed of satellite enables it with multiple chances to observe the same target during the whole task period. In contrast, restrained by the low cruising speed, high-altitude airship’s revisit cycle during the task period is longer. This is also a problem needing to be noticed during task planning for high-altitude airship. Different from UAV, high-altitude airship has high mobility as well as suspension observation ability; that is, high-altitude airship is able to continuously monitor a target by long time hovering. Although UAV is also able to conduct continuous monitoring over a fixed-point target, its continuous observations are actually comprised by several dispersed investigation activities restrained by the mobility and the cruising distance. Besides, UAV usually needs to take off and land in the base, which is the starting point and the ending point of the cruising path. On the contrary, the high-altitude airship is not restricted by this factor due to its long endurance.
In this paper, we drive into the cooperative scheduling problem of high-altitude airships toward the imaging observation tasks and discuss the optimization methods of task assigning and cruising path choosing. Multiairship scheduling is a combination optimization problem that is more complex than the single airship scheduling due to the fact that the former is required to optimize the task execution schemes in each airship simultaneously. Thus, a hierarchical scheduling framework is constructed to facilitate the problem solving process. The simulation results show the effectiveness of this strategy.
The remainder of this paper is organized as follows. Section2 describes the collaborative programming problem of high-altitude airships and establishes the constraint programming model. Section 3 designs the collaborative scheduling frame and proposes the solution algorithms. Simulation results and performance analysis are given in Section 4. Finally, Section 5 concludes the paper with some discussion about future research.


## 2. Problem Description and Modeling

The application of the high-altitude airship into the earth imaging reconnaissance activity is an important supplement of other reconnaissance methods. The imaging payload of a high-altitude airship is usually installed in the task capsule and can swim or rotate within a certain angular range in order to observe the ground target. Figure1 is the reconnaissance airship which is called RAID system and used by US troops in Iraq and Afghanistan. RAID began to be equipped in 2003, and more than 60 sets of this system have been in service currently [26].RAID system of U.S troop.
(a)
Airship platform
(b)
Imaging payloadIn the execution of the imaging reconnaissance tasks, the high-altitude airship maneuvers over the target area along with the cruising path and then begins the continuous observing in the hover-and-stare way. Usually, the imaging task has timeliness [27, 28] that is, each task has its time slot which is to reflect the requirements on the execution timing interval. The task execution must be finished within its time window. Otherwise, the task will lose its executive value or become invalid. Generally, imaging reconnaissance tasks are numerous and widely distributed in the battlefield. Hence, the high-altitude airship observes targets in different positions through multiple timescruising. However, due to the limitations of the cruising speed, the airship has to consume a lot of time in the cursing road. This may lead to parts of tasks that cannot be executed within their deadline. In order to maximize the overall observation benefit, it is essential to choose the observable tasks and determine the execution time interval for each airship based on the heterogeneity.To facilitate description of this problem, we summarize the main notations which are used throughout this paper as follows:Tp=[tstart,tend] is the task period of the airship; tstart denotes the starting time of the observation activity and tend denotes the ending time of the observation activity;Task={task1,task2,…,taskn} is the set of the imaging tasks, where taski denotes the ith task and n denotes the number of the tasks;A={a1,a2,…,am} is the set of the observation resources, where ak denotes the kth airship and m denotes the number of the airships;ok=(oxk,oyk) is the projective coordinates of ak on the ground, where oxk and oyk denote the horizontal coordinate and vertical coordinate, respectively;speedk is the average cursing speed of ak;RPk is The resolution of the payload attached with ak;siti=(txi,tyi) is  the position coordinates of taski, where txi and tyi denote the horizontal coordinate and vertical coordinate, respectively;[tai,tdi] is the time window of taski, where tai denotes the allowable execution timing instant and tdi denotes the deadline;tbi is the beginning execution timing instant of taski;tei is the ending execution timing instant of taski;ti is the duration time (or called the task length) of taski;Pi is the value index of taski;ui is the imaging resolution which needs to be satisfied in the execution of taski;D=[di,j]n×nis The distance matrix, where di,j denotes the distance from taski to taskj.Due to the low-speed maneuverability and hover ability, the high-altitude airship is not restricted by the turning angle, climbing angle, dive angle, or other factors when performing the imaging observation activity. In addition, the common high-altitude airship is augmented by the efficient hybrid energy system, so as to enable it to be operated in long endurance [29]. However, this paper mainly focuses on the daily-scheduling problem with shorter task period. Therefore, the influence of the energy factors on the reconnaissance activities is put aside in the scheduling model.Definition 1.
Iftaski and taskj are assigned to the same airship, and taskj is arranged to be executed just next to taski, then taski is called the preceding task of taskj, and taskj is the following task of taski.
Given a decision matrixX=[xi,k]n×m, if taski is arranged to be executed on ak, then xi,k equals “1”; otherwise, xi,k is “0”. If xi,kxj,k=1, and taski is the preceding task of taskj, then yi,jk is “1”; otherwise, let yi,jk equals “0”.
In this paper, the main constraints are considered as follows.Constraint 1. The airships execute observation activity within the task period, and each task only can be executed within its time window.Constraint 2. If a task is executed, then the execution time of this task is no less than the required duration.Constraint 3. Each task only can be assigned to one observation resource and just need to be done once.Constraint 4. Only one preceding task and one following task of each task are allowable at most.Constraint 5. The preemptive service in the task execution is prohibited. Once the execution starts, the process cannot be terminated until completion.Constraint 6. Before the airship observes a new task, enough time should be given to change the observation position.Constraint 7. The airship observes a task must meet its lowest imaging resolution.Constraint 8. The airship only cruises among different tasks;Constraint 9. With regard to any two tasks which are executed by the same observation resource, the execution should be in sequence.AssumeTBk is the task benefit obtained by ak and RDk is its cruising distance. The primary optimization objective of the collaborative scheduling problem for the high-altitude airships is to maximize the task benefit:
(1)maxz1(X)=∑k=1mTBk.The calculation method ofTBk is
(2)TBk=∑taski∈Taskxi,kpi.On the basis of ensuring this objective, it is essential to shorten the cruising distance as far as possible.(3)minz2(X)=∑k=1mRDk.Ifxi,k=1 and ∑taskj∈Qyj,ik=0, it means that taski is the first task to be executed on ak; then, save the serial number of taski in a variable Fk. Furthermore, with any two points A=(xi,yi) and B=(xj,yj), we record the distance between them as d(A,B)=∥A-B∥2. The calculation method of RDk is expressed as follows:
(4)RDk=∑∑‍taski,taskj∈Taskyi,jkd(siti,sitj)+d(ok,sitFk).AssumeR0 is the resolution space of X. Let R1 be the optimal solution set while z1(X) is optimized separately. Establish the constraint-programming model of the collaborative scheduling problem for high-altitude airships as follows:
(5)z1(X*)=maxX∈R0z1(X),z2(X*)=minX∈R1z2(X),s.t.{[tbi,tei]⊂[tai,tdi]⊂[tstart,tend]tei-tbi≥ti,if∑k=1mxi,k=1∑k=1mxi,k≤1∑i=1nyi,jk≤1,∑j=1nyi,jk≤1[tbi,tei]∩[tbj,tej]=∅,ifxi,k·xj,k=1tei+di,jspeedk-K(1-xi,jk)≤tbjui≥RPjxi,j∑k=1myi,ik=0yi,jk·yj,ik=0xi,k,yi,jk∈{0,1}∀i,j∈{1,2,…,m},k∈{1,2,…,n},
where the former nine inequalities correspond to the aforementioned nine constraints, respectively, and the tenth inequality restricts the span of the decision variables.


## 3. Cooperative Scheduling Method

### 3.1. Designing of Scheduling Frame

There exist numerous constraints in the collaborative scheduling problem of the high-altitude airships, so it is hard to solve this problem directly.As depicted in Figure2, the hierarchical architecture is presented to convert the original problem into a main problem (namely, the task set partitioning) and a subproblem (namely, the cruising path selection).Figure 2
Architecture of cooperative scheduling algorithm.(1) The Main Problem
The task set is divided intom portions according to the number of the observation resources. Each portion is called a cluster and denotes the assigning task set of an airship. The mapping relation between tasks and airships is constructed for decreasing the solution space of the original problem and facilitating the follow-up selection of cruising path.Definition 2.
LetSk={taskk1,taskk2,…,taskkqk} be the cluster corresponding to ak and regard the cluster set S={S1,S2,…,Sm} as a feasible solution of the main problem, if the following conditions are satisfied:
(6)∪Si∈SSi=S,∀Si,Sj∈S,i≠j,ifSi∩Sj=∅.
Obviously, the task set partitioning problem belongs to the combinatorial optimization problem, and the scale of the solution space exponentially increases with the number of tasks and observation resources. At present, the global optimal solution algorithm with polynomial time complexity is nonexistent. Thus, this paper proposes a rapid algorithm named K-NGCA to solute this problem.(2) The SubProblem
The priority for executing the sequence of each task is determined based on the solution of the main problem. The value tasks are selected according to the matching results between the observation capacity of airships and the requirement of tasks. In other words, the key nodes that each airship needs to fly through in sequence during the cruising are selected.Definition 3.
For any candidate tasktaski on ak, if it can not be executed in its deadline, then taski is regarded as an invalid task on ak; otherwise, taski is a value task on ak.
The sub-problem mainly includes two aspects: one is to determine the priority execution sequence of each task (called the task ranking problem), which can be achieved by PA algorithm; the other is to select value task which should be observed (called the value task inspection problem), and it can be realized by KNSA algorithm.


### 3.2. K-NGCA Algorithm

Definition 4.
Letσk=(cxk,cyk) be the geometric position center point of the tasks in the cluster Sk={taskk1,taskk2,…,taskkqk}. σk is called the core of Sk, and it can be calculated as follows:
(7)cxk=1dim∥sk∥∑taskki∈Sktxki,cyk=1dim∥sk∥∑taskki∈Sktyki,
where the operator dim∥·∥ is used to calculate the element number of a set.Definition 5.
The nearness degreeri,k denotes the relative distance between taski and Sk, and it can be calculated as follows:
(8)rik=(txi-cxk)2+(tyi-cyk)2∑j=1m(txi-cxj)2+(tyi-cyj)2.
In the initial construction of the cluster set, it is essential to avoid excessive elements which are assigned to a single cluster. This is beneficial to achieve the load balancing of the observation resources. Therefore, it is feasible to set a threshold variableNum to restrict the element number in a single cluster, which can be defined as
(9)Num=maxai∈A{ceil(speedi∑ai∈Aspeedim)},
where ceil (·) is a rounding function to be used to convert a decimal to an integer.
According to the position layout of the high-altitude airship, K-NGCA uses Greedy algorithm [30] to achieve the initiation of the cluster set. The main steps are shown as follows.Step 1.
All tasks in set task are sorted by their value indexes in descending order. The sequence is saved in setSTask.Step 2.
The cluster setS={S1,S2,…,Sm} is constructed, where Si←NULL,σi←oi,i=1,2,…,m.Step 3.
For each tasktaski in setSTask, let the set Fi={ai1,ai2,…,aie} contain the airships which meet the imaging resolution constraint of taski. Then, the subset S′={Si1,Si2,…,Sie} of set S is constructed.Step 4.
The nearness degrees betweentaski and each element in S′ are calculated by (8), which are presented as Ri={ri1,ri2,…,rie}.Step 5.
Letrik=minrij∈Ri{rij}, and remove taski from STask into Sik.Step 6.
IfSTask≠∅, then proceed to Step 3; otherwise, the algorithm ends.
K-NGCA adjusts the cluster scheme by iteration method. The pseudocode of K-NGCA is outlined as Algorithm1.
In the pseudocode of K-NGCA, the cluster set is initiated by Greedy (see line 1). If the number of iterations is less than the threshold valueMaxNum, then the cluster is repartitioned again. Otherwise, K-NGCA ends (see line 3). In the iteration process, each cluster is set as null firstly. The element number of each cluster is stored in vector Q (see line 6). According to the executing priority sequence STask, each task taski is assigned in sequence (see lines 8–31). The observation resources which meet the lowest resolution of taski are selected and the corresponding clusters are saved. Search the cluster which has element number no more than Num and has the minimum nearness degree to taski; then, taski is add into this cluster (see lines 11–23). If such cluster is nonexistent, then find out the observation resources which meet the lowest resolution of taski, but there is no restriction to the element number of the corresponding cluster. Select the cluster which has the minimum nearness degree to taski and add taski into this cluster (see lines 25–27). If such resource cannot be found, then taski is rejected (see line 29). Update the cores of all clusters after iteration (see line 33).Algorithm 1:Pseudocodes of K-NGCA algorithm.
01: InitializeS={S1,S2,…,Sm} by Greedy algorithm;
02: Calculateσ={σ1,σ2,…,σm} by (4) and Num
by (6);
03:while  rep<MaxNum  do
04:rep←rep + 1;
05: Let each clusterSi←NULL in set S;
06: Given a vectorQ={q1,q2,…,qn} with each
elementqi←0;/*Record the element quantity of each cluster*/
07: Sort eachtaski in Task by pi, and
construction a setSTask to record the new task sequence;
08:for each taski∈STask in sequence do
09:  CalculateRi={ri1,ri2,…,rin} by (5);
10:find←FALSE; step← 0; backup←NULL;
11:while  step≤n  do
12:  Letv={j∣rij≤rik,∀rij,rik∈Ri}; /*Find the nearest cluster Sv*/
13:step←step + 1;
14:if  RPv≤ui  then
15:backup←v; find←TRUE;
16:if  qv≤Num  then
17:   Addtaski to Sv;
18:qv←qv+1;
19:break;
20:endif
21:endif
22:riv←M; /*M is a tremendous number*/
23:endwhile
24:if  step > n  then
25:if  find == TRUE  then
26:v←backup; qv←qv+1;
27:    Addtaski to Sv;
28:else
29:    Rejecttaski due to all HAA are invalid;
30:endif
31:endif
32:endfor
33:  Updateσ={σ1,σ2,…,σn} by (4);
34:endwhile


### 3.3. PA Algorithm

The task ranking is a combination optimization issue, which is commonly solved by the intelligence algorithm (IA). The traditional IA involves simple operation and fast convergence, but it also has certain faults, such as inaccuracy search and early maturing. For instance, the classic PSO algorithm tends to terminate evolution in the iteration, because the particles tend to quickly gather to the historically optimized position of swarm. Similarly, while a superior chromosome is presented in the traditional GA algorithm, its genetic information may be rapidly spread to the swarm and make the algorithm being fast trapped into the local optimal solution. In this paper, a novel IA with the ability to avoid this prematurity is proposed.PA is an evolutionary computation technique based on the propagation process of biological flock. The main principle of PA is summarized from animal swarm behavior, which indicates that individuals struggle to survive by competition and cooperation. In this algorithm, the survival activities of the flock are abstracted into three kinds of simple events, that is, search for food, breeding new individuals, and death. Similar to other swarm intelligent algorithms, each member in a flock is an independent individual, and its basic features include the search position and age. PA uses the iteration to implement the survival process and employs the minimum age unit of the population as iteration step. Each iteration is called a propagation and the aforementioned simple events are included. In order to find adequate food, all the individuals determine their new search positions in the next propagation based on their personal experience as well as information gained through inheritance or interaction. This process is accompanied with the feeble individual death and the new individual birth. Death means that several individuals are eliminated, and only the survivors can participate in the next propagation. The causes of individual death include(1)
inadequate food is found out due to the bad search position, so that the individuals die of hunger;(2)
the long survival time induces individuals to get aged, and elder individuals to die with the natural life gradually;(3)
the accidental death which is caused by other factors, for example, prey, disease, and accident.It is essential to choose the individuals who are suitable to breed new members to participate in propagation. This operation is important to maintain the population scale and deliver the search position information of the excellent individuals. The main steps of PA are summarized as follows.Step 1.
The swarm is initialized with random search position and survival age of all individuals.Step 2.
Each search position is evaluated by fitness function, and the global optimal search positions of the individual and the population are stored, respectively.Step 3.
The hunger and the aging degree of each individual are analyzed, and then we can judge the dead ones in the swarm.Step 4.
If the propagation criterion is met, then go to Step5; otherwise, go to Step 6.Step 5.
The suitable individuals are selected as parents to breed and initialize the child individuals.Step 6.
Move to the new search position and update the individual age.Step 7.
If the termination criterion is satisfied, then the iteration ends; otherwise, go to Step2.
The aforementioned steps are the basic concepts of PA. There still needs to clear the encoding rule, search method, and propagation mechanism of this algorithm.


#### 3.3.1. Encoding Rule

Decimal encoding rule is applied to represent search position of the individual with a Multidimensional vector, called the position vector, where the elements in the vector correspond to the task number. In the decoding operation, sort all tasks according to the value of the corresponding elements in a descending order, then the position vector can be converted into the task priority sequence.For example, the task setS1={task1,task2,…,task6} is assigned to airship a1. In encoding operation, the search position of each individual is denoted by six-dimensional vector. Assume [0.27, 0.54, 0.95, 0.63, 0.15, 0.91] is a position vector, which denotes the execution priority sequence of task5, task1, task2, task4, task6, and task3. If this position vector is changed to [0.96, 0.48, 0.81, 0.14, 0.37, 0.92], then the execution priority sequence is altered to task4, task5, task2, task3, task6, and task1.Additionally, the twotuplesAIi=〈Fi,Gi〉 are employed to denote fitness of individual in swarm, where Fi is the task benefit and Gi is the cruising distance of ith individual, respectively. The comparison method of fitness is given as follows:
(10)AI1>AI2,ifF1>F2,AI1>AI2,ifF1=F2,G1<G2,AI1=AI2,ifF1=F2,G1=G2,AI1<AI2,otherwise.


#### 3.3.2. Search Method

In the process of searching a new position, the individuals are more inclined to move towards the global optimal search position where the population has appeared. However, there exists a certain distance between the current search position of the individuals and the global optimal search position of the swarm, so the individuals have to move many times to arrive at the destination. But the individuals may enter into the worse search position result in the deviation of movement direction. In order to reduce this risk, it is essential for the individual to consider the relationship among its own global optimal search position and current search position and the global optimal search position of the swarm in each movement.Assume the population scale of algorithm isN. In the tth propagation, the global optimal position vector of the swarm is GZt=(gz1t,gz2t,…,gzqit); the current and the optimal position vectors of individual agenti are Zit=(zi,1t,zi,2t,…,zi,qit) and BZit=(bzi,1t,bzi,2t,…,bzi,qit). If agenti can survive in the t+1th propagation, Zit+1 can be calculated according to the following equations:
(11)vi,jt=zi,jt+R1(bzi,jt-zi,jt)+R2(gzjt-zi,jt),zi,jt+1=vi,jt+Δwi,jt,i∈[1,N],j∈[1,qi],
where vi,jt is the jth element on the undisturbed position vector Vit in tth propagation, R1,R2∈(0,1) is the random variable, and Δwi,jt∈(0,1) is the random disturbance variable of vi,jt.


#### 3.3.3. Propagation Mechanism

In the iteration process, there are individuals which die of hunger, old, and accident reasons. The scale of population is set as a constantN in order to maintain the stable search ability of algorithm. If the individual number M is less than N, then select N-M members whose survival time span is [Age1, Age2] and food is adequate as the parents are to breed new individuals, so as to supplement swarm. If the number of suitable individuals is less than N-M, then take all individuals as parents, and the absent ones can be generated based on the random method (it can be regarded to acquire the absent parents externally). This operation that the new individuals are generated by the parents can refer to the choosing operation and the crossover operation in genetic algorithm (GA) [21].Intth iteration, assume the aging degree of agenti is ODi(t) and the hunger degree is HPi(t). The probability of accidental death due to other reasons is expressed as the constant a∈(0,1), and the survival possibility of agenti after the tth propagation is given as follows:
(12)LPi(t)=(1-a)[1-ODi(t)][1-HPi(t)].Calculate the survival possibility of all individuals in the swarm and determine the death by the roulette after normalization. The quantitative methods of aging degree and hunger degree are introduced as follows.(1) Aging Degree
Usually, the search process of the traditional swarm intelligent algorithm easily drags into the local optimization. The main reason is that when the individuals with the dominant fitness appear in the swarm, their characteristic information will spread to other individuals rapidly and promote the swarm to converge towards the dominant individuals. In order to avoid the shortages of orthodox swarm intelligent algorithm, PA records the aging degree of each individual in every propagation and controls the expected survival time of each individual, so as to adjust the convergence speed of the algorithm.
Assumeagei(t) is the age of agenti in the tth propagation. If agenti survives after the t+1th propagation, let agei(t+1)=agei(t)+1; otherwise, let agei(t+1)=1. The aging degree of agenti in tth propagation is defined as
(13)ODi(t)=1-exp(-agei(t)EAge),
where EAge is the expected survival time of each individual.
In particular, ifagei(t)=0 and ODi(t)=0, it shows that agenti is in a completely young state and that the death possibility of aging is nonexistent. If agei(t)→∞ and ODi(t)=1, it shows that agenti will be in a continuous aging state with the increasing propagation time and that the death possibility infinitely approaches to 1.(2) Hunger Degree
It is essential to reevaluate the hunger degree of each individual after propagation in order to analyze the performance of searching position. Generally speaking, the global optimal solution of the problem which we research cannot be obtained in advance, so the relative optimization is viewed as the criterion to measure the search position of the individuals. All individuals are sorted according to their fitness in a descending order aftertth propagation, and the sequence is stored as Fitt={Fitt1,Fitt2,…,FittN}. Meanwhile, the first h individuals in Fitt are assumed in hunger. The hunger degree of the individuals is given as follows:
(14)HPki(t)={ε,ifi≤h,0,ifi>h,
where ε∈(0,1) is the death probability cause of hunger.


#### 3.3.4. Parameters Analysis

The main parameters of PA include the population size, iteration number, hunger individual number, starvation probability, expected survival age, breeding age, and accidental probability. We will analyze these parameters in the following, and this work focuses on the parameter selection of PA.(1) Population Size
The searching ability of PA is inadequate when the population size is small, so the iteration number should be increased to acquire a better solution. On the contrary, a large population size is conducive to a strong searching ability, but it could also lead to a low convergence speed. However, PA has the ability to jump the local optimal solution regardlessofpopulation size.(2) Iteration Number
The iteration number is usually a constant, which is employed to adjust the searching time of algorithm. PA may not be able to find the ideal optimized solution with a small iteration number. If this parameter is enlarged, it is possible for PA to achieve a low searching efficiency as the searching time is increased.(3) Hunger Individual Number and Starvation Probability
The product of hunger individual number and starvation probability is regarded as the expected number of dead one in a single iteration. The elimination rate of the inferior individuals is fast when this expected number is large this will help to improve the searching quality of swarm, but it will also incur a low convergence speed. On the contrary, a smaller value generates a faster convergence speed of PA because the swarm tends to keep the existing individuals, but prematurity is inevitable.(4) Expected Survival Age
The expected survival age is proposed to control the convergence speed of swarm. The random searching of PA is presented in the solution space when this value is small. But a large value will also be invalid to acquire an ideal solution due to the rapid convergence of PA.(5) Breeding Age
The position information of superior individuals is allowed to be spread to warm, which is similar to the genetic operation of GA. The difference is that PA controls the spreading velocity of the position information about the superior individuals by setting the breeding age. This parameter is assigned in the latter part of survival age because individuals are common in their best searching position at this time interval. Meanwhile, the little survival time of superior individuals prevents its position information from being spread excessively.(6) Accidental Probability
The accidental probability is used to simulate the emergency death of swarm’s evolution, which can decide the mutation probability of individual. Adaptive mutation can help the algorithm to jump the local optimal solution, but the extensive mutation will destroy the stable search of swarm in the solution space.


### 3.4. KNSA Algorithm

According to the priority execution sequence of tasks acquired by PA, the key nodes are determined that each airship needs to fly through at a given constant speed and altitude. The cruising path optimization method between the successive key nodes can be learned from [24, 31, 32].For any task, it can only be executed within its time window. If we can observetaski before allowable execution timing instant tai, then the waiting time should be introduced as is presented in Figure 3.Figure 3
The waiting time between the successive key nodes.Figure3 shows that taski and taskj are two neighboring tasks on ak; trk,j is the preparation time of ak before taskj is executed; twk,j is the waiting time of ak before observing taskj. trk,j and twk,j can be calculated as follows:
(15)trk,j=tbi+ti+d(siti,sitj)speedk-1,twk,j=max{tbj-trk,j,0}.With regard to the waiting time for an airship, it can be solved in many ways. For instance, the airship waits firstly and then reaches the location of the next task at the stipulated cruising speed or reaches location of the next task firstly and observes this task until the allowable moment.The executing timing interval oftaski can be easily determined as follows:
(16)tbj=trk,j+twk,j,tej=tbj+tj.Due to the limited maneuverability of the airship, some tasks may not be executed before their deadlines. Therefore, the execution value of a task decreases with the time advancement, and this trend is irreversible.AssumeS={S1,S2,…,Sm} is a partitioning solution of the task set, where Sk is the task set assigned to ak, and the elements in Sk have been sorted by the task priority in sequence. The method of detecting the value tasks and designing its execution timing interval is shown in Algorithm 2.Algorithm 2:Pseudocode of KNSA algorithm.
01:for  k←1  to  m  do
02:idlek← 0; Gk←NULL; /*Initialization*/
03:A←(oxk,oyk); TBk← 0; RDk← 0;
03:for  each task taski∈Sk in sequence  do
04:B←(xi,yi); /*Search the next key node*/
05:if  idlek + d(A,B)vk-1+ti≤tdi  then/*taski is a key node*/
06:tbi←max(idlei + d(A,B)vk-1,tai);
07:tei←tbi+ti;idlek←tei;A←(xi,yi);
08:TBk←TBk+pi;RDk←RDk+d(A,B);
09:    Addtaski to the key node set Gk;
10:else
11:   Rejecttaski; /*taski is a invalid task, and it can not been executed */
12:endif
13:endfor
14:for  each task taskgi∈Gk in sequence  do
15:   Deletetaskgi from Gk, and set xgi,k←1;
16:if  Gk≠NULL  then
17:    Select the first tasktaskgi in Gk, and set ygi,gjk←1;
18:endif
19:endfor
20:endforIn Algorithm2, the value tasks detection and the execution timing interval assignment are synchronized. The task sets assigned to various observation resources are scheduled by the algorithm, respectively. The variables including the preparation time, the task benefit, and the cruising path of each observation resources are initialized (see lines 2-3). According to the task priority execution sequence, the execution value of each task in set Si is detected in order (see lines 3-4). If taski can be executed in its time window, then taski is a value task. The algorithm calculates the execution time of taski and removes it to the key node set Gk (see lines 5–8); otherwise, taskj is an invalid task which will not be arranged in the execution queue (see line 10). Set the decision variables by ranking result in Gk (see lines 13–18).


## 3.1. Designing of Scheduling Frame

There exist numerous constraints in the collaborative scheduling problem of the high-altitude airships, so it is hard to solve this problem directly.As depicted in Figure2, the hierarchical architecture is presented to convert the original problem into a main problem (namely, the task set partitioning) and a subproblem (namely, the cruising path selection).Figure 2
Architecture of cooperative scheduling algorithm.(1) The Main Problem
The task set is divided intom portions according to the number of the observation resources. Each portion is called a cluster and denotes the assigning task set of an airship. The mapping relation between tasks and airships is constructed for decreasing the solution space of the original problem and facilitating the follow-up selection of cruising path.Definition 2.
LetSk={taskk1,taskk2,…,taskkqk} be the cluster corresponding to ak and regard the cluster set S={S1,S2,…,Sm} as a feasible solution of the main problem, if the following conditions are satisfied:
(6)∪Si∈SSi=S,∀Si,Sj∈S,i≠j,ifSi∩Sj=∅.
Obviously, the task set partitioning problem belongs to the combinatorial optimization problem, and the scale of the solution space exponentially increases with the number of tasks and observation resources. At present, the global optimal solution algorithm with polynomial time complexity is nonexistent. Thus, this paper proposes a rapid algorithm named K-NGCA to solute this problem.(2) The SubProblem
The priority for executing the sequence of each task is determined based on the solution of the main problem. The value tasks are selected according to the matching results between the observation capacity of airships and the requirement of tasks. In other words, the key nodes that each airship needs to fly through in sequence during the cruising are selected.Definition 3.
For any candidate tasktaski on ak, if it can not be executed in its deadline, then taski is regarded as an invalid task on ak; otherwise, taski is a value task on ak.
The sub-problem mainly includes two aspects: one is to determine the priority execution sequence of each task (called the task ranking problem), which can be achieved by PA algorithm; the other is to select value task which should be observed (called the value task inspection problem), and it can be realized by KNSA algorithm.


## 3.2. K-NGCA Algorithm

Definition 4.
Letσk=(cxk,cyk) be the geometric position center point of the tasks in the cluster Sk={taskk1,taskk2,…,taskkqk}. σk is called the core of Sk, and it can be calculated as follows:
(7)cxk=1dim∥sk∥∑taskki∈Sktxki,cyk=1dim∥sk∥∑taskki∈Sktyki,
where the operator dim∥·∥ is used to calculate the element number of a set.Definition 5.
The nearness degreeri,k denotes the relative distance between taski and Sk, and it can be calculated as follows:
(8)rik=(txi-cxk)2+(tyi-cyk)2∑j=1m(txi-cxj)2+(tyi-cyj)2.
In the initial construction of the cluster set, it is essential to avoid excessive elements which are assigned to a single cluster. This is beneficial to achieve the load balancing of the observation resources. Therefore, it is feasible to set a threshold variableNum to restrict the element number in a single cluster, which can be defined as
(9)Num=maxai∈A{ceil(speedi∑ai∈Aspeedim)},
where ceil (·) is a rounding function to be used to convert a decimal to an integer.
According to the position layout of the high-altitude airship, K-NGCA uses Greedy algorithm [30] to achieve the initiation of the cluster set. The main steps are shown as follows.Step 1.
All tasks in set task are sorted by their value indexes in descending order. The sequence is saved in setSTask.Step 2.
The cluster setS={S1,S2,…,Sm} is constructed, where Si←NULL,σi←oi,i=1,2,…,m.Step 3.
For each tasktaski in setSTask, let the set Fi={ai1,ai2,…,aie} contain the airships which meet the imaging resolution constraint of taski. Then, the subset S′={Si1,Si2,…,Sie} of set S is constructed.Step 4.
The nearness degrees betweentaski and each element in S′ are calculated by (8), which are presented as Ri={ri1,ri2,…,rie}.Step 5.
Letrik=minrij∈Ri{rij}, and remove taski from STask into Sik.Step 6.
IfSTask≠∅, then proceed to Step 3; otherwise, the algorithm ends.
K-NGCA adjusts the cluster scheme by iteration method. The pseudocode of K-NGCA is outlined as Algorithm1.
In the pseudocode of K-NGCA, the cluster set is initiated by Greedy (see line 1). If the number of iterations is less than the threshold valueMaxNum, then the cluster is repartitioned again. Otherwise, K-NGCA ends (see line 3). In the iteration process, each cluster is set as null firstly. The element number of each cluster is stored in vector Q (see line 6). According to the executing priority sequence STask, each task taski is assigned in sequence (see lines 8–31). The observation resources which meet the lowest resolution of taski are selected and the corresponding clusters are saved. Search the cluster which has element number no more than Num and has the minimum nearness degree to taski; then, taski is add into this cluster (see lines 11–23). If such cluster is nonexistent, then find out the observation resources which meet the lowest resolution of taski, but there is no restriction to the element number of the corresponding cluster. Select the cluster which has the minimum nearness degree to taski and add taski into this cluster (see lines 25–27). If such resource cannot be found, then taski is rejected (see line 29). Update the cores of all clusters after iteration (see line 33).Algorithm 1:Pseudocodes of K-NGCA algorithm.
01: InitializeS={S1,S2,…,Sm} by Greedy algorithm;
02: Calculateσ={σ1,σ2,…,σm} by (4) and Num
by (6);
03:while  rep<MaxNum  do
04:rep←rep + 1;
05: Let each clusterSi←NULL in set S;
06: Given a vectorQ={q1,q2,…,qn} with each
elementqi←0;/*Record the element quantity of each cluster*/
07: Sort eachtaski in Task by pi, and
construction a setSTask to record the new task sequence;
08:for each taski∈STask in sequence do
09:  CalculateRi={ri1,ri2,…,rin} by (5);
10:find←FALSE; step← 0; backup←NULL;
11:while  step≤n  do
12:  Letv={j∣rij≤rik,∀rij,rik∈Ri}; /*Find the nearest cluster Sv*/
13:step←step + 1;
14:if  RPv≤ui  then
15:backup←v; find←TRUE;
16:if  qv≤Num  then
17:   Addtaski to Sv;
18:qv←qv+1;
19:break;
20:endif
21:endif
22:riv←M; /*M is a tremendous number*/
23:endwhile
24:if  step > n  then
25:if  find == TRUE  then
26:v←backup; qv←qv+1;
27:    Addtaski to Sv;
28:else
29:    Rejecttaski due to all HAA are invalid;
30:endif
31:endif
32:endfor
33:  Updateσ={σ1,σ2,…,σn} by (4);
34:endwhile


## 3.3. PA Algorithm

The task ranking is a combination optimization issue, which is commonly solved by the intelligence algorithm (IA). The traditional IA involves simple operation and fast convergence, but it also has certain faults, such as inaccuracy search and early maturing. For instance, the classic PSO algorithm tends to terminate evolution in the iteration, because the particles tend to quickly gather to the historically optimized position of swarm. Similarly, while a superior chromosome is presented in the traditional GA algorithm, its genetic information may be rapidly spread to the swarm and make the algorithm being fast trapped into the local optimal solution. In this paper, a novel IA with the ability to avoid this prematurity is proposed.PA is an evolutionary computation technique based on the propagation process of biological flock. The main principle of PA is summarized from animal swarm behavior, which indicates that individuals struggle to survive by competition and cooperation. In this algorithm, the survival activities of the flock are abstracted into three kinds of simple events, that is, search for food, breeding new individuals, and death. Similar to other swarm intelligent algorithms, each member in a flock is an independent individual, and its basic features include the search position and age. PA uses the iteration to implement the survival process and employs the minimum age unit of the population as iteration step. Each iteration is called a propagation and the aforementioned simple events are included. In order to find adequate food, all the individuals determine their new search positions in the next propagation based on their personal experience as well as information gained through inheritance or interaction. This process is accompanied with the feeble individual death and the new individual birth. Death means that several individuals are eliminated, and only the survivors can participate in the next propagation. The causes of individual death include(1)
inadequate food is found out due to the bad search position, so that the individuals die of hunger;(2)
the long survival time induces individuals to get aged, and elder individuals to die with the natural life gradually;(3)
the accidental death which is caused by other factors, for example, prey, disease, and accident.It is essential to choose the individuals who are suitable to breed new members to participate in propagation. This operation is important to maintain the population scale and deliver the search position information of the excellent individuals. The main steps of PA are summarized as follows.Step 1.
The swarm is initialized with random search position and survival age of all individuals.Step 2.
Each search position is evaluated by fitness function, and the global optimal search positions of the individual and the population are stored, respectively.Step 3.
The hunger and the aging degree of each individual are analyzed, and then we can judge the dead ones in the swarm.Step 4.
If the propagation criterion is met, then go to Step5; otherwise, go to Step 6.Step 5.
The suitable individuals are selected as parents to breed and initialize the child individuals.Step 6.
Move to the new search position and update the individual age.Step 7.
If the termination criterion is satisfied, then the iteration ends; otherwise, go to Step2.
The aforementioned steps are the basic concepts of PA. There still needs to clear the encoding rule, search method, and propagation mechanism of this algorithm.


### 3.3.1. Encoding Rule

Decimal encoding rule is applied to represent search position of the individual with a Multidimensional vector, called the position vector, where the elements in the vector correspond to the task number. In the decoding operation, sort all tasks according to the value of the corresponding elements in a descending order, then the position vector can be converted into the task priority sequence.For example, the task setS1={task1,task2,…,task6} is assigned to airship a1. In encoding operation, the search position of each individual is denoted by six-dimensional vector. Assume [0.27, 0.54, 0.95, 0.63, 0.15, 0.91] is a position vector, which denotes the execution priority sequence of task5, task1, task2, task4, task6, and task3. If this position vector is changed to [0.96, 0.48, 0.81, 0.14, 0.37, 0.92], then the execution priority sequence is altered to task4, task5, task2, task3, task6, and task1.Additionally, the twotuplesAIi=〈Fi,Gi〉 are employed to denote fitness of individual in swarm, where Fi is the task benefit and Gi is the cruising distance of ith individual, respectively. The comparison method of fitness is given as follows:
(10)AI1>AI2,ifF1>F2,AI1>AI2,ifF1=F2,G1<G2,AI1=AI2,ifF1=F2,G1=G2,AI1<AI2,otherwise.


### 3.3.2. Search Method

In the process of searching a new position, the individuals are more inclined to move towards the global optimal search position where the population has appeared. However, there exists a certain distance between the current search position of the individuals and the global optimal search position of the swarm, so the individuals have to move many times to arrive at the destination. But the individuals may enter into the worse search position result in the deviation of movement direction. In order to reduce this risk, it is essential for the individual to consider the relationship among its own global optimal search position and current search position and the global optimal search position of the swarm in each movement.Assume the population scale of algorithm isN. In the tth propagation, the global optimal position vector of the swarm is GZt=(gz1t,gz2t,…,gzqit); the current and the optimal position vectors of individual agenti are Zit=(zi,1t,zi,2t,…,zi,qit) and BZit=(bzi,1t,bzi,2t,…,bzi,qit). If agenti can survive in the t+1th propagation, Zit+1 can be calculated according to the following equations:
(11)vi,jt=zi,jt+R1(bzi,jt-zi,jt)+R2(gzjt-zi,jt),zi,jt+1=vi,jt+Δwi,jt,i∈[1,N],j∈[1,qi],
where vi,jt is the jth element on the undisturbed position vector Vit in tth propagation, R1,R2∈(0,1) is the random variable, and Δwi,jt∈(0,1) is the random disturbance variable of vi,jt.


### 3.3.3. Propagation Mechanism

In the iteration process, there are individuals which die of hunger, old, and accident reasons. The scale of population is set as a constantN in order to maintain the stable search ability of algorithm. If the individual number M is less than N, then select N-M members whose survival time span is [Age1, Age2] and food is adequate as the parents are to breed new individuals, so as to supplement swarm. If the number of suitable individuals is less than N-M, then take all individuals as parents, and the absent ones can be generated based on the random method (it can be regarded to acquire the absent parents externally). This operation that the new individuals are generated by the parents can refer to the choosing operation and the crossover operation in genetic algorithm (GA) [21].Intth iteration, assume the aging degree of agenti is ODi(t) and the hunger degree is HPi(t). The probability of accidental death due to other reasons is expressed as the constant a∈(0,1), and the survival possibility of agenti after the tth propagation is given as follows:
(12)LPi(t)=(1-a)[1-ODi(t)][1-HPi(t)].Calculate the survival possibility of all individuals in the swarm and determine the death by the roulette after normalization. The quantitative methods of aging degree and hunger degree are introduced as follows.(1) Aging Degree
Usually, the search process of the traditional swarm intelligent algorithm easily drags into the local optimization. The main reason is that when the individuals with the dominant fitness appear in the swarm, their characteristic information will spread to other individuals rapidly and promote the swarm to converge towards the dominant individuals. In order to avoid the shortages of orthodox swarm intelligent algorithm, PA records the aging degree of each individual in every propagation and controls the expected survival time of each individual, so as to adjust the convergence speed of the algorithm.
Assumeagei(t) is the age of agenti in the tth propagation. If agenti survives after the t+1th propagation, let agei(t+1)=agei(t)+1; otherwise, let agei(t+1)=1. The aging degree of agenti in tth propagation is defined as
(13)ODi(t)=1-exp(-agei(t)EAge),
where EAge is the expected survival time of each individual.
In particular, ifagei(t)=0 and ODi(t)=0, it shows that agenti is in a completely young state and that the death possibility of aging is nonexistent. If agei(t)→∞ and ODi(t)=1, it shows that agenti will be in a continuous aging state with the increasing propagation time and that the death possibility infinitely approaches to 1.(2) Hunger Degree
It is essential to reevaluate the hunger degree of each individual after propagation in order to analyze the performance of searching position. Generally speaking, the global optimal solution of the problem which we research cannot be obtained in advance, so the relative optimization is viewed as the criterion to measure the search position of the individuals. All individuals are sorted according to their fitness in a descending order aftertth propagation, and the sequence is stored as Fitt={Fitt1,Fitt2,…,FittN}. Meanwhile, the first h individuals in Fitt are assumed in hunger. The hunger degree of the individuals is given as follows:
(14)HPki(t)={ε,ifi≤h,0,ifi>h,
where ε∈(0,1) is the death probability cause of hunger.


### 3.3.4. Parameters Analysis

The main parameters of PA include the population size, iteration number, hunger individual number, starvation probability, expected survival age, breeding age, and accidental probability. We will analyze these parameters in the following, and this work focuses on the parameter selection of PA.(1) Population Size
The searching ability of PA is inadequate when the population size is small, so the iteration number should be increased to acquire a better solution. On the contrary, a large population size is conducive to a strong searching ability, but it could also lead to a low convergence speed. However, PA has the ability to jump the local optimal solution regardlessofpopulation size.(2) Iteration Number
The iteration number is usually a constant, which is employed to adjust the searching time of algorithm. PA may not be able to find the ideal optimized solution with a small iteration number. If this parameter is enlarged, it is possible for PA to achieve a low searching efficiency as the searching time is increased.(3) Hunger Individual Number and Starvation Probability
The product of hunger individual number and starvation probability is regarded as the expected number of dead one in a single iteration. The elimination rate of the inferior individuals is fast when this expected number is large this will help to improve the searching quality of swarm, but it will also incur a low convergence speed. On the contrary, a smaller value generates a faster convergence speed of PA because the swarm tends to keep the existing individuals, but prematurity is inevitable.(4) Expected Survival Age
The expected survival age is proposed to control the convergence speed of swarm. The random searching of PA is presented in the solution space when this value is small. But a large value will also be invalid to acquire an ideal solution due to the rapid convergence of PA.(5) Breeding Age
The position information of superior individuals is allowed to be spread to warm, which is similar to the genetic operation of GA. The difference is that PA controls the spreading velocity of the position information about the superior individuals by setting the breeding age. This parameter is assigned in the latter part of survival age because individuals are common in their best searching position at this time interval. Meanwhile, the little survival time of superior individuals prevents its position information from being spread excessively.(6) Accidental Probability
The accidental probability is used to simulate the emergency death of swarm’s evolution, which can decide the mutation probability of individual. Adaptive mutation can help the algorithm to jump the local optimal solution, but the extensive mutation will destroy the stable search of swarm in the solution space.


## 3.3.1. Encoding Rule

Decimal encoding rule is applied to represent search position of the individual with a Multidimensional vector, called the position vector, where the elements in the vector correspond to the task number. In the decoding operation, sort all tasks according to the value of the corresponding elements in a descending order, then the position vector can be converted into the task priority sequence.For example, the task setS1={task1,task2,…,task6} is assigned to airship a1. In encoding operation, the search position of each individual is denoted by six-dimensional vector. Assume [0.27, 0.54, 0.95, 0.63, 0.15, 0.91] is a position vector, which denotes the execution priority sequence of task5, task1, task2, task4, task6, and task3. If this position vector is changed to [0.96, 0.48, 0.81, 0.14, 0.37, 0.92], then the execution priority sequence is altered to task4, task5, task2, task3, task6, and task1.Additionally, the twotuplesAIi=〈Fi,Gi〉 are employed to denote fitness of individual in swarm, where Fi is the task benefit and Gi is the cruising distance of ith individual, respectively. The comparison method of fitness is given as follows:
(10)AI1>AI2,ifF1>F2,AI1>AI2,ifF1=F2,G1<G2,AI1=AI2,ifF1=F2,G1=G2,AI1<AI2,otherwise.


## 3.3.2. Search Method

In the process of searching a new position, the individuals are more inclined to move towards the global optimal search position where the population has appeared. However, there exists a certain distance between the current search position of the individuals and the global optimal search position of the swarm, so the individuals have to move many times to arrive at the destination. But the individuals may enter into the worse search position result in the deviation of movement direction. In order to reduce this risk, it is essential for the individual to consider the relationship among its own global optimal search position and current search position and the global optimal search position of the swarm in each movement.Assume the population scale of algorithm isN. In the tth propagation, the global optimal position vector of the swarm is GZt=(gz1t,gz2t,…,gzqit); the current and the optimal position vectors of individual agenti are Zit=(zi,1t,zi,2t,…,zi,qit) and BZit=(bzi,1t,bzi,2t,…,bzi,qit). If agenti can survive in the t+1th propagation, Zit+1 can be calculated according to the following equations:
(11)vi,jt=zi,jt+R1(bzi,jt-zi,jt)+R2(gzjt-zi,jt),zi,jt+1=vi,jt+Δwi,jt,i∈[1,N],j∈[1,qi],
where vi,jt is the jth element on the undisturbed position vector Vit in tth propagation, R1,R2∈(0,1) is the random variable, and Δwi,jt∈(0,1) is the random disturbance variable of vi,jt.


## 3.3.3. Propagation Mechanism

In the iteration process, there are individuals which die of hunger, old, and accident reasons. The scale of population is set as a constantN in order to maintain the stable search ability of algorithm. If the individual number M is less than N, then select N-M members whose survival time span is [Age1, Age2] and food is adequate as the parents are to breed new individuals, so as to supplement swarm. If the number of suitable individuals is less than N-M, then take all individuals as parents, and the absent ones can be generated based on the random method (it can be regarded to acquire the absent parents externally). This operation that the new individuals are generated by the parents can refer to the choosing operation and the crossover operation in genetic algorithm (GA) [21].Intth iteration, assume the aging degree of agenti is ODi(t) and the hunger degree is HPi(t). The probability of accidental death due to other reasons is expressed as the constant a∈(0,1), and the survival possibility of agenti after the tth propagation is given as follows:
(12)LPi(t)=(1-a)[1-ODi(t)][1-HPi(t)].Calculate the survival possibility of all individuals in the swarm and determine the death by the roulette after normalization. The quantitative methods of aging degree and hunger degree are introduced as follows.(1) Aging Degree
Usually, the search process of the traditional swarm intelligent algorithm easily drags into the local optimization. The main reason is that when the individuals with the dominant fitness appear in the swarm, their characteristic information will spread to other individuals rapidly and promote the swarm to converge towards the dominant individuals. In order to avoid the shortages of orthodox swarm intelligent algorithm, PA records the aging degree of each individual in every propagation and controls the expected survival time of each individual, so as to adjust the convergence speed of the algorithm.
Assumeagei(t) is the age of agenti in the tth propagation. If agenti survives after the t+1th propagation, let agei(t+1)=agei(t)+1; otherwise, let agei(t+1)=1. The aging degree of agenti in tth propagation is defined as
(13)ODi(t)=1-exp(-agei(t)EAge),
where EAge is the expected survival time of each individual.
In particular, ifagei(t)=0 and ODi(t)=0, it shows that agenti is in a completely young state and that the death possibility of aging is nonexistent. If agei(t)→∞ and ODi(t)=1, it shows that agenti will be in a continuous aging state with the increasing propagation time and that the death possibility infinitely approaches to 1.(2) Hunger Degree
It is essential to reevaluate the hunger degree of each individual after propagation in order to analyze the performance of searching position. Generally speaking, the global optimal solution of the problem which we research cannot be obtained in advance, so the relative optimization is viewed as the criterion to measure the search position of the individuals. All individuals are sorted according to their fitness in a descending order aftertth propagation, and the sequence is stored as Fitt={Fitt1,Fitt2,…,FittN}. Meanwhile, the first h individuals in Fitt are assumed in hunger. The hunger degree of the individuals is given as follows:
(14)HPki(t)={ε,ifi≤h,0,ifi>h,
where ε∈(0,1) is the death probability cause of hunger.


## 3.3.4. Parameters Analysis

The main parameters of PA include the population size, iteration number, hunger individual number, starvation probability, expected survival age, breeding age, and accidental probability. We will analyze these parameters in the following, and this work focuses on the parameter selection of PA.(1) Population Size
The searching ability of PA is inadequate when the population size is small, so the iteration number should be increased to acquire a better solution. On the contrary, a large population size is conducive to a strong searching ability, but it could also lead to a low convergence speed. However, PA has the ability to jump the local optimal solution regardlessofpopulation size.(2) Iteration Number
The iteration number is usually a constant, which is employed to adjust the searching time of algorithm. PA may not be able to find the ideal optimized solution with a small iteration number. If this parameter is enlarged, it is possible for PA to achieve a low searching efficiency as the searching time is increased.(3) Hunger Individual Number and Starvation Probability
The product of hunger individual number and starvation probability is regarded as the expected number of dead one in a single iteration. The elimination rate of the inferior individuals is fast when this expected number is large this will help to improve the searching quality of swarm, but it will also incur a low convergence speed. On the contrary, a smaller value generates a faster convergence speed of PA because the swarm tends to keep the existing individuals, but prematurity is inevitable.(4) Expected Survival Age
The expected survival age is proposed to control the convergence speed of swarm. The random searching of PA is presented in the solution space when this value is small. But a large value will also be invalid to acquire an ideal solution due to the rapid convergence of PA.(5) Breeding Age
The position information of superior individuals is allowed to be spread to warm, which is similar to the genetic operation of GA. The difference is that PA controls the spreading velocity of the position information about the superior individuals by setting the breeding age. This parameter is assigned in the latter part of survival age because individuals are common in their best searching position at this time interval. Meanwhile, the little survival time of superior individuals prevents its position information from being spread excessively.(6) Accidental Probability
The accidental probability is used to simulate the emergency death of swarm’s evolution, which can decide the mutation probability of individual. Adaptive mutation can help the algorithm to jump the local optimal solution, but the extensive mutation will destroy the stable search of swarm in the solution space.


## 3.4. KNSA Algorithm

According to the priority execution sequence of tasks acquired by PA, the key nodes are determined that each airship needs to fly through at a given constant speed and altitude. The cruising path optimization method between the successive key nodes can be learned from [24, 31, 32].For any task, it can only be executed within its time window. If we can observetaski before allowable execution timing instant tai, then the waiting time should be introduced as is presented in Figure 3.Figure 3
The waiting time between the successive key nodes.Figure3 shows that taski and taskj are two neighboring tasks on ak; trk,j is the preparation time of ak before taskj is executed; twk,j is the waiting time of ak before observing taskj. trk,j and twk,j can be calculated as follows:
(15)trk,j=tbi+ti+d(siti,sitj)speedk-1,twk,j=max{tbj-trk,j,0}.With regard to the waiting time for an airship, it can be solved in many ways. For instance, the airship waits firstly and then reaches the location of the next task at the stipulated cruising speed or reaches location of the next task firstly and observes this task until the allowable moment.The executing timing interval oftaski can be easily determined as follows:
(16)tbj=trk,j+twk,j,tej=tbj+tj.Due to the limited maneuverability of the airship, some tasks may not be executed before their deadlines. Therefore, the execution value of a task decreases with the time advancement, and this trend is irreversible.AssumeS={S1,S2,…,Sm} is a partitioning solution of the task set, where Sk is the task set assigned to ak, and the elements in Sk have been sorted by the task priority in sequence. The method of detecting the value tasks and designing its execution timing interval is shown in Algorithm 2.Algorithm 2:Pseudocode of KNSA algorithm.
01:for  k←1  to  m  do
02:idlek← 0; Gk←NULL; /*Initialization*/
03:A←(oxk,oyk); TBk← 0; RDk← 0;
03:for  each task taski∈Sk in sequence  do
04:B←(xi,yi); /*Search the next key node*/
05:if  idlek + d(A,B)vk-1+ti≤tdi  then/*taski is a key node*/
06:tbi←max(idlei + d(A,B)vk-1,tai);
07:tei←tbi+ti;idlek←tei;A←(xi,yi);
08:TBk←TBk+pi;RDk←RDk+d(A,B);
09:    Addtaski to the key node set Gk;
10:else
11:   Rejecttaski; /*taski is a invalid task, and it can not been executed */
12:endif
13:endfor
14:for  each task taskgi∈Gk in sequence  do
15:   Deletetaskgi from Gk, and set xgi,k←1;
16:if  Gk≠NULL  then
17:    Select the first tasktaskgi in Gk, and set ygi,gjk←1;
18:endif
19:endfor
20:endforIn Algorithm2, the value tasks detection and the execution timing interval assignment are synchronized. The task sets assigned to various observation resources are scheduled by the algorithm, respectively. The variables including the preparation time, the task benefit, and the cruising path of each observation resources are initialized (see lines 2-3). According to the task priority execution sequence, the execution value of each task in set Si is detected in order (see lines 3-4). If taski can be executed in its time window, then taski is a value task. The algorithm calculates the execution time of taski and removes it to the key node set Gk (see lines 5–8); otherwise, taskj is an invalid task which will not be arranged in the execution queue (see line 10). Set the decision variables by ranking result in Gk (see lines 13–18).


## 4. Experiment Designing

In this section, simulation experiment is conducted to illustrate the effectiveness of the proposed method. The proposed algorithms are implemented by Matlab 2007 on a laptop with Pentium IV 3.06 GHz CPU, 2 GB memory, and Windows XP operating system. As far as we know, there are no accepted benchmarks yet in cooperative scheduling problem of high-altitude airships, so the random models are used to construct the application scenario and simulate the battlefield area with 200 × 300 km2.


### 4.1. Simulation Setup

Three high-altitude airships are tested in the experiment, and the task period is 0~24 h. The main parameters for high-altitude airships simulation are listed in Table 1.Table 1
Parameters for high-altitude airships simulation.
HAA
Initial position
Speed (km/h)
Imaging resolution (m)
a
1
(20, 30)
60
0.61
a
2
(150, 170)
75
0.36
a
2
(280, 30)
70
0.24The task number varies from 50 to 300 as six instances, and they are deployed randomly within the battlefield. The task value indexes are changed from 1 to 10, and the imaging resolution is 0.3~0.6 m. The equation of generating the time window for tasks is presented as follows:
(17)tdi=tai+(1+TBase)×ti,
where TBase is used to adjust the tightness of the time window.The setting of task parameters offers the flexibility to simulate the various workloads for high-altitude airships. Table2 gives the configuration of task parameters employed in our experiment. We check the performance impact of parameters Task number, TBase, and Task length by using the “once tuning one parameter (OTOP)” experiment method, which can be found in many researches [33–35]. The evaluation objects include task benefit and cruising distance.Table 2
Parameters for task simulation.
Parameters
Value (fixed)−(varied)
Task number
(200)−(50, 100, 150, 200, 250, 300)
Value index
([1, 10])
Imaging resolution (m)
([0.3, 0.6])
TBase
(
10
)−(5, 10, 15, 20, 25, 30)
Task length (min)
([15, 30)−([0, 15], [15, 30], [30, 45])In order to evaluate the effectiveness of K-NGCA algorithm, the Greedy algorithm which has been mentioned in the former section is applied in the task set partitioning. Furthermore, we verify the effectiveness of PA by comparing it with GA and PSO. We incorporate those algorithms to yield four new algorithms named K-NGCAPA, GreedyPA, K-NGCAGA, and K-NGCAPSO, respectively. The small-scale experiments have been finished to obtain the adaptive parameters of the PA, which are listed in Table3.Table 3
Parameters for PA algorithm.
Parameters
Value (fixed)
Population size
30
Iteration number
200
Hunger individual number
5
Breeding age
[5, 30]
Expected survival age
35
Accidental probability
0.05
Starvation probability
0.1


### 4.2. Performance Impact of Task Number

In this experiment, we investigate the impact of task number on the performance of these algorithms. Figure4 plots the scheduling results.Scheduling results in various task number.
(a)
Task benefit impact of task number
(b)
Cruising distance impact of task numberFigure4(a) shows that K-NGCAPA obtains a higher task benefit than other algorithms (GreedyPA, K-NGCAGA, or K-NGCAPSO). In various task scales, the task benefit obtained by K-NGCAPA can be higher than that of GreedyPA, and K-NGCAGA, K-NGCAPSO reaching 0.384%, 2.92%, and 2.71%, respectively, which shows a very high scheduling performance.From Figure4(a), we can observe that the task benefit increases gradually with the task number, but this tends to be flat while the variable is up to more than 200. This ascribes that the scale of value tasks increases gradually thus brings about the increasing number of the executable tasks and conduces to gain more task benefit. However, due to the limited observation capacity of the airships, when the task number ascends to a certain extent, the task benefit tends to increase slowly. It can be seen from Figure 4(b) that the cruising distance of the airships increases firstly and then decreases while the task number becomes larger. This cause of increasing task number will bring about the higher task density in the battlefield. In case the task density is low, a longer cruising distance needs to be flied if the airship is assigned to execute more tasks. While the task density reaches to a certain degree, the airships can execute more tasks just in a shorter scope. Therefore, the cruising distance declines.


### 4.3. Performance Impact of Time Window

The objective of this experiment is to investigate the performance impact of time window on the task guarantee ability. We divideTBase into six levels from 1 to 6. Figure 5 depicts the different scheduling results in various TBase levels.Scheduling results in variousTBase.
(a)
Task benefit impact ofTBase
(b)
Cruising distance impact ofTBaseThe experimental results in Figure5(a) show that the K-NGCAPA achieve higher guarantee ratios than GreedyPA, K-NGCAGA, and K-NGCAPSO. It can be seen that the task benefit increases with extending TBase. This ascribes that the increase of TBase brings about a loose time window. In particular, the task deadline is extended, so more tasks can be executed timely. Hence, the task benefit increases gradually. From Figure 5(b), it can be seen that the cruising distance increases firstly and then decreases with the enlarging TBase. In the initial stage, the more tasks that airships execute are at the cost of longer cruising distance. Therefore, the cruising distance increases firstly. However, when the time window becomes loose, the tasks which are within the shorter distance range of the airships but once are unable to be executed timely become executable. Thus, the execution priority will be given to such tasks, and the scheduling scheme is adjusted by the new priority sequence which brings about the decline of the cruising distance.


### 4.4. Performance Impact of Task Length

To examine the performance impact of task length, three test configurations of task length can be found in Table2. We assume the task length is satisfied with the uniform distribution. Figure 6 plots the scheduling results under short, middle, and long tasks.Scheduling results in different task length.
(a)
Task benefit impact of task length
(b)
Cruising distance impact of task lengthFrom Figure6(a), it can be seen that the task benefit decreases gradually when the task length is extended. This is because that the required executing time of the single task become long, so that the tasks with later sequence cannot be executed timely. At the same time, the cruising distance is shortened with the decreasing of executable tasks. This trend can be observed from Figure 6(b).Again, we can observe from Figures4 and 6 that the effects of the task number and time window on the optimization objects are positive, that is, both the increase of task number or extension of time window will enlarge the task benefits. Meanwhile, the effect of task length on the optimization objects is negative. Then, we can find the relationship between the aforementioned factors. In the given application scenarios, the task benefits are maintained by enlarging the time window or reducing the task length if the task number is reduced. On the contrary, while the time window is reduced or the task length is increased, we could also maintain the task benefits by increasing the task number.


## 4.1. Simulation Setup

Three high-altitude airships are tested in the experiment, and the task period is 0~24 h. The main parameters for high-altitude airships simulation are listed in Table 1.Table 1
Parameters for high-altitude airships simulation.
HAA
Initial position
Speed (km/h)
Imaging resolution (m)
a
1
(20, 30)
60
0.61
a
2
(150, 170)
75
0.36
a
2
(280, 30)
70
0.24The task number varies from 50 to 300 as six instances, and they are deployed randomly within the battlefield. The task value indexes are changed from 1 to 10, and the imaging resolution is 0.3~0.6 m. The equation of generating the time window for tasks is presented as follows:
(17)tdi=tai+(1+TBase)×ti,
where TBase is used to adjust the tightness of the time window.The setting of task parameters offers the flexibility to simulate the various workloads for high-altitude airships. Table2 gives the configuration of task parameters employed in our experiment. We check the performance impact of parameters Task number, TBase, and Task length by using the “once tuning one parameter (OTOP)” experiment method, which can be found in many researches [33–35]. The evaluation objects include task benefit and cruising distance.Table 2
Parameters for task simulation.
Parameters
Value (fixed)−(varied)
Task number
(200)−(50, 100, 150, 200, 250, 300)
Value index
([1, 10])
Imaging resolution (m)
([0.3, 0.6])
TBase
(
10
)−(5, 10, 15, 20, 25, 30)
Task length (min)
([15, 30)−([0, 15], [15, 30], [30, 45])In order to evaluate the effectiveness of K-NGCA algorithm, the Greedy algorithm which has been mentioned in the former section is applied in the task set partitioning. Furthermore, we verify the effectiveness of PA by comparing it with GA and PSO. We incorporate those algorithms to yield four new algorithms named K-NGCAPA, GreedyPA, K-NGCAGA, and K-NGCAPSO, respectively. The small-scale experiments have been finished to obtain the adaptive parameters of the PA, which are listed in Table3.Table 3
Parameters for PA algorithm.
Parameters
Value (fixed)
Population size
30
Iteration number
200
Hunger individual number
5
Breeding age
[5, 30]
Expected survival age
35
Accidental probability
0.05
Starvation probability
0.1


## 4.2. Performance Impact of Task Number

In this experiment, we investigate the impact of task number on the performance of these algorithms. Figure4 plots the scheduling results.Scheduling results in various task number.
(a)
Task benefit impact of task number
(b)
Cruising distance impact of task numberFigure4(a) shows that K-NGCAPA obtains a higher task benefit than other algorithms (GreedyPA, K-NGCAGA, or K-NGCAPSO). In various task scales, the task benefit obtained by K-NGCAPA can be higher than that of GreedyPA, and K-NGCAGA, K-NGCAPSO reaching 0.384%, 2.92%, and 2.71%, respectively, which shows a very high scheduling performance.From Figure4(a), we can observe that the task benefit increases gradually with the task number, but this tends to be flat while the variable is up to more than 200. This ascribes that the scale of value tasks increases gradually thus brings about the increasing number of the executable tasks and conduces to gain more task benefit. However, due to the limited observation capacity of the airships, when the task number ascends to a certain extent, the task benefit tends to increase slowly. It can be seen from Figure 4(b) that the cruising distance of the airships increases firstly and then decreases while the task number becomes larger. This cause of increasing task number will bring about the higher task density in the battlefield. In case the task density is low, a longer cruising distance needs to be flied if the airship is assigned to execute more tasks. While the task density reaches to a certain degree, the airships can execute more tasks just in a shorter scope. Therefore, the cruising distance declines.


## 4.3. Performance Impact of Time Window

The objective of this experiment is to investigate the performance impact of time window on the task guarantee ability. We divideTBase into six levels from 1 to 6. Figure 5 depicts the different scheduling results in various TBase levels.Scheduling results in variousTBase.
(a)
Task benefit impact ofTBase
(b)
Cruising distance impact ofTBaseThe experimental results in Figure5(a) show that the K-NGCAPA achieve higher guarantee ratios than GreedyPA, K-NGCAGA, and K-NGCAPSO. It can be seen that the task benefit increases with extending TBase. This ascribes that the increase of TBase brings about a loose time window. In particular, the task deadline is extended, so more tasks can be executed timely. Hence, the task benefit increases gradually. From Figure 5(b), it can be seen that the cruising distance increases firstly and then decreases with the enlarging TBase. In the initial stage, the more tasks that airships execute are at the cost of longer cruising distance. Therefore, the cruising distance increases firstly. However, when the time window becomes loose, the tasks which are within the shorter distance range of the airships but once are unable to be executed timely become executable. Thus, the execution priority will be given to such tasks, and the scheduling scheme is adjusted by the new priority sequence which brings about the decline of the cruising distance.


## 4.4. Performance Impact of Task Length

To examine the performance impact of task length, three test configurations of task length can be found in Table2. We assume the task length is satisfied with the uniform distribution. Figure 6 plots the scheduling results under short, middle, and long tasks.Scheduling results in different task length.
(a)
Task benefit impact of task length
(b)
Cruising distance impact of task lengthFrom Figure6(a), it can be seen that the task benefit decreases gradually when the task length is extended. This is because that the required executing time of the single task become long, so that the tasks with later sequence cannot be executed timely. At the same time, the cruising distance is shortened with the decreasing of executable tasks. This trend can be observed from Figure 6(b).Again, we can observe from Figures4 and 6 that the effects of the task number and time window on the optimization objects are positive, that is, both the increase of task number or extension of time window will enlarge the task benefits. Meanwhile, the effect of task length on the optimization objects is negative. Then, we can find the relationship between the aforementioned factors. In the given application scenarios, the task benefits are maintained by enlarging the time window or reducing the task length if the task number is reduced. On the contrary, while the time window is reduced or the task length is increased, we could also maintain the task benefits by increasing the task number.


## 5. Conclusions and Future Work

The cooperative scheduling of imaging observation tasks for high-altitude airships are a kind of complex combinatorial optimization problem. This paper makes the following contributions in the study of this problem.(1)
The main constraints of the cooperative scheduling problem for high-latitude airships are presented. The timeliness of imaging observation tasks is proposed, and the influence of this feature on the reconnaissance activities is summarized. On the basis of the above analysis, we construct the constraint programming model.(2)
A hierarchical solution frame is developed to solve this cooperative scheduling problem. The original scheduling problem is converted into a main problem (task set partitioning) and a sub-problem (cruising path selection). It is available to simplify the solution process.(3)
The K-NGCA algorithm is proposed to partition the task set based on the position relationship between the airships and tasks. The simulation results proved the effectiveness of this algorithm.(4)
A new swarm intelligent algorithm is presented, which is called PA algorithm. This algorithm can control the population convergence speed by adjusting the expected survival time of the individuals.(5)
The generation method of the application scenario for high-altitude airships is provided, and the influences of the parameters (such as the task number, the task length, and the time window) on the reconnaissance capability of high-altitude airships are analyzed by experiment.Also for our future work, we plan to analyze the influences of the parameters (such as the expected survival time, the breeding age, and the accidental probability, etc.) on the convergence speed of PA algorithm. This work plays an important role in avoiding the defects that the traditional swarm intelligent algorithms are fast to fall into the local optimal solution effectively.



---

*Source: 548250-2012-12-16.xml*