Exact and Heuristic Methods for Observing Task-Oriented Satellite Cluster Agent Team Formation

With the development of aerospace science and technology, Earth Observation Satellite cluster which consists of heterogeneous satellites with many kinds of payloads appears gradually. Compared with the traditional satellite systems, satellite cluster has some particular characteristics, such as large-scale, heterogeneous satellite platforms, various payloads, and the capacity of performing all the observation tasks. How to select a subset from satellite cluster to perform all observation tasks effectively with low cost is a new challenge arousing in the field of aerospace resource scheduling. This is the agent team formation problem for observation task-oriented satellite cluster. A mathematical scheduling model is built. Three novel algorithms, i.e., complete search algorithm, heuristic search algorithm, and swarm intelligence optimization algorithm, are proposed to solve the problem in different scales. Finally, some experiments are conducted to validate the effectiveness and practicability of our algorithms.


Introduction
With the widespread use of spatial information in modern society, the Earth Observation Satellite (EOS) and its related technologies play an important role in the agriculture, industry, science detection, and other fields [1,2].
EOSs circle on fixed orbits to acquire images of the Earth's surface (for certain targets), which are with respect to many constraints, such as orbit constraints, energy constraints, and payload constraints.How to make full use of the precious EOSs resource, resolve the satellite conflicts effectively, and maximize the satisfaction of users has aroused the concern of scholars all over the world.
Currently, the object of satellite observation task scheduling is the whole EOSs set.The aim of scheduling is to generate the observation activities for each satellite, which should be complied with all the constraints of the satellite and meet the user observation requirements as much as possible.The current research work can be divided into two categories.They are centralized observation task scheduling and distributed observation task scheduling.
In centralized observation task scheduling methods, Constraint Satisfaction Problem (CSP) model [3], Mixed Integer Programming (MIP) model [4] and directed acyclic graph model [5] are employed to formulate the problem.And then, greedy algorithm [6,7], heuristic search algorithms [4,[8][9][10], and intelligent optimization methods [11][12][13] are adopted to solve the problem.The satellites under scheduling are usually homogeneous; they have the same constraints not only in satellite platform but also in payloads.
The second category is distributed observation task scheduling methods.In these methods, EOS is formulated as a cognitive agent, which is autonomous, cooperative, and socialized.So homogeneous, even heterogeneous satellite agents can form a complicated multiagent system (MAS).Satellite agents can coordinate with each other autonomously and assign earth observation task to the suitable satellite agent in MAS.Coordinating and cooperating methods in these research works are usually based on the auction method.
S. Peng et al. [14] presented a 4-satellite agent task coordination method based on contract network protocol with heuristic scheme fusion strategy.C. Wang et al. [15] propose a cooperative coevolutionary method with transfer learning operator to solve this problem in a dynamic situation.
In order to handle the larger scale satellite agents task scheduling problem, P. Feng et al. [16] bring forward a heuristic hybrid contract network protocol method.In the bid stage, cluster method is used to decrease the bid number in each worker agent.In the evaluation stage, genetic algorithm is employed to search for high benefit of multiagent bids in manager agent.The number of satellite agents needs to be under 10.
Compared with centralized observation task scheduling methods, distributed observation task scheduling methods are more flexible.They can formulate heterogeneous EOSs to heterogeneous cognitive agents and can solve the heterogeneous satellite observation task scheduling problem more effectively and efficiently.Furthermore, they are instinct parallel algorithm.Different satellite agent can be deployed to different computation node in the same network.So computation efficiency can be improved with parallel computing technology.
But with the increasing of satellite agents' number, satellite agents coordinating and collaborating cost grow significantly [16].
In current research works, the satellite task scheduling problem is always classified to the oversubscribed problem [17], which means that satellite resource cannot meet all the requirements in one scheduling cycle.So the processing of current satellite task scheduling is to determine a subset of observing tasks.When satellites perform the subset of observing tasks, all constraints (both satellite platform and payloads) are satisfied and users have the optimal or near-optimal benefit.High benefit means more number of high priority tasks to be performed or less energy satellite consumption for performing such observation activities.Moreover, the number of satellites involved in scheduling is usually in one to a dozen or so.
With the development of aerospace science and technology, satellite cluster which consists of many kinds of heterogeneous satellites appears gradually [18].Such as SMARA satellite cluster for Jupiter atmospheres detection [19], ANTS satellite cluster for asteroid detection [20], OLFAR satellite cluster for astronomical observation [21], and Dove satellite cluster for real-time observation of the earth [22].The scale of these satellite clusters is between dozens to hundreds.
The Chinese government is making efforts to integrate earth observation resources belonging to different department in order to form a unified aerospace observation network.In the future, large-scale satellite cluster (Figure 1) will be an important form of earth observation resources [23].
Compared with the conventional EOSs system, EOSs cluster has some significant characteristics as follows: (a) The scale of EOSs cluster is much larger than the conventional EOSs system.The number of member satellite in EOSs cluster is usually between dozens to hundreds, while the satellite number of the conventional EOSs system is usually one to a dozen or so.
(b) The member of satellites in EOSs cluster is highly heterogeneous.The platform, payload, and orbit of satellites in EOSs cluster may be much different from each other.
(c) The satellite cluster is usually designed to perform some specific mission such as scientific observation in some specific area [24].In other words, the satellite cluster is specific task oriented.So for a given observation task set, the satellite cluster can perform all the tasks in one scheduling circle usually.So for a satellite cluster, the aim of scheduling is to find a subset from the whole satellite set which can perform all the given earth observation tasks without any constraints violation and minimize the satellite usage cost of the satellite cluster.
From the perspective of distributed observation task scheduling, we can consider each satellite as an agent, and the whole satellite cluster is a multiagent system.So the subset of satellite selected to perform the given observation tasks is called the task-oriented satellite cluster agent team.This problem is called the agent team formation for observation task-oriented satellite cluster.
The scheduling object, the aim of scheduling, and the problem scale of satellite cluster agent team formation is different from the traditional satellite task scheduling problems.Although we can learn from the ideas of traditional satellite task scheduling approaches, it is hard to adopt existing satellite task scheduling method to our problem effectively.
In a satellite cluster, different satellite has different platform and payload, so their skills and capabilities are different from each other.For a given observation task set, a satellite agent team usually has different cost to perform the tasks if the satellite agent team has different members.How to form a rational task-oriented satellite agent team which has no extra observation ability and minimal usage cost has become a new and urgent problem in the field of Earth Observation Satellite task scheduling.
How to form a team for achieving a given set of tasks is also an important issue in multiagent systems [25].Okimoto et al. focus on how to form a mission oriented robust team.Robustness means the ability to reach the goal even if some agents break down in the task performing process [26].A branch-and-bound search-based algorithm, an approximate algorithm with local search operator [27], some greedy algorithms, and a multiobjective evolution algorithm based method [28] are employed to solve the problem.But it is unlikely that a satellite breaks down in the process of performing observation tasks.The robustness has been taken into account when the EOS is designed.
Marcolino et al. [29] focus on the diversity of an agent team and prove that a diverse team can overcome a uniform team.In the context of robot team formation, Liemhetcharat et al. consider the probability of module failures of robots and study how to form a multirobot team that is robust to failures [30].Farhangian et al. [31] and Rochlin et al. [32] take personality, interest, and mind into account in the agent team formation process.They maintain that agent team performance is significantly influenced by the makeup of participant personalities and temperaments and goes beyond the analysis of individual skills.But in our problem, we make a hypothesis that the goal of all the satellite agents in a cluster is to complete tasks; they do not have any minds to maximize their self-benefit.
There are also some scholars who study the agent team formation problem in various application fields, such as RoboCup [33], rescue problem in fire field [27,34], unmanned aerial vehicles coalition formation strategies [35], agent team formation in social networks [36][37][38], business projects [39], engineering projects [40], and design problem [41].In each specific field, there are some particular goal and constraints needing to be considered.The methods cannot be applied to our problem effectively.
To the best of our knowledge, no previous studies have investigated satellite cluster observing task scheduling problem from the perspective of agent team formation.
The contributions of this paper can be summarized as follows: (i) We study the observing task-oriented satellite cluster agent team formation problem, which is a new challenge in the field of aerospace resource scheduling and aims to propose the reasonable scheduling model and objective function according to the actual usage of satellite cluster.
(ii) Three novel algorithms which are a complete search algorithm, a heuristic search algorithm, and a swarm intelligence optimization algorithm are designed to solve the problem.The time complexity of the algorithms is analyzed.
(iii) After analyzing computational results in experiment, we can make the conclusion that the three algorithms are scalable for problems with different scale.
The rest of this paper is organized as follows.Section 2 describes the mathematical formulation on the agent team formation problem for observation task-oriented satellite cluster.In Section 3, a complete algorithm based on depthfirst branch-and-bound search is proposed.Then the time complexity of the complete algorithm is analyzed.In order to conquer the high time complexity of the complete algorithm, we design an approximation algorithm with a heuristic pruning strategy in Section 4. And then the time complexity of the heuristic approximation algorithm is analyzed.In Section 5 a heuristic algorithm based on Fireworks Algorithm (FWA) [42] is proposed, which is a novel swarm intelligence optimization method.Section 6 presents the numerical experiments to demonstrate the ability and suitable scenario of the proposed algorithms.The last section concludes the paper and provides several future extensions of our algorithms.

Problem Formulation
EOSs circle the earth to take images of the interested area (observation target, we use target for short in the remaining sections) in the vicinity of its substar track with certain work mode pattern (rolling angle of a satellite to point to target).Since the orbit is fixed, satellite can only access a certain target in certain time windows which are called target access windows (TAWs).
The process is illustrated in Figure 2. Agent team formation for observation task-oriented satellite cluster is to select a satellite agent team from the heterogeneous satellite cluster, which can perform all the given earth observation tasks without any constraints violation and minimize the satellite usage cost of the whole satellite cluster.For the characteristic of EOS cluster observation, some hypotheses are made as follows: (a) Target access windows have been calculated before scheduling.One target access window corresponds with one observation task.
(b) Once a satellite starts to perform an observing task, the action must be completed before the start of the next task.
(c) Each target only needs to be observed once.That means if there are  targets, each target can be performed by  satellites, then there are × tasks.Each target only should be observed by one satellite.

Problem Description.
To model the agent team formation problem for observation task-oriented satellite cluster, some notations are introduced as follows: (a) Given observation target set, denoted as TARGET, ∀ ∈ , it can be formulated as i = ( (d) The satellite agent team, which is a subset of satellite cluster that can perform all the observation tasks, is SatA-gentTeam.We can figure out the SatAgentTeam according to decision variable   .Obviously,  ⊆ .

Model Construction.
We need to find a satellite agent team from the whole satellite cluster that has the minimal cost to perform all the observation tasks.Based on the description and assumption of the problem, we give our model as follows: The whole cost of a satellite agent team consists of two parts.
The first part is ∑ ∈    .It is the sum of the cost of each target to be performed.If task  is performed by satellite k, the cost of task performing can be formulated as The second part is the ∑ ∈    ( =    ∈ ).It is the sum of accumulate fatigue cost for each satellite, which is related to the undertaken task count of each satellite.The more task a satellite undertakes, the higher the accumulated fatigue cost of the satellite will be.The accumulated fatigue cost of satellite  can be formulated as From formula (3), we can see that the increment of accumulated fatigue cost can be more if a satellite has already undertaken a lot of tasks than the situation that a satellite has only undertaken a few tasks.
The mainly constraints in the model we consider are as follows.
(C1) The Time Window Constraint for Observation Tasks.The observation time of the target   should not be earlier than

(C2) The Constraint of Observation Payload and Resolution
Requirement Matching.The payload and the resolution of a satellite which will perform an observation task need to match the payload and resolution requirement of the target.

(C3) The Constraint of Sensor Working Mode Changing Span.
It takes some time to change from one working pattern to another.The period of changing pattern from task  to ℎ should be longer than Input: TASK: observation task set SAT: satellite cluster Output: The optimal satellite agent team in which  ∈  and Do() is the function of indicating whether the current task will be performed.For a task j, if it will be performed, (   )=1; else (   )=0.
(C4) The Constraint of Sensor Maximal Working Time in One Orbit Circle.For a satellite k, the accumulated working duration of the sensor in a single satellite orbit circle could not be longer than Δ   .

(C5) The Constraint of Sensor Maximal Working Time in One
Day.For a satellite k, The accumulated working duration of the sensor in a single day could not be longer than Δ   .

The Complete Algorithm for Task-Oriented Satellite Agent Team Formation Based on Depth-First Branch-and-Bound Search
From the model described above, we can see that taskoriented satellite agent team formation is a complicated combinatorial optimization problem.We would like to adopt an exact search method based on branch-and-bound searchbased technology.Constraints C1 and C2 are satellite and target matching constraint.We can handle with constraint C1 and C2 using rule based expert system [43].For example, if the satellite does not have the required observation payload, the satellite will not exist in the candidate satellite set of performing the target.So since we have effective rules, we only need to perform the constraints C3 and C4 in the searching process.
The key searching process is as follows.Firstly, we build an empty satellite agent team (denoted as  0 ) as the root of the searching tree.Each child of the root indicates a matching case of satellite set and task 1.Secondly, we build subtrees of the parent node to indicate the matching of satellite set and task 2. Then we build subtree of the parent node to handle task 3 and so on.The unique path from root to a node indicates a case of satellites task performing series.So the height of the searching tree equals the total task number.When the traversal of all tasks is completed, the searching process is finished.
We propose task-oriented Satellite agent Team Complete Formation algorithm based on Depth-first traversal with Branch-and-bound search (STCFDB).The main steps of STCFDB are illustrated in Algorithm 1.
In STCFDB, we adopt the recursive procedure TF4Each-Task to obtain the best satellite agent team formation solution    .The main steps of TF4EachTask are shown in Algorithm 2.
In TF4EachTask, we implement tree depth-first traversal by recursive method.In statement (2), function Evaluation calculates the cost of the team.Statement (3) is the termination condition of our algorithm.The condition m > M means that all the observation tasks have been handled.If the cost of the team is lower than that of the current best team, the current best solution will be replaced.Statement ( 7)-( 9) is the branch-and-bound approach.If the cost of the team is higher than that of the current best solution, and the searching process is terminated.So, all subtrees of the current node are pruned.In statement (10)-( 12), Function AddSol2Team is to generate all new teams to handle the next task.And then, the recursive process is performed in statement (11) and (12).The main steps of AddSol2Team are in Algorithm 3.
In AddSol2Team, for the -th task from observation task set, we only need to add each pair of satellite (which is capable of performing the task) and the -th task to existing satellite agent team set which has already handled task 1 to task i-1.
For example, if there are three tasks and four satellites, every satellite can perform all the three tasks.The partial searching tree can be illustrated as Figure 3.

Input:
i: observation task index team: current team under formation TASK: observation task set SAT: satellite cluster Output: The sub-tree set of current node Begin (1) set teamSet = 0 (2) task = TASK [] (3) foreach sat in SAT (4) if (sat can perform task) (5) new team = team + (sat, task) (6) teamSet = teamSet + {new team} (7) return teamSet End Algorithm 3: AddSol2Team.In Figure 3, node 1 4 3 means that task 1 will be performed by satellite 1, task 2 will be performed by satellite 4, and task 3 will be performed by satellite 3. The depth-first traversal process is shown as arrows.And the gray node is the node pruned by branch-and-bound strategy.
From the pseudocode of STCFDB we can see that if the task number is M, the satellite number is N, each satellite can perform all the tasks, and there is no pruning in the searching process, the time complexity of the exact algorithm is O(  ).
In other words, in some bad case, STCFDB has exponential time complexity.

The Heuristic Algorithm for Task-Oriented Satellite Agent Team Formation Based on Breadth-First Search with Pruning Strategy
As analyzed in Section 3, the time complexity of STCFDB is exponential, which cannot be applied to large-scale taskoriented satellite agent formation problem.In order to reduce computing time of our algorithm, we introduce a heuristic tree pruning strategy and propose task-oriented Satellite Input: TASK: observation task set SAT: satellite cluster Output: The optimal or sub-optimal satellite agent team foreach team in   (6) teamSet = AddSol2Team(i+1, team, TASK, SAT) (7)
agent Team Formation algorithm based on Breadth-first traversal with Heuristic Pruning (STFBHP).
STCFDB is based on depth-first traversal.It cannot do any subtree pruning operation before a solution has been found.Furthermore, even if a solution has been found, the quality of the obtained solution is bad, there is few branches which can be pruned, and the searching space is also too large to reduce the computing time.So we need to find a new pruning strategy.
So firstly, we change depth-first traversal to breadth-first traversal.And then we introduce a heuristic pruning strategy to make sure that in one layer of the searching tree, only some selected nodes will be extended (their subtrees will be generated and add to the searching tree).
The main steps of STFBHP are shown in Algorithm 4.
HeuristicPruning in statement (9) is the heuristic pruning function.The main steps of HeuristicPruning are show in Algorithm 5.
The key idea of HeuristicPruning is nonuniform sampling.The Team set has been sorted by cost in ascending order, so the Team set[0] is the team with minimal cost.The algorithm adds it to Team Pruned (the agent team set after pruning) firstly in statement (4).And then the algorithm samples some teams and adds them to Team Pruned.In the region where the team cost is low, the sampling is dense, and in the region where the team cost is high, the sampling is sparse. and  are constant parameters of STFBHP.How to set their values will be discussed in Section 6.
The distribution of the cost of satellite agent teams that can be retained in one layer of searching tree after heuristic pruning.
Because of the nonuniform sampling strategy in function HeuristicPruning, there are a lot of subtree being pruned.The searching space of STFBHP is much smaller than that of STCFDB.
The time complexity of STCFDB is analyzed in Theorem 1.
Theorem 1. STFBHP is a polynomial time algorithm.
Proof.From the statements of algorithm STFBHP, we can see that the running time of STFBHP is mainly related to the number of nodes retained after pruning in each layer of the searching tree.In STFBHP,   ( ∈ [1, ]) is the whole set of satellite agent teams that can handle TASK [1] to TASK [].(TASK is the set of tasks).We suppose that   and   are the minimum and maximum team cost of items in   .We denote  (in statement (11) of HeuristicPruning) in each iteration (in statement ( 6)) as  0 ,  1 , ⋅ ⋅ ⋅ ,  −1 (supposing there are n iterations in statement (6), so there are n+1 retained solutions in k-th layer of the searching tree after pruning).
From the statements ( 6)- (11) of HeuristicPruning, we can know We denote   ,  1 ,  2 , ⋅ ⋅ ⋅   as the cost of satellite agent teams after heuristic pruning in k-th layer of the searching tree.The distribution of   ,  1 ,  2 , ⋅ ⋅ ⋅   can be illustrated as Figure 4.
In Figure 4, the increment between   ,  +1 is more than (and the closest to)   .
From Figure 4, we can know that From ( 9), (10), and (11), we can get We change (12) as the following inequality formula: Put the natural logarithm on both sides of (13); we can get so we can obtain Because of the inequality formula x/(1+x) ≤ ln(1+x) ≤ x, so we can get As we mentioned above, the number of the nodes retained after heuristic pruning in   (k-th layer of searching tree) is n+1.So, upper bounds of the nodes (denoted as    ) retained in k-th layer of STFBHP can be represented as In (17),  and  are constant parameters and   and   in   are also constants, so    is only associated with  2 .The running time of STFBHP is mainly related to the number of teams retained after pruning in each layer.The time complexity of handling the k-th layer is ( 2 ).And there are  layers in searching tree.

The Swarm Intelligence Optimization for Task-Oriented Satellite Agent Team Formation Based on Fireworks Algorithm
Some studies have indicated that traditional multisatellite observation scheduling is a typical NP-Hard problem [44,45], with no fast algorithm currently.Task-oriented satellite agent team formation is similar to the traditional multisatellite observation scheduling problem, to which exhaustive search (STCFDB) seems ineffective and the performance of heuristic method (STFBHP) may not be good enough for large-scale problem.We intend to propose another approach which adopts swarm intelligence optimization algorithm to solve this problem.
Fireworks Algorithm (FWA) is one of the most outstanding swarm intelligence algorithms, which is an iterative optimization algorithm inspired by the emergent swarm behavior of fireworks [42,46].In the FWA, swarm fireworks explosion (search) processes are employed and mechanisms for keeping diversity of sparks are also well designed.FWA has been widely used in complex function optimization problems, combinatorial optimization, and planning problems and achieves good results [47][48][49].
Taking the features of our problem into account, we propose task-oriented Satellite agent Team Formation algorithm based on Fireworks Algorithm (STFFA).

Encoding and Decoding.
In order to use FWA to solve our problem, firstly we should establish the correspondence between sparks position and problem solution.Consider the characters of our problem, we need to give the relationships between tasks and the satellites which can undertake the tasks.So we use multidimension integer encoding as is shown in Figure 5.
As illustrated in Figure 5, SATID i represents the ID of the satellite that completes the task i,  ∈ [1, ].For example, SATID i equals SAT k in Figure 5, which means that satellite  will perform the task .We can see that the coding of STFFA is similar to that in the searching tree which is illustrated in Figure 3.But in the searching tree, the value of some positions may be zero, which means that the corresponding task has not been assigned to a satellite.But in STFFA, zero cannot be contained in the code.Every individual in the swarm group represents a solution of our problem.

Design of Fireworks Explosion.
The key of STFFA is how to design the explosion factor of fireworks.The details of explosion factor are as follows.

Number of Sparks.
In our problem, we need to find the satellite agent team with minimal cost.We can describe our problem as where X = (x 1 , x 2 , x 3 , ⋅ ⋅ ⋅ , x M ) is the code (in Figure 5) which denotes a location in the potential space.TeamCost is objective function as (1).Then the number of sparks generated by each firework x i is defined as follows: where where  =  ⋅  ⋅ where  = ℎ ⋅  ⋅ .
From (19) we can see that the number of sparks is the sum of two parts.   is the same as the original definition of number of sparks in FWA.  is the maximum (worst) value of the objective function among all the fireworks in group., which denotes the smallest constant in the computer, is utilized to avoid zero-division-error.  is the group number of FWA, and the  is the total task number in the problem. is a constant parameter of STFFA.
The other part is    which is similar to    .(  ) in ( 21) can be defined as follows: is the task number undertaken by satellite i.  is the total satellite number in satellite cluster, so if some satellites undertake too many tasks while others undertake too few tasks, the value of (  ) is high.But form objective function (1) we can see that the higher the value of (  ) is, the higher the accumulate fatigue cost is.So the less probability   is a good solution.And ℎ is also a constant parameter of STFFA.(  ) can be considered as the load balancing degree of the whole satellite cluster.

Amplitude of Explosion.
The amplitude of explosion for each firework in STFFA is defined as follows: where  =  ⋅  ⋅ .
C min is the minimum (best) value of the objective function among all the fireworks in the group, which is the same as the original definition of amplitude of explosion in FWA.SatNum is the total satellite number in satellite cluster. is a constant parameter of STFFA.

Sparks Generating.
The number and explosion amplitude of sparks have been figured out.In this section, we will discuss how to generate sparks.
In the explosion, sparks may undergo the effects of explosion from random z directions (dimensions).So we generate sparks randomly in z different dimensions as follows: where  = || is the total number of tasks.It is also the dimension of coding in STFFA.And (0, 1) is an uniform distribution over [0, 1].
There are two types of sparks being generated, ordinary sparks and Gaussian sparks.
For ordinary sparks, if the location of fireworks is , we firstly generate z-dimensions to be changed (using (24)) and then for each dimension, the value of the dimension alters randomly in the range of explosion amplitude as (23).And then the location of spark can be obtained.
where    is the j-dimension of   ( ∈ [1, ]) and x  is the location of spark in j-dimension.In our problem, the value of    means that the satellite ID that undertakes task j, so ceiling(), is employed.
In order to keep the diversity of sparks, Gaussian spark is designed.For    (j-dimension of   ), x  can be figured out according to If the obtained location of spark (both ordinary spark and Gaussian spark) is found to fall out of the potential space, we need to map it to the potential space according to where max(x i j ) and min(x i j ) are the maximal value and minimal value of j-dimension of X i .In our problem, max(x i j )− min(x i j ) is the total number of candidate satellites which can perform task i.

Selection of Locations.
In STFFA, for each explosion generation,  locations should be selected for the firework explosion.For the first generation, the locations of fireworks explosion are generated randomly.And then, for the generation p+1, the locations of fireworks explosion are selected from the locations of fireworks and sparks in p-th generation.In STFFA, the best current location which has ever been found is always kept for the next explosion generation.The other −1 locations are selected based on their distance to other locations in order to keep diversity of explosion group.For two locations,   = (  1 ,   2 ,   3 , ⋅ ⋅ ⋅ ,    ) and   = (  1 ,   2 ,   3 , ⋅ ⋅ ⋅ ,   M ), the distance between   and   can be defined as where From ( 29), we can see that, for each task (dimension) of two solutions (locations), if the satellite which will perform the task is the identical, the distance of this dimension is 0; else the distance of this dimension is 1.And the distance between two solutions is the sum of the distance between each dimension of the two solutions.
And then the selection probability of a solution (location) X i is defined as follows: where From (30), we can see that if there is more difference between X i and other solutions, the higher probability X i will be selected to the explosion group of next generation.

Experimental Results and Analysis
In order to validate the effectiveness of the three algorithms mentioned above, we selected 50 satellites running various orbits from the ephemeris database of STK and 100 metropolises as targets to be observed to simulate the real agent team formation problem for observation task-oriented satellite cluster.We randomly generate 10 scenarios with various target number, task number, and satellite number, notated as sc1 to sc10.We suppose that the observation payload set for all satellites includes five types of sensors (visible light, infrared, and SAR (Synthetic Aperture Radar) sensors with different spatial resolution).For each satellite we select one to five sensors to be equipped on it randomly.For each experiment scenario, we randomly set 0-10% access windows to be occupied for each satellite in order to simulate the situation that some satellites have undertaken some observation tasks before current agent team formation.The    ,   , and   for each satellite and    for each task are generated randomly.
The scheduling period is 24 hours.Computation platform is configured as follows: Inter Core-i5 2.70 GHz CPU + 8 GB RAM +Win7, programmed with Microsoft Visual Studio 2010 C#.

Algorithm Parameters Analyzing in STFBHB.
and  are key parameters of STFBHB.In this section, their influence to the performance of STFBHB is analyzed.
We generated four different scenarios with different problem size.The details of the four scenarios are shown in Table 1.
And then we applied STFBHB with different  and  on the experiment scenarios sc1 to sc4.The computing results are shown in Figures 6, 7, 8, and 9. Subfigure (a) and (b) of Figures 6, 7, 8, and 9 compare the performance (team cost) of STFBHB with various ,  on scenarios sc1 to sc4, respectively.And subfigures (c) and (d) of Figures 6, 7, 8, and 9 compare the running time of STFBHB with different ,  on scenarios sc1 to sc4, respectively.
As indicated in Figures 6, 7, 8, and 9, the running time of STFBHB is decreased with the increase of  and  obviously.And the value of the two parameters has less influence on the computing results of the team cost than that of the algorithm running time.For example, In Figure 8(c), the running time of STFBHB ( = 0.3,  = 0.02) is only 27% of that of STFBHB ( = 0.1,  = 0.01) and in Figure 8(a), the performance (team cost) of STFBHB ( = 0.3,  = 0.02) only drops 0.1% compared with that of STFBHB ( = 0.1,  = 0.01).
From the subfigures (c) and (d) of Figures 6, 7, 8, and 9, we can see that the running time of STFBHB drops sharply when the value of  is between 0.01 and 0.03 and the value of  is between 0.3 and 0.9.
From the subfigure (a) of Figures 6, 7, 8, and 9, we can also see that the mean of the team cost with large  is larger than that with small .And the team cost is low when the value of  is between 0.01 and 0.03.From the subfigure (b) of Figures 6, 7, 8, and 9, we can also see that the variance of team cost with high  is larger than that with low .So in other words, the performance stability of STFBHB is decreasing with the increase of .The team cost is relatively stable when the value of  is between 0.1 and 0.3.
Considering the compromise of performance and consuming time, we choose parameters  = 0.3 and  = 0.03 for STFBHB in the later experiments for comparing with other algorithms.
Figure 10 shows the nodes number in each layer of the searching tree of STFBHB with three different group of  and  in experiment scenarios sc4.
As is illustrated in Figure 10, the number of nodes which will be extended in each layer decreases as the parameters  and  increase.This is because when the values of  and  are large, there are fewer nodes need to be extended and searched, and then the running time of STFBHB cut down.

Performance Experiment for
The Algorithms.In order to verify the effectiveness and efficiency of the proposed algorithm in this paper, we conduct some experiments for small, medium, and large-scale problem, respectively.And original Fireworks Algorithm (FWA) is also used as the baseline for comparison in our experiment.
In order to conquer the randomness of FWA and STFFA, each algorithm has been run for 50 times in each scenario, and we record the average results (team cost, running time, and iteration times).For FWA and STFFA, the algorithms exit when no improvements appear during 100 successive iterations.
The parameters of FWA and STFFA are shown in Table 2. GroupNum is the group number of the algorithms.lm is the lower bound of explosion spark number and um is the upper bound of explosion spark number.If the number of the sparks generated by algorithms in each generation is less than lm or more than um, it will be set to lm or  As mentioned in Section 6.1, the parameters of STFBHB are set as  = 0.3 and  = 0.03.
The range of the running time of the algorithms are large.In order to illustrate them in one figure, logarithmic coordinate system is adopted in our experiment.
We employ the following equation to normalize the team cost of the algorithms in each scenario: We leverage our algorithms on small-scale, mediumscale, and large-scale scenarios to see the performance.If satellite number in a scenario is equal to or less than 10, it is small-scale.If the satellite number is more than 10 and equal to or less than 20, it is medium-scale.If a scenario involves more than 20 satellites, it is a large-scale scenario.and the target number is 10.TaskNum in Table 3 is the task number in sc5.

Experiment of Small-Scale Scenarios.
As illustrated in Table 3 and Figure 11, when the problem scale is small, all algorithms find the optimal solutions.From Figure 12 we can see that FWA and STFFA based on swarm intelligence take more time to do computation than other two algorithms.The running time of FWA and STFFA is even more than that of STCFDB which is a complete algorithm.The running time of FWA and STFFA is very close to each other on scenario sc5 with different task number.
Then we generate another scenario sc6 which is a litter bigger than sc5.There are 10 satellites and 10 targets in sc6.In Table 4, the bold font indicates that the algorithm finds the optimal solution on scenario sc6.From Table 4 and Figure 13, we can know that, besides STCFDB which is an exact algorithm, STFBHP finds optimal solutions in all cases.In small-scale scenarios, the branches of the searching tree are not too many, so the heuristic pruning strategy in STFBHP does not miss the optimal solutions.The performance of FWA and STFFA is not very good.They are not suitable for smallscale scenarios.
Figure 14 shows the running time of all algorithms.Because STFBHP is a polynomial time algorithm, the running time of which is the shortest among all the algorithms.The running time of STCFDB is even longer than that of  STFFA and FWA when task number is beyond 12. Due to the exponential time complexity of STCFDB, when task number is 20 and satellite number is 10, its running time exceeds 2.8 hours.

Experiment of Medium-Scale Scenarios.
For further verification of our algorithms, we conduct some mediumscale experiments.We generate two groups of scenarios sc7 and sc8, which are shown in Table 5.The computing results are shown in Table 6 and Figures 15,17,16,and 18. STCFDB cannot figure out the result of sc7-1 in 8 hours!The computing time of STCFDB is too long to make sense in real-world applications, so we only compare the performance of STFBHB, FWA, and STFFA in the later experiments.In Table 6, the bold font indicates that the algorithm obtains the best solution among all three algorithms on scenarios sc7 and sc8.As illustrated in Table 6 and Figures 15 and 16, STFBHB performs well on sc7, when TaskNum is small, while STFFA and FWA get better results when TaskNum is large on sc7 (sc7-5 to sc7-7) and on sc8 (satellite number of sc8 is 20, which is larger than that of sc7).This is because when task number is small or satellite number is small, there are fewer branches in the searching tree, and the heuristic pruning strategy of STFBHB is more efficient.But as the task number increases, the global search ability of FWA and STFFA manifests and gets better results.Compared with FWA, the performance of STFFA is better.This is because STFFA has unique sparks number computing method ((  )) which considers the load balance of satellite cluster and gets better results.
From Figures 17 and 18, we can see that it only takes tens of seconds for STFBHB to obtain results on sc7 and sc8, while the running time of STFFA is around 1000 times of that of STFBHB.

Experiment of Large-Scale Scenarios.
We also generate two large-scale scenarios sc9 and sc10 for further experiment, which contains 30 satellites and 40 satellites, respectively.The details are shown in Table 7.
The computing results are shown in  scenarios sc9 and sc10.As shown in Figures 19 and 20, STFFA obtains better results than FWA and STFBHB on more subscenarios of sc9 and sc10.When satellite number reaches 30, there are so many nodes in each layer of searching tree in STFBHB.The heuristic strategy of STFBHB cannot prune branches in a global perspective.So STFFA and FWA which are based on swarm intelligence get better results.STFFA with unique sparks number computing method ((  )) which takes the load balance of satellite cluster into consider also obtains better results than FWA on more large-scale subscenarios.With the help of (  ), the exploitation capacity of STFFA is stronger than that of FWA.
From Figures 21 and 22, we can know that the advantage of running time of STFBHB is still very obvious in largescale scenarios.So STTFA is suitable for the situations that the requirement of running time is lenient and the requirement of solution optimization degree is high.

Convergence Speed Comparison for FWA and STFFA.
In order to analyze the convergence of STFFA, we employ STFFA and FWA on medium-scale (sc7, sc8) and largescale (sc9, sc10) scenarios.Each algorithm runs 50 times, respectively.In each time, the final iteration times of FWA are recorded.If STFFA finds the solution with the same team cost of the solution found by FWA, then the iteration times are recorded.If the solution of STFFA is inferior to the solution of FWA, the final iteration times of STFFA are recorded.
The mean iteration times of FWA and STFFA are compared in Figures 23, 24, 25, and 26.As indicated in Figures 23,24,25,and 26, the iteration times of STFFA are less than FWA in most subscenarios of sc7, sc8, sc9, and sc10.So we can conclude that the convergence speed of STFFA is faster than that of FWA by and large.This is because (  ) which is related to the load balance degree of satellite cluster makes STFFA do search in more promising region of solution space and gets better results quickly.

Conclusion
Agent team formation for observation task-oriented satellite cluster is a new problem to be solved in the field of aerospace resource scheduling.It is different from the Through the characteristics analysis of the observation process of large-scale satellite cluster, we establish a constraint satisfaction optimization model based on agent and multiagent theory and then propose three novel algorithms including STCFDB, STFBHP, and STFFA.They are complete search algorithm, heuristic search algorithm, and swarm intelligence optimization algorithm, respectively.From the experiment results, we can make a conclusion that every algorithm we propose has its applicable scenarios.
(1) STCFDB is a complete searching algorithm, which guarantees that if a path to the goal exists, the algorithm will reach the goal.But the exponential time complexity of STCFDB makes it can only solve small-scale problem.(2) STFBHB is a heuristic searching algorithm with pruning strategy.It can give high quality solutions when problem scale is small or medium.STFBHB is a polynomial time complexity algorithm and the running time of it is the shortest of the three algorithms.
(3) STFFA which is based on swarm intelligence is suitable for medium and large-scale problems.STFFA always obtains better results compared to the other algorithms when satellite number and task number are both large.The running time of STFFA is also long (around 10000 seconds in some large-scale scenarios).Our future work will consider designing some heuristic operators referring to domain knowledge and history scheduling data.The heuristic operators can combine with our algorithm and enhance the effectiveness and efficiency of the searching process.Another further work is analyzing the performance bounds of STFBHP theoretically.

Data Availability
The data used to support the findings of this study are available from the corresponding author upon request.

Figure 1 :
Figure 1: The illustration of large-scale satellite cluster.

Figure 2 :
Figure 2: The working process of an EOS.

Figure 3 :
Figure 3: Illustration of the partial searching tree.

Figure 6 :
Figure 6: The computing results of STFBHB with different value of algorithm parameters on sc1.

Figure 7 :
Figure 7: The computing results of STFBHB with different value of algorithm parameters on sc2.

Figure 8 :
Figure 8: The computing results of STFBHB with different value of algorithm parameters on sc3.

Figure 9 :
Figure 9: The computing results of STFBHB with different value of algorithm parameters on sc4.

Figure 10 :Figure 11 :
Figure 10: Nodes number in each layer of searching tree of STFBHB with different  and  on scenarios sc4.

Figure 12 :
Figure 12: The running time of different algorithms on sc5.

Figure 14 :
Figure 14: The running time of different algorithms on sc6.

Figure 17 :
Figure 17: The running time of different algorithms on sc7.

Figure 18 :
Figure 18: The running time of different algorithms on sc8.

Figure 22 :Figure 23 :
Figure 22: The running time of different algorithms on sc10.
is the request for the lowest sensor resolution of the target .The resolution of satellite which performs the observation to the target  should be higher than   .(b)Givena satellite cluster, denoted as SAT, ∀ ∈ , it can be formulated as  = (  , Δ    and   are the continuing service capability coefficient of satellite k, which will be described in formula (3) (in Section 2.2).    ,   , and   are closely related to the cost of the satellite agent team.(c)There is an observation task set denoted as TASK.∀ ∈ , it can be formulated as j = (   ,   ,  And    ∈    indicates the observation task  which will be performed in target access window of    .

Table 1 :
Illustration of experiment scenarios for STFBHB parameter analyzing.In the process of sparks generation, some invalid solution may appear.For example, one satellite cannot perform a certain task, because constraint C4 of the satellite is violated.So we need to handle the constraint C3 and C4.When an explosion group of new generation is generated, we adopt solution repair method to transform invalid solutions to valid solutions.That is if a solution violated some constraints, we randomly select another satellite from candidate satellite set to perform the task, until all constraints are satisfied.If all candidate satellites cannot perform the task (this situation seldom happens), then the solution (location) will be discarded, and an alternative new solution will be generated again by explosion spark.

Table 2 :
The parameters of FWA and STFFA.
um. GFNum is the number of sparks produced by Gauss operator in each generation.a is a constant parameter of

Table 3 and
Figures 14 and 15 compare the computation results of the four algorithms in scenario sc5, in which the satellite number is 5

Table 4 and
Figures 13 and 14compare the computation results of the four algorithms in scenario sc6.

Table 3 :
The team cost of four algorithms on sc5.

Table 4 :
The team cost of four algorithms on sc6.

Table 5 :
Illustration of medium scale experiment scenarios.

Table 8 and
Figures  19,20, 21 and 22.In Table8, the bold font indicates that the algorithm obtains the best solution among all three algorithms on

Table 7 :
Illustration of large scale experiment scenarios.

Table 8 :
The team cost of different algorithms on large-scale experiment scenarios.