• Nenhum resultado encontrado

Autres exemples

No documento pour obtenir le grade de (páginas 182-187)

7.1 Contraintes arithmetiques lineaires

7.4.3 Autres exemples

ne necessite pas de faire le Tell de toutes les alternatives independamment pour ensuite en extraire l'information commune.

Bien que la plupart des utilisations courantes de la disjonction constructive fassent partie de ce cas, il est interessant d'etudier ce qu'il est possible de faire si nous ne pouvons extraire qu'une approximation, i.e. une formule F telle que E ) F. Dans ce cas, le seul ajout de F au store ne sut pas a assurer la correction et le recours aux points de choix est indispensable. Toutefois, la contrainte F permet deja un certain elagage et la creation des points de choix peut ^etre retardee (par exemple jusqu'au moment de l'enumeration).

Considerons par exemple la disjonctionE =(X=4 ^ Y=3) _ (X=8 ^ Y=6)nous pouvons en deduire F = (X=4 _ X=8) ^ (Y=3 _ Y=6) tel que E ) F. L'ajout de F au store reduira le domaine de X a f4;8g et celui de Y a f3;6g. L'elagage ainsi obtenu est tout de m^eme important et permet de retarder la creation d'un point du choix assurant la correction.

dans le

fX in 5..10, Y in 7..11, Z in 1..12g reduira le domaine de Z a 7::11.

Ordonnancement disjonctif

Dans les problemes d'ordonnancement avec ressources partagees, il est habituel d'imposer que deux t^aches utilisant une m^eme ressource ne puissent pas se derouler ensemble, i.e.

l'une doit s'executer strictement avant l'autre. Soit une t^ache 1 dont la date de debut est T1 et de duree D1 et une t^ache 2 de date T2 et de duree D2. La contrainte de non chevauchement se traduira par :

T1 +D1T2_ T2 +D2T1.

Ce qui se traduit dans le systeme de contraintes FD par :

T1 in 0..max(T2)-D1 ^ T2 in min(T1)+D1..infinity _ T2 in 0..max(T1)-D2 ^ T1 in min(T2)+D2..infinity. Ceci peut alors ^etre deni en clp(FD) comme :

Exemple 7.12

no overlap(T1,D1,T2,D2):-

T1 in 0..max(T2)-D1 : min(T2)+D2..infinity,

T2 in 0..max(T1)-D2 : min(T1)+D1..infinity. 3

Considerons l'ajout de la contrainte no overlap(T1,4,T2,8) dans lestore :

fT1 in 1..10, T2 in 1..10g

entra^nant alors la reduction du domaine deT1 a 1::6[9::10 et de celui deT2 a 1::2[5::10.

Valeur absolue

Dans beaucoup de problemes il est necessaire de pouvoir raisonner sur des distances donc en termes de valeur absolue (ex. placements, allocation de frequences,...). A cet eet, CHIP

propose une contrainte \cablee"distanceet [70] denit une contraintejX YjC. Celle- ci peut ^etre denie enclp(FD)a partir de la denition de X Y (cf. exemple 2.4) comme suit :

Exemple 7.13

'|x-y|>=c'(X,Y,C):- X in min(Y)+C..infinity : 0..max(Y)-C,

Y in min(X)+C..infinity : 0..max(X)-C. 3

Considerons le store :

fX in 1..10, Y in 1..10g

l'ajout de la contrainte'|x-y|>=c'(X,Y,8) reduit le domaine deX et de Y af1;2;9;10g similairement a ce qui est presente dans [70].

7.5 Contraintes denies par des relations

Nous allons nous interesser ici a la denition de contraintes veriant des relations denies en extensions par un ensemble de tuples. Considerons par exemple la relation denissant la multiplication qualitative entre x et y notee xy. L'on ne s'interesse qu'au signe de x et de y qui peut ^etre positif (+), negatif (-) ou indeni (?). Choisissons de coder + par 0, - par 1 et ? par 2. La table de multiplication qualitative se presente donc comme suit :

x y xy

+ + +

+ - -

+ ? ?

- + -

- - +

- ? ?

? + ?

? - ?

? ? ?

x y xy

0 0 0

0 1 1

0 2 2

1 0 1

1 1 0

1 2 2

2 0 2

2 1 2

2 2 2

table A table B

Denissons alors la contrainte mul qualit(X,Y,Z) telle que XY =Z. C'est a dire que

<X;Y;Z >doit verier un des tuples de la table B. Pour cela, introduisons une nouvelle variable T indiquant le numero du tuple solution. Au depart T a donc pour domaine 1::9.

Des lors il nous sut de relier toute colonne de la table B a par une contrainte du type

element(T,i,Vi) ou Vi est la variable associee a la colonne i (i.e. X, Y ou Z). Ceci nous conduit a la denition suivante :

Exemple 7.14

mul qualit(X,Y,Z):- element(T,[0,0,0,1,1,1,2,2,2],X), element(T,[0,1,2,0,1,2,0,1,2],Y),

element(T,[0,1,2,1,0,2,2,2,2],Z). 3

Considerons le store :

fX in 0..2, Y in 0..2, Z in 0..1g

l'ajout de la contrainte mul qualit(X,Y,Z) reduira le domaine deX et de Y a 0::1 car si le signe de Z est deni, ceux de X etY le sont aussi.

Il serait evidemment possible d'ecrire de maniere plus optimisee cette contrainte (en te- nant compte des proprietes de la multiplication qualitative) notamment gr^ace a desAsks.

Toutefois, cette maniere de proceder permet d'encoder declarativement n'importe quelle relation (quelque soit son arite) sans se soucier de ses proprietes. Dans clp(FD), une con- trainte predenie relation(Tuples,Vars) est fournie pour permettre a l'utilisateur de contraindre un tuples de variables (Vars) a prendre comme solution un des tuples fournie sous forme de liste dans Tuples.

Regulation du trac aerien avec

clp(FD)

Nous presentons ici les premiers resultats des travaux menes en collaboration avec le Centre d'Etudes de la Navigation Aerienne (CENA) situe a Orly. Ce centre a la charge de regu- ler le trac aerien traversant tout le territoire francais. Les resultats preliminaires nous ont encourage a ecrire un article [18]. Nous integrons celui-ci tel quel (en anglais) car il correspond a un travail principalement mene par les personnels du CENA. Notre r^ole a consite a aider ces personnes dans la formalisation du probleme et a denir les contraintes speciques necessaires a l'application.

lecontenudecechapitreaetepublieedans[18].

170

Using to Support Air Trac Flow Management

Denise Chemla1;3, Daniel Diaz2, Philippe Kerlirzin1, Serge Manchon1

1 CENA, Orly Sud 205, 94542 Orly Aerogare Cedex, France

2 INRIA, Domaine de Voluceau, 78153 Le Chesnay, France

3 SYSECA, 315, bureaux de la Colline, 92213 Saint-Cloud, France

Abstract.In this paper, a Constraint Logic Programming (CLP) approach is used to solve an Air Trac Flow Management (ATFM) problem, the aircraft departure slot allocation.

Moreover, our purpose is to show that CLP, combining the declarativity of logic program- ming with the eciency of constraint solving, is well suited to model many combinatorial optimization problems involved in the ATFM domain. clp(FD), a Constraint Logic Pro- gramming language with Finite Domain constraints has been chosen to implement our practical application.

No documento pour obtenir le grade de (páginas 182-187)