multi satellites scheduling algorithm based on task merging mechanism

14
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 article info Keywords: Earth observation satellite Scheduling Task merging Decomposition optimization Dynamic programming Adaptive ant colony optimization abstract Earth observation satellites are platforms equipped with optical instruments that orbit the earth to take photographs of specific areas at users’ requests. Compared with huge user requests, satellites are still scanty resources. For some task, the satellite has to roll its camera to take the desired image. However, many satellites are rigidly restricted on maneuverability. As a result, the performances of satellites are greatly confined. Therefore, we need a scientific 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 0096-3003/$ - see front matter Ó 2013 Elsevier Inc. All rights reserved. http://dx.doi.org/10.1016/j.amc.2013.12.109 Corresponding author. E-mail address: [email protected] (L. Xiaolu). Applied Mathematics and Computation 230 (2014) 687–700 Contents lists available at ScienceDirect Applied Mathematics and Computation journal homepage: www.elsevier.com/locate/amc

Upload: yao

Post on 25-Dec-2016

214 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Multi satellites scheduling algorithm based on task merging mechanism

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 mergingmechanism

0096-3003/$ - see front matter � 2013 Elsevier Inc. All rights reserved.http://dx.doi.org/10.1016/j.amc.2013.12.109

⇑ Corresponding author.E-mail address: [email protected] (L. Xiaolu).

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 Chinab 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 satelliteSchedulingTask mergingDecomposition optimizationDynamic programmingAdaptive ant colony optimization

Earth observation satellites are platforms equipped with optical instruments that orbit theearth to take photographs of specific areas at users’ requests. Compared with huge userrequests, satellites are still scanty resources. For some task, the satellite has to roll its camerato take the desired image. However, many satellites are rigidly restricted on maneuverability.As a result, the performances of satellites are greatly confined. Therefore, we need a scientificobservation plan to weaken the constraints arising from satellites’ poor slew ability. To solvethe 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 andtask merging. In task assignment, we propose an adaptive ant colony optimization algorithmto 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 logicallycoupled; a valid observation plan will be got after much iteration. Finally, a series of testexamples 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 characterizedby broad coverage, long duration and without limit of the national boundaries. Therefore, they play important roles in theremote 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 eachtask, it might be observed by different satellites from different tracks in different time instants. Therefore, this scheduling taskis a difficult optimization problem, potentially involving many satellites, hundreds of requests, constraints on when and howto 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 highspeed and the imaging process will last a few minutes or seconds, it will produce a strip that covers the target. Each target isthus associated with a special time window. For some targets, the satellite has to roll its camera to photograph due to theconstraint of satellite’s field of view (fov). However, satellites have rigid constraints on slewing activities. Take HJ1A satelliteas 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

Page 2: Multi satellites scheduling algorithm based on task merging mechanism

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 beobserved simultaneously in one swath by the same look angle just as Fig. 1 shows. Targets 1 and 2 can be covered by thesame swath. In this case, if we image the two targets respectively it would be a waste of satellite resource. Therefore, itwould 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 frompoor 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 itintelligent 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 ontask merging, dynamic planning method and ant colony optimization algorithm were adopted to solve this problem. We willexplain 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 intoone 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 satelliteand 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.Oi ¼ [Ns

j¼1[Nij

k¼1Oijk; i 2 ½1; . . . ;Nt�: Set of time windows for Ti or meta-tasks deduced by task Ti, Nij = |Oij| is the number ofobserving windows for task Ti, which are generated by satellite Sj. And Oijk ¼ ½hwsijk;weijki; gijk� 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 isthe look angle of the time window.

For satellite Sj, more notations are defined to describe its observation capability. Dgj: camera angle, Dtj: the longest opentime, ratej: slewing rate of the camera, Spanj: recover time after slew, aj; bj: memory space and energy consumed for eachtime unit, Mj, Pj: the maximum memory capability and energy supply, nj: the largest slew times in a single orbit. For taskTi, 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 mightown 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.

Page 3: Multi satellites scheduling algorithm based on task merging mechanism

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 andonly one of its meta-tasks to observe. Combined task is actually a combination of meta-tasks, by which a longer time windowand 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 gmj; gnj are look angles for task m and n.If we want to combine these two tasks, jgmj � gnjj 6 Dgj must hold. In Fig. 1, target 1 and target 2 can be combined whiletargets 3 and 4 cannot. Because the discrepancy of their look angles surpasses satellite sensor’s camera angle and there isnot 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 arestrictly confined. Also a threshold value Dt is set to restrict satellite’s longest open time. For a combined task, the lengthof 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 untilthe image data are sent back and the memory is clear. Thus, the total data amount cannot surpass the maximumcapacity.� 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 iand task j shown in Fig. 2, their transition time is too short to observe respectively. According to traditional satellitescheduling, only one of them can be observed. While through task combination they can be covered by one strip and bothtask i and j are observed. Therefore, the interval time between two combined observations should be long enough so thatthe 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;wenjkg �minfwsmjk;wsnjkg 6 Dtj

jgmjk � gnjkj 6 Dgj

(ð1Þ

It means when angle constraint and energy constraint are satisfied simultaneously, tasks Tm, Tn can be observed in onestrip. Then the time window and look angle for combined task are respectively:

TWcom ¼ minfwsmjk;wsnjkg;maxfwemjk;wenjkg� �

ð2Þ

gcom ¼gmjk þ gnjk

2ð3Þ

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 combinedobservation 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 fromcombined task.

iTaskgi

gj

Taskiwsws we

iwe kws kwe

kTask

Fig. 2. Illustration of transition time.

Page 4: Multi satellites scheduling algorithm based on task merging mechanism

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 timewindows, the combined task is defined as Strip(i, l). And time windows for Ti, ... , Tl are respectively ½hwsi;weii; gi�; . . . ; ½hwsl;

weli; gl�.

Character 1. For Strip(i, l), we define its look angle as CGil, then wel �wsi 6 Dt, jgi � glj 6 Dg and gi; gl 2 ½CGil � Dg=2;CGil þ Dg=2� hold.

Proof. According to formula (1), wel �wsi 6 Dt; jgi � glj 6 Dg hold, which are the precondition of combined observation. Touse the method of reduction to absurdity, we suppose that gi R ½CGil � Dg=2;CGil þ Dg=2� holds. Apparently, the preconditionis destroyed and task Ti cannot be combined. Then the start time of combined task becomes wsi+1. As a result, the combinedtask becomes Strip(i + 1, l), which conflicts with the given knowledge. Therefore, gi 2 ½CGil � Dg=2;CGil þ Dg=2� holds.Similarly, we can know gl 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 gm ¼maxfgi; . . . ; glg,gn ¼minfgi; . . . ; glg. The look angle for combined task is marked as CGil, and then CGil 2 ½gm � Dg=2; gn þ Dg=2� holds.

Proof. For Strip(i, l), its two edge angles are gmax ¼ CGil þ Dg=2 and gmin ¼ CGil � Dg=2, just as Fig. 3 shows. To cover tasksTi, ... , Tl, we can slightly move the strip inward until gmin ¼ gm � Dg. At this time the look angle for Strip(i, l) becomesCG0il ¼ gm � Dg=2. Also we can move the strip outward until gmax ¼ gn þ Dg. Then the look angle for Strip(i, l) isCG00il ¼ gn þ Dg=2. Therefore, we draw the conclusion that CGil 2 ½gm � Dg=2; gn þ 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 canbe 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;we1i; g1�; . . . ; ½hwsjOj;wejOji; gjOj�g is the set of time windows to be scheduled, C is the set of constraints and F isobjective function. F ¼max

PNsi¼1Pri, 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 basedscheduling model for each satellite, which is expressed by formulas (4)–(12). For combined task Obsi, its time window is de-fined as ½hSi; Eii; Gi� for simple.

max :XNc

i¼1

XNt

j¼1

f ði; jÞ � pj ð4Þ

s:t:XNc

i¼1

f ði; jÞ ¼ 1 ð5Þ

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.

Page 5: Multi satellites scheduling algorithm based on task merging mechanism

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

bXNc

i¼1

ðEi � SiÞ þ qXNc�1

i¼1

jGiþ1 � Gij 6 P ð9Þ

aXNc

i¼1

ðEi � SiÞ 6 M ð10Þ

where:

f ði; jÞ ¼1; if Si 6 wsj;wej 6 Ei and Gi � Dg=2 6 gj 6 Gi þ Dg=20; else

�ð11Þ

transði; iþ 1Þ ¼ jGi � Giþ1j=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, whichis 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 aremillions of possible combinations for satellites and tasks. Therefore, direct search method is computationally impossible andwe adopt a decomposition optimization method to solve the problem. The main concept of our method is to decompose theproblem into several related sub problems. We can solve each sub problem previously, and then coordinate the sub problemsto 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 windowfor each task. Task merging is carried out based on task list of each satellite. It is aimed to combine potentially related tasksand finally create an optimized observation plan.

(1) Task assignment

T ¼ fT1; . . . ; TNtg is the set of tasks to be observed and Ns candidate satellites are available. For task Ti, there might beseveral 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 windowOijk from Oi. Once Oijk is selected, a satellite has been assigned to Ti. According to task exclusiveness, a task should and canonly be observed by one satellite. As a result, all the tasks that might be observed by candidate satellites are contained indifferent 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 Tjk; . . . ; TjðkþlÞ according to Characters 1and 2. All the possible combinations among tasks contained in the task list should be carried out. A few combination planswill 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 onthe task lists generated by task assignment. And result of task merging will affect satellite’s energy consumption, whichdetermines the number of tasks that can be finished. From this point, the result of task merging should be fed back to updatethe 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 inFig. 4. The ACO is to solve task assignment problem. With task lists created by ACO, we use dynamic planning algorithm tosolve 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 beassigned to multi orbits of different satellites. Then, for tasks assigned to each orbit of every satellite, task merging algorithmfor single orbit is applied to get task merging plans for each satellite. A task merging plan will be got, insert the unplanned

Page 6: Multi satellites scheduling algorithm based on task merging mechanism

Task merging

Plan of task assignment

Task combination of one orbit

Optimized task merging plan

Local rerpair

Repaired task merging plan

Repaired task assignment plan

State transition rules

Feedbackto guide search

Local update

Global update

Global repair to produce a plan for multi satellites scheduling

Multi satellites scheduling problem

Task assignment

Task listsA

dapt

ive

AC

O a

lgor

ithm

Phe

rom

one

upda

te

Dynam

ic planning

Fig. 4. Framework of decomposition optimization algorithm.

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

tasks into other satellites’ task lists to try a new merging. The operation is called local repair, which will be detailed inSection 5.3. An observation plan is built and its result is fed back to guide ACO algorithm for further search. Also we willupdate 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 solutionis qualified. In the phase of task assignment, we consider only two constraints, task exclusiveness and time window, whichare expressed by Eqs. (5)–(7). The others such as transition time, energy and storage constraints will be dealt with in thephase of task merging. They are shown in Eqs. (8)–(10). A global constraint check will be done to the final solution, so thatthe 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 weneed to compute the look angles and observing windows for combined tasks to maximize priorities of tasks contained bythem. The operation is carried out under constraints of the satellite’s slewing capability and other operation rules. Accordingto Cordeau [6], we call it Satellite Orbit Problem (SOP). Fig. 5 shows an optimized combination when satellite’s maximumslewing times equals 2.

To some extent, SOP is similar to a Maximal Covering Location Problem (MCLP) [9]. Combined task is something likeservice station and spot targets are user requirements. When a combined task contains some targets, the requirements

Constraint of camera angle

Longest duration for each shot

Transition time

Combined time window

Combined angle

Single task

Combined task

Look angle

Observing time

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

Page 7: Multi satellites scheduling algorithm based on task merging mechanism

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 oflocation 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 multiphase 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 tostart time of their time windows. Therefore, for tasks T1, T2, ... , T|N|, ws1 6 ws2 6 � � � 6 wsjNj holds. For each combined task, wedenote 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 combinedlook angle. When start and end nodes of the combined task is fixed, its start and end time will be wsi and wel. We still needto 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 jgi � glj 6 Dgj,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 toCharacter 2, and cgil 2 ½cgmin; cgmax�. Select look angles that are located in ½cgmin; cgmax� from gi, ... , gl, forming a lookangle set G0.

Step 3: For each gk 2 G0ðk ¼ 1; . . . ; jG0jÞ, a combined look angle cgk ¼ gk � Dgj=2 can be got. With each cgk, we can get anobservation strip. Calculate the profit of each strip, which is determined by the sum priority of tasks covered bythe 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 ingi, ... , 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 wemerge its tasks to create a near optimized observation plan. To simplify the problem, we partition satellite tasks into severalgroups 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 searchand backtracking process. In the forward search, all the possible combinations for satellite Sj will be given out, according towhich profit matrix and combined look angle matrix are built. Also all the possibilities for kth combined task are expressedthrough its profit vector Wk and end task vector Wk. Based on the two matrixes and all vectors, backtracking is carried out tofind the merging plan with the largest profit.

Forward search:

Step 1: Generate a profit matrix CM ¼ ðcmijÞjNj�jNj and an angle matrix CG = (cgij)|N|�|N|, where cmij, cgij are respectively thebest 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), wefirstly judge whether it holds or not according to Character 1. If it holds, calculate cmij and cgij based on the algorithmdiscussed in Section 4.1. If not, cmij = 0, cgij = 0. Finally, we will get two upper triangular matrixes, where cmii = pi andcgii = 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 possibilitiesfor combined task n. Build a profit vector W|N|�1 for combined task n. And Wn(i) is the profit of combined task nwhose 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).

WnðiÞ ¼0; i < nmax cmij; i P n and j ¼ i; . . . ; jNj

�ð13Þ

From above equation, we can know that different start tasks will deduce different combined tasks. Build a vector W|N|�1 tokeep 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, itensures a strip Strip(i, k), therefore Wn(i) = k.

Page 8: Multi satellites scheduling algorithm based on task merging mechanism

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

Wn ¼

0...

0WnðnÞ

..

.

WnðjNjÞ

266666666664

377777777775; Wn ¼

0...

0WnðnÞ

..

.

WnðjNjÞ

266666666664

377777777775:

Step 3: According to a descending order, we can calculate profit vectors and end task vectors for combined task (n � 1), ... , 1recursively. If Wk and Wk are given, Wk-1 can be calculated according to Eq. (14).� �

Wk�1ðiÞ ¼0; i < k� 1max½cmij þWkðhÞ�; ði ¼ ðk� 1; . . . ; jNjÞ; j ¼ ði; . . . ; jNjÞ; h 2 feasikði; jÞÞ

;

and

feasikði; jÞ¼D r if Spanþ

jcgij � cgrðWkðrÞÞjrate

���� 6 ðwsr �wejÞ 8 r 2 ðjþ 1; . . . ; jNjÞ� �

; ð14Þ

Wk(h) is the profit for the kth combined task. Not all the values in Wk are qualified, as it might break the constraint oftransition time. From step 2, we know there are |N| � k + 1 possible combinations for the kth combined task. The intervaltime between combined task (k � 1) and k must be longer than the transition time between them. Therefore, we have tofilter qualified tasks from Wk according to transition time. The start tasks of qualified combined task k constitute the setfeasik(i, j). And cgrð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 Wk�1. Step 3 will be repeated, until we get W1 and W1, theforward search is ended.

Backtrack:This operation is carried out based on CM, CG and Wk;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 lookangle for it is cgiðW1ðiÞÞ: If there is more than one value equaling W1(i), it means there are several optimized combineplans. 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 byWkðjÞ ¼maxðWkð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 Wkþ1ðlÞ ¼maxðWkþ1ðiÞÞ; ði ¼ ðWkðjÞ þ 1Þ; . . . ; jNjÞ. The (k + 1)thcombined task becomes Stripðl;Wkþ1ðlÞÞ: Similar to step 1, if there are several optimized values in vector Wk, record themand backtrack, respectively. When backtrack to combined task n or the end node of task k + 1 is |N|, end the backtrackingprocess.

Step 3: After the above two steps, we can get at least one task merging plan which contains at most n combined tasks. Andthe profit of the merging plan is W1(i). If there are several plans that own a profit of W1(i), we will choose the planwith 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 gettasks covered by each combined task.

Through these two processes a task merging plan is accomplished and an example was put forward in reference [10]. Foreach satellite, we divide its tasks into multi groups according to its orbit period. And task merging will be carried out for eachgroup. 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 alsoby 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 totheir 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.

Page 9: Multi satellites scheduling algorithm based on task merging mechanism

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 substancecalled pheromone. The ants choose their path with a probability proportional to the pheromone concentration. We will firstdefine our pheromone for the problem. The satellite scheduling problem of jNtj � jNsj is first divided into a task assignmentproblem 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 Ti is arranged in the kth time window. Pheromonei[k] is noted as sik for short. In the very beginning, all the timewindows for each task share equal probability of been selected and their probabilities sum to 1. Initial pheromone trail foreach time window is defined as equation 15 shows.

sikð0Þ ¼1jOij

; 8i 2 ½1;Nt�; k 2 ½1; jOij� ð15Þ

5.2. Solution representation and construction

When creating a satellite observing plan, all kinds of constraints must be considered. That makes it rather complex toconstruct a feasible solution. ACO algorithm can solve optimization problems with many constraints, but the randomicityof 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 timewindow from all candidate ones according to state transition rules when constructing an initial solution.

5.2.1. State transition rulesA pseudo random rule [11] is applied to select a time window for each tasks A new denotation rk

i is proposed whichmeans that task Ti selects its kth time window. The selection rule is shown as follow:

ri ¼max

j2½1;jOi j�sijðtÞ½gijðtÞ�

bn o

; if q 6 q0

/; otherwise

8<: ð16Þ

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 Ti being arranged at jth time window and b stands for importance of gijðtÞ. When q 6 q0, the time window willbe selected according to the knowledge of pheromone trail and heuristic information. Otherwise it is selected according to /which is defined as:

Prði; k; tÞ ¼ sikðtÞ½gikðtÞ�bP

j2½1;jOi j�sijðtÞ½gijðtÞ�b ; i 2 ½1;Nt�; k 2 ½1; jOij�: ð17Þ

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 combinationWhen 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 higherprobability. The heuristic information for task combination is defined as:

gikðtÞ ¼1þ e; if rk

i can be merged with other task1; otherwise

(ð18Þ

e means the importance of heuristic information. If task Ti is assigned to kth time window and can be combined with othertasks, 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 updateWhen 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 bedone to Sol. After repair a new solution Sol0 will be generated. If Sol0 is better than Sol, pheromone update should be executedaccording to Sol0. The detailed update mechanism is shown in the function 19:

sikðt þ 1Þ ¼ ð1� qlocalÞsikðtÞ þ qlocalsikð0Þ; 8rki 2 Sol0 ð19Þ

qlocal e (0, 1) is local pheromone vaporing coefficient. Through local update, algorithm can avoid prematurity more easily.

Page 10: Multi satellites scheduling algorithm based on task merging mechanism

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

5.3.2. Global updateThe 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 optimizedand each with a weighted pheromone. We adopt BSQ to update pheromone globally. In BSQ, a few good solutions are kept andthey might be substituted when better solutions are created in the following iterations. When iterations are finished, the BSQshould 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Þ þ qglobalDsik ð20Þ

qglobal e (0, 1) is the coefficient of pheromone evaporation and Dsik is the pheromone intensification parameter which can bestated as:

Dsik ¼kjOj j

Xj2½1;jOj j�

sijðtÞ; if rki 2 BSQ

0; otherwise

8<: ð21Þ

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 strategiessolving this difficulty. One is to adopt both determinate and random search strategy to improve algorithm’s global searchability. 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; q

b0g, qa

0 < qb0 and qglobal varies in fqa

global;qbglobalg also qa

global < 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 fromthese local optima or will consume a long time to jump. Then set q0 ¼ qa

0 to enlarge the randomicity when selecting timewindows 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 qb

0 and qbglobal, so that algorithm can converge quickly.

Besides, as the pheromone information is updated continuously, the pheromone difference among multi time windows ofthe same task will be enlarged, which might lead to search stagnation. Since changing search randomicity and pheromoneevaporation is not enough to ensure the algorithm to get away from local optima, a pheromone smoothing strategy [15] isintroduced. If current solution cannot be improved after d2 iterations, a pheromone smoothing measure should be taken. Getthe maximum pheromone and compute average value for each time window. By this way, the pheromone difference of eachtime 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 wouldgreatly affect efficiency of our algorithm. Therefore, we have to repair the final plan to ensure its feasibility. Local repairis 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 ismainly for the tasks that are not contained in the task list of each satellite. For these tasks, choose another time window andtry a new combination with tasks contained in current assignment plan. Local repair, which will slightly change the initialtask assignment plan, is actually an insert operation. And the insertions are not compulsive. If it satisfies Character 1, the taskwill be combined. Or select another task that is not assigned to try a new insertion. Through local repair, the task assignmentplan will be improved.

Global repair: In the process of task merging we consider only partial constraints and the global repair is used to check allthe constraints. When generating task merging plan, the referred constraints are those working between tasks and in a singleorbit, 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, theglobal 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 benchmarkcases for the problem were developed. We create targets with integral priorities randomly changing in [1,10], whose

Page 11: Multi satellites scheduling algorithm based on task merging mechanism

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 consultedSolomon’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 lastedabout 5–9 s. Each target was taken as a task. And a simulated annealing (SA) algorithm was used to contrast with ACO, whichwas detailed in reference [18].

The ACO was implemented in C#. Its parameters were set as follows: number of ants AntSize ¼ 8, maximum iterationtimes MaxIter ¼ 300, e ¼ 0:5, qlocal ¼ 0:1, qa

global ¼ 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 provedthat the task merging mechanism was effective. However, in examples numbered 3, 6, 9, 13, 17, the two algorithms differedsubtly. We could find that in these examples satellites were comparatively sufficient. And observing opportunities for eachtask 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 thenumber of tasks and satellites increased. For the example numbered 21, with 8 satellites and 4318 time windows, theACO needed 414.23 s, which could be accepted in practical application. In the examples of collective distribution and mixeddistribution 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 thevalue 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 deducedfrom 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 tasksdue 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 1Experimental 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.3272 4 364 525.8 541 2.89 95.4 534.2 544 37.36 97.5 1.5983 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.9215 4 705 934.2 979 14.81 158.9 985.3 1009 78.63 169.7 5.4706 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.6578 4 1099 1313.3 1359 62.23 218.3 1439.1 1458 112.07 241.4 9.5799 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.24711 4 1374 1480.5 1498 280.81 258.2 1665.5 1720 144.21 297.0 12.49612 6 2118 1934.8 1957 355.85 329.7 1985.2 2080 203.43 336.5 2.60513 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.28615 4 1828 1737.2 1778 329.33 309.2 2179.0 2210 183.01 358.3 25.43216 6 2786 2336.8 2421 432.70 407.4 2546.3 2578 263.92 429.2 8.96517 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.96919 4 2116 1860.6 1874 550.75 320.2 2445.9 2489 251.26 376.6 31.45820 6 3268 2558.3 2634 682.45 450.3 2857.8 2931 360.45 476.0 11.70721 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 thealgorithm, MAX: maximum profit, CPU: computation time, TASK: average number of finished tasks, GAP: ratio of improvement for ACO andGAP ¼ AVGACO � AVGSAð Þ=AVGSA.

Page 12: Multi satellites scheduling algorithm based on task merging mechanism

Table 2Experimental 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.2482 4 502 427.7 439 10.24 75.7 493.7 500 34.74 84.8 15.4313 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.7325 4 539 603.8 654 19.35 114.8 759.3 775 175.19 131.8 25.7546 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.4018 4 939 831.8 841 72.29 149.0 1095.5 1107 233.49 182.9 31.7029 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.20211 4 1513 1036.5 1077 110.81 195.0 1394.2 1423 331.44 237.0 34.51012 6 2152 1528.6 1564 189.16 278.2 1853.5 1885 487.48 315.7 21.25513 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.19015 4 1645 1152.6 1197 137.28 203.1 1578.9 1591 412.62 264.8 36.98816 6 2466 1859.4 1911 310.95 330.5 2285.1 2322 642.06 393.3 22.89517 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.31519 4 1811 1379.2 1413 462.24 245.6 1819.5 1840 496.6 303.1 31.92420 6 2817 2197.9 2236 654.32 400.0 2631.5 2691 760.55 446.0 19.72821 8 3886 2805.5 2857 776.01 506.1 3107.6 3148 980.7 546.2 10.768

Table 3Experimental 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.6742 4 373 408.0 425 6.72 71.4 473.7 485 38.17 81.9 16.1033 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.8015 4 705 622.2 637 16.25 112.9 749.5 768 148.63 125.3 20.4606 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.0598 4 1041 795.5 803 67.04 141.0 1081.2 1096 243.56 171.2 35.9159 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.67311 4 1222 929.6 943 132.81 155.7 1162.7 1192 317.84 189.5 25.07512 6 1960 1501.6 1530 153.79 256.6 1784.4 1813 445.45 297.1 18.83313 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.17415 4 1751 1011.4 1061 205.86 177.2 1473.2 1483 408.54 251.4 45.66016 6 2706 1624.5 1705 352.2 292.3 2141.8 2197 537.18 356.8 31.84417 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.21519 4 2120 1115.8 1149 328.57 206.1 1627.1 1637 450.12 261.6 45.82420 6 3259 1813.0 1854 537.95 334.9 2500.2 2528 706.837 417.3 37.90421 8 4295 2556.2 2620 751.61 462.7 3007.8 3047 870.47 515.74 17.667

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

greatly prolonged. Because the chances that tasks might be combined were increased. And calculation of combined tasks costmost time.

Mixed distribution is a tradeoff between uniform distribution and collective distribution. And half of its tasks clusteredround different blocks. Therefore, similar conclusions could be got. And it is expressed by GAP. Numerically, the results ofTable 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 satellitecapabilities 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).

Page 13: Multi satellites scheduling algorithm based on task merging mechanism

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

2400

2450

2500

2550

2600

2650

2700

2750

2800

2850

Number of iterations

Best

resu

lts fo

r eac

h ite

ratio

n

Adaptive ACOTraditional ACO

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

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

We adopted experiment 20 in Table 1 to do the test, which contained 600 tasks and 6 satellites. The iteration processes oftwo algorithms were shown in Fig. 6. Due to adaptive strategy, paper method found its best solution at 106th iteration, whiletraditional 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 firstproposed a concept of task combination, which was aimed to cover more tasks with one satellite strip. It can greatly cutdown times of satellite posture maneuver. Based on it, multi satellites scheduling algorithm was constructed, for whichwe decomposed the problem into task assignment and task merging. In task assignment, an adaptive ACO algorithm wasintroduced 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 anoptimized task merging plan. And results of task merging would be fed back to update task assignment plan. The two subproblems were coupled by constraints check and operations of solution repair. It needs much iteration before an optimizedobservation 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 satellitescheduling 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), InnovativeFoundation for Excellent Graduate Student of National University of Defense Technology. Also the authors are grateful to theconstructive 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 earthobservation 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 NaturalComputation, 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.

Page 14: Multi satellites scheduling algorithm based on task merging mechanism

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 InternationalAstronautical 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, Multi�satellite 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.