HAL Id: inria-00000060
https://hal.inria.fr/inria-00000060
Submitted on 25 May 2005
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.
Les K-rois : une métaphore du problème
d’ordonnancement spatio-temporel des avions autour d’un aéroport
Konstantin Artiouchine, Philippe Baptiste, Juliette Mattioli
To cite this version:
Konstantin Artiouchine, Philippe Baptiste, Juliette Mattioli. Les K-rois : une métaphore du problème
d’ordonnancement spatio-temporel des avions autour d’un aéroport. Premières Journées Francophones
de Programmation par Contraintes, CRIL - CNRS FRE 2499, Jun 2005, Lens, pp.373-382. �inria-
00000060�
Actes JFPC 2005
Les K −rois : une m´ etaphore du probl` eme d’ordonnancement spatio-temporel des avions
autour d’un a´ eroport
Konstantin Artiouchine
1,2Philippe Baptiste
1Juliette Mattioli
21
LIX, ´ Ecole Polytechnique, 91128 Palaiseau, France,
2
Thales TRT, Domaine de Corbeville, 91404 Orsay CEDEX, France {Prenom.Nom}@polytechnique.fr Juliette.Mattioli@thalesgroup.com
R´ esum´ e
Nous ´ etudions le probl` eme du calcul des trajec- toires d’un ensemble d’avions pendant leur descente fi- nale juste avant l’atterrissage. Ces trajectoires sont sou- mises d’une part aux contraintes li´ ees ` a la dynamique des avions et d’autre part au fait qu’une distance de s´ ecurit´ e suffisamment grande doit ˆ etre maintenue. Nous cherchons ` a d´ eterminer l’ordre dans lequel les avions se posent ainsi que leurs trajectoires respectives avec comme objectif la minimisation du temps d’atterris- sage maximal. Nous pr´ esentons dans ce papier une ver- sion simplifi´ ee du probl` eme hybride o` u le temps et l’es- pace sont discr´ etis´ es. Un mod` ele en PPC introduisant quelques contraintes globales est present´ e.
Abstract
We study the problem of computing trajectories of a set of aircraft in their final descent, right before landing.
Trajectories must be compatible with aircraft dynamics while keeping distance between aircraft large enough.
Our objective is to determine the order in which air- craft land as well as their exact trajectories in order to minimize the maximal landing time. We study a highly simplified version of this hybrid problem where time and space are discretized. A constraint based model relying on several specific global constraints is introduced. Com- putational experiments are reported.
Mots clefs : Contrˆ ole du trafic aerien, Ordonnance- ment, Programmation par Contraintes
Key words : Air-Traffic Control, Scheduling, Constraint Programming
1 Introduction
Les mod` eles pour la dynamique d’un syst` eme reposent souvent sur des ´ equations diff´ erentielles d´ eriv´ ees des lois physiques. Ces syst` emes sont ´ etudi´ es dans le domaine de la th´ eorie du contrˆ ole. Les syst` emes hybrides sont caract´ eris´ es par une forte interaction des mod` eles continus et discr` ets (e.g., une utilisation si- multan´ ee des variables continues et discr` etes).
Nous ´ etudions ici un probl` eme hybride de calcul des trajectoires des avions lors de leur descente fi- nale. Ces trajectoires doivent ˆ etre compatibles avec la dynamique des avions et satisfaire les contraintes in- duites par les distances de s´ ecurit´ e entre avions. Tant que les avions sont en l’air, la distance entre chaque paire d’avions doit ˆ etre sup´ erieure ` a une valeur fix´ ee.
En outre, un intervalle de s´ ecurit´ e entre deux atterris- sages cons´ ecutifs sur la mˆ eme piste doit ˆ etre mainte- nue. Notre objectif est de d´ eterminer l’ordre d’atter- rissage et les trajectoires de tous les avions qui mini- misent la date d’atterrissage du dernier avion.
Des probl` emes similaires ont d´ ej` a ´ et´ e ´ etudi´ es. La
version “statique” est ´ etudi´ ee dans [1], [6] o` u les au-
teurs supposent que toutes les trajectoires possibles
sont connues. Cela permet d’associer ` a chaque avion
un ensemble de fenˆ etres temporelles dans lesquelles son
atterrissage est autoris´ e. Le probl` eme de s´ equencement
des vols ainsi obtenu est par la suite abord´ e comme un
probl` eme d’ordonnancement classique. Une fois toutes
les dates d’atterrissage connues, les plans de vol corres-
pondant aux trajectoires peuvent ˆ etre calcul´ es. L’in-
conv´ enient majeur de cette approche, d´ etaill´ ee dans
[5], est que les trajectoires obtenues peuvent intro-
duire des conflits potentiels puisque les contraintes de
distance peuvent ˆ etre viol´ ees. Ceci est li´ e au fait que le calcul de l’ordonnancement et le calcul des trajec- toires sont effectu´ es ind´ ependamment l’un de l’autre.
En pratique, cette approche est r´ ealiste si les avions volent ` a des altitudes diff´ erentes.
A notre connaissance, il n’existe pas d’approches permettant de prendre en compte simultan´ ement toutes les contraintes du probl` eme. Dans ce papier, on ´ etudie une m´ etaphore tr` es simplifi´ ee du probl` eme original : “le probl` eme des K−rois”. Le temps est discr´ etis´ e et l’espace a´ erien est repr´ esent´ e par un
´ echiquier avec une case fictive repr´ esentant la piste d’atterrissage. Les avions se d´ eplacent comme les rois de jeu d’´ echecs et l’objectif est de vider l’´ echiquier le plus rapidement possible. Un probl` eme encore plus simple est de v´ erifier qu’` a partir d’une disposition donn´ ee il existe au moins un mouvement.
Plus formellement, en partant d’une disposition ini- tiale donn´ ee par les coordonn´ ees (a
1, b
1), ..., (a
K, b
K) de K rois R
1, . . . , R
Ksur un ´ echiquier de taille N ×N , on cherche une s´ equence de transitions permettant de
“vider” l’´ echiquier en respectant les contraintes sui- vantes :
1. Les rois ne peuvent pas ˆ etre en prise (selon les r´ egles classiques du jeu d’´ echecs).
2. Un roi peut ˆ etre enlev´ e de l’´ echiquier tout de suite apr` es son passage sur la case cible (marqu´ ee par une croix sur les Figures 1 et 2).
3. A chaque it´ eration, chaque roi se d´ eplace obliga- toirement de sa position courante ` a une case ad- jacente tant qu’il n’est pas sorti du jeu.
Un exemple d’une instance du probl` eme est repr´ esent´ e sur la Figure 1. Les fl` eches sur la figure indiquent les ´ eventuels d´ eplacements des rois d’un ins- tant ` a l’autre. Il est important de savoir qu’il existe des situations ` a partir desquelles il n’existe pas de mouve- ment possible. Un exemple d’une telle disposition est donn´ e sur la Figure 2. Une autre instance du probl` eme avec 4 rois sur une grille 4 × 4 et sa solution optimale sont repr´ esent´ ees sur la figure 3.
Fig. 1 – Un mouvement Fig. 2 – Un blocage Dans la suite du papier on suppose que les lignes et les colonnes de l’´ echiquier sont num´ erot´ ees de 1 ` a N . Afin de simplifier les notations, on introduit une case
“fictive” avec les coordonn´ ees (0, 0). Par convention, tous les rois d´ ej` a sortis de l’´ echiquier se trouvent sur cette case. On peut voir cette case comme l’a´ eroport o` u les avions peuvent rester autant de temps qu’ils veulent. Les cases non-existantes sont dessin´ ees en gris sur la Figure 2.
Fig. 3 – Une solution optimale en 9 transitions pour 4 rois
Cet article est compos´ e de 5 sections. La descrip- tion formelle du probl` eme des K−rois et un mod` ele initial en PPC sont d´ ecrits dans la Section 2. Nous in- troduisons dans la Section 3 les r´ egles de propagation suppl´ ementaires permettant de r´ eduire l’espace de re- cherche. Les heuristiques de branchement sont d´ efinies dans la Section 4 et les r´ esultats exp´ erimentaux sont donn´ es dans la Section 5.
2 Mod` ele PPC
Nous utilisons trois ensembles de variables ` a do- maines finis pour la construction d’un mod` ele en Pro- grammation par Contraintes : variables de position enti` eres et bool´ eennes, et les variables de dates de sor- tie. Le mod` ele extrˆ emement simple utilisant seulement les variables enti` eres de position peut ˆ etre construit mais comme on le verra par la suite la propagation est tr` es inefficace et m` ene ` a de faibles performances.
La position R
k(t) du roi R
k` a l’instant t est donn´ ee par une paire (X
k,t, Y
k,t) de Variables Enti` eres de Po- sition o` u X
k,t(resp. Y
k,t) d´ esigne la colonne (resp. la ligne) de l’´ echiquier. On rappelle que le coin en haut et ` a gauche de l’´ echiquier a pour coordonn´ ees (1, 1).
Nous introduisons un ensemble suppl´ ementaire de variables appell´ ees Dates de Sortie T
1, ..., T
kas- soci´ ees aux instants auxquels les rois sont enlev´ es de l’´ echiquier :
T
k= min
˜ t ∀t ≥ ˜ t,
X
k,tY
k,t= 0
0
Nous introduisons dans le mod` ele l’ensemble de contraintes suivant afin d’imposer cette relation :
∀k ∈ [1, K], ∀t ∈ [1, T ]
X
k,tY
k,t= 0
0
⇐⇒ T
k≤ t En plus, on introduit la variable T ¯ ´ egale au maxi- mum de ces variables (c.` a.d le premier instant o` u l’´ echiquier est vide).
Dans une solution optimale on ne peut pas avoir exactement la mˆ eme disposition des rois plus d’une fois (sinon cette solution ne serait pas optimale). Le nombre total de pas de temps peut donc ˆ etre born´ e par une constante.
Ces variables nous permettent de d´ efinir le mod` ele PPC “de base” pour notre probl` eme. Nous introdui- sons n´ eanmoins les variables bool´ eennes de position u
k,i,j,tpour permettre les propagations irrealisables avec les variables de position enti` eres. La variable u
k,i,j,test instanci´ ee ` a “vrai” si et seulement si R
kse trouve sur la case (i, j) ` a l’instant t. Les r` egles de pro- pagation utilisant ces variables sont pr´ esent´ ees dans la Section 3.
Les variables de position enti` eres X
k,tet Y
k,tsont reli´ ees aux variables de position bool´ eennes en deux
´
etapes. La premi` ere ´ etape consiste en l’introduction de deux ensembles de variables suppl´ ementaires x
k,i,tet y
k,j,tqui peuvent avoir la valeur “vrai” si le roi R
kpeut se trouver sur la colonne i (resp. ligne j) ` a l’instant t. Ces variables sont ensuite reli´ ees au mod` ele bool´ een comme suit :
∀k ∈ [1, K] , ∀t ∈
1, sup T ¯
, ∀i ∈ [0, N]
x
k,i,t= _
j∈[0,N]
u
k,i,j,t∀k ∈ [1, K] , ∀t ∈
1, sup T ¯
, ∀j ∈ [0, N]
y
k,j,t= _
i∈[0,N]
u
k,i,j,tLa deuxi` eme ´ etape consiste ` a ´ etablir une connexion entre ces variables et les variables du mod` ele principal.
∀k ∈ [1, K] , ∀t ∈
1, sup T ¯
, ∀i ∈ [0, N]
i / ∈ dom (X
k,t) ⇐⇒ ¬ x
k,i,t∀k ∈ [1, K] , ∀t ∈
1, sup T ¯
, ∀j ∈ [0, N]
j / ∈ dom (Y
k,t) ⇐⇒ ¬ y
k,j,tO` u dom (X ) d´ enote le domaine de la variable X avec inf (X ) = min
x∈dom(X)et sup (X ) = max
x∈dom(X). 2.1 La case fictive (0, 0)
Comme pr´ ec´ edemment annonc´ e, chaque roi peut soit rester sur l’´ echiquier de taille N × N , soit se trou- ver sur une case “fictive” suppl´ ementaire avec les co- ordonn´ ees (0, 0).
Les variables de position X
k,tet Y
k,tpeuvent donc prendre des valeurs dans [0, N ]. Nous introduisons les contraintes suivantes afin d’interdire les cases non- existantes (1, 0) , ..., (N, 0), (0, 1) , ... (0, N) :
∀k ∈ [1, K ] , ∀t ∈
1, sup T ¯ h
(X
k,t= 0) ∧ (Y
k,t= 0) i
∨ h
(X
k,t6= 0) ∧ (Y
k,t6= 0) i .
Pour le mod` ele bool´ een cette restriction est simple :
∀k ∈ [1, K ] , ∀t ∈
1, sup T ¯
, ∀i ∈ [1, N] , u
k,i,0,t= f alse
∀k ∈ [1, K ] , ∀t ∈
1, sup T ¯
, ∀j ∈ [1, N] , u
k,0,j,t= f alse .
2.2 Dispositions initiale et finale
La position initiale du roi R
kest donn´ ee par (a
k, b
k).
A l’instant ` T ¯ tous les rois ont pour coordonn´ ees (0, 0) :
∀k ∈ [1, K ]
X
k,1Y
k,1= a
kb
kX
k,sup(
T¯) Y
k,sup(
T¯)
= 0
0
Ces conditions permettent d’instancier imm´ ediatement une partie des variables de posi- tion et ne sont pas explicitement appliqu´ ees au mod` ele bool´ een.
2.3 Contraintes de distance
Les rois ne peuvent pas se trouver sur les cases ad- jacentes. En consequence, en utilisant les variables de position on obtient :
∀k, k
0∈ [1, K ] , ∀t ∈
1, sup T ¯ , k 6= k
0|X
k,t− X
k0,t| > 1
∨
|Y
k,t− Y
k0,t| > 1
Un ensemble de contraintes disjonctives sur les va- riables bool´ eennes peut ˆ etre formul´ e sous la forme sui- vante :∀k
06= k, ¬u
k,i,j,tW
¬u
k0,i0,j0,to` u i, j et i
0, j
0sa- tisfont |i − i
0| ≤ 1 et |j − j
0| ≤ 1. N´ eanmoins, cela augmente significativement le nombre de contraintes du mod` ele et am` ene ` a une forte r´ eduction de la per- formance. Cet ensemble de contraintes bool´ eennes de distance peut ˆ etre remplac´ e par des contraintes glo- bales plus compactes et plus g´ en´ eriques d´ ecrites dans la section 3.
Une remarque importante est que la case fictive
(0, 0) n’apparait jamais dans les contraintes d’inter-
distance. Afin de simplifier les notations, les condi-
tions correspondantes seront omises dans les sections
suivantes.
2.4 Contraintes sur la dynamique
Comme la dynamique des rois est extrˆ emement simple, on peut facilement utiliser la mod´ elisation sui- vante :
– La longueur d’un d´ eplacement est au plus 1 : ∀k ∈ [1, K ] , ∀t ∈
1, sup T ¯
− 1
, |X
k,t+1− X
k,t| ≤ 1 et |Y
k,t+1− Y
k,t| ≤ 1
– Le d´ eplacement est obligatoire : ∀k ∈ [1, K ] , ∀t ∈ 1, sup T ¯
− 1
, (X
k,t6= X
k,t+1) ou (Y
k,t6= Y
k,t+1) Une dynamique plus complexe peut ˆ etre prise en compte par un graphe des transitions Γ. Chaque case de l’´ echiquier ` a un instant donn´ e est associ´ ee ` a un sommet de ce graphe. Il existe une arˆ ete entre deux sommets (x, y) et (x
0, y
0) si et seulement si un roi peut se d´ eplacer de (x, y) ` a (x
0, y
0) en un seul pas.
La Figure 4 montre une partie de ce graphe des tran- sitions adjacentes ` a la case cible. Les sommets cor- respondent aux points de la grille et les arˆ etes sont repr´ esent´ ees par les fl` eches en pointill´ es. Pour notre
1 t
Y
2 3 X
2 3 4
Fig. 4 – Graphe de transitions
dynamique, ` a chaque case (x, y) avec 1 ≤ x ≤ N et 1 ≤ y ≤ N et (x, y) 6= (1, 1) on obtient :
Γ x
y
= x
0y
0x
0∈ [x − 1, x + 1] ∩ [1, N]
y
0∈ [y − 1, y + 1] ∩ [1, N]
\ x
y
Comme pr´ ecis´ e pr´ ec´ edemment, Γ peut ˆ etre utilis´ e pour la mod´ elisation d’une dynamique plus complexe.
Le roi se trouvant sur la case (1, 1) peut
´ eventuellement ˆ etre enlev´ e de l’´ echiquier (d´ eplacement vers (0, 0)) o` u rester sur l’´ echiquier en se d´ epla¸ cant sur une autre case adjacente :
Γ 1
1
= 0
0
, 1
2
, 2
1
, 2
2
Une fois enlev´ e, le roi ne quitte plus la case cible : Γ
0 0
= 0
0
.
Dans la suite, on utilisera une formulation plus g´ en´ erique de la dynamique. En particulier, les contraintes globales pour la dynamique sont ap- pliqu´ ees au graphe des transitions arbitraires plutˆ ot que sur une dynamique plus pr´ ecise.
La dynamique d’un roi est alors d´ efinie par la rela- tion de r´ ecurrence suivante :
∀k ∈ [1, K] , ∀t ∈
1, sup T ¯
− 1
X
k,t+1Y
k,t+1∈ Γ X
k,tY
k,tEn utilisant la formulation bool´ eenne on obtient direc- tement :
∀k ∈ [1, K] , ∀i, j ∈ [1, N ] , ∀t ∈
2, sup T ¯ u
k,i,j,t⇒ _
(
ji00)
∈Γ−1(
ji)
u
k,i0,j0,t−1En plus, on a aussi u
k,i,j,t⇒ ¬ u
k,i,j,t+1.
3 Propagation des contraintes globales
3.1 Indisponibilit´ e des cases
La premi` ere contrainte globale redondante intro- duite dans cette section est une g´ en´ eralisation des contraintes de distance entre les rois. Au cours de la recherche, il est possible de faire des d´ eductions suppl´ ementaires ` a partir de l’information partielle sur la position des rois.
Fig. 5 – D´ eductions de l’indisponibilit´ e des cases
Consid´ erons par exemple l’instance sur la Figure 5.
Quelque soit le mouvement du roi R
kqui se trouve au coin de l’´ echiquier ` a l’instant t donn´ e, les trois cases adjacentes ` a sa position ne pourront pas ˆ etre occup´ ees par autres rois ` a l’instant t + 1. Nous pouvons donc utiliser cette information pour r´ eduire les domaines des variables de position de tous les rois R
k0, k
06= k ` a l’instant t + 1.
Ce m´ ecanisme simple peut ˆ etre ´ etendu comme suit :
on consid` ere ` a un instant t l’intersection I des voisi-
nages de toutes les positions admissibles c.` a.d. pas en-
core interdites pour un roi R
k. Toutes les cases dans I
sont alors adjacentes ` a la position du roi R
k` a l’instant
t + 1. Les autres rois R
k0, k
06= k ne peuvent donc pas se trouver sur l’une des cases de I ` a l’instant t + 1.
On peut remarquer que l’ensemble I est vide si (|dom (X
k) | > 3) ou (|dom (Y
k) | > 3). En cons´ equence, il est facile de v´ erifier que l’algorithme 1 propage toutes les d´ eductions n´ ecessaires sur les va- riables u
k,i,j,t.
Lorsque la position d’un roi est contenue dans un carr´ e 3 × 3, l’algorithme 1 r´ eduit les domaines de variables u
k,i,j,tet sa complexit´ e est lin´ eaire en nombre de rois (O(K)). Cette contrainte globale fait Algorithm 1 Propagation of square unavailability for king R
kat time t
if ((|dom (X
k) | ≤ 3) ∧ (|dom (Y
k) | ≤ 3) then for i in sup (X
k) − 1 .. inf (X
k) + 1 do
for j in sup (Y
k) − 1 .. inf (Y
k) + 1 do for all k
06= k do
u
k0,i,j,t:= false
plus de d´ eductions que les contraintes d’inter-distance bool´ eennes d´ ecrites dans la section pr´ ec´ edente. En fait, les mˆ emes d´ eductions sont r´ ealis´ ees lorsque les va- riables X
k,tet Y
k,tsont instanci´ ees.
3.2 Capacit´ e des rectangles
Le deuxi` eme ensemble de contraintes globales est d´ eriv´ e de la proposition suivante :
Proposition 3.1 Le nombre maximal de rois se trou- vant dans un rectangle l × h ne peut pas exc´ eder
l2 h 2
Preuve: On ne peut pas avoir plus d’un roi dans un rectangle 2 ×2. Le nombre de rois dans un rectangle de taille l × h est donc born´ e par le nombre de rectangles de taille 2 × 2 qu’on peut placer dans ce rectangle. 2 Comme le montre la figure 7, cette limite peut ˆ etre atteinte.
Fig. 6 – Un blocage Fig. 7 – Capacit´ e Cette propri´ et´ e permet de d´ eduire imm´ ediatement que l’instance sur la Figure 6 est bloquante. En effet, les contraintes d´ ecrites dans la Section 3.1 nous per- mettent de d´ eduire que tous les rois de la derni` ere ligne
doivent se d´ eplacer verticalement. ` A partir de cette in- formation on peut voir que la capacit´ e de 6 premi` eres lignes est forc´ ement d´ epass´ ee. Il n’existe donc pas de solution pour cette instance.
De mani` ere plus formelle, on introduit la notation suivante qui indique que le roi R
kse trouve dans le rectangle [i, i + l − 1] × [j, j + h − 1] :
R
k(t) ∈ ([i, i + l − 1] × [j, j + h − 1]) ⇐⇒
(i ≤ X
k,t< i + l) ∧ (j ≤ Y
k,t< j + h) Une solution partielle ne pourra donc pas ˆ etre compl´ et´ ee si la condition suivante est viol´ ee pour un rectangle donn´ e :
∀t ∈
1, sup T ¯
, ∀i, j ∈ [1, N ] , ∀l > 0, ∀h > 0
# ({k|R
k(t) ∈ ([i, i + l − 1] × [j, j + h − 1])})
≤ l l 2
ml h 2 m
o` u #(S) d´ esigne la cardinalit´ e de l’ensemble S.
En outre, si le nombre de rois dans un rectangle donn´ e est ´ egal ` a la capacit´ e de ce rectangle alors les cases ` a l’int´ erieur deviennent “interdites” pour les autres rois. Plus formellement, si pour le rectangle [i, i + l − 1] × [j, j + h − 1] la cardinalit´ e de l’ensemble S = {R
k| R
k(t) ∈ ([i, i + l − 1] × [j, j + h − 1])} des rois se trouvant ` a l’int´ erieur ` a l’instant t est exac- tement
l2 h 2
alors tous les rois sauf ceux dans S sont forcement ` a l’ext´ erieur de ce rectangle ` a l’instant t c.` a.d. ∀R
k, R
k(t) ∈ / S ⇒ R
k(t) ∈ / ([i, i + l − 1] × [j, j + h − 1]).
Algorithm 2 Propagation de la contrainte de capacit´ e d’un rectangle
Require: X
k, Y
k, x
min, x
max, y
min, y
max, t nbS := 0
for all k do
if dom (X
k) × dom (Y
k) ⊆ [x
min, x
max] × [y
min, y
max] then
nbS := nbS + 1 if nbS > l
(xmax−xmin) 2
m l
(ymax−ymin) 2
m then There is no possible solution
if nbS = l
(xmax−xmin) 2
m l
(ymax−ymin) 2