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.

Documents pareils