Abstract

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.

1. 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, 810], and intelligent optimization methods ‎[1113] 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 ‎[3638], 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 depth-first 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.

2. 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.

2.1. 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 = (, , , ). and are the earliest observation request and latest observation request. That means the observation time of the target should not be earlier than or later than . is the observation payload request of the target . Only the satellites which are equipped with the required observation payload are qualified to do observation to target . Observation payload is diverse, including visible light sensor, infrared sensor, synthetic aperture radar, and hyperspectral sensor. 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) Given a satellite cluster, denoted as SAT, , it can be formulated as = (, , , , , , , ). is the observation payload set of satellite . There may be more than one type of sensor located in a satellite. is the minimal duration of working pattern changing from one pattern to another. When a satellite takes image of a target, it needs to change its rolling angle to point the target. So when a satellite performs continuously observation from target A to target B, it needs to change its rolling angle from pointing to A to pointing to B. The changing duration cannot be less than . and are the maximal working duration of the sensor of satellite in one circle and one day. is the number of observation tasks the satellite undertakes. In the process of satellite agent team formation, if satellite undertakes new tasks, increases. is the usage cost coefficient of satellite k. 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 = (, , , ). is the target access window set of the observation task j. , is a target access window of satellite and target . and are the beginning time and end time of the time frame that is available for satellite to perform observation task j. is the target which is corresponding to the observation task j. is the cost coefficient of performing task j. is the decision variable of our problem. . indicates which satellite will perform the observation task . And indicates the observation task which will be performed in target access window of .

(d) The satellite agent team, which is a subset of satellite cluster that can perform all the observation tasks, is SatAgentTeam. We can figure out the SatAgentTeam according to decision variable . Obviously, .

2.2. 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 or later 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 .

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 .

in which is the function of indicating whether the satellite will perform task in circle . if it will, ; else it equals 0.

(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 .

in which is the function of indicating whether the satellite will perform task in the day . if it will, ; else it equals 0.

From the model described above, we can see that task-oriented satellite agent team formation is a complicated combinatorial optimization problem. We would like to adopt an exact search method based on branch-and-bound search-based 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 ) 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.

Input:TASK: observation task set
SAT: satellite cluster
Output:The optimal satellite agent team
Begin
(1)set , team =
(2)TF4EachTask(1, team, TASK, SAT, )
(3)Return
End

In STCFDB, we adopt the recursive procedure TF4EachTask to obtain the best satellite agent team formation solution . The main steps of TF4EachTask are shown in Algorithm 2.

Input:m: observation task index
team: current team under formation
TASK: observation task set
SAT: satellite cluster
: The best team has been found
Output: The best team has been found
Begin
(1)M =
(2)team.Cost = Evaluation(team)
(3)if (m > M)
(4)if (team.Cost < .Cost )
(5)
(6)return
(7)else
(8)if (team.Cost >.Cost && )
(9)return
(10)teamSet = AddSol2Team(m+1, team, TASK, SAT)
(11)foreach team in teamSet
(12)TF4EachTask(m+1, team, TASK, SAT, )
End

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.

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 =
(2)task = TASK
(3)foreach sat in SAT
(4)if (sat can perform task)
(5)new_team = team + (sat, task)
(6)teamSet = teamSet +
(7)return teamSet
End

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.

In Figure 3, node 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 . In other words, in some bad case, STCFDB has exponential time complexity.

4. 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 task-oriented 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 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.

Input:TASK: observation task set
SAT: satellite cluster
Output:The optimal or sub-optimal satellite agent team
Begin
(1)M =
(2)set , i=0,
(3)while
(4)
(5)foreach team in
(6)teamSet = AddSol2Team(i+1, team, TASK, SAT)
(7)
(8)OrderbyCostAsc
(9) HeuristicPruning
(10)OrderbyCostAsc()
(11) =
(12)return
End

In STFBHP, () is the satellite agent team set that can handle from task to task. Function AddSol2Team in statement (6) is described as Algorithm 3. In statement (8), the function OrderbyCostAsc () sorts the teams in set by cost in ascending order.

HeuristicPruning in statement (9) is the heuristic pruning function. The main steps of HeuristicPruning are show in Algorithm 5.

Input:The team set before pruning Team_set
The layer of the tree k
Output:The team set after pruning Team_Pruned
Begin
(1)set Team_Pruned
(2)CostBase = Team_set.Cost
(3)CostInc =
(4)Team_Pruned = Team_Pruned +
(5)Scale = 1
(6)foreach team in Team_set
(7)if (team.Cost > CostBase + CostInc)
(8)Team_Pruned = Team_Pruned +
(9)CostBase = team.Cost
(10)Scale = Scale +
(11)=
(12)return Team_Pruned
End

The key idea of HeuristicPruning is nonuniform sampling. The Team_set has been sorted by cost in ascending order, so the Team_set 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.

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, is the whole set of satellite agent teams that can handle TASK 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 , , , (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 knowWe denote as the cost of satellite agent teams after heuristic pruning in k-th layer of the searching tree. The distribution of can be illustrated as Figure 4.
In Figure 4, the increment between is more than (and the closest to) .
From Figure 4, we can know thatFrom (9), (10), and (11), we can getWe change (12) as the following inequality formula:Put the natural logarithm on both sides of (13); we can getso we can obtainBecause of the inequality formula , so we can getAs 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 asIn (17), and are constant parameters and and in are also constants, so is only associated with . 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 . And there are layers in searching tree.
So the time complexity of STFBHP is . STFBHP is a polynomial time algorithm. Thus, the original proposition is proved.

5. 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 ‎[4749].

Taking the features of our problem into account, we propose task-oriented Satellite agent Team Formation algorithm based on Fireworks Algorithm (STFFA).

5.1. 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, . For example, SATID_i equals 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.

5.2. 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.

5.2.1. Number of Sparks

In our problem, we need to find the satellite agent team with minimal cost. We can describe our problem as

where is the code (in Figure 5) which denotes a location in the potential space. is objective function as (1). Then the number of sparks generated by each firework is defined as follows:wherewhere 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.

5.2.2. Amplitude of Explosion

The amplitude of explosion for each firework in STFFA is defined as follows:where .

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. is the total satellite number in satellite cluster. is a constant parameter of STFFA.

5.2.3. 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 is an uniform distribution over .

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 () and 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 ), 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 and are the maximal value and minimal value of j-dimension of . In our problem, is the total number of candidate satellites which can perform task i.

5.2.4. 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 locations are selected based on their distance to other locations in order to keep diversity of explosion group. For two locations, = and , 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) is defined as follows:where

From (30), we can see that if there is more difference between and other solutions, the higher probability will be selected to the explosion group of next generation.

5.3. Constraint Handling in STFFA

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.

6. 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#.

6.1. 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 (, ) is only 27% of that of STFBHB (, ) and in Figure 8(a), the performance (team cost) of STFBHB (, ) only drops 0.1% compared with that of STFBHB (, ).

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 and 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.

6.2. 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 um. GFNum is the number of sparks produced by Gauss operator in each generation. a is a constant parameter of FWA and STFFA in the explosion amplitude computation formulation. g is a constant parameter of FWA and STFFA in the explosion spark number computation formulation which is related to the objective function value. And is a unique constant parameter of STFFA. It is in the explosion spark number computation formulation which is related to the load balancing degree of the whole satellite cluster.

As mentioned in Section 6.1, the parameters of STFBHB are set as and .

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, medium-scale, 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.

6.2.1. Experiment of Small-Scale Scenarios

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 and the target number is 10. TaskNum in Table 3 is the task number in sc5.

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. Table 4 and Figures 13 and 14 compare the computation results of the four algorithms in scenario 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 small-scale 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.

6.2.2. Experiment of Medium-Scale Scenarios

For further verification of our algorithms, we conduct some medium-scale 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.

6.2.3. 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 Table 8 and Figures 19, 20, 21 and 22.

In Table 8, the bold font indicates that the algorithm obtains the best solution among all three algorithms on 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 large-scale 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.

6.3. 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 large-scale (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.

7. 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 traditional satellite observation scheduling in scheduling aim and problem scale.

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.

Conflicts of Interest

The authors declare that they have no conflicts of interest.

Acknowledgments

This work was supported by the National Natural Science Foundation of China (61101184 and 61174159).