Aerospace Science and Technology 6 (2002) 367–381 www.elsevier.com/locate/aescte

Selecting and scheduling observations of agile satellites

Michel Lemaître a,∗, Gérard Verfaillie a, Frank Jouhaud a, Jean-Michel Lachiver b, Nicolas Bataille b

a ONERA, Department of Systems Control and Flight Dynamics, 2, avenue Édouard Belin, B.P. 4025, 31055 Toulouse Cedex 4, France b CNES, Advanced Observation Systems Department, 18, avenue Édouard Belin, 31401 Toulouse Cedex 4, France Received 21 March 2001; accepted 1 July 2002

Abstract This article concerns the problem of managing the new generation of Agile Earth Observing Satellites (AEOS). This kind of satellites is presently studied by the French Centre National d’Études Spatiales (PLEIADES project). The mission of an Earth Observing Satellite is to acquire images of specified areas on the Earth surface, in response to observation requests from customers. Whereas non-agile satellites such as SPOT5 have only one degree of freedom for acquiring images, the new generation satellites have three, giving opportunities for a more efficient use of the satellite imaging capabilities. Counterwise to this advantage, the selection and scheduling of observations becomes significantly more difficult, due to the larger search space for potential solutions. Hence, selecting and scheduling observations of agile satellites is a highly combinatorial problem. This article sets out the overall problem and analyses its difficulties. Then it presents different methods which have been investigated in order to solve a simplified version of the complete problem: a greedy algorithm, a dynamic programming algorithm, a constraint programming approach and a local search method.  2002 Éditions scientifiques et médicales Elsevier SAS. All rights reserved.

Keywords: Earth observing satellite; Agile satellite; Mission management; Scheduling

1. Introduction problem to be solved is only a selection problem, and not a true scheduling problem. The mission of an Earth Observing Satellite (EOS) is to The new generation of EOS, like those studied in the acquire images of specified areas on the Earth surface, in French PLEIADES project, are Agile Earth Observing Satel- response to observation requests from customers. lites (AEOS). This means that, while the unique on-board The current generation of EOS, like those belonging instrument is not mobile and remains fixed on the satellite, to the SPOT system of satellites,1 have only one degree the whole satellite is mobile on the three axes (roll, pitch and of freedom, provided by a mobile mirror in front of each yaw), thanks to its Attitude and Orbit Control System, thus observation instrument. The mirror, operated on the roll allowing manoeuvrability for image acquisitions as well as axis, is only moved during transitions between images, and for transitions between images. The advantages provided by remains fixed during an image acquisition. An image is these new agility capabilities are the following: there is a produced by the movement of the satellite on its track. There potentially infinite number of ways of acquiring a given area is only one possible azimuth for imaging: the one parallel to on the Earth surface, since the azimuth and the starting time the track of the satellite. The starting time of any candidate of the image acquisition are now free (within given limits). image is fixed: it is the exact time at which the satellite fligths These two additional degrees of freedom (starting times and over the beginning of the area to be acquired. Consequently, azimuths of imaging) give rise to a potentially better effi- the order between any candidate image cannot change, and ciency of the whole system. On the other hand, the selection compatibilities between images can be pre-computed. The and scheduling of observations for an AEOS becomes sig- nificantly more difficult, because the search space is consid- erably larger. * Corresponding author. E-mail address: [email protected] (M. Lemaître). This article reports a study on the mission management 1 See the URL http://www.cnes.fr/WEB_UK/activites/programmes/ of these AEOS. The Section 2 states the overall problem. 1index.html. After a reminder on heliosynchronous satellites, and agile

1270-9638/02/$ – see front matter  2002 Éditions scientifiques et médicales Elsevier SAS. All rights reserved. PII:S1270-9638(02)01173-2 368 M. Lemaître et al. / Aerospace Science and Technology 6 (2002) 367–381 satellites, the general selection and scheduling problem is is nearly a polar orbit. This allows the satellite to take ad- loosely described, and its difficulties are pointed out. Then vantage of the Earth rotation to cover potentially the whole we show how the overall problem was simplified and cast Earth surface. A circular orbit is chosen, in order to maintain into a simpler problem named the AEOS Track Selection a constant altitude of the satellite. Finally, the orbit is phased: and Scheduling Problem, in order to be actually solved. the satellite, after a cycle of a fixed number of revolutions, Even this simplified problem is highly combinatorial. The goes back exactly to its previous positions with respect to Section 3 presents four different approaches to the resolution Earth. of the Track Selection and Scheduling Problem, and then compares the results obtained with these approaches. 2.1.3. Acquisition of images Finally, we will state our conclusions and present direc- As stated in the introduction, on an AEOS, the imaging tions for future work. instrument (a telescope) is not mobile and is fixed to the satellite, but the whole satellite can move on all axes, hence the name “agile”. 2. The problem The telescope concentrates the light from the Earth on an array of aligned photo-diodes, thus enabling the acquisition 2.1. Managing observations of an AEOS: the full problem of a landscape line in a single stroke. The combined movements of the satellite on its three axes (roll, pitch and 2.1.1. General operation of an Earth Observing Satellite yaw) and on its orbit, allow the formation of an image as An Earth Observing Satellite is operated by an Image a sequence of contiguous lines of pixels (see the Fig. 2). Programming and Processing Center, which collects obser- To facilitate their processing, images are constrained to be vation requests from customers and distributors, builds daily strips of rectangular shape (see Figs. 3 and 4). The width the imaging workload of the satellite, receives back the data of a strip depends on the design of the instrument; as an associated with acquired images, processes and evaluates them, and finally sends back the results to the customers (see Fig. 1). A request generally involves several contiguous images (this will be explained later). Due to the large number of requests concerning some zones, in general all of these requests cannot be satisfied on one day. Choices have to be made between observations covering the requests. Accordingly, the overall problem consists of selecting, for each period of time (typically a day), a feasible sequence of images that will be acquired by the satellite over the period (see Fig. 3), with the objective of providing maximum satisfaction to the customers.

2.1.2. A heliosynchronous, polar, circular and phased orbit In order to achieve repetitive observations under compa- rable light conditions, whichever area is observed and what- ever the observation day is, the orbit of the satellite must Fig. 2. An image acquisition. An Agile Earth Observing Satellite (AEOS) be heliosynchronous, that is, it must display a constant an- can image strips from a wide visibility corridor (typically 1000 km wide) gle with the direction of the Sun. A heliosynchronous orbit under its track, enabling any aim (front, back or side) on the Earth surface, as well as any azimuth for the strip axis.

Fig. 3. A sequence of image acquisitions. Areas to be imaged (spots or polygons) are in solid thin lines. Strips (contour of images) are displayed dashed. The of the instrument aim over the ground is displayed as a Fig. 1. Operating an Earth Observing Satellite. solid thick curve. M. Lemaître et al. / Aerospace Science and Technology 6 (2002) 367–381 369

It should be noticed that once a direction is chosen, a given strip can be imaged in either two opposite azimuths (an azimuth ranges from 0 to 360 degrees). So, two potential images are associated with each strip, and only one of them has to be acquired in order to acquire the strip.

2.1.5. Customers requests The input data of the general AEOS selection and scheduling problem is the current set of observation requests from the customers. This set evolves continuously, with the addition of new coming requests, and with the withdraw of requests which have been (possibly partially) satisfied or which are out of date. Each request is associated with the following data:

• a geometrical description oftheareatobeimagedon the Earth surface. This description includes the location and the shape of the area (spot or polygon) • a validity period, outside of which the request has no utility, usually given in days (for example: from 10.03.2002 to 30.06.2002) Fig. 4. The cutting up of a polygonal area into contiguous parallel strips of • asetofangular constraints, (range of the possible constant width is controlled by two parameters: the direction and the offset. angular aims) for imaging the request (for example a The polygon is represented by a solid line, and the resulting strips by dashed ◦ lines. request may require an angular aim not greater than 30 in pitch and 45◦ in roll from the vertical axis) • acceptable simplification, it will be considered constant for whether or not the request is stereoscopic. If this is the all strips. On the other hand, the length of a strip is not fixed case, selected strips will have to be imaged twice during and may vary, up to a given limit. The acquisition speed is the same over-flight, with specified angular constraints, made constant over the strip, hence the duration of an image and using the same azimuth. This amounts to duplicate is directly proportional to the length of the strip. strips issued from stereoscopic requests • a weight reflecting the importance of the request. This 2.1.4. From requests to images weight can be seen as the price that will be paid by the An observation request concerns some specified area on customer if the request is completely satisfied. the Earth surface. An area can have one out of two shapes: 2.1.6. Time constraints and transition manoeuvres • a spot (a small circular area, the radius of which is less Orbital parameters of the satellite allow us to compute for than 10 km) each image, from its validity period and angular constraints, • a large polygonal area; the length of a polygonal area a set of available time windows for acquiring the image. ranges from 20 to 100 km. As previously stated, an image acquisition requires a du- ration directly proportional to the length of the correspond- Each observation request must be analyzed and trans- ing strip. On the other hand, the attitude change between two formed into a set of strips covering the request. A spot can be consecutive images is not instantaneous and requires a tran- covered by a single strip, while a polygonal area may require sition manoeuvre. Satellite kinematics allows us to compute several contiguous strips to be completely imaged. Actually, for each pair of images a minimum duration of a transition strips are not required to be parallel, but this feature sim- manoeuvre. This minimum duration does not only depend plifies the pre and post-processing of images (see Fig. 4). on the location and the azimuth of the images themselves, The process of cutting-up polygonal areas into contiguous but depends also on the precise instant time of the beginning strips is controlled by two parameters: a direction (angle in of the transition manoeuvre (which is also the end of the first the range 0 to 180 degrees between the strip axis and the image acquisition). South) and an offset (distance between a chosen point of the Computing this minimum duration can be expressed as polygon and the lateral side of the last strip). Although the finding the first instant that gives a zero or positive value agility of the satellite allows any azimuth for the strip axis, to a function depending only on the second image begin- in this study, a constant direction is chosen for all strips of all ning time. The angular constraints can be converted in an areas. This will be explained and justified in Section 2.2.1. allowed time interval. However, physical reasons lead to a The offset is such that the non productive strip surface is large discontinuity of the minimum duration function, dif- minimized. ficult to handle numerically in several meaningful cases. 370 M. Lemaître et al. / Aerospace Science and Technology 6 (2002) 367–381

This numerical problem leads to a time consuming algorithm which does not even cover actually all the discontinuity con- figurations. For solving selection and scheduling problem in- stances, where computation time is critical, an approximated tabulation technique was used (see Section 2.2.1).

2.1.7. Memory and energy constraints Acquired images are stored on board until they can be downloaded towards a ground station. The available memory on board is limited and this can have an impact on the selection and scheduling process. Energy on board is a limited resource as well, but this limitation would be rarely reached. Memory and energy constraints have not been taken into account in this study. It is only planned to check that Fig. 5. Influence of azimuth changes on the duration of transition manoeu- produced sequences satisfy these constraints, and if needed, vres, here for transitions of 100 km length. Time transitions are very sen- sitive to the azimuth change between images. A deviation of 20 degrees to locally modify these sequences in order to meet them. results in a doubling of the transition time (from A to B), whereas this time is multiplied by four for the maximum possible deviation (90 degrees, from 2.1.8. Meteorological uncertainties A to C). The transition time remains almost constant when the axes of the An acquired image is not necessarily a satisfactory one, images are not aligned provided they are parallel (from A to D). due to possible bad climatic conditions. Clouds preclude the good quality of images. Thus, a request (more precisely a set of images covering the request) may have to be selected sev- eral times, until it becomes acquired with satisfying climatic conditions. The selection and scheduling process can bene- fit from short term weather forecasts, in the following way: suppose that two equally weighted areas A1 and A2 can be acquired during the same time window, but not both of them; if we know that A1 will probably benefit from better weather conditions than A2, of course the acquisition of A1 must be favoured. Long term weather forecasts can also be used, for example to compute the expected number of times an area must be imaged before having a complete quality satisfac- tion. Section 2.2.1 points to a simplified but rational way of taking into account this uncertainty.

2.1.9. The quality criterion to be maximized Although other criteria could be meaningful, the chosen quality criterion to be maximized is based on the sum of the Fig. 6. Example of a partial reward function P(x). The partial reward weights of the satisfied requests (standard utility criterion). resulting from the acquisition of a fraction x of the total surface of a request However, a difficulty arises from the fact that a request may of weight W is W × P(x). be only partially covered by satisfactory images. What will be the reward for such partially covered areas? A simple pol- icy is to choose, for each request, a reward proportional to ity criterion. Both criteria are mathematically stated in Sec- the acquired surface. The corresponding criterion is named tion 2.2.2. the linear quality criterion. This policy has the drawback to As said before, the selection and scheduling problem easily let many requests only partially covered (because al- consists of selecting daily the sequence of images that will gorithms tend to choose the longest, rewarding images, be taken by the satellite over the next day. Let us call and to neglect others). The Programming Center would like this short period of time (a day) the scheduling horizon. to favour the ending of acquisition of the almost acquired However, the selection process should maximize the quality requests, before beginning new ones. This preference con- criterion over a long period of time (for example one month straint can be taken into account by a modified quality cri- or one year). Let us name this longer period of time the terion: we maximize the sum of partial rewards obtained on optimization horizon. Therefore, the sequence of computed each request. The partial reward obtained on a request is a schedules over the successive (short) scheduling horizons convex function of the acquired surface, instead of a linear must maximize the sum of the expected partial rewards one (see Fig. 6). This criterion is named the non-linear qual- obtained over the (long) optimization horizon. M. Lemaître et al. / Aerospace Science and Technology 6 (2002) 367–381 371

2.2. The Track Selection and Scheduling Problem: partially unused. Actually, the satellite agility is still used a simplification of the full problem (thus making a difference with non-agile satellites):

The previous section showed that the overall problem is • the cutting up direction is maintained constant for a both difficult to model (that is, to cast into a mathematically given track, but it can be freely chosen stated problem) and to solve. Modeling is a necessary step • it can be changed between tracks, or even between two before solving, and it is common to say that modeling is groups of images of the same track separated by a simplifying. But simplifications are also needed to overcome large gap, since in this case transition times are not a the combinatorial nature of the problem, combined with the constraint difficulties due to the sources of uncertainties. This section • once the direction is fixed (that is, an angle in the range 0 details which simplifications have been done to the full to 180 degrees), two opposite azimuths can still be used problem in order to be able to actually solve it. for imaging.

2.2.1. Simplifying the full problem As said before (Section 2.1), transition times actually Tracks as scheduling and optimization horizons. For the depend on the starting time of the transition. They may vary purpose of this work, we can define a track as an enlight- by a factor of 10% depending on the starting time, for a ened half-revolution of the satellite. The main simplification typical forward transition of 100 km. We decided to simplify of the full problem is to process track by track, therefore tak- and approximate these transition times by a constant mean ing the track as the scheduling horizon as well as the opti- duration time depending only on the two images to be mization horizon. Hence the name of AEOS Track Selection joined (and not on the starting time of the transition). The and Scheduling Problem for the simplified problem. model is therefore much simpler: with this simplification, This simplification leads to sub-optimal solutions, be- checking that a given sequence of images satisfy the time cause it does not take into account the fact that most of constraints (visibility and manoeuvre) can be done in linear the images have several other opportunities after the current time. However, each produced solution schedule is checked track, depending on the validity period associated with each afterward, using the true transition times. If the produced request. However, the negative effects of this short term op- schedule does not pass the check, approximated transition timization horizon, as well as the effects of the meteorolog- times are majored and the schedule is computed again. ical uncertainties can be partially corrected by the modifica- The choice of a constant cutting up direction has an in- tion of the weights of requests. Images having the smallest teresting side effect: we said before that minimum transition number of remaining feasible opportunities and the highest times are very costly to compute. Choosing a constant di- realization likelihood (good meteorological forecast for the rection allows for a pre-computation of a table of transition next track) must be favoured in some way. A rational way of times of a reasonable size. This table is exploited later by in- combining three criteria (the original weight, the number of terpolation, before each track processing, in order to obtain remaining opportunities, the weather forecast) into a work- an approximation of the minimum transition times between ing weight is given in [20]. It is based on a mathematical each pair of candidate images of the processed track. approach drawn from the Markov Decision Process frame- work. 2.2.2. Mathematical statement of the AEOS Track Selection Geometry and transition manoeuvres. The cutting up of and Scheduling Problem areas in strips is pre-computed, using a single direction for The input of a Track Selection and Scheduling Problem all requests of the same track. Fig. 4 displays the cutting up instance will be a set of candidate strips, from the current of a polygonal area, resulting in a set of contiguous parallel set of requests, that could be acquired on the track to strips. be processed (request validity period and image visibility The choice of a constant direction is motivated by a constraints satisfied). main reason: changing the azimuth between two images is As we have already noticed, a strip can be acquired very costly in term of transition times, as showed by the using two opposite azimuths, as a result of the agility of results displayed in Fig. 5. Optimizing the cutting up of the satellite. So, with each candidate strip are associated two each polygon separately (so as to obtain the less possible possible candidate images. Only one image out of both has number of strips for each one, or a minimum sum of the to be taken to acquire the corresponding strip. strips lengths) is likely to increase the duration of transition The problem is to select, from the set of candidate manoeuvres, and so to decrease the available productive time strips, a feasible sequence of images, maximizing the quality for proper imaging. criterion. Here, “feasible” means that the sequence must Choosing a single and constant direction for the cutting respect time constraints (visibility and angular constraints, up of areas in strips appears to be an important restriction duration of transition manoeuvres). In order to state these to the satellite capabilities, since the satellite agility is then constraints more precisely, we need some precise notations. 372 M. Lemaître et al. / Aerospace Science and Technology 6 (2002) 367–381

Input data. Let R be the set of requests which could be at x0 = 1(7) least partially scheduled on the track. For each r ∈ R,letW r with I + = I ∪{o},whereo is a fictive image which begins be its weight and A its surface area. r and ends the sequence of selected images (with no time and Let I be the set of candidate images of the track to be no visibility constraints). The constraint (6) expresses that processed, obtained from R by the geometric cutting up if an image is selected, there is an unique selected image pre-processing mentioned above. For each candidate image preceding it, and an unique selected image following it. If an i ∈ I, we can compute from the given track parameters and image is not selected, it has no preceding and no following visibility constraints: selected image.2 • E : its earliest starting time; i Quality criteria. Two distinct quality criteria (to be - • L : its latest starting time; i mized) will be considered. The linear criterion is • Di : its duration, strictly positive;  • Ai : its productive surface area. Q = Wi xi i∈I We can also compute, for each possible pair of images Ai with Wi = Wr ,wherer is the request the image i (i, j), a quantity Mij , strictly positive, which is a minimum Ar of the transition duration from the end of i to the beginning belongs to. The non-linear criterion, allowing us to favour the termination of polygons, is of j. If a transition from i to j is not possible, a default very  large value will be given. Q = Wr P(xr ) Let B be the set of pairs of images (i, j) such that i and j r∈R are images from the same strip (opposite azimuths). Notice that |I|=2 ×|B|. where P is the partial reward function introduced in Sec- Finally, let S be the set of pairs of corresponding tion 2.1 (see Fig. 6) and xr is the acquired fraction of the stereoscopic images. The proportion of stereoscopic images surface of the request r,definedas  is then 2 ×|S|/|I|=|S|/|B|. Ai xr = xi. ∈ Ar Decision variables. In this statement, three sets of decision i r variables are used: one for the selected set of images, one It can be easily checked that both criteria are equivalent other to give the order of the selected images in the resulting when the P function is linear (P(x)= x). sequence, and the last one for the starting times of image acquisitions. Complexity of the problem. It can be shown that, despite Let xi,i∈ I, be 1 if the image i is selected, and 0 the simplifications, the AEOS Track Selection and Schedul- otherwise. Let fij ,i,j∈ I,be1ifi is followed by j in the ing Problem is NP-hard, which means that in practice, any selected sequence, 0 otherwise. Let ti be the starting time of algorithm solving this problem to optimality may need a the acquisition of the image i, if selected. computation time growing exponentially with the size of the instance to be solved [7]. In other words, this problem Constraints. Here are the constraints which define feasible is highly combinatorial. As a matter of fact, it amounts to sequences: search for a longuest path in a directed graph with additional contraints. The vertices of the graph are the candidate im- path(x,f) (1) ages. There is a directed edge from an image to another if ∀i ∈ I: (xi = 1) ⇒ (Ei  ti  Li) (2) and only if a transition is possible from one image to the other. Notice that this graph can have cycles. Edges are la- ∀i, j ∈ I: (f = 1) ⇒ (t + D + M  t ) (3) ij i i ij j belled by two quantities: first, the corresponding transition ∀(i, j) ∈ B: xi + xj  1(4)time; second, a length which is the weight of the image cor- ∀(i, j) ∈ S: xi = xj . (5) responding to the origin of the edge. A time window and a duration are associated to each node. Additional constraints The constraints (2) and (3) are time constraints (respect are just time constraints (2) in the above model, plus band of time windows and transition times, respectively). The and constraints (4) and (5). constraint (4) states that we need only one image per strip, and (5) enforces constraints on stereoscopic images. The Numerical data. To better understand the nature of this constraint (1) expresses that the values of the decision combinatorial problem, we give in this paragraph some ∈ variables xi and fij ,i,j I, must represent an (oriented) numerical data. The period of the satellite is 5850 seconds simple path of selected images. It could be replaced by the following constraints:   2 Notice that the classical subtour elimination constraints (see for + ∀i ∈ I : fij = fji = xi (6) example [13, p. 25]) are not required here because time constraints already j∈I + j∈I + prevent subtours. M. Lemaître et al. / Aerospace Science and Technology 6 (2002) 367–381 373

(1 hour, 37 minutes and 30 seconds), so the duration of the sum of weights. This optimisation problem is NP-hard, a track is about 49 minutes (half a period). The speed of and can be formulated in the general Valued Constraint the satellite on its track is 7531 m/s, and the speed of Satisfaction Problem model [16]. The article [2] fully the vertical projection of the satellite over the ground is describes the problem, and proposes some instances, to serve 6850 m/s. When the satellite is acquiring an image, the as a benchmark. Some results with dedicated exact and speed of the sighting point on the ground is maintained approximate methods are given in [3] and [22]. The column at 3420 m/s. The average difference between the earliest generation technique [5] has been used to compute upper starting time and latest starting time of an image is 70 bounds on the benchmark instances. Best and very good seconds. The typical duration of an image acquisition is results on these instances have been obtained by Vasquez 6 seconds, and the minimum transition time between the and Hao [18] using a dedicated Tabu Search algorithm. acquisition of two successive 100 km distant images is about These last authors recently obtained very good upper bounds 10 seconds. The number of requests per track may vary for these instances, by way of an original partition method from 1 up to about 400, and the number of candidate strips [19], assessing the quality of their previous results. Notice per track ranges from 1 to about 600 (notice that there that for some instances the optimum value of the quality are two possible images for each strip). The proportion of criterion is still not known. stereoscopic requests is highly variable (see the data for A new problem arises when the satellite is exploited by some typical instances in Section 3.5). several entities. In this case, the objective is not only to give a maximal satisfaction to each entity, but also to enforce a 2.3. Related work kind of fairness constraint on selections. This share problem has been stated and studied in [14]. The article [8] presents a problem, named the Space Mis- The work presented in [6] concerns a problem of selec- sion problem (SM), which amounts to select and schedule tion and scheduling for a kind of semi-agile satellite, the a set of jobs on a single machine, among a set of candidate agility of which is halfway between SPOT5 and PLEIADES. jobs. Each candidate job is associated with a fixed duration, The differences with our AEOS problem are the following: a given time window and a weight. The aim is to select a fea- sible sequence of jobs maximizing the sum of weights. The • the criterion to be maximized is the number of selected SM problem is NP-hard. It is very close to our restricted images (images are not weighted); AEOS Track Selection and Scheduling Problem. Actually, it • the satellite is weakly mobile on two axes (pitch and is equivalent to the statement given in Section 2.2.2 with the roll), but remains fixed during an image acquisition; so, following simplifications: there is only one possible azimuth for an acquisition (parallel to the satellite motion); • null transitions times; • the satellite kinematics do not allow for a given strip • no strip constraints (4); to be acquired twice during the same track (contrary to • no stereoscopic constraints (5); agile satellites); • a linear quality criterion. • there are no stereoscopic requests, hence no correspond- ing constraints. Several interesting greedy algorithms and an optimal algo- rithm for solving the SM problem are proposed. They all Two related problems are stated. In the first one, named the suppose a discretization of time. The optimal algorithm is Maximum Shot Sequencing Problem (MSP), the aim is to based on a Dynamic Programming scheme. Upper bound select and schedule a set of images over several consecutive formulations are presented, based on a preemptive relaxation tracks (a given image can be acquired from two or more (a job can be fragmented) and on a lagrangean relaxation. tracks), so several possible disjoint time windows are given The proposed algorithms are tested on 30 randomly gener- for each image. In the second problem, named the Maximum ated instances with up to 200 candidate jobs. Shot Orbit Sequencing Problem (MSOP), only one track is The selection and scheduling problem for the SPOT5 processed, so a single time window is associated to each satellite was partially stated in the introduction. It is a candidate image (as in our problem). MSOP and MSP also non-agile satellite with only one moving axis (rolling). are NP-hard. Several algorithms are proposed for solving A consequence of this lack of manoeuvrability is that these problems, based on graph-theoretic concepts. In a the starting time of each candidate image is fixed. This first approach, time is discretized. Constraints given by feature would result in a very simple (polynomial) problem the satellite kinematics are such that MSOP amounts to a if there were only one imaging instrument on board, but longuest path problem (in a way similar to our DP approach). there are 3 instruments. Nevertheless, it is possible to With time discretization, MSP amounts to find a maximal pre-compute binary and ternary hard constraints which independent set in an incompatibility graph, and can be model the compatibilities between candidate images. Each solved by an approximate algorithm based on a near-optimal candidate picture is given a weight, and the problem is to partition into cliques. Due to the nature of the criterion, an find a feasible subset of the candidate images maximising interesting upper bound is available. Exact and approximate 374 M. Lemaître et al. / Aerospace Science and Technology 6 (2002) 367–381 algorithms are also presented for the continuous time model, Another more general reason is the difficulty to infer or- to solve both MSP and MSOP. The exact algorithm is a ders between candidate images, due to the large time win- branch-and-bound with graph-based heuristics and bounds. dows for the starting times. This probably also explain the The approximate one is a kind of greedy algorithm also disappointing behavior of complete methods on this prob- based upon graph properties. Experiments are conducted on lem. Four other directions have been investigated for solving a set of randomly generated instances, allowing to assess the the AEOS Track Selection and Scheduling Problem. Two of proposed algorithms against upper bounds, and to measure them, a Greedy Algorithm (GA) and Dynamic Programming the impact of the discretization. The results show the good Algorithm (DPA), are restricted to the linear quality crite- quality of the proposed approximate algorithms. rion and do not take into account the stereoscopic constraint The article [9] describes a scheduling problem involving (numbered 5 in the above statement). The last two, a Con- a satellite equipped with a radar instrument, very agile on straint Programming Approach (CPA) and a Local Search the pitch axis (thanks to an electronic scan) but slow on the Algorithm (LSA), have no restrictions and solve the prob- roll axis. Only one azimuth is available for acquiring images. lem with all constraints. This problem is equivalent to the SM problem [8] with transition times. The authors describe a partial enumeration 3.1. A Greedy Algorithm (GA) algorithm for this problem and give preliminary results for randomly generated instances. This was our first designed algorithm. The aim was The work reported in [23], in the context of the NASA’s to obtain a fast but reasonably clever algorithm, stating a Earth Observing System domain, describes the so-called milestone for future algorithms. Window-Constrained Packing problem (WPC). It differs The idea of the algorithm is to build progressively a from the previously presented ones by the fact that the sequence of images from the beginning of the track until its evaluation function (the return for selecting an observation) end. At each step, the selected image i is such that is a priority-weighted sum of observation durations under “suitability functions”. In other words, observations have • i can immediately follow the last selected image (re- non fixed durations (ranging between a maximum and specting visibility and transition constraints), and the a minimum), and preference is given to higher priority corresponding strip has not already been imaged in the observations, with longer durations, and best placed inside beginning of the sequence; their time-window. There are no transition times between • i maximizes the criterion Wi + E(i),whereE(i) is an observations. This problem is similar to the SM problem estimate of the value (sum of the weights) of the best [8], with a particular quality function, depending on starting possible sequence following i,ifi is selected. Let Q be times of observations. The authors present three approximate an estimate of the optimal value on the whole track. E(i) algorithms for solving the WPC problem. The first one is is defined as a fast but not very accurate greedy algorithm. The second t − t E(i) = Q × ρ(T ), with ρ(t) = max one, similar to the first, but including some look ahead, i t − t is a little slower but much more accurate. The last one, max min a genetic algorithm, outperforms others but has expensive where Ti is the earliest possible ending time of image computation times. These algorithms have been tested on i considering the images already selected. tmin is the randomly generated instances. Actually the WPC problem first possible time for beginning images on the track, and is a short term simplified version of the real scheduling tmax the last possible one. problem. The article investigates the mid-term and long term associated scheduling problems and their connections, as The justification for the expression of E(i) is the follow- well as different objective functions. ing: it assumes that the value of the best possible sequence following i is proportional to the remaining time from the end of i to the end of the track. Of course, this assumption 3. Solving the AEOS Track Selection and Scheduling is only a rough approximation. Notice the similarity of this Problem algorithm with a dynamic programming scheme. In practice, Q is initially set to the sum of the weigths of the candidate images, and the algorithm is run once, giving a First, it should be noticed that the mathematical statement first estimate of the optimal value on the whole track. Then, given above defines a Mixed Integer Programming problem, this estimate is used as a new value for Q, and the algorithm and as such is amenable to solving with specialized tools. is run again. This process is itered 10 times, keeping the best Unfortunately, this way does not seem to give interesting produced schedule. results in practice. A reason could be the poor quality of This sequential version of the Greedy Algorithm is not cutting-plane bounds provided by this 0-1 variable model.3 well adapted to instances involving stereoscopic requests, because they induce coupling constraints between pairs 3 We thank Michel Vasquez for this possible explanation. of non-consecutive images, that are difficult to take into M. Lemaître et al. / Aerospace Science and Technology 6 (2002) 367–381 375 account efficiently by a purely sequential process. Let us try optimal algorithm solving the restricted problem (i.e., with to be more precise. A straightforward way of introducing an order on images) is no more optimal on the unrestricted a pair of stereoscopic images into the schedule is the problem (i.e., without ordering). Nevertheless, we accept following: if the first image is selected, then the second this sub-optimality, hoping to obtain better results with the one is introduced too, as an immediate successor. However, polynomial algorithm than with a practically sub-optimal as both images must be sufficiently separated (in order to resolution of the NP-hard non-restricted problem. meet stereoscopic conditions) the time interval between the The polynomial algorithm evoked above can be attrac- acquisition of these images is rather large (about 60 seconds) tively designed according to the Dynamic Programming par- and this would allow for at least one intermediate image adigm (see for example [4, Chapter 16]). Let i be a candidate to be included in between. It could be the first image of image and t a possible starting time for it. The local optimal another steroscopic pair. So, if we decide to include possible value of the quality criterion v(i, t) (that is the highest pos- intermediate images, then the algorithm must be different sible sum of weights in any path issued from the image i, and it will depart strongly from its simple original form. starting at time t) can be expressed as   If we decide not to include intermediate images, then the     v(i, t) = max v(i ,t ) + W such that C(i,t,i ,t ) algorithm will be clearly sub-optimal. This is why this i simple sequence-based greedy algorithm is not adapted to where C(i,t,i,t) holds if and only if there is an edge in instances involving stereoscopic requests. the graph from (i, t) to (i,t), meaning that the visibility and transition constraints holding on i, t, i,t are satisfied. 3.2. A Dynamic Programming Algorithm (DPA) The Dynamic Programming algorithm is just an opti- mized way to compute the function v for all possible (i, t). This algorithm originates from the following question: is In particular, the algorithm takes advantage of the following there a modification of the problem which monotonicity property:    ∀i, t, t : t

We chose the OPL language and framework [17], be- cause of its elegance and simplicity. With OPL (Optimiza- tion Programming Language), one describes a model of a problem: data, decision variables, constraints and optimiza- tion criterion. A solver is associated with the language. It searches through the search space described by the model, trying to find optimal solutions, in an ordered and system- atic way. The underlying algorithms are said to be complete, which means that they offer the guarantee to find an op- timal solution, provided they are given enough resolution time. The constraint programming approach is very flexible. It allowed us to easily take into account all operational con- straints (non-linear quality criterion as well as stereoscopic requests). Nevertheless, some care must be taken when building the model, so that it can be solved in practice. In our problem, in order to keep a practicable size for the search space, a key idea is to solve the problem using several successive resolutions: in each resolution, we search for an optimal sequence of a fixed length. Several resolutions are launched with increasing lengths, until inconsistency, in order to find an overall optimal sequence. The solver must be guided in the search space, in order to find good solutions as quickly as possible. OPL provides some ways to do it. In particular, we can state which decision variables have to be instantiated first. This greatly helps the solver. The above mentioned techniques are not sufficient to solve models in a reasonable amount of time. A way to Fig. 7. Pseudo-code of the Dynamic Programming algorithm. control the combinatorial explosion is to cut down the search space by adding constraints. These constraints may be The algorithmic complexity of this algorithm is clearly redundant, that is induced by others. In this case we keep the | |2 · O( B maxi Ti),inwhichmaxi Ti is proportional to the possibility to find an optimal solution. If added constraints inverse of the time discretization interval.  are not redundant, then the optimality is no more guaranteed, In the actual implementation, the expression t ← Ei +  but yet can be approached when the additional constraints + +  ← +  d Di Mii in UPDATE is replaced by t d EDMii . are justified by some heuristics. In our case, the following  The quantities EDMii are pre-computed and discretized as heuristics have been used to add constraints to the model: a whole in order to minimize discretization errors. We discuss now briefly the impact of the non-linear • for large instances, the candidate images are limited to criterion and the stereoscopic requests on this Dynamic those having a chance to be part of a good solution: we Programming algorithm. These are difficult to take into eliminate images having very small weights; account because they need to include into each state (i, t) • in a good solution, the order in which images appear a part of the history (the path in the graph by which in the sequence, more or less obeys the order in which each state is reached). A straightforward adaptation of images are flown over by the satellite; this means that we the previous algorithm would require memory resources growing exponentially with the number of stereoscopic can constrain each candidate image to appear only in a requests, resulting in an impracticable algorithm. A more given sub-sequence of the whole sequence (for example, clever adaptation is needed. an image which belongs to the middle of the track is constrained to belong to the middle of the sequence if it 3.3. A Constraint Programming Approach (CPA) is selected); • following the same idea, an optimal sequence will sel- Constraint Programming is a generic technique for mod- dom include a “backtrack”, that is a transition between eling and solving combinatorial problems. See for example two images going in the opposite movement of the satel- [11,12,15]. It is now reaching a mature state. We have tried lite, even if the agility of the satellite permits it; so we to use this existing framework and its associated algorithms add a constraint, not forbidding backtracks, but limiting to solve the Track Selection and Scheduling Problem. them in range; M. Lemaître et al. / Aerospace Science and Technology 6 (2002) 367–381 377

• taking advantage of the multi-pass resolution process with a probability proportional to the weight of the explained above, successive resolutions are conducted image; in increasing order of the sequence length, and we force • the place where to insert a new image is uniformly the optimal sequence computed in a resolution to be a randomly chosen. subset of the solution sequence of the next resolution. Figs. 8–10 give the detailed pseudo-code of the Local The use of these additional constraints of course removes Search Algorithm. The notations used are the following. the guarantee of finding optimal solutions. But associated with a clever way to limit the computation time at each step, 3.4.1. Parameters of the local search the enriched model enables us to solve most instances of the • nt : number of tries; problem, in a reasonable amount of time, with acceptable • nm: number of movements (insertion or removal of an quality results. image) per try; • α ∈[0, 1]: evolution factor for the probability of inser- 3.4. A Local Search Algorithm (LSA) tion pa in case of success of insertion; • β ∈[0, 1]: evolution factor for the probability of inser- Local search (see for example [1]) is a well-known gen- tion pa in case of failure of insertion. eral technique for solving highly combinatorial problems, including EOS selection and scheduling problems [18,23]. All these parameters are constant during a search. They When faced with a very large search space, as this can be determine the global behavior of the algorithm. found in our application, local search is often a valuable alternative. It includes methods like Descent Search, Tabu 3.4.2. Global variables Search, Simulated Annealing, Genetic Algorithms ...These • SI: the current sequence of selected images; methods are in essence incomplete, meaning that they can- • NSB: the current set of non selected strips; not give any proof of optimality of the solutions generated, • pa: probability that the next movement is an insertion; and no information about the quality of the obtained solu- • currentValue: value of the quality criterion for SI; tions. • bestSI: best sequence SI found so far; We have adapted the principles of local search to the • bestValue: value of the quality criterion for bestSI. AEOS Track Selection and Scheduling Problem in the following ways. A current feasible solution sequence of With each image i are associated two variables: images is maintained. A better solution is searched for in the neighbourhood. A neighbouring solution is obtained either • ei : the earliest starting time for i within SI; by • li : the latest starting time for i within SI.

• inserting a new image in the current sequence, accepting Notice that these times can be different from Ei and Li the insertion if the new sequence is feasible; because of the propagation of temporal constraints inside the • or by removing an image from the current sequence. sequence SI. The main procedure LSA (Fig. 8) is merely a loop The key points in local search algorithms are: performing nt tries. The ONETRY procedure starts from an empty sequence SI. The choice between an insertion • the use of heuristics in order to guide the search towards movement (INSERTIONMOVE) or a removal movement good regions of the search space; (REMOVALMOVE) is decided randomly, depending on the • a well tuned level of randomness: too much randomness probability pa.INSERTIONMOVE returns True if the inser- prevents the heuristics to be efficiently followed, and tion succeeds, False otherwise. As said above, the probabil- not enough randomness tends to restrict the search to ity pa of a future insertion evolves according to the success a deterministic walk. of the insertion. INSERTIONMOVE first selects randomly a strip b among The following tunings seem to give good results in our the set of non selected strips NSB. The probability of application: selecting a given strip is proportional to the weight of the corresponding images. Then an azimuth is randomly • insertion or removal is decided randomly but nonuni- chosen among the two possible opposite azimuths, resulting formly, according to a probability which evolves during in an image i, candidate for insertion into SI.Aset the search: a successful insertion increases the probabil- of possible positions P for this insertion is returned by ity of future insertions, and conversely, a failure in an POSSIBLEPOSITIONS. The insertion position p is chosen insertion decreases this probability; randomly in P . Then, if the image i has a corresponding • a new image to be inserted is randomly but non stereoscopic image, the insertion of the latter is tried. If it uniformly selected, among those currently not selected, fails, previous state of SI and NSB is restored. 378 M. Lemaître et al. / Aerospace Science and Technology 6 (2002) 367–381

Fig. 9. Local Search Algorithm: search for possible insertion positions.

Fig. 8. Local Search Algorithm: main procedures.

REMOVALMOVE selects randomly an image among the sequence SI for removal. The probablity of selection of an Fig. 10. Local Search Algorithm: adding and removing a given image image is inversely proportional to its weight. If needed, the to/from the current sequence, and full propagation of temporal constraints. corresponding stereographic image is removed too. POSSIBLEPOSITIONS, Fig. 9, computes the set of possi- AGATION is always called either for an insertion in a po- ble positions for the insertion of the image i in SI. Possible sition previously checked by POSSIBLEPOSITIONS,orfor insertion positions are numbered from 0 to s,wheres is the a removal. This procedure has room for possible improve- 4 length of the sequence SI. ments but we let it in this form for simplicity. ADDTOCURRENTSEQUENCE, Fig. 10, calls PROPAGA- An irritating drawback of local search methods is their TION for a complete propagation of temporal constraints. non-determinism: each execution results in a different so- lution. To get an idea of the performance of a local search PROPAGATION first computes earliest starting times ei for each image in the sequence using an upward loop, then lat- algorithm, it is a common practice to compute a quality pro- est starting times li using a downward loop. The next loop checks the consistency of these temporary starting intervals. 4 For example, propagation loops need only to start from the insertion It is worth noticing that it is just a verification, since PROP- or removal position, as all ei and li do not have to be recomputed. M. Lemaître et al. / Aerospace Science and Technology 6 (2002) 367–381 379

Table 1 Compared performances of algorithms on selected instances. GA: Greedy Algorithm; DPA: Dynamic Programming Algorithm; CPA: Constraint Programming Approach; LSA: Local Search Algorithm. The upper table gives some statistics on the instances: |R| is the number of requests of the instance; the triplet (ster circ poly) gives respectively ster: the number of stereoscopic requests, circ: the number of requests which are circular small areas (covered by one image), poly: the number of requests which are large polygonal areas (covered by several images). |I| is the number of candidate images, Ps is the proportion of stereoscopic images among the candidate images, and D is the average duration (in seconds) of an image acquisition for the considered instance. The column labelled |V | gives the number of vertices of the generated graph for the Dynamic Programming algorithm (the chosen time discretization for these experiments is 1 second). The middle table gives the results obtained on the restricted problem (not all operational constraints enforced, see Section 3.5). The lower table gives the result obtained on the full problem (with only two methods available). Fig. 11. A quality profile obtained with the local search algorithm for the The middle and lower tables display the value of the quality criterion resolution of a large instance of the AEOS Track Scheduling Problem obtained with each method (columns) and each instance (rows), with a (instance id = 3:25_22, 342 candidate strips). Average with standard CPU time limited to 2 minutes per instance for each method, except for deviation and maximum value of the quality criterion, obtained after a LSA which was run 100 times (2 minutes each run) in order to obtain a meaningful average. For LSA, values of parameters are n = 20000,α = given CPU elapsed time, over 100 different executions of the local search m 0.5,β = 0.996, and n is automatically ajusted to fit the runtime limit. Best algorithm. t performances are displayed bold-face

Instance id |R| ster circ poly |I| Ps D |V | file, such as the one presented in Fig. 11. It gives the average, 2_13_111 68 12 64 4 212 0.23 5.6 14523 2_15_170 218 39 206 12 590 0.26 5.0 36271 standard deviation and maximum value of the quality crite- 2_26_96 336 55 308 28 966 0.26 5.6 55776 rion obtained after a given CPU elapsed time, over 100 dif- 2_27_22 375 63 346 29 1068 0.26 5.7 67582 ferent resolutions of a large instance. In our case, it can be 3_25_22 150 87 17 133 684 0.69 7.7 12326 seen that a steady average and maximum quality is obtained 4_17_186 77 40 23 54 294 0.71 6.9 6352 after 1 minute of CPU time. For this instance, average values are within 15% of the maximum, and standard deviations are rather small. Instance id GA DPA CPA LSA av. (max.) 2_13_111 532 603 442 574 (587) 3.5. Comparisons of methods and algorithms 2_15_170 707 843 527 723 (779) 2_26_96 831 1022 782 826 (877) 2_27_22 895 1028 777 800 (861) 3.5.1. Performance comparisons 3_25_22 436 482 253 345 (375) We compared the performances of the four presented 4_17_186 188 204 177 192 (196) methods, by running them on six representative instances of the AEOS Track Selection and Scheduling Problem. These instances are extracted from a set of artificial instances, built Instance id CPA LSA av. (max.) by the organism which will be the interface with clients, 2_13_111 241 414 (490) foreseeing the requests to such a system over the 2005 2_15_170 350 446 (490) horizon. A first experiment was conducted, involving the 2_26_96 439 516 (592) 2_27_22 410 455 (561) four presented methods, but restricted to the linear quality 3_25_22 149 255 (298) criterion, and processing stereoscopic requests as if they 4_17_186 125 145 (156) were unrelated (that is, by removing the constraint labeled (5) in Section 2.2.2). Results are presented in Table 1, middle part. DPA always shows the best ratings, despite conditions as before, are displayed in Table 1, lower part. It the restriction to a predefined order of images (which other shows that LSA always gives the best results. algorithms have not). Moreover, the algorithm is rather fast. GA is also very fast, but is not so efficient. CPA gives 3.5.2. Other comparisons disappointing results. Apart from performances, methods have also to be Unfortunately, the two best algorithms of the previous compared on other grounds, namely simplicity and ease of experiment are not able to solve the problem with all understanding, flexibility (i.e., ease of change), quickness to operational constraints. A second experiment was conducted bring into play. only with methods which are able to take into account The Greedy Algorithm and the Dynamic Programming all operational constraints (non-linear quality criterion and Algorithm belongs to the same family of algorithms (GA stereoscopic constraint). The results, obtained in the same could be considered as a weakened Dynamic Programming). 380 M. Lemaître et al. / Aerospace Science and Technology 6 (2002) 367–381

They give solutions of good quality in a short computation Other interesting investigations include generalizations of time, but as they are, they stumble over the problem of the described problem taking into account constraints that connect distant states (non-linear criterion, stereoscopic requests). • taking into account capacity constraints (memory and Constraint Programming is the easiest method to bring energy consumptions) and data dump opportunities; into play. A great flexibility is permitted in the way models • involving several satellites devoted to the same observ- can be built. Potentially any kind of constraints can be ex- ing mission; pressed. Robustness is also a quality of the approach, allow- • using selection processes operating jointly at different ing the model to evolve easily by local modifications. These horizons of time (mid-term and long-term scheduling); qualities are particularly useful in real-word applications. On • aiming to replace the daily computed selection and the other hand, mastering the combinatorial explosion can be scheduling, by a probably more efficient reactive and a challenging task. Models must be necessarily tuned for an continuous planning [21]. efficient search. Some support tools are provided for help, but they can be difficult to use. Local search is easy to understand, and basic local search Acknowledgements algorithms are simple enough to implement. The method is also able to take into account potentially any constraint. The authors would like to thank Roger Mampey for his However, less flexibility is available since constraints have help with the geometric aspects of this study, especially for to be wired into the code. Last, exploiting local search can his contribution to the polygon cutting-up algorithm. The be rather frustrating, due to the inherent non-determinism anonymous reviewers also must be thank for their careful of the method, and to the difficulty of tuning the numerous reading and useful comments of a first version of this article. search parameters. References

4. Conclusions [1] E. Aarts, J.K. Lenstra, Local Search in Combinatorial Optimization, Wiley, 1997. [2] E. Bensana, M. Lemaître, G. Verfaillie, Earth observation satellite In this article, we described the general problem of man- management, Constraints: An Internat. J. 4 (3) (1999) 293–299. aging the new generation of agile Earth Observing Satel- [3] E. Bensana, G. Verfaillie, J.C. Agnèse, N. Bataille, D. Blumstein, lites, and a way to cast it in a simpler problem: the AEOS Exact and approximate methods for the daily management of an Track Selection and Scheduling Problem. Even this simpli- Earth observation satellite, in: Proc. 4th International Symposium on fied problem remains computationally hard. Four quite dif- Space Mission Operations and Ground Data Systems (SpaceOps-96), Münich, Germany, 1996. ferent methods have been investigated in order to solve it: a [4] T. Cormen, C. Leiserson, R. Rivest, Introduction to Algorithms, The fast Greedy Algorithm, a Dynamic Programming Algorithm, MIT Press, Cambridge, MA, 1990. a method based on the existing Constraint Programming [5] V. Gabrel, Improved linear programming bounds via column genera- framework, and a Local Search Algorithm, based on inser- tion for daily scheduling of earth observation satellite, Technical Re- port, LIPN, Université 13 Paris Nord, January 1999. tion and removal of images in a sequence. The last two meth- [6] V. Gabrel, A. Moulet, C. Murat, V.T. Paschos, A new single model and ods were able to take into account all specific operational derived algorithms for the satellite shot planning problem using graph constraints of our real-world problem, in particular stereo- theory concepts, Ann. Oper. Res. 69 (1997) 115–134. scopic requests. Each one has its own advantages. To sum- [7] M.R. Garey, D.S. Johnson, Computers and Intractability, a Guide to the Theory of NP-Completeness, Freeman, 1979. marize, the Constraint Programming Approach is very flex- [8] N.G. Hall, M.J. Magazine, Maximizing the value of a space mission, ible, while the Local Search Algorithm gives better perfor- European J. Oper. Res. 78 (1994) 224–241. mance. However, adaptations of the Greedy Algorithm and [9] S.A. Harrison, M.E. Price, Task scheduling for satellite based imagery, of the Dynamic Programming Algorithm to the resolution in: Proc. Eighteenth Workshop of the UK Planning and Scheduling of the full problem should be also investigated, as well as Special Interest Group, University of Salford, UK, 1999, pp. 64–78. [10] W.D. Harvey, M.L. Ginsberg, Limited discrepancy search, in: Proc. weakened versions of Branch-and-Bound algorithms, such IJCAI-95, 1995, pp. 607–613. as Limited Discrepancy Search [10]. [11] P. Van Hentenryck, V. Saraswat, Strategic directions in constraint Other schemes for local search should also be investi- programming, ACM Comput. Surveys 28 (4) (1996). gated, as there is probably room for improvements in this [12] J. Jaffar, M. Maher, Constraint logic programming: A survey, J. Logic Programming 19/20 (1994) 503–582. direction too. [13] E.L. Lawler, J.K. Lenstra, A.H.G. Rinnoy Kan, D.B. Shmoys, Travel- The future of this work concerns the extension of this ing Salesman Problem, Wiley, 1985. kind of methods towards the better resolution of the general [14] M. Lemaître, G. Verfaillie, N. Bataille, Exploiting a common property selection and scheduling problem, taking into account the resource under a fairness constraint: A case study, in: Proc. 18th IJCAI-99, Stockholm, Sweden, 1999, pp. 206–211. prevision of arrival of future requests and weather forecast [15] A.K. Mackworth, E.C. Freuder, The complexity of some polynomial more accurately, as well as a multi-track version of the network consistency algorithms for constraint satisfaction problems, problem. Artificial Intelligence 25 (1985) 65–74. M. Lemaître et al. / Aerospace Science and Technology 6 (2002) 367–381 381

[16] T. Schiex, H. Fargier, G. Verfaillie, Valued constraint satisfaction botics, and Automation for Space (i-SAIRAS-99), Noordwijk, The problems: hard and easy problems, in: Proc. IJCAI-95, Montréal, Netherlands, 1999, pp. 205–207. Québec, 1995, pp. 631–639. [21] G. Verfaillie, E. Bornschlegl, Designing and evaluating an on-line [17] P. Van Hentenryck, ILOG OPL 3.0, Optimization Programming on-board autonomous Earth observation satellite scheduling system, Language, Reference Manual, ILOG, January 2000. in: Proc. Second NASA International Workshop on Planning and Scheduling for Space, San Francisco, CA, 2000, pp. 122–127. [18] M. Vasquez, J.-K. Hao, A logic-constrained knapsack formulation [22] G. Verfaillie, M. Lemaître, T. Schiex, Russian doll search for solving and a tabu algorithm for the daily photograph scheduling of an earth constraint optimization problems, in: Proc. AAAI-96, Portland, OR, observation satellite, J. Comput. Optim. Appl. 20 (2) (2001) 137–157. 1996, pp. 181–187. [19] M. Vasquez, J.-K. Hao, Upper bounds for the SPOT5 daily photograph [23] W.J. Wolfe, S.E. Sorensen, Three scheduling algorithms applied to the scheduling problem, J. Combinatorial Optim, 2002, to appear. Earth observing systems domain, Management Sci. 46 (1) (2000) 148– [20] G. Verfaillie, E. Bensana, C. Michelon-Edery, N. Bataille, Dealing 168. with uncertainty when managing an Earth observation satellite, in: Proc. 5th International Symposium on Artificial Intelligence, Ro-