A new single model and derived algorithms for the satellite shot
Transcription
A new single model and derived algorithms for the satellite shot
Annals of Operations Research 69(1997)115 – 134 115 A new single model and derived algorithms for the satellite shot planning problem using graph theory concepts Virginie Gabrel a, Alain Moulet b, Cécile Murat a and Vangelis Th. Paschos a a LAMSADE, Université Paris-Dauphine, Place du Maréchal De Lattre de Tassigny, F-75775 Paris Cedex 16, France b LRBA, F-27200 Vernon, France E-mail: {gabrel,murat,paschos}@lamsade.dauphine.fr The satellite shot sequencing problem consists in choosing the pictures to be completed by defining sequences of shots which must respect technical constraints and limits. We propose a graph-theoretic model for both the medium- and the short-term sequencing and present algorithmic solutions by using properties of the model. 1. Introduction We study the problem of scheduling a set of pictures to be performed by a low earth orbit satellite called the satellite shot sequencing problem (SP). Satellite users ask for pictures, i.e., earth landbelt photographs. The satellite considered is equipped with one viewing instrument taking pictures of earth landbelts. Since a low earth orbit satellite revolves around the earth (a revolution around the earth is an orbit), it is able to photograph all earth points at different times. Moreover, it can take a picture of an earth landbelt from one or more orbits. The completion time of an earth landbelt shot is known since it only depends on the length of the landbelt. The starting time of an earth landbelt shot depends on the orbit from which the picture is taken and, given an orbit, it must be chosen among a continuous set of possible starting times. Since it often occurs that the pictures asked for cannot all be carried out, scheduling a set of pictures on a low earth orbit satellite amounts to choosing a starting time for a subset of shots, in order to photograph a maximum number of earth landbelts by respecting the two following constraints: ( j) the viewing instrument can take at most one picture at a time and ( jj) setup delay between two consecutive shots depends on their starting time. © J.C. Baltzer AG, Science Publishers 116 V. Gabrel et al. y The satellite shot planning problem From this general problem, two cases can be distinguished: (i) pictures can be photographed in several time windows; (ii) each picture can be performed in at most one time window. Case (ii) appears when pictures have to be performed from a single orbit: the problem of determining a schedule that maximizes the number of pictures performed is called maximum shot orbit sequencing problem (MSOP). On the other hand, case (i) appears when each picture can be performed from several orbits: the problem of determining a schedule that maximizes the number of pictures taken is called the maximum shot sequencing problem (MSP). These two problems have been studied separately by various authors [2, 3, 7, 10, 11]. In this paper, we study simultaneously MSOP and MSP by proposing a single model for both. Our model is based upon a discretization of the set of possible starting times for performing each picture. Given an instance of MSOP or MSP, the model consists first in defining a discrete set of shots for each picture: a shot for a picture represents the possibility of taking a picture of the corresponding earth landbelt at a given time. Then, three binary relations on the set of retained shots are defined. These relations describe the possibility for a pair of shots to belong to the same schedule. Using the set of shots and the binary relations, three graphs are defined. On this basis, we formulate MSOP and MSP using graph-theoretic concepts. The properties of these graphs allow us to define approximation algorithms for solving MSP and MSOP. Concerning MSP, the main results are summarized here and are presented in detail in [4, 5]. Concerning MSOP, we perform in this paper a thorough algorithmic study. We devise and compare three algorithms: the first one operates on one of the graphs previously mentioned (the schedule obtained is non-optimal because of the discretization); the second one is exact and the third one is approximate, both taking into account the whole continuous set of starting times for performing each picture. Such a comparative study permits assessing the impacts of the discretization and, more generally, the relevance of our modeling. Results are satisfactory and seem to justify our thought process. The paper is organized as follows: in section 2 we describe the production capacities of the considered satellite and present previous work on MSP and MSOP; in section 3 we present the proposed model for both MSP and MSOP; in section 4 we define our approach and algorithms; finally, in section 5 we describe computational experiments for MSOP. 2. Description of the satellite shots scheduling problem 2.1. The context: pictures to be performed – constraints on satellite’s use We consider a satellite revolving around the earth, following quasi-circular (north – south) orbits and flying at a height of 800 km with a speed of 7 kmys; an orbit lasts around 100 minutes. The camera boarded on the satellite takes pictures of landbelts, each landbelt having width of 60 km and between 70 and 700 km of length, but is not V. Gabrel et al. y The satellite shot planning problem 117 able to operate at night or in very cloudy weather conditions. The camera can move its shot axis; this motion can be separated into two independent directions: one in the “north – south” direction called pitching and the other in the “east – west” direction called rolling (figure 1). Each of these motions is measured by angles (in degrees) (figure 2). Through its rolling motion, the viewing instrument can photograph earth points belonging to a segment of 900 km wide, perpendicular to satellite track. Through its pitching motion, a given earth point can be photographed from a particular orbit at different times belonging to a continuous interval. So, the satellite can photograph a point before or after being exactly above it. The camera shot axis can simultaneously pitch and roll. In fact, the camera can either be turned on (in this case it photographs at most one earth landbelt) or be turned off (in this case it moves its shot axis or it waits). Satellite users ask for pictures to be completed with a certain quality (resolution, luminosity, maximal cloud cover, etc.). To perform each of these pictures, the satellite has to photograph an earth landbelt. Given the camera production capacities, a picture can be taken in different ways: from different orbits (with different rolling angles of the shot axis), or, given an orbit, at different starting times (with different pitching angles of the shot axis). The quality of a picture depends on the rolling and pitching angles used to photograph the corresponding landbelt. So, a picture k is characterized by a completion time, denoted gk , a discrete set { ρk} of possible rolling angles and, given a rolling angle, a possible pitching angle interval denoted by [θk+, θk– ]. Let us remark that θk– is the maximum forward pitching angle to photograph the corresponding landbelt and θk+ is the maximum backward pitching angle. In fact, – θk– corresponds exactly to the earliest starting time t dk and θk+ to the latest starting + time t dk on the orbit from which the picture is taken. In an analogous way, we can – – – is given by t fk = t dk + gk define the end time values as follows: the earliest end time t fk + + + and the latest end time t fk is given by t fk = t dk + gk . For a picture, a shot xi is equivalent to a starting time to photograph the picture from a given orbit. So, xi is characterized by a rolling angle ρxi , a pitching angle θxi (or, equivalently, a starting time tdxi ) and a completion time gxi . Let us remark that completion time is proper to a picture; so, if xi and xj are two shots of the same picture k, then gxi = gxj = gk . In what follows, we consider that the pitching and rolling angles are constant during the shot execution. This hypothesis is not restrictive and it allows us to simplify the model. 2.2. The problems studied Given a set of requested pictures and their associated set of shots, a shot sequence is feasible if (1) at most one shot is taken at a time, (2) the time between two consecutive shots is sufficient to move the shot axis. 118 V. Gabrel et al. y The satellite shot planning problem Figure 1. Motions of satellite shot axis; “north –south” (pitching) and “east – west” (rolling). Figure 2. Pitching and rolling angles. In SP we have to choose at most one shot for each picture in order to define a maximum feasible shot sequence. Given two shots xi and xj , the time axi xj required to move from the pitching and rolling angles proper to xi , to the corresponding angles proper to xj , is called transition time and is defined by axi xj = max{tθ (θxi , θxj ), tρ ( ρxi , ρxj )}, with V. Gabrel et al. y The satellite shot planning problem 1 |θ − θ x j | , βθ xi 1 + | ρ − ρ x j|. β ρ xi 119 tθ (θ xi , θ x j ) = γ θ + (1) t ρ ( ρ xi , ρ x j ) = γ ρ (2) In expressions (1) and (2), γ θ , βθ , γρ and βρ are positive constants (βθ and βρ are expressed in degree by second; γθ and γρ are expressed in seconds). An important characteristic of the satellite is related to the fact that the same landbelt cannot be photographed twice consecutively from the same orbit because of the pitching limits, the transition times and the minimal completion time of shots. From SP, we can define two sub-problems: MSP and MSOP. In MSP, pictures can be taken from different orbits. Therefore, each picture is associated with an uncountable set of shots that are characterized by different rolling and pitching angles. SP and MSP are equivalent and they imply choosing rolling and pitching angles to take a maximum number of pictures. So, solving MSP means defining a feasible shot sequence with a maximum number of shots associated with distinct pictures. In MSOP, pictures can be taken from a single orbit. Hence, each picture is associated with a continuous set of shots that have the same rolling angle and different pitching angles. SP and MSOP are also equivalent, but in this case they imply choosing pitching angles to take a maximum number of pictures. Therefore, solving MSOP amounts to defining a feasible shot orbit sequence which includes a maximum number of shots. MSP and MSOP have been studied separately by various authors [2, 3, 7, 10, 11] in various contexts. Concerning MSOP, the problem of determining a shot orbit sequence can be considered as a particular single-machine sequencing problem with time windows and sequence-dependent setup times. This problem is known to be NP-complete [9] and numerous authors have studied it (for a state-of-the-art, see [9]). Here, we quote Moore [10], who has specifically studied the problem we are concerned with. More precisely, he was interested in the problem of determining a maximum shot orbit sequence. However, his problem statement differs from ours since he considers that setup times depend on pictures, while in our statement, setup times depend on shots (i.e., on starting times choosen to take pictures). As far as we know, this particular statement of the one-machine sequencing problem with sequence-dependent setup time has never been studied. MSP can be seen as an extension of MSOP, and in this sense, it presents at least the same difficulties. Among studies about satellite mission planning, the main ones relative to MSP were carried out by Gaspin and Tessier-Badie [7, 11]. Both authors use artificial intelligence methods to solve MSP for satellites with only rolling capacity: neural networks by Gaspin and a scheduling serial method with “intelligent” backtracking by Tessier-Badie. 120 V. Gabrel et al. y The satellite shot planning problem In the context of satellites with rolling and pitching capacities, we propose a single model for both MSP and MSOP instances and algorithmic solutions dealing with model properties. This modeling is based on a discretization of the continuous set of shots for each picture. Hence, it permits working on an enumerable subset of shots. In this model, an important question is the impact of the discretization. In order to respond to this question, we consider another approach in which all the possible starting times for each picture are taking into account. We compare these two approaches on instances of MSOP. 3. Model and problem formulations Let P (|P| = n) be the set of pictures to be taken. Every picture i is associated with a set Ω i of shots. Let us call X the set <i ∈P Ω i . We can define two binary relations on X × X, namely the enchainability and the conflict, denoted by A and C, respectively. A pair (xi , xj ) belongs to A if and only if xj can be taken after xi , while (xi , xj ) belongs to C if and only if (xi , xj ) ∉ A and (xj , xi ) ∉A. Definition 1. For xi , xj ∈X, A = {( x i , x j ) : t dx j ≥ t dx i + g x i + a x i x j }; C = {( x i , x j ) : ( x i , x j ) ∉ A ∧ ( x j , x i ) ∉ A}. Assertion 1. A is antisymmetric and transitive. u u For the antisymmetry, let us remark that xi Axj only if tdxj ≥ tdxi + gxi + axi xj ; moreover, tdxj > tdxi since gxi + axi xj > 0. On the other hand, xj Axi only if tdxi ≥ tdxj + gxj + axjxi ; moreover, tdxi > tdxj since gxj + axj xi > 0. So, if xi Axj , then (xj , xi ) ∉A. Let us now prove the transitivity of A. Let us recall that (see expressions (1) and (2)) xi Axj implies tdxj – tfxi ≥ max{tθ (θxi , θxj ), tρ ( ρxi , ρxj )} and, moreover, if xj Axk , then tdxk – tfxj ≥ max{tθ (θxj , θxk ), tρ ( ρxj , ρxk)}. Summing the two previous inequalities, we obtain: tdxk – tfxi ≥ max{tθ (θxi , θxj ), tρ ( ρxi , ρxj )} + max{tθ (θxj , θxk ), tρ ( ρxj , ρxk)}. Since max{a, b} + max{c, d} ≥ max{a + c, b + d}, t dx k − t fxi ≥ max{tθ (θ xi , θ x j ) + tθ (θ x j , θ x k ), t ρ ( ρ xi , ρ x j ) + t ρ ( ρ x j , ρ x k )}. Given that |a| + |b| ≥ |a – b|, tdxk – tfxi ≥ max{tθ (θxi , θxk ), tρ ( ρxi , ρxk )}. Hence, xi Axk and the transitivity of A follows. Let us note that C is symmetric and antitransitive. V. Gabrel et al. y The satellite shot planning problem 121 Moreover, we define another relation on X × X, namely the exclusion one denoted by E: a pair of shots belongs to the exclusion relation if these shots allow photographing the same picture. Definition 2. For x i , x j ∈ X , E = {( x i , x j ) : ∃ k ∈ P, {x i , x j } # Ω k }. u We can easily see that E is symmetric and transitive. Because of viewing satellite capacities, two different shots of the same picture with the same rolling angle (i.e., performed from the same orbit) cannot belong to the enchainability relation. Our model consists in choosing a discrete subset V of X in such a way that there is in V the same number of shots for each picture in each orbit. We define exclusion, enchainability and conflict relations on V × V. For each relation, we define, in the usual way, a graph representing it 1); in what follows, we call these graphs by the name of the relation they represent and we denote them Gi = (V, E i ), where i ∈{A, C, E}. Since C and E are symmetric, the associated graph Gi = (V, E i ), i ∈{C, E}, is undirected; from assertion 1, the graph associated with A is directed and acyclic. It is clear that any feasible shot sequence is represented by a path in GA . Moreover, vertices belonging to a path in GA correspond to a subset S of V such as ∀(xi , xj ) ∈S × S, (xi xj ) ∉EC . Hence, S is an independent set in GC , any independent set in GC represents a feasible shot sequence and conversely. When the considered graphs represent an instance of MSP, a path in GA (or, equivalently, an independent set in GC ) corresponds to a feasible shot sequence, but this sequence can contain several shots of the same picture. In fact, a feasible shot sequence including at most one shot per picture corresponds to an independent set in both GC and GE . Thus, solving an instance of MSP consists of determining a maximum independent set in the graph G = (V, EC < EE ). When the considered graphs represent an instance of MSOP, the previous constraint of choosing at most one shot per picture is immaterial, since any pair of shots of the same picture does not belong to the enchainability relation. So, any path in GA corresponds to a feasible shot orbit sequence respecting this constraint. Hence, solving an instance of MSOP consists of determining a longest path in GA . By working on these graphs, the solution obtained is an approximated one because of the discretization, and its quality depends on the level of discretization. In order to assess the quality of this approach, we have to compare it to another approach which uses the continuous set of shots. For this purpose, we introduce some concepts concerning no more shots but continuous intervals of shots (one interval corresponds to a picture). 1) There exists an arc ab, if (a, b) belongs to the relation. 122 V. Gabrel et al. y The satellite shot planning problem Starting from relation A, we introduce another relation defined on P × P, namely the compatibility relation denoted by K: a pair of pictures belongs to the compatibility relation if there exists a pair of shots, one for each picture, which belongs to the enchainability relation. Definition 3. For i, j ∈ P (i ≠ j ), K = {(i, j ) : ∃ x u ∈ Ω i , ∃ x υ ∈ Ω j , x u Ax υ }. u Assertion 2. K is antisymmetric, non-transitive and non-reflexive. u We must emphasize that, given three pictures h, i and j, the relations hKi and iKj do not imply that there exist three shots xu , xυ and xw (one for each picture h, i and j) such that xu Axυ and xυ Axw . For example, let us suppose that there exists only one shot xu ∈Ωh and only one shot xυ ∈Ωi such that xu Axυ , and that there exists only one shot x υ′ ∈Ωi and only one shot xw ∈Ωj such that x υ′ Axw . We then have hKi and iKj, but if t dxυ ′ < t dxυ , then the shot sequences (xu xυ xw) and (xu xυ′ xw ) are not feasible. In order to partially overcome this problem, we split K into two relations, namely Ks , the strong compatibility relation, and Kw , the weak one: any set of pictures (i1 ,…, ip ) such that ij Ks ij + 1, j = 1,…, p – 1, induces the existence of a feasible shot sequence that permits these p pictures. Definition 4. For i, j ∈P, K s = {(i, j ) : ∀x u ∈ Ω i , ∀x υ ∈ Ω j , ( x u , x υ ) ∈ A}; K w = {(i, j ) : (i, j ) ∈ K ∧ ( ∃ x u ∈ Ω i , ∃ x υ ∈ Ω j , ( x u , x υ ) ∉ A)}. u Based upon these relations, we define a compatibility graph GK represented by a compatibility matrix denoted M. Compatibility graph vertices represent pictures of P, numbered with respect to their geographic position in the sense “north – south”, plus two vertices, namely s and e, which correspond to the beginning and end of the orbit, respectively; M is thus a square (n + 2) × (n + 2) matrix. Furthermore, compatibility graph edges represent strong and weak compatibility relations. The entries of M belong to the set {0, 1, 2} and are defined as follows: M(i, j) = 0, if (i, j) ∉K; M(i, j) = 1, if iKw j ; M(i, j) = 2, if iKs j . Moreover, we get M(i, i) = 0, i ∈P < {s, e} (by convention); M(s, i) = 2, i ∈P < {e}, M(i, e) = 2, i ∈P < {s}. Let us remark that, by the properties of K, GK is acyclic. Moreover, each path in GK is not necessarily associated with a feasible shot sequence. 4. Algorithms for MSP and MSOP 4.1. Solving MSP and MSOP in discrete space Concerning MSP, the problem of determining a maximum independent set in G is NP-complete. However, some properties in GE and GC will allow us to define efficient V. Gabrel et al. y The satellite shot planning problem 123 algorithms for determining a maximal independent set in G, the cardinality of which is near-optimal. To determine a feasible shot sequence that contains at most one shot per picture, we begin by determining a near-optimal (minimal) partition L of X into cliques. This partition presents a double interest. On the one hand, the cardinality of such a partition is an upper bound for the stability number 2) of G [1]. On the other hand, from this partition it is possible to define a maximal independent set: the algorithm consists of choosing at most one vertex in each clique of L in order to retain only non-adjacent vertices. Moreover, with regard to the upper bound, it is possible to assess the quality of the solution obtained. The relevance of this approach is mainly due to the following property: any clique in G is a clique either in GC or in GE . Therefore, a partition into cliques of X in G can easily be obtained from the minimum partitions of X in GC and GE , which can both be determined in polynomial time. Indeed, since GE is a collection of disjoint cliques, the minimum partition into cliques of X in GE can be obviously determined. Furthermore, since GA is a directed graph representing an order relation, GC is a comparability graph (see [1] for a definition); a minimum vertexpartition into cliques in comparability graphs can be determined in polynomial time [6]. In [4, 5], the method described above is formally presented together with experimental results on randomly generated instances of MSP; it seems that this thought process is efficient and well adapted for MSP. Concerning MSOP, since the problem of determining a longest path in a directed acyclic graph is polynomial, any instance of MSOP can be solved in polynomial time when we work on GA (the algorithm used is presented in [8]). 4.2. Solving MSOP in continuous space Clearly, the quality of the solutions obtained according to section 4.1 depends on the level of discretization. In order to assess solution quality, we have to compare it with another solution found by considering the whole set of shots. We carry out this comparative study on MSOP since conclusions are transposable to MSP. Since MSOP is NP-complete, we propose two algorithms: an exact and exponential and a polynomial-time heuristic. We then associate to a shot orbit sequence either a list of shots, or a list of pictures that this sequence permits to take. 4.2.1. Compatibility graph construction The purpose of this section is to prove that the construction of GK is performed in polynomial time. First, let us define what we call a satellite’s state. A satellite’s state is a pair (θ, t), where θ represents a pitching angle and t a date. For picture i, the set of starting 2) The stability number of a graph is the cardinality of a maximum independent set of the graph. 124 V. Gabrel et al. y The satellite shot planning problem (end) states of i is the set of satellite states corresponding to the interval of the starting (end) times of i. The set of starting (end) states of i are represented on the plane (θ, t) by a segment. We now give the equations describing the sets (segments) of starting and end states of a picture i. We recall that h is the satellite altitude and υ its velocity. Since the pitching angle absolute values are smaller than πy6, we consider the approximation tan θ = θ. Moreover, we consider that the earth surface and the orbits are two parallel straight lines 3) (figure 3). Figure 3. Satellite’s state. We then obtain, for θ i ∈ [θ i+ , θ i− ] and t di ∈ [t di− , t di+ ], Let tdi = td (θi ); then, h(θ i− − θ i ) = υ ( t di − t di− ). t d (θ i ) = t di− + h υ θ i− − h υ θi , ( 3) ( 4) where obviously t di− = t d (θ i− ). So, the set of starting states of i is defined by <θ i ∈[θ i+ ,θ i− ] (θ i , t d (θ i )). Similarly, we can define the set of end states of i as <θ i ∈[θ i+ ,θ i− ] (θ i , t f (θ i )), where tf (θi ) is given by expression (5), obtained by substituting d by f in expression (3): t f (θ i ) = t −fi + h υ θ i− − h υ θ. ( 5) Let us put β 0 = υyh. Let (θi , tf (θi )) be one end state for picture i. The pitching time between two angles θi and θ is given by expression (1); if after ( θi , tf (θi )) the satellite has attained a state (θ, t) with t = tf (θi ) + tθ (θi , θ ), then it can attain state (θ, t ′) for all t ′ ≥ t (it can wait). Then, the set of states a satellite can attain after performing shot i (accessible states after i) is described by the area Z(θi , tf (θi )) = {(θ, t) : t ≥ tf (θi ) + tθ (θi , θ ), |θ | ≤ θmax } (figure 4), called the accessible area, where we suppose that a pitching angle belongs to the interval [ – θmax , + θmax ]. 3) This hypothesis can be justified through both the altitude of the satellite and the length of the landbelts to be photographed. V. Gabrel et al. y The satellite shot planning problem 125 Figure 4. If there exist more than one end states of a picture i, then each end state induces its proper area; consequently, the set of the satellite’s accessible states after i is given by the union of all corresponding accessible areas. In order to define the union of accessible areas, we will use the fact that βθ ≥ β 0 and consequently that the satellite cannot return. Let us first prove that for all end states (θi , tf (θi )) of picture i, Z(θi , tf (θi )) , Z(θi–, tf (θi– )) holds and, consequently, <θ i ∈[θ i+ ,θ i− ] Z (θ i , t f (θ i )) = Z (θ i− , t f (θ i− )) (figure 4). Let us verify that, for a given θ belonging to the border of Z(θi , tfi), the corresponding t lies over t (θ i ) = t −fi + tθ (θ i , θ ), hence, in Z (θ i− , t −fi ). We must prove that, ∀θ, t fi + γ θ + (1yβθ )|θ i − θ | ≥ t −fi + γ θ + (1yβθ )|θ i− − θ |, where tfi = tfi– + (hyυ ) (θi– – θi ); so, we have to verify that, ∀θ, ( hyυ ) (θ i− − θ i ) + (1yβθ )|θ i − θ | ≥ (1yβθ )|θ i− − θ |. We distinguish three cases: (i) θ ≤ θi ; then or ( hyυ ) (θ i− − θ i ) + (1yβθ ) (θ i − θ ) ≥ (1yβθ ) (θ i− − θ ) ( hyυ ) (θ i− − θ i ) − (1yβθ ) (θ i− − θ i ) ≥ 0; moreover, (θi– – θi ) ≥ 0 and hyυ = 1yβ 0 ; consequently, 1yβ 0 ≥ 1yβ θ is true (because βθ ≥ β 0 ); (ii) θi ≤ θ ≤ θi– ; then, ( hyυ ) (θ i− − θ i ) + (1yβθ ) (θ − θ i ) ≥ (1yβθ ) (θ i− − θ ) or ( hyυ ) (θ i− − θ i ) − (1yβθ ) (θ i− − θ i ) + (1yβθ ) ( 2θ − 2θ i ) ≥ 0; V. Gabrel et al. y The satellite shot planning problem 126 the difference between the first two terms on the left-hand side of the last expression is positive, while the third term is also positive since θ ≥ θi ; (iii) θ ≥ θi– ; then or ( hyυ ) (θ i− − θ i ) + (1yβθ ) (θ − θ i ) ≥ (1yβθ ) (θ − θ i− ) ( hyυ ) (θ i− − θ i ) + (1yβθ ) (θ i− − θ i ) ≥ 0, true since θi– ≥ θi . Picture i is compatible with picture j if there exists at least one starting state (θj , td (θj )) of j such that (a) (θ j , t d (θ j )) ∈ Z (θ i− , t f (θ i− )) and (b) tfi– + tρ ( ρi , ρj ) ≤ td (θj ) (where tρ ( ρi , ρj ) is given by expression (2)). In other words, i and j are compatible if there exists at least one starting state ( θj , td (θj )) of j such that (θj , td (θj )) ∈Z TR (θi–, tf (θi– )), where Z TR (θ i− , t f (θ i− )) = {(θ , t ) : t ≥ max{t −fi + tθ (θ i− , θ ), t −fi + t ρ ( ρ i , ρ j )}, | θ | ≤ θ max }. Also, for all end states (θi , tf (θi)) of i, we have Z(θi+, tf (θi+ )) , Z(θi , tf (θi )), and consequently, Z TR (θ i+ , t f (θ i+ )) , Z TR (θ i , t f (θ i )). The proof of this inclusion is the same as the one stated above considering, this time, θ i ≥ θ i+ and tf (θi ) = tfi+ + (hyυ )θi+ – (hyυ )θi as the end state equation for i. We are now ready to draw an analogy between the two compatibility relations and the areas. Definition 5. Given two pictures i and j, • iKs j, if the set of starting states of j is contained in Z TR (θ i+ , t f (θ i+ )); • iKw j, if there exists at least one starting state of j in Z TR (θ i− , t f (θ i− )). u So, to determine if iKs j, we have only to test if the earliest starting state of j is included in Z TR (θ i+ , t f (θ i+ )) and, also, to determine if iKw j, we have only to test if the last starting state of j is in Z TR (θ i− , t f (θ i− )). 4.2.2. Exact algorithm In this section, we devise a branch and bound algorithm and, before presenting it, we introduce G K′ , a partial graph of GK . We introduce a new entry in M and define the matrix M ′ as follows: if there exists k ∈P such that M(i, k) = 2 and M(k, j) = 2, then we set M ′(i, j) = 3. M(i, j) = 3 then means that we can always execute another picture between the execution of i and j. We associate the graph GK′ with matrix M ′ in such a way that if M ′(i, j) = 3, then the edge ij of GK is removed from G K′ . So, to determine a shot orbit sequence V. Gabrel et al. y The satellite shot planning problem 127 that maximizes the number of pictures taken, we have to work on G K′ instead of GK . Let Γ(i ) = { j : M ′ (i, j ) = 1 ∨ M ′ (i, j ) = 2} be the set of successors of node i and let l(i) be the longest path from i to e in GK′ (node i is not taken into account in l(i)). Since GK′ is acyclic, determining a longest path between two vertices in this graph takes polynomial time. This path represents a shot orbit sequence which is not necessarily feasible. The exact algorithm (algorithm 1) is based upon a progressive exploration of the solution space (the set of shot orbit sequences), following the branch and bound principle. This exploration leads to defining an arborescence, the root of which represents all the shot orbit sequences, and each node corresponds to a particular shot orbit sequence subset. A node S = (s, i1 ,…, ik ) represents all shot orbit sequences beginning by the completion of pictures i1 to ik (the shot orbit sequence (i1 ,…, ik ) is feasible: the rooted tree is only composed of feasible sequences). The evaluation of a node S is given by f (S) = k; it represents a lower bound of the maximum shot orbit sequence, the first k elements of which are i1 ,…, ik . Let f * = f (S * ), where S * is the “current” solution with maximum evaluation. At each step, we consider a node S without successor. Then, we sort 4) the members of Γ(ik ) in decreasing order with respect to their longest path to e in G K′ and we obtain Γ(ik ) = (ik1,…, ikm ). Then S has m sons Sik1 , … , Sik q , … , Sik m , with Sik q = ( s, i1 , … , ik , ikq ). The node Sik q is kept if it is possible to complete successively the pictures i1 ,…, ik and ikq , i.e., if there exists a feasible shot sequence that permits taking the set of pictures (i1 ,…, ikq); otherwise, the node Sik q is removed. In order to avoid exploration of all the feasible solutions, we associate with each newly created node S an upper bound on the number of pictures which can be taken, including the pictures already in S. This upper bound is defined as w(S) = k + l(ik ). A solution starting from i1 ,…, ik cannot have a value greater than w(S). Hence, every node S such that w(S) < f * induces a sub-arborescence, which will not be explored. Of course, if f (S) = w(S), then we are on a leaf of the search tree. The branch and bound algorithm creates the nodes of the arborescence according to a depth-first search to obtain a first f *; next, it backtracks to the father of node S * in order to visit (in a decreasing order with respect to the corresponding w-values) its brothers; if one of the recently visited nodes has f > f *, then f * is updated. All subtrees rooted at a node S ′ with w(S ′) < f * are cut down. The critical point of this algorithm is to test if a set of pictures (i1 ,…, ik , ikq) can be taken, provided that the subset (i1 ,…, ik) represents a feasible shot orbit sequence. In fact, the feasibility of this subset induces for each picture a reduction of its initial set of starting times. So, to determine if a picture ikq is feasible after the sequence (i1 ,…, ik ), we have only to determine if ikq is compatible with the new set of possible starting times of ik . 4) This is done by procedure ORDER. 128 V. Gabrel et al. y The satellite shot planning problem To do this, we use procedure 1 – Z –COMPATIBILITY(i, j) – which tests the compatibility between the two pictures i and j. Moreover, if i and j are compatible, then Z –COMPATIBILITY(i, j) gives the subset of starting states of j which are feasible with respect to the set of end states of i. Let B( j ) = <θ j ∈[θ +j ,θ −j ] (θ j , t d (θ j )) and E (i ) = Z TR (θ i− , t f (θ i− )); then Z –COMPATIBILITY(i, j) computes the intersection between B( j) and E(i). The result is a new segment for B( j) with B( j) = <θ j ∈[θ +j ,θ ′j ] (θ j , t d (θ j )) , where θ ′j ≤ θ −j ; only the right extremity of the segment is modified. Since we change B( j), the area E( j) becomes E ( j ) = Z TR (θ ′j , t f (θ ′j )). Hence, by considering the feasibility of ikq after the sequence (i1 ,…, ik ), procedure 1 computes B(ikq ) and E(ikq ) with respect to B(ik ) and E(ik ) induced by (i1 ,…, ik –1). It is clear that if M ′(i, j) = 2, then we do not need Z –COMPATIBILITY(i, j) and B( j) and E( j) do not change. Algorithm 1 uses a “backtracking” function BACK(S) which, when we are on the last son of a node S, finds the lowest (with respect to the root s) predecessor of S having unvisited sons. The operation S1 > S2 (S1 = (i1 ,…, iq , iq + 1 ,…, ik ), S2 = (i1 ,…, iq , j1 ,…, jl )), appearing in algorithm 1, produces the list (i1 ,…iq ); function FATHER(S1 > S2 ) produces the father of the node representing the list (i1 ,…, iq ), namely, the node representing the list (i1 ,…, iq –1 ) (if S1 > S2 = (s), then FATHER(S1 > S2 ) = (s)). In algorithm 1, we denote by i the last picture in the list represented by the “current” node S; j is a variable designating an element of Γ(i). Algorithm 1 explores in the worst case 2 n –1 nodes. Computational time increases exponentially with the size of the problem. Furthermore, computational time is a function of solution size: if the maximum shot orbit sequence is constituted of k pictures, the arborescence covered by algorithm 1 includes O(2 k–1 ). Example 1. Let us consider the instance of STP shown in table 1. Let us take γ θ = 50s, γ ρ = 50s, β θ = 0.017 radys and βρ = 0.017 radys. V. Gabrel et al. y The satellite shot planning problem 129 130 V. Gabrel et al. y The satellite shot planning problem Table 1 Picture number Earliest starting time Earliest pitching angle Latest starting time Latest pitching angle Rolling angle Processing time 1 0 0.21 48 – 0.21 0.1 40 2 50 0.35 146 – 0.49 – 0.3 100 3 170 0 170 0 0.5 10 4 250 0.07 266 – 0.07 0.2 30 We then obtain the following compatibility matrix M ′, in which M ′(i, i) = l(i). M′ = 3 0 0 0 0 0 2 2 0 0 0 0 2 1 1 0 0 0 3 2 0 1 0 0 3 3 1 2 0 0 3 3 2 3 2 0 . Starting from M ′, we deduce: Γ(s) = {1, 2}, Γ(1) = {2, 3}, Γ(2) = {4, e}, Γ(3) = {4}, Γ(4) = {e}. The branch and bound algorithm: Γ(s) ← {1, 2}, Γ(1) ← {2, 3}, Γ(2) ← {4}, Γ(3) ← {4}, Γ(4) ← ∅. Initialization: S ← (s), f (S) ← 0, w(S) ← 3, S * ← ∅, f * ← 0, S ′ ← (s), w(S ′) ← 3, i ← s, j ← 1. V. Gabrel et al. y The satellite shot planning problem 131 w(S ′) ≥ f * ⇒ w(S) ≥ f * ⇒ H(1) ≠ ∅ ⇒ S ← (s, 1), f (S) ← 1, S * ← (s, 1), f * ← 1, Γ(1) ≠ ∅ ⇒ i ← 1, j ← 2, w(S) ← 3; w(S ′) ≥ f * ⇒ w(S) ≥ f * ⇒ H(2) ≠ ∅ ⇒ S ← (s, 1, 2), f (S) ← 2, S * ← (s, 1, 2), * f ← 2, Γ(2) ≠ ∅ ⇒ i ← 2, j ← 3, w(S) ← 3; w(S ′) ≥ f * ⇒ w(S) ≥ f * ⇒ H(3) = ∅ ⇒ S ← (s, 1), f (S) ← 1, w(S) ← 3, i ← 1, j ← 3, S ′ ← (s), w(S ′) ← 3; w(S ′) ≥ f * ⇒ w(S) ≥ f * ⇒ H(3) ≠ ∅ ⇒ S ← (s, 1, 3), f (S) ← 2, Γ(3) ≠ ∅ ⇒ i ← 3, j ← 4, w(S) ← 3; w(S ′) ≥ f * ⇒ w(S) ≥ f * ⇒ H(4) ≠ ∅ ⇒ S ← (s, 1, 3, 4), f (S) ← 3, S * ← (s, 1, 3, 4), f * ← 3, Γ(4) = ∅ ⇒ S ← (s), f (S) ← 0, i ← s, j ← 2, w(S) ← 2, S ′ ← (s), w(S ′) ← 3; w(S ′) ≥ f * ⇒ w(S) < f * ⇒ f (S) = 0 ⇒ exit. The solution is {1, 3, 4} and its value equals 3. u 4.2.3. Approximation algorithm In order to solve large instances of MSOP, we define a polynomial-time approximation algorithm (algorithm 2). This algorithm operates on graph GK , where we associate with each vertex i ∈P\{s, e} the segment B(i) which is the initial set of starting states associated with picture i. Algorithm 2 is based upon the classical idea that the longest feasible path from s to i can be obtained from a longest feasible path from s to the 132 V. Gabrel et al. y The satellite shot planning problem predecessors of i. So, at iteration i, the selected path from s to i (i being a vertex whose predecessors h have been already explored) is the longest one, among the paths from s to h, and represents a feasible shot sequence. With the procedure Z –COMPATIBILITY, we determine the subset of possible starting states for picture i dependent on the selected path. In algorithm 2, we denote by i the “current” vertex of GK , by λ (i) the value of a feasible longest path from s to i, by p(i) the predecessor of i in a feasible longest path from s to i, and by Γ(i) the set of i ’s successors in GK ; finally, j designates an element of Γ(i). Algorithm 2 also uses procedures ORDER(Γ(i)) and Z –COMPATIBILITY(i, j). Concerning the complexity of algorithm 2, we note that the vertices of GK are treated only once and for each vertex it treats its successors; therefore, the complexity of algorithm 2 is linear in the number of edges of GK (at worst O(n 2 )). 5. Experiments and numerical results We randomly define realistic MSOP instances characterized by a set of pictures to take when the satellite describes a quarter of the orbit, when the parameters in question are: • the landbelts (of 70 km long) to be photographed randomly, located in an area of 900 km by 10000 km centered on satellite track; the position of a landbelt in such an area induces the rolling angle of the shot axis; • we associate with each earth landbelt a maximum forward pitching angle chosen randomly in the interval [0, 30°] (the maximum backward pitching angle is its opposite); • concerning the velocity of the shot axis moving, we get: γθ = γρ = 50 sec and βθ = βρ = 1°ysec. Firstly, we assess the efficiency of the approximation algorithm 2 on 100 randomly generated graphs GK of order 102. The maximum degree of the graphs lies in the interval [32, 47], with an average maximum degree of 38.53. The density of each graph, defined as the ratio of the number of edges to the order of the graph, lies in the interval [18.54, 25.82], and its average value is 21.61. The maximum 1-degree 5) lies in the interval [16, 27] while the maximum 2-degree 6) in [19, 29]. The 1- and 2-densities (defined analogously to the degrees) are equal to 9.99 and 11.61, respectively. For these data, the solutions obtained have cardinality from 13 to 17. The experimental approximation performance of algorithm 2 is quite satisfactory. The average approximation ratio is equal to 0.939, while the worst-case (minimum) one is 0.818. Moreover, we have in 38% of the cases, the optimal solution. 5) 6) The maximum number of weak compatibility edges. The maximum number of strong compatibility edges. V. Gabrel et al. y The satellite shot planning problem 133 Next, we compared the algorithms of section 4.2 with the algorithm described in section 4.1 (discretization case). We randomly generated instances of MSOP characterized by 50, 100 and 200 pictures (100 instances per case). For each instance, we consider three discretization possibilities: (a) we retain one shot for each picture i; this shot is taken with a pitching angle of 0, inducing a starting time denoted by t 0di ; (b) we retain three shots for each picture i: their starting times are t di– , t 0di and t di+ ; (c) we retain five shots for each picture i : their starting times are t di– , (t di– + + + + + (t di – t 0di )y2) and t di . (t 0di – t di– )y2), t 0di , (t di For each instance, we determine the cardinalities p (i), i = a, b, c, of shot orbit sequences obtained by discretization of type (a), (b), (c), respectively, and the cardinality p* or p ′ of the shot orbit sequence defined either with the exact algorithm or with the approximation algorithm. On instances characterized by 50 pictures to be photographed, we compute average, maximum and minimum differences between p* and p (i) with i = a, b, c. Results are presented in table 2. Table 2 50 pictures p* – p (a) p* – p (b) p* – p (c) p* Average Maximum Minimum 1.59 3.00 1.00 0.70 2.00 0.00 0.48 1.00 0.00 8.6 10 7 Table 3 100 pictures Average Maximum Minimum p′ – p (a) p′ – p (b) p′ – p (c) p′ 1.63 3.00 1.00 0.67 2.00 0.00 0.18 1.00 – 1.0 15 17 13 Table 4 200 pictures Average Maximum Minimum p ′ – p (a) p′ – p (b) p′ – p (c) p′ 2.64 4.00 1.00 1.34 3.00 0.00 0.47 2.00 – 1.0 29 32 27 On instances characterized by 100 and 200 pictures to be photographed, we perform the same computation as previously but instead of p* we take p ′. Results are presented in tables 3 and 4. V. Gabrel et al. y The satellite shot planning problem 134 We note that the (c)-discretization produces approximately the same results as those obtained by considering a continuous set of shots: in the worst case, the shot orbit sequence determined with the (c)-discretization includes two shots less, and this difference is, on average, around 0. The discretization strategy thus appears quite efficient. 6. Conclusions We have presented a new single model for both MSP and MSOP, and based on this model, we have derived efficient algorithms. The approximation algorithms have been devised in such a way that they respect the model’s properties; moreover, the experimental results obtained are quite satisfactory. As we mentioned before, MSOP can be seen as a one-machine scheduling problem with time windows. In fact, the proposed model and algorithms allow one to solve the problem of scheduling a maximum number of tasks between n tasks on a single machine, task i, i = 1,…, n (of duration di ) having to be executed in time windows denoted by [si , ei ] such that ei – si ≤ 2di . In the same way, the results concerning MSP allow one to schedule the execution of a maximum number of tasks between n tasks on m (parallel) machines, each task having to be performed in specified time windows which respect the constraints previously mentioned. Acknowledgement Many thanks to two anonymous referees for pertinent suggestions and useful remarks contributing to improve the legibility and the coherence of this paper. References [1] [2] C. Berge, Graphs and Hypergraphs, North Holland, Amsterdam, 1973. F. Fabiani, Planification de missions d’un satellite d’observation, Mémoire de DEA, ENSAE, Toulouse, 1992. [3] J.F. Fuchs, A. Gasquet, B. Olalainty and K. Currie, An expert planning system for generating spacecraft mission plans, Proc. International Conference on Expert Planning Systems, 1990. [4] V. Gabrel, Méthodologie pour la planification de production de systèmes d’observation de la terre par satellites: aspects algorithmiques et multicritères, Ph.D. Thesis, LAMSADE, Université ParisDauphine, 1994. [5] V. Gabrel, Planification à moyen terme de la production d’un satellite d’observation et détermination d’ensembles stables, RAIRO-OR 29(2)(1995)155 – 178. [6] M.R. Garey and D.S. Johnson, Computers and Intractability. A Guide to the Theory of NPCompleteness, W. H. Freeman, San Francisco, 1979. [7] C. Gaspin, Missions scheduling, J. Telematics and Informatics 6(3/4)(1989)159 – 169. [8] M. Gondran and M. Minoux, Graphes et Algorithmes, Eyrolles, Paris, 1985. [9] GOTHA, Les problèmes d’ordonnancement, RAIRO-OR 27(1993)77 – 150. [10] J.E. Moore, An algorithm for a single machine scheduling problem with sequence dependent setup times and scheduling windows, AIIE Transactions (March 1975)35 – 41. [11] C. Tessier-Badie, Contribution à l’étude des problèmes d’affectation de ressources et d’ordonnancement: application au domaine spatial, Ph.D. Thesis, ENSAE, Toulouse, 1988.