You are on page 1of 14

Applied Mathematics and Computation 230 (2014) 687–700

Contents lists available at ScienceDirect

Applied Mathematics and Computation


journal homepage: www.elsevier.com/locate/amc

Multi satellites scheduling algorithm based on task merging


mechanism
Liu Xiaolu a,⇑, Bai Baocun b, Chen Yingwu a, Yao Feng a
a
College of Information System and Management, National University of Defense Technology, Changsha 410073, PR China
b
Beijing Institute of Tracking and Telecommunications Technology, Beijing 100001, PR China

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.

2. Problem of multi satellites scheduling based on task merging mechanism

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.

2.1. Combined observation

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

Fig. 1. Satellite observation with task merging.


L. Xiaolu et al. / Applied Mathematics and Computation 230 (2014) 687–700 689

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

2.2. Characters of combined task

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

wsi wei Task wsk wek


g
j
ws we

Fig. 2. Illustration of transition time.


690 L. Xiaolu et al. / Applied Mathematics and Computation 230 (2014) 687–700

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

2.3. Model of the problem

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Þ

Ei  Si 6 Dt; ði ¼ 1; . . . ; NcÞ ð7Þ

Ei þ transði; i þ 1Þ 6 Siþ1 ; ði ¼ 1; . . . ; NcÞ ð8Þ

Fig. 3. Look angle for combined task.


L. Xiaolu et al. / Applied Mathematics and Computation 230 (2014) 687–700 691

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

transði; i þ 1Þ ¼ jGi  Giþ1 j=rate þ Span; ði ¼ 1; . . . ; Nc  1Þ ð12Þ


Formula (4) is the profit of satellite, calculated by summing up priorities of observed tasks. f(i, j) is a Boolean value, which
is used to mark whether task Tj is contained in combined task Obsi. Nc is the number of combined task. For formulas (5)–(10),
they are constraints for MSSP.
Formula (5) means that each task can be observed only once, we call it task exclusiveness.
Formula (6) testifies the correctness of each observation window.
Formula (7) ensures that the length of the time window do not surpass satellite’s longest open time.
Formula (8) examines the constraint of transition time.
Formulas (9) and (10) are respectively energy constraint and storage constraint.
Formula (11) is used to check whether task Tj can be combined into Obsi.
Formula (12) calculates transition time between two consecutive observations.

3. Decomposition of the problem and architecture of algorithm

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.

(1) Task assignment

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.

(2) Task merging

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

Multi satellites scheduling


problem

Task assignment
State transition
rules
Task merging

Adaptive ACO algorithm

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

Repaired task Repaired task merging


assignment plan plan

Global repair to produce a plan for


multi satellites scheduling

Fig. 4. Framework of decomposition optimization algorithm.

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.

4. Task merging algorithm for single orbit

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

Look angle Single task

Combined angle Combined task

Transition time
Observing time
Combined time window
Constraint of
camera angle

Longest duration for each shot

Fig. 5. Best task merging in single satellite orbit.


L. Xiaolu et al. / Applied Mathematics and Computation 230 (2014) 687–700 693

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.

4.1. Calculation of combined look angle

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.

4.2. Dynamic planning algorithm for task merging in single orbit

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.

5. Adaptive ant colony algorithm for task assignment

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

5.1. Definition and initialization of pheromone

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

5.2. Solution representation and construction

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.

5.2.1. State transition rules


A pseudo random rule [11] is applied to select a time window for each tasks A new denotation rki is proposed which
means that task Ti selects its kth time window. The selection rule is shown as follow:
8 n o
< max sij ðtÞ½g ðtÞb ; if q 6 q
ij 0
ri ¼ j2½1;jOi j ð16Þ
:
/; otherwise
q is a number randomly created between 0 and 1. q0 (0 6 q0 6 1) is a random selection parameter. gij ðtÞ is the heuristic infor-
mation of task T i being arranged at jth time window and b stands for importance of gij ðtÞ. When q 6 q0 , the time window will
be selected according to the knowledge of pheromone trail and heuristic information. Otherwise it is selected according to /
which is defined as:
sik ðtÞ½gik ðtÞb
Prði; k; tÞ ¼ P b
; i 2 ½1; Nt; k 2 ½1; jOi j: ð17Þ
j2½1;jOi j sij ðtÞ½gij ðtÞ

Pr(i, k, t) is the probability of task Ti is assigned to kth time window at the time of t.

5.2.2. Heuristic information for task combination


When assign a task to a time window, the potential combination chance should be taken into account. If a task is assigned
its kth time window and it can be combined with tasks already assigned, it might be combined with left tasks at a higher
probability. The heuristic information for task combination is defined as:
(
1 þ e; if rki can be merged with other task
gik ðtÞ ¼ ð18Þ
1; otherwise

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.

5.3. Pheromone update

In the ACO algorithm proposed in this paper, pheromone update contains two aspects: local update and global update.

5.3.1. Local update


When a solution Sol is constructed, the pheromone information should be updated accordingly. Here, pheromone is the
probability of a time window being selected. The solution Sol is created by task merging algorithm, and a local repair will be
0 0
done to Sol. After repair a new solution Sol will be generated. If Sol is better than Sol, pheromone update should be executed
0
according to Sol . The detailed update mechanism is shown in the function 19:
sik ðt þ 1Þ ¼ ð1  qlocal Þsik ðtÞ þ qlocal sik ð0Þ; 8rki 2 Sol0 ð19Þ
qlocal e (0, 1) is local pheromone vaporing coefficient. Through local update, algorithm can avoid prematurity more easily.
696 L. Xiaolu et al. / Applied Mathematics and Computation 230 (2014) 687–700

5.3.2. Global update


The purpose of global update is to strength pheromone information according to optimized solution so that the subsequent
search would be directional. Elite strategy [11] selects the best solution to guide the next search, which will lead to the algo-
rithm pre-maturity. Rank-based strategy [13] creates a best solution queue (BSQ) in which solutions are currently optimized
and each with a weighted pheromone. We adopt BSQ to update pheromone globally. In BSQ, a few good solutions are kept and
they might be substituted when better solutions are created in the following iterations. When iterations are finished, the BSQ
should be changed accordingly and simultaneously a global pheromone update is carried out. The updating rule is described as:
sik ðt þ 1Þ ¼ ð1  qglobal Þsik ðtÞ þ qglobal Dsik ð20Þ

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.

5.4. Adaptive strategy

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.

5.5. Solution repair

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.

 Uniform distribution: targets disperse in the observation area uniformly.


 Collective distribution: targets aggregate in blocks which disperse uniformly.
 Mixed distribution: combination of the above two distributions.

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.

No. M N OBS SA ACO with task merging GAP (%)


AVG MAX CPU(s) TASK AVG MAX CPU(s) TASK
1 100 2 178 397.5 403 2.58 70.1 414.7 422 22.61 72.3 4.327
2 4 364 525.8 541 2.89 95.4 534.2 544 37.36 97.5 1.598
3 6 535 546.0 546 4.77 100.0 546.0 546 45.86 100.0 0.000
4 200 2 325 584.0 597 11.87 103.1 665.3 674 47.91 115.0 13.921
5 4 705 934.2 979 14.81 158.9 985.3 1009 78.63 169.7 5.470
6 6 1086 1079.5 1086 21.07 193.5 1083.9 1088 125.61 195.6 0.408
7 300 2 529 746.5 775 26.30 128.6 923.1 946 69.05 142.1 23.657
8 4 1099 1313.3 1359 62.23 218.3 1439.1 1458 112.07 241.4 9.579
9 6 1645 1571.7 1597 77.64 276.2 1602.0 1616 152.17 279.7 1.928
10 400 2 646 766.3 795 215.09 133.5 1036.4 1050 86.81 160.4 35.247
11 4 1374 1480.5 1498 280.81 258.2 1665.5 1720 144.21 297.0 12.496
12 6 2118 1934.8 1957 355.85 329.7 1985.2 2080 203.43 336.5 2.605
13 8 2819 2139.7 2171 374.71 376.0 2157.6 2176 278.42 386.5 0.837
14 500 2 824 910.0 939 246.91 154.7 1267.5 1307 107.60 208.9 39.286
15 4 1828 1737.2 1778 329.33 309.2 2179.0 2210 183.01 358.3 25.432
16 6 2786 2336.8 2421 432.70 407.4 2546.3 2578 263.92 429.2 8.965
17 8 3655 2627.4 2688 520.34 462.2 2637.7 2676 327.82 465.6 0.392
18 600 2 986 978.1 1014 434.63 163.1 1437.5 1464 123.71 216.8 46.969
19 4 2116 1860.6 1874 550.75 320.2 2445.9 2489 251.26 376.6 31.458
20 6 3268 2558.3 2634 682.45 450.3 2857.8 2931 360.45 476.0 11.707
21 8 4318 2991.9 3041 742.50 520.2 3129.4 3182 414.23 538.9 4.596

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.

No. M N OBS SA ACO with task merging GAP (%)


AVG MAX CPU(s) TASK AVG MAX CPU(s) TASK
1 100 2 252 254.2 267 4.19 44.0 343.8 352 26.31 61.5 35.248
2 4 502 427.7 439 10.24 75.7 493.7 500 34.74 84.8 15.431
3 6 651 514.3 518 16.42 95.3 537.5 543 63.82 96.5 4.511
4 200 2 284 334.5 345 7.19 61.7 437.3 446 98.21 71.3 30.732
5 4 539 603.8 654 19.35 114.8 759.3 775 175.19 131.8 25.754
6 6 865 871.4 936 27.37 166.9 1010.0 1021 253.41 177.1 15.905
7 300 2 421 399.0 463 43.53 69.2 560.2 565 145.25 95.6 40.401
8 4 939 831.8 841 72.29 149.0 1095.5 1107 233.49 182.9 31.702
9 6 1472 1303.8 1329 90.88 233.6 1474.3 1525 346.4 251.4 13.077
10 400 2 706 548.9 561 69.54 94.1 802.5 808 207.67 126.2 46.202
11 4 1513 1036.5 1077 110.81 195.0 1394.2 1423 331.44 237.0 34.510
12 6 2152 1528.6 1564 189.16 278.2 1853.5 1885 487.48 315.7 21.255
13 8 2712 1984.1 1987 362.49 361.4 2064.4 2116 707.62 363.7 4.047
14 500 2 932 628.5 675 78.30 113.2 962.8 966 283.17 161.5 53.190
15 4 1645 1152.6 1197 137.28 203.1 1578.9 1591 412.62 264.8 36.988
16 6 2466 1859.4 1911 310.95 330.5 2285.1 2322 642.06 393.3 22.895
17 8 3409 2293.7 2314 454.62 413.8 2570.9 2604 921.05 438.1 12.085
18 600 2 884 683.0 692 262.17 118.5 924.2 932 274.19 154.2 35.315
19 4 1811 1379.2 1413 462.24 245.6 1819.5 1840 496.6 303.1 31.924
20 6 2817 2197.9 2236 654.32 400.0 2631.5 2691 760.55 446.0 19.728
21 8 3886 2805.5 2857 776.01 506.1 3107.6 3148 980.7 546.2 10.768

Table 3
Experimental result for mixed distribution.

No. M N OBS SA ACO with task merging GAP (%)


AVG MAX CPU(s) TASK AVG MAX CPU(s) TASK
1 100 2 158 240.8 251 3.14 40.5 295.4 297 27.55 51.2 22.674
2 4 373 408.0 425 6.72 71.4 473.7 485 38.17 81.9 16.103
3 6 517 516.3 531 13.83 93.7 531.4 535 55.01 96.2 2.925
4 200 2 290 313.7 325 7.19 54.9 391.5 394 98.82 62.8 24.801
5 4 705 622.2 637 16.25 112.9 749.5 768 148.63 125.3 20.460
6 6 1125 952.5 962 24.63 172.6 1028.3 1057 208.14 180.6 7.958
7 300 2 487 418.3 419 30.89 68.2 602.6 606 146.38 89.5 44.059
8 4 1041 795.5 803 67.04 141.0 1081.2 1096 243.56 171.2 35.915
9 6 1626 1293.8 1320 102.4 231.1 1499.0 1508 336.92 253.4 15.860
10 400 2 623 475.3 484 76.67 81.3 640.1 642 185.63 100.8 34.673
11 4 1222 929.6 943 132.81 155.7 1162.7 1192 317.84 189.5 25.075
12 6 1960 1501.6 1530 153.79 256.6 1784.4 1813 445.45 297.1 18.833
13 8 2591 1933.1 1953 266.42 339.4 2062.3 2093 681.62 362.1 6.684
14 500 2 784 526.7 563 125.33 100.1 801.5 806 238.59 132.3 52.174
15 4 1751 1011.4 1061 205.86 177.2 1473.2 1483 408.54 251.4 45.660
16 6 2706 1624.5 1705 352.2 292.3 2141.8 2197 537.18 356.8 31.844
17 8 3589 2253.9 2267 467.38 398.0 2572.6 2607 834.28 450.9 14.140
18 600 2 999 708.3 716 209.29 117.8 886.9 903 282.91 145.7 25.215
19 4 2120 1115.8 1149 328.57 206.1 1627.1 1637 450.12 261.6 45.824
20 6 3259 1813.0 1854 537.95 334.9 2500.2 2528 706.837 417.3 37.904
21 8 4295 2556.2 2620 751.61 462.7 3007.8 3047 870.47 515.74 17.667

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

Best results for each iteration


2700
Adaptive ACO
2650 Traditional ACO

2600

2550

2500

2450

2400

10 20 30 40 50 60 70 80 90 100 110 120 130 140


Number of iterations

Fig. 6. Compare of adaptive ACO and traditional ACO.

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.

You might also like