• Aucun résultat trouvé

Réseaux temporels simples étendus : Application à la gestion de satellites agiles

N/A
N/A
Protected

Academic year: 2021

Partager "Réseaux temporels simples étendus : Application à la gestion de satellites agiles"

Copied!
11
0
0

Texte intégral

(1)

HAL Id: hal-00830477

https://hal.inria.fr/hal-00830477

Submitted on 5 Jun 2013

HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Réseaux temporels simples étendus : Application à la gestion de satellites agiles

Cédric Pralet, Gérard Verfaillie

To cite this version:

Cédric Pralet, Gérard Verfaillie. Réseaux temporels simples étendus : Application à la gestion de

satellites agiles. Huitièmes Journées Francophones de Programmation par Contraintes - JFPC 2012,

May 2012, Toulouse, France. �hal-00830477�

(2)

Actes JFPC 2012

R´ eseaux temporels simples ´ etendus

Application ` a la gestion de satellites agiles

C´ edric Pralet G´ erard Verfaillie

ONERA – The French Aerospace Lab, F-31055, Toulouse, France [email protected] [email protected]

R´ esum´ e

Les r´ eseaux temporels simples (STN, Simple Tem- poral Networks) permettent de repr´ esenter une conjonc- tion de contraintes de distance minimale et maximale requises sur certains couples de positions temporelles.

Ce papier propose une extension des STN incluant des contraintes temporelles plus g´ en´ erales, pour lesquelles la distance ` a respecter entre deux positions temporelles x et y n’est plus forc´ ement constante mais peut d´ ependre des instanciations de x et de y. De telles contraintes sont utiles pour traiter des probl` emes dans lesquels le temps de transition entre deux activit´ es peut d´ ependre de l’ins- tant d’activation de la transition. L’extension propos´ ee est appel´ ee le cadre des“Time-dependent STN”(TSTN).

Les propri´ et´ es de ce cadre sont ´ etudi´ ees et les techniques de r´ esolution classiques sur les STN sont ´ etendues aux TSTN. Les contributions propos´ ees sont int´ egr´ ees dans un algorithme de recherche locale utilis´ e pour la gestion de satellites dits agiles.

1 Motivations

La gestion des aspects temporels est un point cl´ e dans le traitement d’applications issues du domaine de l’ordonnancement ou de la planification. Ces domaines mettent en effet g´ en´ eralement en jeu des contraintes sur les dates de d´ ebut au plus tˆ ot et de fin au plus tard de certaines activit´ es, des contraintes de pr´ ec´ edence ou de non recouvrement entre activit´ es, ou encore des contraintes de distance temporelle requise entre acti- vit´ es. Ces contraintes peuvent dans de nombreux cas ˆ

etre exprim´ ees (1) ou bien comme des contraintes tem- porelles dites simples, de la forme x − y ∈ [α, β], avec x, y des variables correspondant ` a deux positions tem- porelles et α, β des constantes ; (2) ou bien comme des contraintes temporelles dites disjonctives, corres- pondant ` a une disjonction de contraintes temporelles simples. Une conjonction de contraintes temporelles

simples peut ˆ etre repr´ esent´ ee sous la forme d’un STN (Simple Temporal Network [6]). Les contraintes tem- porelles disjonctives peuvent quant ` a elles ˆ etre repr´ e- sent´ ees sous la forme d’un DTN (Disjunctive Temporal Network [18]).

Un des int´ erˆ ets du cadre STN est la complexit´ e po- lynomiale de certains probl` emes [6], notamment : (a) la d´ etermination de la coh´ erence d’un STN, c’est-` a- dire l’existence d’une instanciation des variables tem- porelles satisfaisant toutes les contraintes, (b) la d´ e- termination des dates au plus tˆ ot / au plus tard asso- ci´ ees ` a chaque variable temporelle, utile pour mainte- nir un ordonnancement avec flexibilit´ e temporelle, et (c) la d´ etermination du minimal network [13] associ´ e au STN, donnant les distances temporelles minimale et maximale s´ eparant deux variables temporelles quel- conques du STN. Un autre int´ erˆ et des STN est qu’ils sont souvent (voire toujours) utilis´ es comme ´ el´ ement de base dans la r´ esolution des DTN ou de r´ eseaux tem- porels plus complexes.

Dans ce papier, nous mettons ` a profit les diff´ erentes techniques d´ evelopp´ ees dans le cadre STN pour trai- ter une application issue du domaine spatial. Cette application, dans laquelle les aspects temporels sont fortement pr´ esents, correspond ` a la gestion de satel- lites d’observation de la Terre tels que ceux du syst` eme Pl´ eiades. De tels satellites sont situ´ es en orbite basse,

`

a quelques centaines de kilom` etres d’altitude. Ils em- barquent un instrument d’observation fixe ` a bord et sont dits agiles, ce qui signifie qu’ils ont la capacit´ e de se mouvoir autour de leurs trois axes de rotation (rou- lis, tangage, lacet). Cette agilit´ e leur permet de pointer

`

a gauche, ` a droite, en avant ou en arri` ere du point au sol ` a la verticale du satellite. La mission de ces satel- lites consiste ` a r´ ealiser des prises de vue de polygones

`

a la surface du globe. Ces polygones sont d´ ecoup´ es en

bandes devant ˆ etre balay´ ees par l’instrument d’obser-

(3)

10 11 12 13 14 15 16 17

0 50 100 150 200

min duration of the transition

end time of first acq

70 72 74 76 78 80 82

0 50 100 150 200

end time of first acq

7 8 9 10 11 12

0 50 100 150 200

end time of first acq

(a) (b) (c)

Figure 1 – Dur´ ees minimales, en secondes, de basculement d’une zone i se terminant au point de latitude- longitude 41 17 0 48 00 N-2 5 0 12 00 E ` a une zone j commen¸ cant au point de latitude-longitude 42 31 0 12 00 N-2 6 0 15 00 E, pour diff´ erents angles de balayage par rapport ` a la trace au sol du satellite : (a) balayage de i ` a 40 et balayage de j ` a 20 ; (b) balayage de i ` a 40 et balayage de j ` a -80 ; (c) balayage de i ` a 90 et balayage de j ` a 82

vation. Le probl` eme d’ordonnancement de prises de vue pour un satellite agile a notamment donn´ e lieu au challenge ROADEF 2003 [16], pour lequel certaines simplifications par rapport au probl` eme r´ eel ont ´ et´ e adopt´ ees, la principale ´ etant que les dur´ ees n´ ecessaires au basculement du satellite entre deux prises de vue i et j sont pr´ ecalcul´ ees et consid´ er´ ees comme constantes.

Dans ce cas, l’ex´ ecutabilit´ e des ordonnancements pro- duits n’est garantie que si les dur´ ees constantes choisies sont des majorants des dur´ ees r´ eelles.

En pratique, l’hypoth` ese de temps de transition constants entre deux prises de vue n’est pas v´ eri- fi´ ee [12]. Comme illustr´ e ` a la figure 1, la dur´ ee mi- nimale de basculement requise entre la fin d’une prise de vue i et le d´ ebut d’une prise de vue j d´ epend de la date ` a laquelle la prise de vue i se termine. Pour la figure 1(b), l’absence de point sur la courbe apr` es la date t = 150 correspond au fait qu’apr` es cette date, la transition de i vers j n’est plus possible. Ces figures montrent la grande variabilit´ e des temps de transi- tion (jusqu’` a une dizaine de secondes ici, dur´ ee pen- dant laquelle le satellite parcourt entre 50 et 100km au sol). Elles illustrent ´ egalement la diversit´ e des sch´ emas d’´ evolution des temps de transitions minimaux. Ces temps sont calcul´ es par r´ esolution d’un probl` eme d’op- timisation de commande continue prenant en compte le mouvement du satellite sur son orbite, le d´ eplace- ment des points au sol du fait de la rotation de la Terre et des contraintes sur la cin´ ematique du satellite.

Pour toutes ces raisons, il apparaˆıt utile de d´ efinir un nouveau cadre permettant de mod´ eliser des tran- sitions entre activit´ es dont la dur´ ee d´ epend de la date d’enclenchement de la transition. Cet aspect se rap- proche des travaux effectu´ es autour du time-dependent scheduling [5, 7], dans lequel les dur´ ees de transition prennent des formes particuli` eres, constantes par mor- ceaux ou lin´ eaires par morceaux, non directement uti-

lisables ici. Nous d´ ecrivons tout d’abord le cadre pro- pos´ e (les Time-dependent STN) ainsi que ses propri´ e- t´ es (sect. 2). Les preuves ne sont pas incluses par manque de place. Des techniques sont ensuite intro- duites pour calculer les dates de r´ ealisation au plus tˆ ot et au plus tard associ´ ees ` a chaque variable tem- porelle (sect. 3). Ces techniques sont utilis´ ees au sein d’un algorithme de recherche locale utilis´ e pour l’or- donnancement d’activit´ es d’un satellite agile (sect. 4).

2 R´ eseaux temporels simples ´ etendus

Nous rappelons tout d’abord quelques d´ efinitions as- soci´ ees aux STN. Dans tout ce qui suit, le domaine d’une variable x est not´ e d(x).

2.1 R´ eseaux temporels simples

D´ efinition 1. Un r´ eseau temporel simple (STN) est un couple (V, C) avec V un ensemble fini de variables dont le domaine est un intervalle ferm´ e [l, u] ⊂ R et C un ensemble fini de contraintes binaires de la forme x − y ∈ [α, β] avec x, y ∈ V , α ∈ R ∪ {−∞} et β ∈ R ∪ {+∞}. Ces contraintes sont appel´ ees des contraintes temporelles simples.

Une solution d’un STN (V, C) est une instanciation des variables de V qui satisfait toutes les contraintes de C. Un STN est dit coh´ erent si et seulement si il admet au moins une solution.

Les contraintes unaires x ∈ [α, β], y compris celles

d´ efinissant les domaines de valeurs possibles des dif-

f´ erentes variables, peuvent se reformuler comme des

contraintes temporelles simples x − x 0 ∈ [α, β], avec

x 0 une variable de domaine [0, 0] jouant le rˆ ole de

position temporelle de r´ ef´ erence. Par ailleurs, comme

x−y ∈ [α, β] ´ equivaut ` a (x−y ≤ β)∧(y−x ≤ −α), il est

(4)

possible de se ramener uniquement ` a des contraintes de la forme y − x ≤ c avec c une constante.

Un ´ el´ ement important associ´ e ` a un STN est son graphe de distance. Ce graphe contient un nœud par variable du STN et, pour chaque contrainte y − x ≤ c du STN, un arc orient´ e de x vers y et pond´ er´ e par c.

Sur la base de ce graphe de distance, il est possible de montrer les r´ esultats suivants [6] :

1. un STN est coh´ erent si et seulement si il n’existe pas de cycle de longueur n´ egative dans son graphe de distance ;

2. si d 0i (resp. d i0 ) d´ esigne la longueur du plus court chemin dans le graphe de distance du nœud r´ e- f´ erence ´ etiquet´ e par x 0 ` a un nœud ´ etiquet´ e par une variable temporelle x i (resp. de x i ` a x 0 ), alors l’ensemble des instanciations coh´ erentes de x i cor- respond ` a l’intervalle [−d i0 , d 0i ] ; les plus courts chemins peuvent ˆ etre calcul´ es pour tout i via l’al- gorithme de Bellman-Ford ou via des algorithmes s’apparentant ` a de la propagation de contraintes par arc-coh´ erence [3, 4, 8, 11] ;

3. si l’on note d ij la longueur du plus court chemin de x i ` a x j dans le graphe de distance et d ji la lon- gueur du plus court chemin de x j ` a x i , alors l’in- tervalle [−d ji , d ij ] repr´ esente l’ensemble des dis- tances temporelles possibles entre x i et x j ; de tels plus courts chemins peuvent ˆ etre d´ etermin´ es pour tous i, j en utilisant l’algorithme de Floyd- Warshall ou des algorithmes bas´ es sur de la pro- pagation par chemin-coh´ erence [6, 19, 15, 14].

Exemple Nous consid´ erons un probl` eme simplifi´ e d’ordonnancement d’activit´ es d’un satellite agile. Ce probl` eme fait intervenir 3 acquisitions acq 1 , acq 2 , acq 3 devant ˆ etre r´ ealis´ ees dans l’ordre acq 3 → acq 1 → acq 2 . Pour tout i ∈ [1..3], on note T min i et T max i les dates de d´ ebut au plus tˆ ot et de fin au plus tard de acq i . La dur´ ee de acq i est not´ ee Da i . Les dur´ ees de transition minimales entre la fin de acq 3 et le d´ ebut de acq 1 , et entre la fin de acq 1 et le d´ ebut de acq 2 , sont not´ ees respectivement Dt 3,1 et Dt 1,2 . Ces dur´ ees sont suppos´ ees constantes dans cette version simpli- fi´ ee. Nous consid´ erons ´ egalement deux fenˆ etres tem- porelles w 1 = [T s 1 , T e 1 ] et w 2 = [T s 2 , T e 2 ] au cours desquelles un vidage de donn´ ees vers des stations sol est possible. Le satellite doit vider acq 2 puis acq 3 dans la fenˆ etre w 1 , avant de vider acq 1 dans w 2 . La dur´ ee de vidage d’une acquisition acq i est not´ ee Dv i .

Ce probl` eme peut ˆ etre mod´ elis´ e sous la forme d’un STN contenant, pour toute acquisition acq i (i ∈ [1..3]), les variables temporelles suivantes :

– une date de d´ ebut de r´ ealisation sa i et une date de fin de r´ ealisation ea i , avec comme domaines de valeurs d(sa i ) = d(ea i ) = [T min i , T max i ] ;

– une date de d´ ebut de vidage sv i et une date de fin de vidage ev i , avec comme domaines de valeurs [T s 1 , T e 1 ] pour i = 2, 3 et [T s 2 , T e 2 ] pour i = 1.

Les contraintes temporelles simples 1 ` a 7 sont im- pos´ ees sur ces variables. Les contraintes 1 et 2 d´ efi- nissent la dur´ ee des acquisitions et des vidages. Les contraintes 3 et 4 imposent des temps de transition minimaux entre acquisitions. Les contraintes 5 et 6 as- surent le non chevauchement des activit´ es de vidages.

La contrainte 7 exprime qu’une acquisition ne peut ˆ

etre vid´ ee qu’apr` es la fin de sa r´ ealisation. La figure 2 donne le graphe de distance associ´ e ` a cet exemple.

∀i ∈ [1..3], ea i − sa i = Da i (1)

∀i ∈ [1..3], ev i − sv i = Dv i (2)

sa 1 − ea 3 ≥ Dt 3,1 (3)

sa 2 − ea 1 ≥ Dt 1,2 (4)

sv 3 − ev 2 ≥ 0 (5)

sv 1 − ev 3 ≥ 0 (6)

∀i ∈ [1..3], sv i − ea i ≥ 0 (7)

sa

3

ea

3

sa

1

ea

1

sa

2

ea

2

sv

2

ev

2

0

sv

3

ev

3

sv

1

ev

1

0

−Dv

1

−Dv

3

−Dv

2

Dv

2

Dv

3

Dv

1

−Da

2

−Da

1

−Da

3

Da

3

Da

1

Da

2

0

0 0

-Dt

3,1

-Dt

1,2

Figure 2 – Graphe de distance (la position temporelle de r´ ef´ erence x 0 n’est pas repr´ esent´ ee)

2.2 Contraintes temporelles t-simples

Nous introduisons une nouvelle classe de contraintes temporelles appel´ ees des contraintes temporelles t- simples. Ces derni` eres sont plus g´ en´ erales que les contraintes temporelles simples et permettent de mani- puler des temps de transition entre activit´ es fonctions de la date d’enclenchement des transitions.

D´ efinition 2. Une contrainte temporelle t-simple est un triplet (x, y, dmin) compos´ e de deux variables tem- porelles x et y, et d’une fonction dmin : d(x)×d(y) → R appel´ ee fonction de distance minimale (fonction non n´ ecessairement continue).

Une contrainte temporelle t-simple (x, y, dmin) est

´

egalement not´ ee y − x ≥ dmin(x, y). La contrainte est

satisfaite par un couple de valeurs (a, b) ∈ d(x) × d(y)

si et seulement si b − a ≥ dmin(a, b).

(5)

Informellement, dmin(x, y) sp´ ecifie une distance temporelle minimale entre l’occurrence de l’´ ev´ enement associ´ e ` a la variable temporelle x et l’occurrence de l’´ ev´ enement associ´ e ` a la variable temporelle y.

Pour illustrer l’int´ erˆ et d’avoir une distance minimale dmin d´ ependant ` a la fois de x et de y, consid´ erons l’exemple des satellites agiles. Soit x la variable sp´ e- cifiant la date de fin d’une acquisition acq. L’attitude obtenue en terminant acq ` a la date x est not´ ee Att (x), une attitude du satellite ´ etant d´ efinie par une direc- tion de pointage et par les vitesses de rotation suivant chacun des trois axes (roulis, tangage, lacet). Soit y la variable donnant la date de d´ ebut de l’acquisition acq 0 ` a r´ ealiser juste apr` es acq. L’attitude n´ ecessaire pour commencer acq 0 ` a la date y est not´ ee Att 0 (y). Soit tminbas la fonction (disponible dans notre librairie de calculs d’agilit´ e) telle que tminbas(att, att 0 ) donne le temps minimal requis pour basculer d’une attitude att

`

a une attitude att 0 . On parle dans ce cas de rendez- vous en attitude de att vers att 0 . Alors, en d´ efinissant dmin(x, y) = tminbas(Att(x), Att 0 (y)), la contrainte temporelle t-simple y − x ≥ dmin(x, y) exprime que la dur´ ee entre la fin de acq et le d´ ebut de acq 0 doit ˆ etre sup´ erieure ` a la dur´ ee minimale de basculement de l’attitude Att(x) ` a l’attitude Att 0 (y).

Dans certains cas, la fonction dmin(x, y) est ind´ e- pendante de y. Cette remarque concerne notamment le time-dependent scheduling [5, 7], dans lequel la du- r´ ee de r´ ealisation d’une tˆ ache d´ epend uniquement de la date de d´ ebut de cette tˆ ache (contrainte temporelle t- simple “d´ eg´ en´ er´ ee”, de la forme y − x ≥ dmin(x) avec dmin(x) le temps de r´ ealisation de la tˆ ache si cette derni` ere commence ` a la date x). Les contraintes tem- porelles t-simples couvrent ´ egalement les contraintes temporelles simples y − x ≥ c, en utilisant une fonc- tion de distance minimale constante dmin = c.

Remarquons enfin qu’une contrainte temporelle t- simple se r´ ef` ere ` a la dur´ ee minimale d’une transition.

Une telle approche est utilisable pour g´ erer les satel- lites agiles sous l’hypoth` ese (r´ ealiste) que tout rendez- vous en attitude faisable en une dur´ ee δ est aussi fai- sable en une dur´ ee δ 0 ≥ δ. Cette hypoth` ese de faisabi- lit´ e d’un “rendez-vous paresseux” n’est pas forc´ ement v´ erifi´ ee pour tout syst` eme physique.

2.3 Propri´ et´ es de monotonie

Nous commen¸ cons par d´ efinir la fonction de retard associ´ ee ` a une contrainte temporelle t-simple.

D´ efinition 3. La fonction de retard associ´ ee ` a une contrainte temporelle t-simple ct : (x, y, dmin) est la fonction delay ct : d(x) × d(y) → R d´ efinie par : delay ct (a, b) = a + dmin(a, b) − b.

Informellement, delay ct (a, b) donne le retard obtenu en b si l’on enclenche, ` a la date a, une transition en temps minimal de x vers y. Ce retard s’exprime comme la diff´ erence entre la date minimale de fin de la tran- sition (a + dmin(a, b)) et la date de fin de transition requise (b). Un retard strictement n´ egatif correspond

`

a une transition se terminant en avance par rapport ` a la date limite b. Un retard strictement positif corres- pond ` a une violation de la contrainte ct. Un retard nul correspond ` a une arriv´ ee “pile ` a l’heure”.

La fonction de retard peut satisfaire une propri´ et´ e de monotonie d´ efinie ci-dessous, qui sera utilis´ ee par la suite pour identifier des classes traitables.

D´ efinition 4. Une contrainte temporelle t-simple ct : (x, y, dmin) est dite ` a retard monotone si et seulement si sa fonction de retard delay ct (., .) satisfait : ∀a, a 0 ∈ d(x), ∀b, b 0 ∈ d(y),

(a ≤ a 0 ) → (delay ct (a, b) ≤ delay ct (a 0 , b)) (8) (b ≤ b 0 ) → (delay ct (a, b) ≥ delay ct (a, b 0 )) (9) La contrainte est dite ` a retard strictement monotone si les monotonies sur les deux arguments sont strictes.

La d´ efinition 4 signifie que pour ˆ etre ` a retard mono- tone, une contrainte temporelle t-simple (x, y, dmin) doit v´ erifier d’une part que plus la transition de x vers y est enclench´ ee tard, plus le retard est grand ` a l’arri- v´ ee en y, et d’autre part que plus l’on cherche ` a arriver tˆ ot au rendez-vous (en y), plus le retard est ´ elev´ e.

Nous d´ efinissons maintenant les fonctions d’arriv´ ee au plus tˆ ot et de d´ epart au plus tard associ´ ees ` a une contrainte temporelle t-simple. Par la suite, pour une fonction F : R → R et un intervalle fini ferm´ e I de R , on note (1) firstNeg (F, I ) le plus petit a ∈ I tel que F (a) ≤ 0 (valeur +∞ si une telle valeur n’existe pas) ; (2) lastNeg(F, I) le plus grand a ∈ I tel que F(a) ≤ 0 (valeur −∞ si une telle valeur n’existe pas) 1 .

D´ efinition 5. Les fonctions d’arriv´ ee au plus tˆ ot (ear- liest arrival) et de d´ epart au plus tard (latest depar- ture) associ´ ees ` a une contrainte temporelle t-simple ct : (x, y, dmin) sont les fonctions earr ct et ldep ct d´ e- finies respectivement sur d(x) et d(y) et donn´ ees par :

∀a ∈ d(x), earr ct (a) = firstNeg (delay ct (a, .), d(y))

∀b ∈ d(y), ldep ct (b) = lastNeg(delay ct (., b), d(x)) Informellement, earr ct (a) fournit la plus petite date d’arriv´ ee en y sans retard si la transition est enclench´ ee

`

a la date a. ldep(b) fournit la date d’enclenchement au plus tard pour une arriv´ ee sans retard en b.

1. Les quantit´ es firstNeg(F, I) et lastNeg(F, I) ne sont ma-

th´ ematiquement pas forc´ ement bien d´ efinies si la fonction F

pr´ esente des discontinuit´ es ; nous utilisons en fait implicitement

le fait que le travail se fait en machine avec une pr´ ecision finie.

(6)

Pour une contrainte temporelle simple y − x ≥ c, il est possible de donner une formulation analytique de earr et ldep. Dans le cas g´ en´ eral, il faut passer par le calcul de firstNeg(F, I) et lastNeg(F, I ), qui consti- tue un probl` eme d’optimisation en soi. Une m´ ethode it´ erative pour approximer firstNeg (F, I = [a 1 , a 2 ]) est donn´ ee ` a l’algorithme 1. Cette m´ ethode g´ en´ eralise la m´ ethode dite de la fausse position, utilisable pour trouver un z´ ero d’une fonction. Appliqu´ ee au cas des contraintes temporelles t-simples, elle consiste, si le point P 1 = (a 1 , F (a 1 )) est ` a retard positif (F (a 1 ) > 0) et le point P 2 = (a 2 , F (a 2 )) est ` a retard n´ egatif (F (a 2 ) < 0), ` a ´ etudier comment se comporte le retard F (a 3 ) en a 3 avec a 3 l’abscisse du point d’intersection de la droite passant par P 1 , P 2 avec l’axe des abscisses.

Si P 3 = (a 3 , F (a 3 )) est ` a retard positif (resp. n´ egatif), la recherche se poursuit en prenant P 1 = P 3 (resp.

P 2 = P 3 ). Si la contrainte temporelle t-simple consid´ e- r´ ee est ` a retard strictement monotone, cette m´ ethode converge vers firstNeg (F, I ) ; sinon, la m´ ethode peut renvoyer une valeur a > firstNeg(F, I), mais dans ce cas a satisfait F (a) ≤ 0 (` a la pr´ ecision pr` es). La vi- tesse de convergence en pratique est particuli` erement bonne pour la fonction de retard des satellites agiles.

Algorithm 1: M´ ethode possible de calcul de firstNeg(F, I), avec I=[a 1 , a 2 ], maxIter un nombre max d’it´ erations et prec une pr´ ecision souhait´ ee

1

firstNeg (F, [a

1

, a

2

], maxIter, prec)

2

begin

3

f

1

← F (a

1

) ; if f

1

≤ 0 then return a

1 4

f

2

← F (a

2

) ; if f

2

> 0 then return +∞

5

for i = 1 to maxIter do

6

a

3

= (f1 ∗ a2 − f2 ∗ a1)/(f1 − f2)

7

f

3

= F(a

3

)

8

if |f

3

| < prec then return a

3

9

else if f

3

> 0 then (a

1

, f

1

) ← (a

3

, f

3

)

10

else (a

2

, f

2

) ← (a

3

, f

3

)

11

return a

2

Sur la base des quantit´ es earr et ldep, il est possible de d´ efinir une seconde propri´ et´ e de monotonie, plus forte que la monotonie de la fonction de retard (cf.

prop. 1) et pouvant ˆ etre viol´ ee en pratique.

D´ efinition 6. Une contrainte temporelle t-simple ct : (x, y, dmin) est dite ` a d´ ecalage monotone si et seule- ment si elle v´ erifie, ∀a, a 0 ∈ d(x), ∀b, b 0 ∈ d(y),

(a 0 ≥ a) → (earr ct (a 0 ) ≥ earr ct (a) + (a 0 − a)) (b 0 ≥ b) → (ldep ct (b 0 ) ≥ ldep ct (b) + (b 0 − b)) Proposition 1. Soit ct : (x, y, dmin) une contrainte temporelle t-simple. Si ct est ` a d´ ecalage monotone, alors ct est ` a retard strictement monotone.

Informellement, une contrainte temporelle t-simple est ` a d´ ecalage monotone si et seulement si d’une part lorsque la date d’enclenchement d’une transition est repouss´ ee, la date d’arriv´ ee au plus tˆ ot est d´ ecal´ ee d’autant, et d’autre part lorsque la date de fin de la transition est avanc´ ee, la date d’enclenchement au plus tard est d´ ecal´ ee d’autant. Dans le cas des satel- lites agiles, la fonction de distance minimale dmin peut pr´ esenter des comportements du type de ceux de la fi- gure 1 qui entraˆınent que les contraintes ne sont pas toujours ` a d´ ecalage monotone.

Les deux propositions suivantes montrent que les propri´ et´ es de monotonie sont satisfaites par les contraintes temporelles simples et par plusieurs contraintes temporelles classiquement utilis´ ees dans le time-dependent scheduling (voir [5]).

Proposition 2. Les contraintes temporelles simples y − x ≥ c sont ` a d´ ecalage monotone (et donc aussi ` a retard strictement monotone).

Proposition 3. Soit x, y deux variables temporelles correspondant respectivement aux dates de d´ ebut et de fin d’une tˆ ache. Les r´ esultats de monotonie donn´ es ` a la table 1 sont corrects.

Fonction de distance Forme Monotonie dmin(x, y) = dmin(x) d´ ecalage retard

A + Bx oui oui (strict)

A − Bx non oui ssi B≤1

strict ssi B<1 max(A, A + B(x − D)) oui oui (strict) A si x<D, A + B sinon oui oui (strict)

A − B min(x, D) non oui ssi B≤1

strict ssi B<1

Table 1 – Monotonie de fonctions de distance utili- s´ ees en time-dependent scheduling, avec A, B, D des constantes telles que A ≥ 0, B > 0 et D > min(d(x))

2.4 Arc-coh´ erence des contraintes temporelles t- simples

La propri´ et´ e de retard monotone permet de simpli- fier l’´ etablissement de l’arc-coh´ erence.

Proposition 4. Soit ct : (x, y, dmin) une contrainte temporelle t-simple ` a retard monotone. Etablir l’arc- coh´ erence aux bornes pour ct est ´ equivalent ` a ´ etablir l’arc-coh´ erence sur les domaines complets de x et y.

La raison est qu’en cas de retard monotone, si

max(d(x)) poss` ede un support b sur y, alors b est aussi

(7)

un support pour toutes les autres valeurs du domaine de x, et de mani` ere similaire le support de min(d(y)) sur x est un support pour toutes les valeurs de y.

Proposition 5. Soit ct : (x, y, dmin) une contrainte temporelle t-simple. L’arc-coh´ erence aux bornes pour la contrainte ct peut ˆ etre ´ etablie par les modifications de domaine suivantes :

d(y) ← d(y) ∩ [earr ct (min(d(x))), +∞[ (10) d(x) ← d(x) ∩ ] − ∞, ldep ct (max(d(y)))] (11) La r` egle 10 permet de modifier la date de r´ ealisation au plus tˆ ot associ´ ee ` a y. La r` egle 11 permet de modifier la date de r´ ealisation au plus tard associ´ ee ` a x. Les modifications de domaines sont telles que les domaines courants d(x) et d(y) restent des intervalles ferm´ es.

Proposition 6. L’arc-coh´ erence d’une contrainte temporelle t-simple ct : (x, y, dmin) ` a retard monotone peut ˆ etre ´ etablie par les r` egles 10 et 11.

Si l’hypoth` ese de retard monotone n’est pas satis- faite, l’arc-coh´ erence aux bornes peut tout de mˆ eme ˆ etre ´ etablie. Dans ce cas, elle n’implique pas l’arc- coh´ erence et elle est susceptible de supprimer des va- leurs coh´ erentes des domaines des variables.

2.5 Cadre des TSTN

Sur la base des contraintes temporelles t-simples, il est possible d’introduire un nouveau cadre appel´ e le cadre des TSTN pour “Time-dependent STN”.

D´ efinition 7. Un TSTN est un couple (V, C) avec V un ensemble fini de variables de domaine [l, u] ⊂ R et C un ensemble fini de contraintes temporelles t-simples (x, y, dmin) avec x, y ∈ V .

Une solution d’un TSTN est une affectation des va- riables de V qui satisfait toutes les contraintes de C.

Un TSTN est dit coh´ erent s’il admet au moins une so- lution. Un TSTN est dit ` a retard monotone (resp. ` a d´ e- calage monotone) si toutes ses contraintes temporelles sont ` a retard monotone (resp. ` a d´ ecalage monotone).

Exemple Nous reconsid´ erons l’exemple faisant in- tervenir trois acquisitions acq 1 , acq 2 , acq 3 . Les dur´ ees de transition minimales requises entre acquisitions ne sont cette fois pas consid´ er´ ees comme constantes. Dans le mod` ele TSTN obtenu, la seule diff´ erence est que les contraintes temporelles simples des ´ equations 3 et 4 sont remplac´ ees par les contraintes temporelles t-simples des ´ equations 12 et 13, dans lesquelles pour une acquisition acq i , Satt i (t) et Eatt i (t) donnent res- pectivement les attitudes requises pour enclencher et finir acq i ` a la date t. Le graphe de distance associ´ e

`

a un TSTN peut ˆ etre d´ efini de mani` ere analogue au graphe de distance associ´ e ` a un STN (voir la figure 3).

sa 1 − ea 3 ≥ tminbas(Eatt 3 (ea 3 ), Satt 1 (sa 1 )) (12) sa 2 − ea 1 ≥ tminbas(Eatt 1 (ea 1 ), Satt 2 (sa 2 )) (13)

sa

3

ea

3

sa

1

ea

1

sa

2

ea

2

sv

2

ev

2

sv

3

ev

3

0 sv

1

ev

1

0

−Dv

1

−Dv

3

−Dv

2

Dv

2

Dv

3

Dv

1

−Da

2

−Da

1

−Da

3

−tminbas (Eatt

3

(ea

3

), Satt

1

(ea

1

)) −tminbas(Eatt

1

(ea

1

), Satt

2

(ea

2

))

Da

3

Da

1

Da

2

0

0 0

Figure 3 – Graphe de distance du TSTN (la r´ ef´ erence temporelle x 0 n’est pas repr´ esent´ ee)

La proposition suivante ´ etend sur les TSTN un r´ e- sultat classique sur les STN. Elle est valable que les contraintes soient ` a retard monotone ou non.

Proposition 7. Si toutes les contraintes d’un TSTN sont arc-coh´ erentes aux bornes, alors l’ordonnance- ment obtenu en fixant des dates au plus tˆ ot (resp. des dates au plus tard) est une solution du TSTN.

3 R´ esolution des TSTN

La tˆ ache ` a laquelle nous nous int´ eressons est celle de la d´ etermination de la coh´ erence d’un TSTN et des dates au plus tˆ ot et au plus tard associ´ ees ` a chaque va- riable temporelle. Les algorithmes propos´ es reprennent et g´ en´ eralisent des techniques STN existantes.

3.1 Propagation de contraintes

Le premier ´ el´ ement utilis´ e est un sch´ ema de propa- gation des bornes min et max des diff´ erentes variables temporelles. Cet ´ el´ ement relativement standard s’ins- pire des approches d´ efinies dans [4, 8, 11]. Ces der- ni` eres reviennent ` a maintenir une liste de variables pour lesquelles les contraintes portant sur ces variables doivent ˆ etre r´ evis´ ees avec, pour chaque variable z de la liste, un maintien de la nature de la (des) r´ evision(s) ` a effectuer : (a) si z a subi une modification de sa borne min, les bornes min de toutes les variables t li´ ees ` a z par une contrainte t − z ≥ c doivent ˆ etre r´ evis´ ees ; (b) si z a subi une modification de sa borne max, les bornes max de toutes les variables t li´ ees ` a z par une contrainte z − t ≥ c doivent ˆ etre r´ evis´ ees.

Par rapport aux approches STN classiques, nous

choisissons pour les TSTN une propagation de

(8)

contraintes dans laquelle est maintenue une liste conte- nant non pas des variables mais des contraintes. Cette liste est partitionn´ ee en deux sous-listes, l’une conte- nant les contraintes ` a r´ eviser pouvant modifier une borne min (contraintes y − x ≥ dmin(x, y) r´ eveill´ ees suite ` a une modification de min x et susceptibles de modifier min y), l’autre contenant les contraintes ` a r´ e- viser pouvant modifier une borne max (contraintes y − x ≥ dmin(x, y) r´ eveill´ ees suite ` a une modifica- tion de max y et susceptibles de modifier max x). Par rapport ` a une version liste de variables, le maintien de listes de contraintes permettra de g´ erer plus finement certains aspects (voir plus loin).

Enfin, la r´ evision d’une contrainte temporelle t- simple du point de vue des bornes min et/ou max se fait en utilisant les r` egles de la proposition 6, avec une

´

evaluation de earr ct et ldep ct analytique lorsque cela est possible, par recherche it´ erative sinon.

3.2 D´ etection de cycles de longueur n´ egative Avec des domaines de valeurs born´ es, la propagation par arc-coh´ erence sur les STN est capable de d´ etecter l’incoh´ erence. Cependant, le nombre de r´ evisions de contraintes requises pour arriver ` a ce r´ esultat est po- tentiellement prohibitif par rapport ` a des approches d´ efinies dans [3, 4], qui utilisent le fait que l’incoh´ e- rence d’un STN est ´ equivalente ` a l’existence d’un cycle de longueur n´ egative dans son graphe de distance.

L’id´ ee de base de ces approches consiste ` a d´ etecter de tels cycles ` a la vol´ ee en maintenant des chaˆınes de propagation. Ces derni` eres correspondent ` a des expli- cations des valeurs courantes des bornes min et max des diff´ erentes variables. Une contrainte y − x ≥ c est dite active du point de vue des bornes min (resp. des bornes max) si et seulement si la derni` ere r´ evision de cette contrainte est responsable de la derni` ere modifi- cation de la borne min de y (resp. de la borne max de x). [3] montre que s’il existe un cycle dans le graphe orient´ e dont les arcs correspondent aux contraintes ac- tives du point de vue des bornes min, alors le STN est incoh´ erent. L’intuition est que si un cycle de propa- gation x 1 → x 2 → . . . → x n → x 1 est d´ etect´ e, alors la valeur minimale de x 1 modifie la valeur minimale de x 2 ... qui elle-mˆ eme modifie la valeur minimale de x n qui elle-mˆ eme modifie la valeur minimale de x 1 , et donc il est possible de vider le domaine de x 1 en par- courant ce cycle un nombre suffisant de fois. Le mˆ eme r´ esultat s’applique au graphe orient´ e contenant un arc par contrainte active du point de vue des bornes max.

Le point bloquant pour adapter ces techniques au cas des contraintes temporelles t-simples est que pour un TSTN dans le cas g´ en´ eral, l’existence d’un cycle de propagation n’est pas n´ ecessairement synonyme d’in- coh´ erence, comme le montre l’exemple suivant.

Exemple Soit (V, C) = ({x, y}, {ct 1 , ct 2 }) un TSTN contenant deux variables temporelles de domaines d(x) = d(y) = [0.5, 2], et deux contraintes ct 1 : y −x ≤ 0.5 et ct 2 : y − x ≥ dmin(x, y), avec dmin la fonction de distance minimale d´ efinie par dmin(a, b) = 1 −a/2.

La fonction de retard associ´ ee ` a ct 2 est strictement monotone (elle vaut delay ct

2

(a, b) = 1 + a/2 − b).

L’´ etablissement de l’arc-coh´ erence pour ct 2

(r` egle 10) modifie la borne min de y et donne d(y) = [1 + 1/4, 2]. Une propagation sur la contrainte ct 1 modifie alors la borne min de x et donne d(x) = [1 − 1/4, 2]. Le r´ esultat obtenu est un cycle de propagation, puisque la borne min de x a modifi´ e la borne min de y qui elle-mˆ eme a modifi´ e la borne min de x. Dans le cadre STN classique, l’existence d’un tel cycle implique une incoh´ erence. Dans le cadre TSTN, une telle conclusion est fausse puisque par exemple l’instanciation x = 1, y = 1.5 est coh´ erente.

La raison ` a cela est que dans le cadre TSTN, les r´ e- ductions de domaines induites par des reparcours d’un cycle de propagation peuvent devenir de plus en plus petites. C’est ce qui se produit sur l’exemple ci-dessus o` u apr` es n parcours du cycle on a d(x) = [1 −1/2 n , 2].

D’un point de vue impl´ ementation en machine, la pr´ e- cision finie implique que le parcours des cycles s’arrˆ ete

`

a un moment donn´ e, mais potentiellement apr` es un tr` es grand nombre d’it´ erations.

L’exemple montre ´ egalement que la monotonie stricte de la fonction de retard ne suffit pas pour conclure ` a l’incoh´ erence en cas de d´ etection de cycle.

Une condition suffisante, satisfaite pour les STN clas- siques, est donn´ ee ci-dessous. Cette condition assure qu’un cycle ne devient pas “moins n´ egatif” au fur et ` a mesure de ses reparcours.

Proposition 8. Si un cycle de propagation est d´ etect´ e dans un TSTN, alors il suffit que toutes les contraintes temporelles t-simples du cycle soient ` a d´ ecalage mono- tone pour conclure que le TSTN est incoh´ erent.

Proposition 9. En particulier, (1) pour un TSTN

`

a d´ ecalage monotone, l’existence d’un cycle de propa- gation implique l’incoh´ erence du TSTN ; (2) pour un TSTN dont le graphe de distance ne contient aucun cycle impliquant une contrainte temporelle t-simple ` a d´ ecalage non monotone, l’existence d’un cycle de pro- pagation implique l’incoh´ erence du TSTN.

Dans l’application satellite agile qui motive ce tra-

vail, la fonction de distance minimale n’est pas mono-

tone, mais par contre le point 2 de la proposition 9

s’applique sur les cas d’´ etude trait´ es. D´ eduire une in-

coh´ erence suite ` a une d´ etection de cycle est dans ce cas

correct. Si aucune des conditions de la proposition 9

ne s’applique, plusieurs options sont envisageables. La

(9)

premi` ere consiste ` a ne pas inclure les contraintes tem- porelles ` a d´ ecalage non monotones dans les chaˆınes de propagation. La seconde, incorrecte dans le sens o` u elle peut conduire ` a des d´ etections d’incoh´ erence ` a tort, consiste ` a consid´ erer que le TSTN est incoh´ erent d` es qu’un cycle de propagation est d´ etect´ e.

En termes de complexit´ e, la proposition suivante g´ e- n´ eralise aux TSTN, et donc aux probl` emes de time- dependent scheduling, les r´ esultats de complexit´ e po- lynomiale disponibles sur les STN.

Proposition 10. L’algorithme utilisant propagation par arc-coh´ erence aux bornes et d´ etection de cycle sur un TSTN (V, C) ´ etablit l’arc-coh´ erence aux bornes en O(|V ||C|) r´ evisions de contraintes (borne ind´ epen- dante de la taille des domaines des variables).

Cˆ ot´ e impl´ ementation, la d´ etection de cycles de pro- pagation ` a la vol´ ee s’appuie sur une structure de don- n´ ee efficace [1] utilis´ ee pour maintenir des ordres to- pologiques dans les graphes de propagation des bornes min et max. L’existence de cycles dans ces graphes est en effet ´ equivalente ` a la non existence d’ordres topo- logiques des nœuds dans ces mˆ emes graphes.

3.3 D´ epropagation de contraintes

Les m´ ethodes de propagation de contraintes per- mettent directement de traiter le cas de l’ajout d’une contrainte au TSTN de d´ epart ou le cas du ren- forcement d’une contrainte. Concernant le retrait ou l’assouplissement d’une contrainte, il est possible de r´ eutiliser directement les strat´ egies d´ efinies dans [11]

pour les STN. Ces strat´ egies permettent de r´ etablir

`

a moindre coˆ ut les bornes min et max des variables temporelles. La technique de base consiste ` a suivre les chaˆınes de propagation pour savoir quels domaines de variables r´ einitialiser et quelles contraintes repro- pager. Lors du retrait ou d’un assouplissement d’une contrainte y − x ≥ dmin(x, y), si cette contrainte est active du point de vue de la borne min de y (resp. de la borne max de x), alors la borne min de y (resp. la borne max de x) est r´ einitialis´ ee ` a la va- leur qu’elle avait avant toute propagation. Cette r´ e- initialisation peut elle-mˆ eme d´ eclencher d’autres r´ e- initialisations. Les contraintes du TSTN de la forme y − z ≥ dmin(z, y) (resp. z − x ≥ dmin(x, z)) sont ajout´ ees ` a la liste des contraintes ` a propager du point de vue des bornes min (resp. max) des variables.

La seule diff´ erence par rapport ` a la litt´ erature STN est l’utilisation de listes de contraintes ` a propager (et non de variables), qui permet de faire une d´ epropaga- tion l´ eg` erement plus fine : sur l’exemple de r´ einitiali- sation de la borne min de y, la version classique STN ajoute ` a une liste des variables ` a propager toute va- riable z li´ ee ` a y par une contrainte y −z ≥ dmin(z, y),

et ce faisant repropage in fine toutes les contraintes de la forme u − z ≥ dmin(z, u), mˆ eme celles avec u 6= y.

3.4 Ordonnancement des r´ evisions de contraintes Nous utilisons une derni` ere technique dont le but est de minimiser le nombre de r´ evisions de contraintes. Cet objectif est int´ eressant pour les STN mais l’est d’au- tant plus pour les TSTN, pour lesquels le coˆ ut d’une r´ evision de contrainte peut ˆ etre significativement plus

´

elev´ e. L’approche propos´ ee reprend et ´ etend une tech- nique d´ evelopp´ ee pour les STN [8], une sous-classe des STN dans laquelle les contraintes temporelles simples doivent pouvoir ˆ etre mises sous la forme y −x ≥ c avec c ≥ 0. L’id´ ee consiste ` a construire les composantes for- tement connexes du graphe de distance, ` a les ordonner suivant un ordre topologique, et ` a utiliser cet ordre topologique pour savoir dans quel ordre propager les contraintes. Nous rappelons tout d’abord la d´ efinition de la notion de composante fortement connexe.

D´ efinition 8. Soit G = (V, A) un graphe orient´ e, avec V l’ensemble des nœuds et A l’ensemble des arcs. Une composante fortement connexe de G (SCC, Strong Connected Component) est un sous-graphe G 0 maxi- mal de G tel qu’il existe dans G 0 un chemin de n’im- porte quel nœud ` a n’importe quel autre nœud.

Le DAG ( Directed Acyclic Graph) des SCCs de G est le graphe orient´ e dont les nœuds sont les SCCs de G et tel qu’il existe un arc d’un SCC c 1 vers un SCC c 2 si et seulement si il existe dans G un arc d’un des sommets de c 1 vers un des sommets de c 2 .

Un ordre topologique des SCCs est un ordre tel que chaque SCC c est plac´ e dans cet ordre strictement apr` es chacun de ses parents c 0 dans le DAG des SCCs (c 0 ≺ c). Pour un nœud x du graphe de d´ epart G, on note scc(x) le SCC qui contient x.

Propager les contraintes temporelles en suivant un ordre topologique des SCCs du graphe de distance revient ` a utiliser le r´ esultat selon lequel r´ esoudre un probl` eme de plus court chemin dans un graphe acy- clique est plus facile que dans un graphe quelconque.

Pour appliquer ce r´ esultat, les contraintes ` a propa- ger sont ordonn´ ees suivant un ordre topologique des SCCs. Plus pr´ ecis´ ement, concernant la propagation des bornes min, on propage en priorit´ e les contraintes y − x ≥ dmin(x, y) avec scc(y) maximal au sens de l’ordre des SCCs, et en cas d’´ egalit´ e en privil´ egiant les contraintes telles que scc(x) 6= scc(y), pour repousser au maximum la propagation des contraintes internes

`

a un SCC. Pour la propagation des bornes max, les

contraintes sont ordonn´ ees par scc(x) croissant et en

cas d’´ egalit´ e en privil´ egiant les contraintes telles que

scc(y) 6= scc(x). Sur l’exemple de la figure 3, les SCCs

sont repr´ esent´ es en pointill´ es. Un mauvais ordre de

(10)

propagation des bornes min consisterait ` a propager d’abord la contrainte entre sa 2 et ea 1 puis celle entre sa 1 et ea 3 . Un bon ordre, coh´ erent avec l’ordre des SCCs, consisterait ` a faire l’inverse.

Par rapport ` a l’utilisation des SCCs faite dans [8]

pour les STN , la m´ ethode propos´ ee est adapt´ ee non seulement aux STN g´ en´ eraux mais aussi aux TSTN.

Cˆ ot´ e impl´ ementation, pour ne pas recalculer le DAG des SCCs apr` es chaque ajout ou retrait de contrainte, nous utilisons des algorithmes adapt´ es au maintien dy- namique des SCCs [9, 17].

4 Exp´ erimentations

Les techniques propos´ ees pr´ ec´ edemment sont impl´ e- ment´ ees dans un outil d’ordonnancement fonctionnant

`

a base de recherche locale. Les mouvements locaux consistent en des modifications d’un ordonnancement courant. Ils se traduisent par des ajouts ou des re- traits de contraintes temporelles t-simples. Le cˆ ot´ e re- cherche locale implique qu’il est rapide de faire/d´ efaire un mouvement local, dans un esprit similaire aux ou- tils Comet [10] et LocalSolver [2]. Une diff´ erence par rapport aux outils classiques de recherche locale ` a base de contraintes est que dans le cas des TSTN, les va- riables temporelles ne sont pas instanci´ ees ` a une va- leur unique (on maintient pour chacune un intervalle de valeurs). L’outil de r´ esolution STN/TSTN est im- pl´ ement´ e en Java. Les r´ esultats sont obtenus sur un processeur Intel i5-520 1.2GHz, 4GBRAM.

Des exp´ erimentations non d´ etaill´ ees ici ont tout d’abord ´ et´ e r´ ealis´ ees sur des STN obtenus ` a partir de probl` emes d’ordonnancement de la SMT-LIB. L’objec- tif ´ etait de valider l’int´ erˆ et de l’heuristique de propa- gation bas´ ee sur un ordre topologique des SCCs. Cette heuristique se r´ ev` ele ˆ etre une strat´ egie robuste permet- tant, sur certains probl` emes, de gagner un ou plusieurs ordres de grandeur en termes de nombre de r´ evisions de contraintes. Plus pr´ ecis´ ement, sur des STN coh´ e- rents, cette heuristique est toujours au moins aussi bonne qu’une approche par gestion des contraintes ` a propager sous forme de liste FIFO ou LIFO. Sur des STN incoh´ erents, propager suivant l’ordre des SCCs n’est par contre pas toujours la strat´ egie qui ´ etablit le plus vite l’incoh´ erence.

Nous d´ etaillons ci-apr` es les exp´ erimentations r´ eali- s´ ees sur les TSTN dans le contexte satellites agiles. Le probl` eme consid´ er´ e est une simple contrainte de non chevauchement sur une s´ equence ordonn´ ee de n ac- quisitions acq 1 → . . . → acq n , avec n variant entre 5 et 13. Ces acquisitions correspondent ` a des zones au sol situ´ ees entre le nord le l’Espagne et le nord de la France. La contrainte de non chevauchement entre acquisitions s’exprime comme un ensemble de

contraintes temporelles t-simples de la forme s i+1 − e i ≥ tminbas(Eatt i (e i ), Satt i+1 (s i+1 )) avec, pour une acquisition j, s j /e j les dates de d´ ebut/fin de cette ac- quisition, et Satt j (t)/Eatt j (t) les attitudes n´ ecessaires pour enclencher/finir j ` a la date t. Sont ajout´ ees ` a cela des contraintes temporelles simples fixant une dur´ ee constante pour chaque prise de vue.

Deux m´ ethodes sont compar´ ees : d’un cˆ ot´ e une ap- proche TSTN avec prise en compte des temps de tran- sition exacts entre acquisitions, et de l’autre une ap- proche STN avec pr´ ecalcul de majorants sur les temps de transition. Les ordonnancements obtenus dans les deux cas sont flexibles dans le sens o` u la propagation sur les STN/TSTN fournit en sortie des variables tem- porelles dont le domaine ´ elagu´ e n’est en g´ en´ eral pas r´ eduit ` a une seule valeur possible. Le crit` ere ´ etudi´ e est la flexibilit´ e temporelle moyenne, mesur´ ee comme la moyenne sur l’ensemble des variables temporelles x de la diff´ erence entre date au plus tˆ ot et date au plus tard pour x. La flexibilit´ e temporelle est importante pour offrir le plus de latitude possible concernant le choix de l’angle de r´ ealisation d’une prise de vue, qui influence la qualit´ e image.

Trois sc´ enarios sont ´ etudi´ es. Dans le premier sc´ ena- rio, les acquisitions sont des bandes de longueur 80km environ, ` a observer avec un cap de 0 degr´ e, le cap cor- respondant ` a l’angle entre la trace au sol du satellite et la direction de balayage de la zone. La figure 4(a) montre que dans ce cas la flexibilit´ e temporelle obtenue avec les TSTN est ` a peine meilleure que celle obtenue avec des STN. La raison est que si toutes les prises de vue sont r´ ealis´ ees avec un cap de 0 degr´ e, les temps de transition minimaux entre prises de vue varient peu avec les dates d’enclenchement des transitions.

Dans le deuxi` eme sc´ enario, le cap de balayage des zones passe ` a 30 degr´ es. La figure 4(b) montre que la flexibilit´ e temporelle obtenue avec les TSTN est meilleure d’environ 20 secondes en moyenne, et que la diff´ erence de flexibilit´ e entre STN et TSTN croˆıt avec le nombre d’acquisitions planifi´ ees.

Dans le troisi` eme et dernier sc´ enario, la longueur des zones ` a balayer passe ` a 40km environ et le cap de balayage est choisi al´ eatoirement pour chaque zone.

Dans ce cas, l’approche STN ne permet de planifier que les s´ equences de longueur n = 5 et 6. Elle conclue

`

a une incoh´ erence du probl` eme pour n ≥ 7. A l’inverse,

l’approche TSTN permet de planifier l’ensemble des

13 acquisitions. Une des raisons est que plus les caps

de balayage sont distincts, plus les temps de transi-

tion minimaux entre prises de vue d´ ependent des dates

d’enclenchement des transitions. La possibilit´ e d’avoir

des caps de balayage distincts est importante en pra-

tique. Elle permet est effet, ´ etant donn´ e un polygone

au sol, de le d´ ecouper suivant des bandes dont l’orien-

(11)

20 40 60 80 100 120 140 160

5 6 7 8 9 10 11 12 13

time flexibility

nbAcqsPlanned flexTSTN_cap0

flexSTN_cap0

0 20 40 60 80 100 120

5 6 7 8 9 10 11 12 13

nbAcqsPlanned flexTSTN_cap30

flexSTN_cap30

0 5 10 15 20 25 30 35 40 45

5 6 7 8 9 10 11 12 13

nbAcqsPlanned flexTSTN_capRandom

flexSTN_capRandom

(a) (b) (c)

Figure 4 – Comparaison des flexibilit´ es temporelles moyennes, en secondes, obtenues avec l’utilisation de majorants pr´ ecalcul´ es sur les temps de transition (flexSTN) et avec les temps de transitions exacts (flexTSTN)

tation est libre, et donc potentiellement de r´ eduire le nombre de bandes ` a balayer.

Pour donner un ordre d’id´ ee des temps de calcul, pour 13 acquisitions ajout´ ees une ` a une au plan cou- rant, une pr´ ecision de une seconde sur les dates, et un nombre d’it´ erations ´ egal ` a 10 4 pour la convergence des fonctions firstNeg et lastNeg, l’approche TSTN consomme en moyenne 2ms par ajout. Avec l’approche STN, le temps de calcul est inf´ erieur ` a 0.1ms par ajout.

Pour des pr´ ecisions de 10 −1 , 10 −2 , 10 −3 et 10 −4 se- conde sur les dates, les temps de calcul avec les TSTN passent respectivement ` a 3ms, 12ms, 66ms et 182ms par ajout. Une approche type peut consister ` a ´ etudier d’abord les diff´ erents ordonnancements possibles d’un point de vue gros grain puis ` a pr´ eciser les choses en utilisant une pr´ ecision plus fine.

En conclusion, ce papier a pr´ esent´ e les TSTN, leurs propri´ et´ es, des techniques de r´ esolution et une applica- tion ` a la gestion de satellites agiles. Il serait int´ eressant d’´ etudier d’autres propri´ et´ es de ce cadre et de tester l’approche sur d’autres applications.

R´ ef´ erences

[1] M. A. Bender, R. Cole, E. D. Demaine, M. Farach- Colton, and J. Zito. Two simplified algorithms for maintaining order in a list. Proc. of ESA-02, pages 152–164, 2002.

[2] T. Benoist, B. Estellon, F. Gardi, R. Megel, and K. Nouioua. Localsolver 1.x : a black-box local-search solver for 0-1 programming. 4OR, 9(3) :299–316, 2011.

[3] R. Cervoni, A. Cesta, and A. Oddi. Managing dyna- mic temporal constraint networks. Proc. of AIPS-94, pages 13–18, 1994.

[4] A Cesta and A Oddi. Gaining efficiency and flexibility in the simple temporal problem. Proc. of TIME-96, pages 45–50, 1996.

[5] T. Cheng, Q. Ding, and B. Lin. A concise survey of scheduling with time-dependent processing times.

EJOR, 152 :1–13, 2004.

[6] R. Dechter, I. Meiri, and J. Pearl. Temporal constraint networks. Artificial Intelligence, 49 :61–95, 1991.

[7] S. Gawiejnowicz. Time-Dependent Scheduling. Sprin- ger, 2008.

[8] A. Gerevini, A. Perini, and F. Ricci. Incremental al- gorithms for managing temporal constraints. Procee- dings of ICTAI-96, pages 360–365, 1996.

[9] B. Haeupler, T. Kavitha, R. Mathew, S. Sen, and R. E.

Tarjan. Incremental cycle detection, topological orde- ring, and strong component maintenance. ACM Tran- sactions on Algorithms, 8(1), 2012.

[10] P. Van Hentenryck and L. Michel. Constraint-Based Local Search. The MIT Press, 2005.

[11] I. Shu, R. Effinger, and B. Williams. Enabling fast flexible planning through incremental temporal rea- soning with conflict extraction. Proc. of ICAPS-05, pages 252–261, 2005.

[12] M. Lemaˆıtre, G. Verfaillie, F. Jouhaud, J.-M. Lachi- ver, and N. Bataille. Selecting and scheduling obser- vations of agile satellites. Aerospace Science and Tech- nology, 6 :367–381, 2002.

[13] U. Montanari. Networks of constraints : fundamen- tal properties and applications to picture processing.

Information Sciences, 7(2) :95–132, 1974.

[14] L. Planken, M. de Weerdt, and N. Yorke-Smith. In- crementally solving STNs by enforcing partial path consistency. Proc. of ICAPS-10, pages 129–136, 2010.

[15] L. R. Planken, M. M. de Weerdt, and R. P.J. van der Krogt. P3C : A new algorithm for the simple temporal problem. Proc. of ICAPS-08, pages 256–263, 2008.

[16] Challenge ROADEF’03. http://challenge.roadef.org.

[17] L. Roditty and U. Zwick. Improved dynamic reacha- bility algorithms for directed graphs. SIAM Journal on Computing, 37(5) :1455–1471, 2008.

[18] K. Stergiou and M. Koubarakis. Backtracking algo- rithms for disjunctions of temporal constraints. Arti- ficial Intelligence, 120 :81–117, 2000.

[19] L. Xu and B. Y. Choueiry. A new efficient algorithm

for solving the simple temporal problem. Proc. of

TIME-ICTL-03, pages 210–220, 2003.

Références

Documents relatifs

Introduction Probl` emes d’optimisation combinatoire Probl` emes d’optimisation num´ erique

Fonction f θ d´ ependant de param` etres θ du diam` etre pupillaire en fonction de l’unit´ e de temps pour chacune des situations Comment d´ efinir un comportement moyen. Voir

Fonction f θ d´ ependant de param` etres θ du diam` etre pupillaire en fonction de l’unit´ e de temps pour chacune des situations Comment d´ efinir un comportement moyen.

Calculer la valeur actuelle au taux annuel de 3,5% avec int´erˆets simples d’un capital de 25000 obtenu dans 7 ans.. On consid`ere un placement ` a int´erˆets simples au taux annuel

Entrer dans la cellule A2 la formule de calcul =0,5*$A$1 puis ´etendre cette formule sur la colonne A ` a l’aide de la poign´ee de recopie3. Entrer dans la cellule B2 la formule

Dans un tableur, il existe deux fa¸cons de faire r´ef´erence `a une cellule : la r´ ef´ erence absolue qui permet de nommer une cellule unique du tableau (par exemple,

We prove the convexity of the set which is delimited by the free boundary corresponding to a quasi-linear elliptic equation in a 2-dimensional convex domain.. The method relies on

La question 3 est vague : on peut par exemple dire qu’une dette dont les int´erˆets s’accumulent ( a = 0) forme une suite g´eom´etrique, et que τ 0 est l’unique taux