Professional Documents
Culture Documents
a r t i c l e i n f o a b s t r a c t
Keywords: Earth observation satellites are platforms equipped with optical instruments that orbit the
Earth observation satellite earth to take photographs of specific areas at users’ requests. Compared with huge user
Scheduling requests, satellites are still scanty resources. For some task, the satellite has to roll its camera
Task merging to take the desired image. However, many satellites are rigidly restricted on maneuverability.
Decomposition optimization
As a result, the performances of satellites are greatly confined. Therefore, we need a scientific
Dynamic programming
Adaptive ant colony optimization
observation plan to weaken the constraints arising from satellites’ poor slew ability. To solve
the problem we present a multi satellites scheduling algorithm based on task merging mech-
anism. The algorithm partitions the problem into two sub-problems: task assignment and
task merging. In task assignment, we propose an adaptive ant colony optimization algorithm
to select specific time window for each task, creating a task list for each satellite. In task merg-
ing, we propose the concept of task combination and develop a dynamic programming algo-
rithm to find the best merging plan for each satellite. The two sub-problems are logically
coupled; a valid observation plan will be got after much iteration. Finally, a series of test
examples are given out, which demonstrate our algorithm to be effective.
Ó 2013 Elsevier Inc. All rights reserved.
1. Introduction
Earth observation satellites are platforms equipped with imaging instruments that orbit the earth in order to take photo-
graphs of specific areas at users’ requests. They can get earth images through satellite-based cameras, which are characterized
by broad coverage, long duration and without limit of the national boundaries. Therefore, they play important roles in the
remote sensing of natural resources and agriculture, evaluation of natural disasters, cartographic mapping and military recon-
naissance. With the increasing number of on-orbit satellites, it shows great advantages for satellites to work together [1,2].
This paper addresses the problem of scheduling observations for a collection of satellites and a great number of tasks. For each
task, it might be observed by different satellites from different tracks in different time instants. Therefore, this scheduling task
is a difficult optimization problem, potentially involving many satellites, hundreds of requests, constraints on when and how
to service each request, and rules for the resources such as instruments, recording devices, transmitters and ground stations.
When a satellite flies over the target area, its camera is opened to take the needed image. As the satellite flies at a high
speed and the imaging process will last a few minutes or seconds, it will produce a strip that covers the target. Each target is
thus associated with a special time window. For some targets, the satellite has to roll its camera to photograph due to the
constraint of satellite’s field of view (fov). However, satellites have rigid constraints on slewing activities. Take HJ1A satellite
as an example, it can slew four times at most in a single orbit. That means the satellite can image no more than four times by
⇑ Corresponding author.
E-mail address: lxl_sunny_nudt@live.cn (L. Xiaolu).
0096-3003/$ - see front matter Ó 2013 Elsevier Inc. All rights reserved.
http://dx.doi.org/10.1016/j.amc.2013.12.109
688 L. Xiaolu et al. / Applied Mathematics and Computation 230 (2014) 687–700
different look angles. Therefore, observation capability of the satellites depends greatly on its maximal slewing ability. Sat-
ellites belonging to the SPOT system are also confronted with the same problem [3].
In most research, each task contains only one target. As a result, each target is associated to one satellite observation strip.
If two or more targets are geographically adjacent, they might be covered by one satellite strip. In other words, they might be
observed simultaneously in one swath by the same look angle just as Fig. 1 shows. Targets 1 and 2 can be covered by the
same swath. In this case, if we image the two targets respectively it would be a waste of satellite resource. Therefore, it
would be effective to combine tasks like them when scheduling, especially for the satellite whose slewing capability is lim-
ited. Based on task combination, we proposed a multi satellites scheduling algorithm to weaken the constraints arising from
poor slewing ability of satellites. And we suppose that the negative effects of distortion brought by slewing can be neglected
[4].
Multi satellites scheduling problem (MSSP) is to assign and schedule observation resource effectively, so that user re-
quests can be maximally fulfilled. MSSP has been proved to be a hard combinatorial optimization problem [5]. To solve it
intelligent optimization algorithms are used, such as neighborhood search [6], evolutionary algorithms [7] and genetic algo-
rithm [8]. However, they did not take task combination into consideration. According to particular characters of Chinese sat-
ellites, the paper proposed a task merging mechanism to improve efficiency of earth observation satellite system. Based on
task merging, dynamic planning method and ant colony optimization algorithm were adopted to solve this problem. We will
explain how the observation plan is generated in the following sections.
In current section, we will introduce what combined observation is and illustrate when to combine different tasks into
one sensor swath. Also we will build a mathematical model for the problem.
A few marks are defined first to simplify the problem. S = {S1, ... , SNs}: Set of satellites, Sj is an earth observation satellite
and Ns is the number of satellites. T = {T1, ... , TNt}: Set of tasks, Ti is a task to be scheduled and Nt is the number of tasks.
Nij
Oi ¼ [Ns j¼1 [k¼1 Oijk ; i 2 ½1; . . . ; Nt: Set of time windows for T i or meta-tasks deduced by task Ti, Nij = |Oij| is the number of
observing windows for task Ti, which are generated by satellite Sj. And Oijk ¼ ½hwsijk ; weijk i; g ijk is the kth time window be-
tween task Ti and satellite Sj, where wsijk, weijk stand respectively for start time and end time of time window Oijk, gijk is
the look angle of the time window.
For satellite Sj, more notations are defined to describe its observation capability. Dgj: camera angle, Dtj: the longest open
time, ratej: slewing rate of the camera, Spanj: recover time after slew, aj ; bj : memory space and energy consumed for each
time unit, Mj, Pj: the maximum memory capability and energy supply, nj: the largest slew times in a single orbit. For task
Ti, pi is its priority which measures the importance of the task and it needs an observing time di.
Before defining combined observation, we firstly make clear a few related terms. Task, which is corresponding to a target,
is the basic element of MSSP. For each task, there might be more than one satellite that can fulfill it and each satellite might
own several observation windows for it. We introduce meta-task to define these observation chances. Once a meta-task is
defined, it ascertains a time window. And a task might create several meta-tasks. To finish the task we need to select one and
only one of its meta-tasks to observe. Combined task is actually a combination of meta-tasks, by which a longer time window
and a new look angle will be defined.
Combined observation cannot be carried out between two randomly selected tasks. When generating satellites schedul-
ing plan, the following constraints cannot be violated.
Angle constraint: For satellite Sj, its camera angle Dgj defines its field of view. And g mj ; g nj are look angles for task m and n.
If we want to combine these two tasks, jg mj g nj j 6 Dg j must hold. In Fig. 1, target 1 and target 2 can be combined while
targets 3 and 4 cannot. Because the discrepancy of their look angles surpasses satellite sensor’s camera angle and there is
not a satellite strip that can cover both targets at the same time.
Energy constraint: The solar panel is the main power supply of satellite and its capacity is limited. Imaging and slewing
activities will consume most of energy. As a result, the times that a satellite can image with different look angles are
strictly confined. Also a threshold value Dt is set to restrict satellite’s longest open time. For a combined task, the length
of its time window cannot surpass this threshold value.
Storage constraint: The capacity of the satellite storage is another limiting factor. If the acquired images cannot be
sent back timely, they will be stored in the satellite. However, once the storage is full, the satellite will not work until
the image data are sent back and the memory is clear. Thus, the total data amount cannot surpass the maximum
capacity.
Time constraint: Transition time between two tasks is determined by their look angles and camera’s slewing rate. If the
transition time between two observing activities surpasses their interval time, one activity will be abandoned. For task i
and task j shown in Fig. 2, their transition time is too short to observe respectively. According to traditional satellite
scheduling, only one of them can be observed. While through task combination they can be covered by one strip and both
task i and j are observed. Therefore, the interval time between two combined observations should be long enough so that
the satellite can adjust its posture.
If Omjk and Onjk are respectively time windows for tasks Tm and Tn from satellite Sj, the two tasks cannot be combined un-
less the formula showed below holds.
(
maxfwemjk ; wenjk g minfwsmjk ; wsnjk g 6 Dt j
ð1Þ
jg mjk g njk j 6 Dg j
It means when angle constraint and energy constraint are satisfied simultaneously, tasks Tm, Tn can be observed in one
strip. Then the time window and look angle for combined task are respectively:
TW com ¼ minfwsmjk ; wsnjk g; maxfwemjk ; wenjk g ð2Þ
g mjk þ g njk
g com ¼ ð3Þ
2
Combined observation shows great advantages. Firstly, it ensures satellites fulfill more tasks, just as Fig. 1 showed.
Secondly, it is good for satellite’s gesture keeping. Frequent slewing will affect satellite’s stability. Through combined
observation slewing times of the satellite is reduced, and the satellite neednot to roll its camera frequently. Finally,
combined observation will cut down unnecessary power consumption. Besides, some useful conclusions can be drawn from
combined task.
Taskk
Taski
g
i
Definition 1. If a combined task contains several tasks Ti, ... , Tl which are ranked according to start time of their time
windows, the combined task is defined as Strip(i, l). And time windows for Ti, ... , Tl are respectively ½hwsi ; wei i; g i ; . . . ; ½hwsl ;
wel i; g l .
Character 1. For Strip(i, l), we define its look angle as CGil, then wel wsi 6 Dt, jg i g l j 6 Dg and g i ; g l 2 ½CGil Dg=
2; CGil þ Dg=2 hold.
Proof. According to formula (1), wel wsi 6 Dt; jg i g l j 6 Dg hold, which are the precondition of combined observation. To
use the method of reduction to absurdity, we suppose that g i R ½CGil Dg=2; CGil þ Dg=2 holds. Apparently, the precondition
is destroyed and task Ti cannot be combined. Then the start time of combined task becomes wsi+1. As a result, the combined
task becomes Strip(i + 1, l), which conflicts with the given knowledge. Therefore, g i 2 ½CGil Dg=2; CGil þ Dg=2 holds.
Similarly, we can know g l 2 ½CGil Dg=2; CGil þ Dg=2 holds. h
Character 2. If Strip(i, l) holds, tasks Ti, ... , Tl will be contained in the combined task. Suppose g m ¼ maxfg i ; . . . ; g l g,
g n ¼ minfg i ; . . . ; g l g. The look angle for combined task is marked as CGil, and then CGil 2 ½g m Dg=2; g n þ Dg=2 holds.
Proof. For Strip(i, l), its two edge angles are g max ¼ CGil þ Dg=2 and g min ¼ CGil Dg=2, just as Fig. 3 shows. To cover tasks
Ti, ... , Tl, we can slightly move the strip inward until g min ¼ g m Dg. At this time the look angle for Strip(i, l) becomes
CG0il ¼ g m Dg=2. Also we can move the strip outward until g max ¼ g n þ Dg. Then the look angle for Strip(i, l) is
CG00il ¼ g n þ Dg=2. Therefore, we draw the conclusion that CGil 2 ½g m Dg=2; g n þ Dg=2 holds. h
Based on concept of combined observation and above conclusions, we build a mathematical model for MSSP, which can
be represented by the operator hS, T, O, C, Fi, where S is the set of satellites, T is the set of tasks,
O ¼ f½hws1 ; we1 i; g 1 ; . . . ; ½hwsjOj ; wejOj i; g jOj g is the set of time windows to be scheduled, C is the set of constraints and F is
P
objective function. F ¼ max Ns i¼1 Pri , where Pri is the profit of satellite Si. It numerically equals the sum of priorities of tasks
observed by satellite Si.
To describe the problem, we divide it into two parts: task assignment and task merging. Through task assignment, we can
get a task list for each satellite and task merging will be carried out according to task lists. We build a task merging based
scheduling model for each satellite, which is expressed by formulas (4)–(12). For combined task Obsi, its time window is de-
fined as ½hSi ; Ei i; Gi for simple.
X
Nc X
Nt
max : f ði; jÞ pj ð4Þ
i¼1 j¼1
X
Nc
s:t: f ði; jÞ ¼ 1 ð5Þ
i¼1
Si 6 Ei ; ði ¼ 1; . . . ; NcÞ ð6Þ
X
Nc X
Nc1
b ðEi Si Þ þ q jGiþ1 Gi j 6 P ð9Þ
i¼1 i¼1
X
Nc
a ðEi Si Þ 6 M ð10Þ
i¼1
where:
1; if Si 6 wsj ; wej 6 Ei and Gi Dg=2 6 g j 6 Gi þ Dg=2
f ði; jÞ ¼ ð11Þ
0; else
MSSP is very complex, which is determined not only by the size of problem but also by its specific constraints. There are
millions of possible combinations for satellites and tasks. Therefore, direct search method is computationally impossible and
we adopt a decomposition optimization method to solve the problem. The main concept of our method is to decompose the
problem into several related sub problems. We can solve each sub problem previously, and then coordinate the sub problems
to find an optimized solution.
For MSSP, we divide it into two sub problems: task assignment and task merging. Task assignment is to assign observa-
tion tasks to different satellites, creating a task list for each satellite. To be more accurately, we should select a time window
for each task. Task merging is carried out based on task list of each satellite. It is aimed to combine potentially related tasks
and finally create an optimized observation plan.
T ¼ fT 1 ; . . . ; T Nt g is the set of tasks to be observed and Ns candidate satellites are available. For task Ti, there might be
several satellites that can fulfill it and Oi is the set of all time windows for it. To fulfill Ti, we need to select one time window
Oijk from Oi. Once Oijk is selected, a satellite has been assigned to Ti. According to task exclusiveness, a task should and can
only be observed by one satellite. As a result, all the tasks that might be observed by candidate satellites are contained in
different task lists.
With the task list of satellite Sj, we reorder them according to the start time of their observation time windows. Therefore,
for Tj1, Tj2, ... , Tjn, wsj1 6 wsj2 6 6 wsjn holds. We will try a combination for tasks T jk ; . . . ; T jðkþlÞ according to Characters 1
and 2. All the possible combinations among tasks contained in the task list should be carried out. A few combination plans
will be got and we will keep the one with maximum profit as the final result of task merging.
The two sub problems are seemingly independent; while they interact with each other actually. Task merging relies on
the task lists generated by task assignment. And result of task merging will affect satellite’s energy consumption, which
determines the number of tasks that can be finished. From this point, the result of task merging should be fed back to update
the plan of task assignment. With a view of the coupling relationship between the two sub problems, a decomposition opti-
mization algorithm is proposed. The algorithm consists of both ACO and dynamic planning and its architecture is shown in
Fig. 4. The ACO is to solve task assignment problem. With task lists created by ACO, we use dynamic planning algorithm to
solve the problem of task merging.
At the beginning, adaptive ACO will select satellites and time windows for all the tasks and create a task assignment plan.
Simultaneously, the ACO will update pheromone trail according to task assignment plan. According to this plan, tasks will be
assigned to multi orbits of different satellites. Then, for tasks assigned to each orbit of every satellite, task merging algorithm
for single orbit is applied to get task merging plans for each satellite. A task merging plan will be got, insert the unplanned
692 L. Xiaolu et al. / Applied Mathematics and Computation 230 (2014) 687–700
Task assignment
State transition
rules
Task merging
Dynamic planning
Plan of task Task lists Task combination of
assignment one orbit
Feedback
Optimized task
Pheromone
to guide Local update merging plan
update
search
Global update
Local rerpair
tasks into other satellites’ task lists to try a new merging. The operation is called local repair, which will be detailed in
Section 5.3. An observation plan is built and its result is fed back to guide ACO algorithm for further search. Also we will
update ACO to enhance global pheromone trail according to the repaired task merging plan.
To get a final observation plan, the algorithm needs much iteration and above process will be repeated until the solution
is qualified. In the phase of task assignment, we consider only two constraints, task exclusiveness and time window, which
are expressed by Eqs. (5)–(7). The others such as transition time, energy and storage constraints will be dealt with in the
phase of task merging. They are shown in Eqs. (8)–(10). A global constraint check will be done to the final solution, so that
the observation plan is valid. Chapters 4 and 5 will give more details about the algorithm.
Task merging for single orbit is to produce an observation plan with maximum profit for each satellite. In this process we
need to compute the look angles and observing windows for combined tasks to maximize priorities of tasks contained by
them. The operation is carried out under constraints of the satellite’s slewing capability and other operation rules. According
to Cordeau [6], we call it Satellite Orbit Problem (SOP). Fig. 5 shows an optimized combination when satellite’s maximum
slewing times equals 2.
To some extent, SOP is similar to a Maximal Covering Location Problem (MCLP) [9]. Combined task is something like
service station and spot targets are user requirements. When a combined task contains some targets, the requirements
Transition time
Observing time
Combined time window
Constraint of
camera angle
are covered by service station. The process of computing look angle and duration time of combined task is the process of
location selection. What differs from MCLP is that capability of each service station (time length of combined task) is change-
able. For any two consecutive combined tasks, the transition time must be taken into consideration. For optical satellites,
they cannot work in the shadow of the earth. Thus, the problem can be partitioned into multi phases and it becomes a multi
phase decision making problem, which can be solved by dynamic programming algorithm.
For satellite Sj, suppose that there are |N| tasks in one of its orbits. Arrange these tasks in an ascending order according to
start time of their time windows. Therefore, for tasks T1, T2, ... , T|N|, ws1 6 ws2 6 6 wsjNj holds. For each combined task, we
denote it with an observation strip Strip(i, l), where i is start task of the combined task and l is end task. In the following sec-
tions, we will illustrate how to calculate combined look angle and get i, l for combined task.
Let i; lði 6 lÞ be the start and end tasks of combined task Strip(i, l), cmil be the optimized profit and cgil be the combined
look angle. When start and end nodes of the combined task is fixed, its start and end time will be wsi and wel. We still need
to calculate its look angle, in order that we can get the profit of the tasks covered by combined task.
The detailed method of getting optimized angle for the combined tasks is shown as follows.
Step 1: Check task Ti, Tl so that they won’t break the angle and time constraints for satellite Sj. If jg i g l j 6 Dg j ,
wel wsi 6 Dtj hold, turn to step 2. Or, the two tasks cannot be combined and cmil, cgil are both 0.
Step 2: Get the look angles gi, ... , gl for Ti, ... , Tl, rearrange them in a descending order. Calculate the range of cgil according to
Character 2, and cg il 2 ½cg min ; cg max . Select look angles that are located in ½cg min ; cg max from gi, ... , gl, forming a look
angle set G0 .
Step 3: For each g k 2 G0 ðk ¼ 1; . . . ; jG0 jÞ, a combined look angle cg k ¼ g k Dg j =2 can be got. With each cgk, we can get an
observation strip. Calculate the profit of each strip, which is determined by the sum priority of tasks covered by
the strip. The largest profit is marked as cm0 and its corresponding look angle cg0 .
Step 4: Get the largest profit for Strip(i, l), and cmil = cm0 and cgil = cg0 .
When getting the range of cgil, the size of the problem space is greatly cut down. We do not need to try every angle in
gi, ... , gl. The next is to identify the start and end task for each combined task.
For any tasks that can be potentially combined, we can calculate its look angle cg and profit cm. Thus, for each satellite we
merge its tasks to create a near optimized observation plan. To simplify the problem, we partition satellite tasks into several
groups according to their observing windows. If they are temporally in the same orbit, they should be in the same group,
forming a series of SOP. Task merging is carried out group by group. And the whole task merging consists of forward search
and backtracking process. In the forward search, all the possible combinations for satellite Sj will be given out, according to
which profit matrix and combined look angle matrix are built. Also all the possibilities for kth combined task are expressed
through its profit vector Wk and end task vector Wk. Based on the two matrixes and all vectors, backtracking is carried out to
find the merging plan with the largest profit.
Forward search:
Step 1: Generate a profit matrix CM ¼ ðcmij ÞjNjjNj and an angle matrix CG = (cgij)|N||N|, where cmij, cgij are respectively the
best profit and look angle for Stripði; jÞ ði 6 j; i; j ¼ 1; . . . ; jNjÞ. At the beginning, set CM = 0, CG = 0. For Strip(i, j), we
firstly judge whether it holds or not according to Character 1. If it holds, calculate cmij and cgij based on the algorithm
discussed in Section 4.1. If not, cmij = 0, cgij = 0. Finally, we will get two upper triangular matrixes, where cmii = pi and
cgii = gi. These two matrixes are basis of next steps.
Step 2: For satellite Sj, it can slew n times in a single orbit. Therefore, n combined tasks can be created at most. We first cal-
culate the nth combined task. Its start task cannot be less than n, as there are still n 1 combined tasks ahead of it.
Thus, the start task for combined task n can be n, n + 1, ... , |N|. Therefore, there are |N| n + 1 different possibilities
for combined task n. Build a profit vector W|N|1 for combined task n. And Wn(i) is the profit of combined task n
whose start task is i ðn 6 i 6 jNjÞ, and we denote it as Strip(i, k). Calculation of Wn(i) is shown in Eq. (13).
0; i<n
W n ðiÞ ¼ ð13Þ
max cmij ; i P n and j ¼ i; . . . ; jNj
From above equation, we can know that different start tasks will deduce different combined tasks. Build a vector W|N|1 to
keep the end task of combined task n. Wn(i) is the end task of combined task n whose start task is i. Once Wn(i) is calculated, it
ensures a strip Strip(i, k), therefore Wn(i) = k.
694 L. Xiaolu et al. / Applied Mathematics and Computation 230 (2014) 687–700
2 3 2 3
0 0
6 .. 7 6 .. 7
6 . 7 6 . 7
6 7 6 7
6 7 6 7
6 0 7 6 0 7
Wn ¼ 6
6 W n ðnÞ
7;
7 Wn ¼ 6
6 Wn ðnÞ
7:
7
6 7 6 7
6 .. 7 6 .. 7
6 7 6 7
4 . 5 4 . 5
W n ðjNjÞ Wn ðjNjÞ
Step 3: According to a descending order, we can calculate profit vectors and end task vectors for combined task (n 1), ... , 1
recursively.
If Wk and Wk are given, Wk-1 can be calculated according to Eq. (14).
0; i<k1
W k1 ðiÞ ¼ ;
max½cmij þ W k ðhÞ; ði ¼ ðk 1; . . . ; jNjÞ; j ¼ ði; . . . ; jNjÞ; h 2 feasik ði; jÞÞ
and
jcg cg rðWk ðrÞÞ j
D
feasik ði; jÞ ¼ r if Span þ ij 6 ðwsr wej Þ 8 r 2 ðj þ 1; . . . ; jNjÞ ; ð14Þ
rate
Wk(h) is the profit for the kth combined task. Not all the values in Wk are qualified, as it might break the constraint of
transition time. From step 2, we know there are |N| k + 1 possible combinations for the kth combined task. The interval
time between combined task (k 1) and k must be longer than the transition time between them. Therefore, we have to
filter qualified tasks from Wk according to transition time. The start tasks of qualified combined task k constitute the set
feasik(i, j). And cg rðWk ðrÞÞ is look angle for the selected combined task k, and Wk(r) is the end task for it.
Step 4: When computing Wk-1, we can also get its end task vector Wk1. Step 3 will be repeated, until we get W1 and W1, the
forward search is ended.
Backtrack:
This operation is carried out based on CM, CG and W k ; Wk ðk ¼ 1; . . . ; nÞ.
Step 1: Choose the maximum value W1(i) of the profit vector W1, then the first combined task is Strip(i, W1(i)) and the look
angle for it is cg iðW1 ðiÞÞ : If there is more than one value equaling W1(i), it means there are several optimized combine
plans. For other plans, backtrack orderly.
Step 2: Compute combined task 2 to task n orderly.
Suppose the (k 1)th combined task is Strip(p, q). Then profit for the kth combined task can be got by
W k ðjÞ ¼ maxðW k ðiÞÞ; ði ¼ q þ 1; . . . ; jNjÞ. Therefore, the kth combined task is denoted as Strip(j, Wk(j)). Similarly, the
(k + 1)th combined task can be computed and its profit is W kþ1 ðlÞ ¼ maxðW kþ1 ðiÞÞ; ði ¼ ðWk ðjÞ þ 1Þ; . . . ; jNjÞ. The (k + 1)th
combined task becomes Stripðl; Wkþ1 ðlÞÞ: Similar to step 1, if there are several optimized values in vector Wk, record them
and backtrack, respectively. When backtrack to combined task n or the end node of task k + 1 is |N|, end the backtracking
process.
Step 3: After the above two steps, we can get at least one task merging plan which contains at most n combined tasks. And
the profit of the merging plan is W1(i). If there are several plans that own a profit of W1(i), we will choose the plan
with the smallest total observation time as the final plan.
Step 4: Based on the plan, calculate start and end time of each combined task according to its look angle. Also we can get
tasks covered by each combined task.
Through these two processes a task merging plan is accomplished and an example was put forward in reference [10]. For
each satellite, we divide its tasks into multi groups according to its orbit period. And task merging will be carried out for each
group. Finally we will get a scheduling plan for multi satellites. However, this plan is not the ultimate one, as it needs a fur-
ther repair which is performed in ant colony optimization (ACO) algorithm. And the task list for each satellite is created also
by ACO, which will be discussed in next section.
Ant colony optimization is a search algorithm transferred from ants’ ability to find the shortest path from a food source to
their nest, which has been applied to a series of combinatorial problems [11,12]. Considering its positive feedback and ran-
dom search capabilities, an adaptive ant colony algorithm is constructed to solve the problem of task assignment.
L. Xiaolu et al. / Applied Mathematics and Computation 230 (2014) 687–700 695
The establishment of a highway from ants’ nest to the food source and back is mainly due to the chemical substance
called pheromone. The ants choose their path with a probability proportional to the pheromone concentration. We will first
define our pheromone for the problem. The satellite scheduling problem of jNtj jNsj is first divided into a task assignment
problem of |Nt|. The probability that a task is arranged in a time window is defined as pheromone trail. For each task a pher-
omone vector is constructed by this way. Suppose that task Ti owns |Oi| time windows and Pheromonei[k] means the prob-
ability of task T i is arranged in the kth time window. Pheromonei[k] is noted as sik for short. In the very beginning, all the time
windows for each task share equal probability of been selected and their probabilities sum to 1. Initial pheromone trail for
each time window is defined as equation 15 shows.
1
sik ð0Þ ¼ ; 8i 2 ½1; Nt; k 2 ½1; jOi j ð15Þ
jOi j
When creating a satellite observing plan, all kinds of constraints must be considered. That makes it rather complex to
construct a feasible solution. ACO algorithm can solve optimization problems with many constraints, but the randomicity
of its searching trade space is greatly confined [12]. To simplify the problem, only two constraints are considered: time win-
dow and task exclusiveness. Other constraints will be solved when solution is repaired. Therefore, we just choose one time
window from all candidate ones according to state transition rules when constructing an initial solution.
Pr(i, k, t) is the probability of task Ti is assigned to kth time window at the time of t.
e means the importance of heuristic information. If task T i is assigned to kth time window and can be combined with other
tasks, gik ðtÞ will be 1 þ e otherwise 1. This heuristic information depends on tasks already assigned and is created dynam-
ically when constructing solutions.
In the ACO algorithm proposed in this paper, pheromone update contains two aspects: local update and global update.
qglobal e (0, 1) is the coefficient of pheromone evaporation and Dsik is the pheromone intensification parameter which can be
stated as:
8 k X
< jOj j sij ðtÞ; if rki 2 BSQ
Dsik ¼ j2½1;jOj j ð21Þ
:
0; otherwise
k is a pheromone increment operator.
For ACO, fast convergence and pre-maturity coexist in the process of searching trade space. There are several strategies
solving this difficulty. One is to adopt both determinate and random search strategy to improve algorithm’s global search
ability. The other is to alter parameters to adjust pheromone dynamically so that it won’t fall into local optima [14] too early.
In this paper, we introduce an adaptive parameter adjusting strategy to fit algorithm’s dynamic search.
Given q0 with a value domain fqa0 ; qb0 g, qa0 < qb0 and qglobal varies in fqaglobal ; qbglobal g also qaglobal < qbglobal : If current solution can-
not be improved after d1 iteration, algorithm is likely to fall in local optima. The further search can hardly jump out from
these local optima or will consume a long time to jump. Then set q0 ¼ qa0 to enlarge the randomicity when selecting time
windows for tasks, which can ensure algorithm to fulfill a global search. At the same time, decrease qglobal to reduce phero-
mone of time windows contained in current plan, which can help algorithm escaping from local optima. After escaping suc-
cessfully, give the two parameters larger value qb0 and qbglobal , so that algorithm can converge quickly.
Besides, as the pheromone information is updated continuously, the pheromone difference among multi time windows of
the same task will be enlarged, which might lead to search stagnation. Since changing search randomicity and pheromone
evaporation is not enough to ensure the algorithm to get away from local optima, a pheromone smoothing strategy [15] is
introduced. If current solution cannot be improved after d2 iterations, a pheromone smoothing measure should be taken. Get
the maximum pheromone and compute average value for each time window. By this way, the pheromone difference of each
time window is comparatively decreased which is good for production of new solutions.
In the process of constructing observation plan for satellites, we did not take all constraints into account as it would
greatly affect efficiency of our algorithm. Therefore, we have to repair the final plan to ensure its feasibility. Local repair
is to perfect task assignment plan and global repair is to check validity of the plan.
Local repair: Each solution of ACO is a task assignment plan. Because of task combination, some tasks might be rejected.
However, if we choose another time window for it, the task might be observed. Therefore, local repair is introduced and it is
mainly for the tasks that are not contained in the task list of each satellite. For these tasks, choose another time window and
try a new combination with tasks contained in current assignment plan. Local repair, which will slightly change the initial
task assignment plan, is actually an insert operation. And the insertions are not compulsive. If it satisfies Character 1, the task
will be combined. Or select another task that is not assigned to try a new insertion. Through local repair, the task assignment
plan will be improved.
Global repair: In the process of task merging we consider only partial constraints and the global repair is used to check all
the constraints. When generating task merging plan, the referred constraints are those working between tasks and in a single
orbit, such as transition time and maximum slewing times. Constraints between different orbits are not considered. Take accu-
mulative work time for an example, its period is a day. Thus, we check the solutions from very beginning, so that all the con-
straints are met. Once one constraint is violated we can choose to delete the task with a smaller priority to eliminate the conflict.
After a lot of tests, we found that these constraints played subtle effects on final solution. In view of algorithm’s efficiency, the
global repair is only for the solutions in the final queue. And choose the best one from final queue as the final scheduling plan.
6. Simulation
Many simulation tests were raised to examine the performance of the proposed algorithm. First a series of benchmark
cases for the problem were developed. We create targets with integral priorities randomly changing in [1,10], whose
L. Xiaolu et al. / Applied Mathematics and Computation 230 (2014) 687–700 697
latitudes vary from 30° to 60° and longitudes from 0° to 150°. To make the simulation more persuasive we consulted
Solomon’s construction of VRPTW problem [16]. Three different distributions were designed.
Time windows between satellites and tasks were calculated by STK (Satellite Tool Kit) [17]. And each time window lasted
about 5–9 s. Each target was taken as a task. And a simulated annealing (SA) algorithm was used to contrast with ACO, which
was detailed in reference [18].
The ACO was implemented in C#. Its parameters were set as follows: number of ants AntSize ¼ 8, maximum iteration
times MaxIter ¼ 300, e ¼ 0:5, qlocal ¼ 0:1, qaglobal ¼ 0:6, qbglobal ¼ 0:8, d1 ¼ 30, d2 ¼ 40. For each distribution, 21 scenarios were
proposed and each ran 10 times respectively with the two referred algorithms. And the results are shown in Tables 1–3,
which are average value of 10 runs.
According to Table 1, algorithm of ACO with task merging (ACO for short) performed better than SA in most cases. Espe-
cially, when satellites were greatly oversubscribed, scheduling plan generated by ACO contained more tasks, which proved
that the task merging mechanism was effective. However, in examples numbered 3, 6, 9, 13, 17, the two algorithms differed
subtly. We could find that in these examples satellites were comparatively sufficient. And observing opportunities for each
task were greatly increased. As a result, the algorithms could get optimized solutions more easily (all the tasks were ob-
served in example 3).
Analyze the two algorithms, we could find that the computation time of both SA and ACO increased linearly when the
number of tasks and satellites increased. For the example numbered 21, with 8 satellites and 4318 time windows, the
ACO needed 414.23 s, which could be accepted in practical application. In the examples of collective distribution and mixed
distribution similar conclusions were got.
Compared to uniform distribution, the number of time windows in collective distribution might get very large or small.
Take experiment No. 21 for an example, 8 satellites provided only 3886 time windows for 600 tasks, while in Table 1 the
value is 4318. By contrast, Table 2 owned more time windows than Table 1 for the first 3 experiments. Therefore, the ful-
fillment of the tasks is to some extent determined by task distribution.
For collectively distributed tasks, the advantage of task merging mechanism was more obvious, which can be deduced
from Table 2. In collective distribution the tasks were geographically near and their time windows might be overlapped,
which would bring more potential combined tasks. With no task merging mechanism, SA had to abandon a lot of tasks
due to the constraints of transition time and slew ability. ACO could cover several tasks with one strip through task combi-
nation. It explains why observation plan generated by ACO fulfilled more tasks. However, the computation time for ACO is
Table 1
Experimental result for uniform distribution.
Notes: NO.: the serial number of examples, N: total number of satellites, OBS: total number of time windows in each example, AVG: average profit of the
algorithm, MAX: maximum profit, CPU: computation time, TASK: average number of finished tasks, GAP: ratio of improvement for ACO and
GAP ¼ ðAVGACO AVGSA Þ=AVGSA .
698 L. Xiaolu et al. / Applied Mathematics and Computation 230 (2014) 687–700
Table 2
Experimental result for collective distribution.
Table 3
Experimental result for mixed distribution.
greatly prolonged. Because the chances that tasks might be combined were increased. And calculation of combined tasks cost
most time.
Mixed distribution is a tradeoff between uniform distribution and collective distribution. And half of its tasks clustered
round different blocks. Therefore, similar conclusions could be got. And it is expressed by GAP. Numerically, the results of
Table 3 are compromise between Tables 1 and 2. From these 3 tables, we could find that task merging mechanism was effec-
tive when satellites were badly contested. By task merging, more tasks could be fulfilled and constraints arising from satellite
capabilities were greatly released.
Besides, a comparative experiment was carried out to test the effect of adaptive strategy used in paper algorithm. A tra-
ditional ACO algorithm [19] was incorporated whose parameters were exactly the same with paper method (adaptive ACO).
L. Xiaolu et al. / Applied Mathematics and Computation 230 (2014) 687–700 699
2850
2800
2750
2600
2550
2500
2450
2400
We adopted experiment 20 in Table 1 to do the test, which contained 600 tasks and 6 satellites. The iteration processes of
two algorithms were shown in Fig. 6. Due to adaptive strategy, paper method found its best solution at 106th iteration, while
traditional ACO fell into local optimization at 65th iteration. As a result, solution got by adaptive ACO is better than tradi-
tional ACO.
7. Conclusion
We addressed a problem of multi satellites scheduling for the satellites with limited slewing ability. To solve it, we first
proposed a concept of task combination, which was aimed to cover more tasks with one satellite strip. It can greatly cut
down times of satellite posture maneuver. Based on it, multi satellites scheduling algorithm was constructed, for which
we decomposed the problem into task assignment and task merging. In task assignment, an adaptive ACO algorithm was
introduced to create task list for each satellite. Its positive feedback mechanism and random search ability make the algo-
rithm more effective. Task merging was carried out based upon generated task lists. We divide it into a series of SOP to get an
optimized task merging plan. And results of task merging would be fed back to update task assignment plan. The two sub
problems were coupled by constraints check and operations of solution repair. It needs much iteration before an optimized
observation plan can be got.
For the problem, we designed a great deal of experiments to test effectiveness of the algorithm. According to the exper-
imental results, we could figure out that through task merging the algorithm ensured more tasks to be observed. Especially,
when the satellites are over subscribed or the tasks are collectively distributed. The algorithm has been used in a satellite
scheduling software, which works for China satellite management center, and it performs very well.
Acknowledgements
This work is supported by the National Natural Science Foundation of China (Nos. 71071156 and 70801062), Innovative
Foundation for Excellent Graduate Student of National University of Defense Technology. Also the authors are grateful to the
constructive comments from engineers of the satellite management center.
References
[1] N. Bianchessi, J.-F. Cordeau, J. Desrosiers, G. Laporte, V. Raymond, A heuristic for the multi-satellite, multi-orbit and multi-user management of earth
observation satellites, Eur. J. Oper. Res. 177 (2007) 750–762.
[2] W. Pei, T. Yuejin, Joint scheduling of heterogeneous earth observing satellite for different stakeholders, in: SpaceOps 2008 Conference, Heidelberg,
Germany, 2008.
[3] Y. Li, M. Xu, R. Wang, Scheduling observations of agile satellites with combined genetic algorithm, in: Third International Conference on Natural
Computation, 2007.
[4] H. Hongyan, W. Chongde, W. Xiaoyong, Analysis on slewing effects of satellite and CCD camera’s parameters, Spacecraft Recovery Remote Sens. 24
(2003) 14–18 (in Chinese).
[5] W.-C. Lin, D.-Y. Liao, C.-Y. Liu, Y.-Y. Lee, Daily imaging scheduling of an earth observation satellite, IEEE Trans. Syst. Man Cybern. Part A Syst. Humans 35
(2005) 213–223.
[6] J.-F. Cordeau, G. Laporte, Maximizing the value of an Earth observation satellite orbit, J. Oper. Res. Soc. 56 (2005) 962–968.
[7] A. Globus, J. Crawford, J. Lohn, R. Morris, Earth observing fleets using evolutionary algorithms: problem description and approach, in: Proceedings of
the 3rd International NASA Workshop on Planning and Scheduling for Space, NASA, Houston, Texas, 2002.
[8] W.J. Wolfe, S.E. Sorenser, Three scheduling algorithms applied to the earth observing systems domain, Manage. Sci. 46 (2000) 148–168.
700 L. Xiaolu et al. / Applied Mathematics and Computation 230 (2014) 687–700
[9] R.D. Galvao, L.G.A. Espejo, B. Boffey, A comparison of Lagrangian and surrogate relaxations for the maximal covering location problem, Eur. J. Oper. Res.
24 (2000) 377–389.
[10] L. Xiaolu, B. Baocun, C. Yingwu, L. Jufang, Dynamic programming algorithm for satellite orbit task merging problem, in: 60th International
Astronautical Congress, Daejeon, Republic of Korea, 2009.
[11] M. Dorigo, T. Stützle, Ant Colony Optimization, MIT Press, Cambridge, 2004.
[12] Christian Blum, Ant colony optimization: introduction and recent trends, Phys. Life Rev. 2 (2005) 353–373.
[13] B. Bullnheimer, R.R. Hard, C. Strauss, A new rank-based version of the ant system: a computational study, Cent. Eur. J. Oper. Res. Econ. 7 (1999) 25–38.
[14] Z. Qing-Bao, Y. Zhi-Jun, An ant colony optimization algorithm based on mutation and dynamic pheromone updating, J. Software 12 (2004) 185–192.
[15] T. Stützle, Holger H. Hoos, Max–Min ant system, Future Gener. Comput. Syst. 16 (8) (2000) 889–914.
[16] M.M. Solomon, Algorithms for vehicle routing and scheduling problems with time window constraints, Oper. Res. 35 (1987) 254–265.
[17] Analytical Graphics Inc., Satellite Tool Kit 6.0., <http://www.agi.com>.
[18] B. Baocun, C. Yingwu, H. Renjie, R. Qiming, Multisatellite scheduling toward spot and polygon observing requests, J. Astronaut. 30 (2009) 754–759.
[19] M. Dorigo, L.M. Gambardella, Ant colony system: a cooperative learning approach to the travelling salesman problem, IEEE Trans. Evol. 1 (1997) 53–66.