strat egie de recherche adaptative en programmation par...

70
Universit´ e Paul Sabatier ´ Ecole Nationale de l’Aviation Civile Master 2 Recherche Informatique et T´ el´ ecommunication parcours Intelligence Artificielle Simon Marchal Strat´ egie de recherche adaptative en programmation par contrainte Application ` a l’optimisation de s´ equence de ecollages d’avions Septembre 2010 Directeur de recherche : Nicolas Barnier esum´ e : nous abordons dans ce rapport une strat´ egie de recherche adaptative en programmation par contraintes. Cette strat´ egie est orient´ ee vers les conflits. Suite aux esultats encourageants obtenus, nous avons test´ e plusieurs modifications : sch´ ema de branchement, strat´ egie de red´ emarrage, heuristique Last Conflict et hybridation avec de la recherche locale. Puis, apr` es avoir test´ e nos strat´ egies sur un probl` eme classique de Jobshop Scheduling, nous les avons appliqu´ ees ` a un probl` eme d’optimisation de s´ equence de d´ ecollages d’avions sur un grand a´ eroport. Mots cl´ es : - programmation par contraintes - gestion du trafic a´ erien - heuristiques adaptatives - Weighted Degree

Upload: others

Post on 10-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

Universite Paul Sabatier

Ecole Nationale de l’Aviation Civile

Master 2 Recherche Informatique et Telecommunication

parcours Intelligence Artificielle

Simon Marchal

Strategie de recherche adaptativeen programmation par contrainte

Application a l’optimisation de sequence de

decollages d’avions

Septembre 2010

Directeur de recherche : Nicolas Barnier

Resume : nous abordons dans ce rapport une strategie de recherche adaptative enprogrammation par contraintes. Cette strategie est orientee vers les conflits. Suite auxresultats encourageants obtenus, nous avons teste plusieurs modifications : schema debranchement, strategie de redemarrage, heuristique Last Conflict et hybridation avec dela recherche locale. Puis, apres avoir teste nos strategies sur un probleme classique deJobshop Scheduling, nous les avons appliquees a un probleme d’optimisation de sequencede decollages d’avions sur un grand aeroport.

Mots cles :- programmation par contraintes - gestion du trafic aerien- heuristiques adaptatives - Weighted Degree

Page 2: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

Table des matieres

Introduction 1

1 Strategie de recherche adaptative 31.1 Programmation par contraintes . . . . . . . . . . . . . . . . . . . . . . . 3

1.1.1 Problemes de satisfaction de contraintes . . . . . . . . . . . . . . 31.1.2 Algorithmes de resolution des CSP . . . . . . . . . . . . . . . . . 51.1.3 Presentation de FaCiLe . . . . . . . . . . . . . . . . . . . . . . . 7

1.2 Heuristiques de choix de variables . . . . . . . . . . . . . . . . . . . . . . 81.3 Heuristique de choix de variable Weighted Degree . . . . . . . . . . . . . 10

1.3.1 Heuristique de choix de variable dirigee par les conflits . . . . . . 101.3.2 Exemple illustratif des Queens and Knights . . . . . . . . . . . . 111.3.3 Experimentation complementaire . . . . . . . . . . . . . . . . . . 141.3.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2 Quelques tentatives d’ameliorations 192.1 Schema de branchement . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.1.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.1.2 Reprise de l’exemple illustration des Queens and Knights . . . . 212.1.3 Experimentation complementaire . . . . . . . . . . . . . . . . . . 212.1.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.2 Strategie de redemarrage . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.2.1 Presentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.2.2 Etude experimentale des parametres . . . . . . . . . . . . . . . . 252.2.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2.3 Heuristique Last Conflict . . . . . . . . . . . . . . . . . . . . . . . . . . 292.3.1 Presentation de l’heuristique . . . . . . . . . . . . . . . . . . . . 292.3.2 Algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292.3.3 Reprise de l’exemple illustration des Queens and Knights . . . . 302.3.4 Experimentation complementaire . . . . . . . . . . . . . . . . . . 302.3.5 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

2.4 Une hybridation avec de la recherche locale . . . . . . . . . . . . . . . . 332.4.1 Introduction a la recherche locale . . . . . . . . . . . . . . . . . . 332.4.2 Hybridation sequentielle . . . . . . . . . . . . . . . . . . . . . . . 36

i

Page 3: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

2.4.3 Experimentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 412.4.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3 Application a un probleme de gestion du trafic aerien 443.1 Presentation de la gestion du trafic aerien . . . . . . . . . . . . . . . . . 443.2 Probleme de Job Shop Scheduling . . . . . . . . . . . . . . . . . . . . . . 45

3.2.1 Presentation du probleme . . . . . . . . . . . . . . . . . . . . . . 453.2.2 Modelisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453.2.3 Strategie de recherche . . . . . . . . . . . . . . . . . . . . . . . . 463.2.4 Experimentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 483.2.5 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

3.3 Probleme de sequencement d’avion au decollage . . . . . . . . . . . . . . 503.3.1 Presentation du probleme . . . . . . . . . . . . . . . . . . . . . . 503.3.2 Ressemblance avec le probleme de Job Shop Scheduling . . . . . 503.3.3 Modelisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513.3.4 Strategie de recherche . . . . . . . . . . . . . . . . . . . . . . . . 533.3.5 Experimentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 533.3.6 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

Conclusion 55

ii

Page 4: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

Table des figures

1.1 Arbres de recherche en fonction de l’ordre des variables . . . . . . . . . 91.2 Exemple d’une solution au probleme des 8-reines. . . . . . . . . . . . . . 111.3 Deplacement possible d’un cavalier (a gauche) et cycle solution du probleme

des 6-cavaliers sur un echiquier de 64 cases (a droite). . . . . . . . . . . 121.4 Comparaison de l’heuristique maxwdeg et min dom

ddeg sur differentes ins-tances aleatoires. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.5 Comparaison de l’heuristique min domwdeg et min dom

ddeg sur differentes ins-tances aleatoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.1 Exemple d’un arbre de branchement non binaire . . . . . . . . . . . . . 202.2 Exemple d’un arbre de branchement binaire . . . . . . . . . . . . . . . . 202.3 Comparaison de l’heuristique min dom

wdeg avec des branchements non bi-naires (en abscisse) et binaires (en ordonnee) sur differentes instancesaleatoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.4 La premiere ligne concerne la strategie WTDI et la seconde concerne lastrategie RNDI. Les graphiques de droite sont les resultats experimentauxen utilisant en plus une strategie geometrique : on etudie les parametresraison (q) et nombre de backtracks initial (C0) avec un nombre de runsfixe a 50. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

2.5 Comparaison de l’heuristique min domddeg (en abscisse) et cette meme heuris-

tique avec Last Conflict (en ordonnee) sur differentes instances aleatoires. 312.6 Comparaison de l’heuristique min dom

wdeg (en abscisse) et cette meme heu-ristique avec Last Conflict (en ordonnee) sur differentes instances aleatoires. 32

2.7 Comparaison de l’heuristique min dom avec une recherche locale Min-Conflict avec Liste Tabu . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

2.8 Hybridation sequentielle des deux types de recherche. . . . . . . . . . . . 402.9 Resultats obtenus en fixant ltabu a 50. . . . . . . . . . . . . . . . . . . . 422.10 Resultats obtenus en fixant nbIterationsmax a 2000. . . . . . . . . . . . 432.11 Resultats obtenus en fixant ltabu a 1,75. . . . . . . . . . . . . . . . . . . 43

3.1 Illustration d’un probleme de Job Shop ou 3 jobs doivent utiliser 3 ma-chines differentes dans un ordre defini. . . . . . . . . . . . . . . . . . . . 46

3.2 Une solution optimale au probleme de Job Shop de la figure 3.1. . . . . 473.3 Resultats experimentaux . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

iii

Page 5: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

3.4 Une solution optimale d’une instance enonce par J.F. Muth et G.L. Thomp-son du probleme de Job Shop. . . . . . . . . . . . . . . . . . . . . . . . 49

3.5 Cout en fonction de l’ecart au temps CFMU . . . . . . . . . . . . . . . . 513.6 Separation en fonction des types de mouvement et des categories avions. 513.7 Resultats experimentaux a differentes heures de la journee. . . . . . . . 543.8 Resultats obtenus en fixant ltabu a 50 (figure 2.9 page 42). . . . . . . . . 573.9 Resultats obtenus en fixant nbIterationsmax a 2000 (figure 2.10 page 43). 583.10 Resultats obtenus en fixant ltabu a 1,75 (figure 2.11 page 43). . . . . . . 593.11 Resultats obtenus pour la piste 27 a 8h00. . . . . . . . . . . . . . . . . 613.12 Resultats obtenus pour la piste 27 a 13h00. . . . . . . . . . . . . . . . . 62

iv

Page 6: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

Liste des tableaux

1.1 Resultats experimentaux des problemes queensKnights-n-k. . . . . . . . 131.2 Nombre totale de solutions au probleme des n-Queens en fonction du

nombre de reines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141.3 Nombre totale de backtracks pour prouver l’inconsistance du probleme

des Knights en fonction de la taille de l’echiquier pour 5 cavaliers. . . . 141.4 Resultats sur differentes instances du probleme Radio Link Frequency

Assignment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.5 Resultats sur differentes instances modifiee du probleme Radio Link Fre-

quency Assignment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.6 Resultats sur differentes instances modifiee de l’instance 11 du probleme

Radio Link Frequency Assignment. . . . . . . . . . . . . . . . . . . . . . 16

2.1 Resultats experimentaux des problemes queensKnights-n-k. . . . . . . . 212.2 Resultats experimentaux complementaires des problemes queensKnights-

n-k. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.3 Resultats experimentaux des problemes queensKnights-n-k. . . . . . . . 222.4 Resultats experimentaux en secondes et en nombre de backtracks total

(btks) avec differents parametres pour la strategie WTDI sur l’instanceSCEN11-F10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

2.5 Resultats experimentaux en secondes et en nombre de backtracks total(btks) avec differents parametres pour la strategie RNDI sur l’instanceSCEN11-F10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

2.6 Resultats experimentaux des problemes queensKnights-n-k. . . . . . . . 302.7 Resultats experimentaux des instances du probleme Radio Link Frequency

Assignement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332.8 Illustration de l’initialisation gloutonne sur le probleme des 4-Queens. . 362.9 Execution de l’algorithme Min-Conflict sur le probleme des 4-Queens. . 372.10 Illustration du lissage d’un minimum local par ponderation des contraintes

violees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

v

Page 7: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

Introduction

Dans notre vie quotidienne, la notion de contrainte est naturellement tres presente :il s’agit aussi bien de ranger des objets de formes differentes dans une boıte, d’etablirdes emplois du temps ou meme de planifier le trafic aerien pour limiter les retards.Pour resoudre ces problemes varies, il faut envisager souvent un tres grand nombre decombinaisons avant d’en trouver une qui satisfasse toutes les contraintes. Integree a unlangage de programmation, la programmation par contraintes est un nouveau paradigmede programmation pour formuler et resoudre ces problemes combinatoires.

� Constraint programming represents one of the closest approaches computerscience has yet made to the Holy Grail of programming : the user states theproblem, the computer solves it. � 1

Eugene C. Freuder

Dans un cas ideal, l’utilisateur definit le probleme a resoudre, le donne ensuite a l’or-dinateur, l’ordinateur le resout et donne une solution. En raison de l’aspect fortementcombinatoire des problemes a traiter, la puissance de calcul actuelle des ordinateurs nesuffit pas pour examiner toutes les combinaisons possibles en un temps acceptable. C’estpourquoi, on essayera plutot de definir le probleme a resoudre pour qu’il soit resolu effica-cement, c’est-a-dire avec un minimum d’effort, puis on donnera a l’ordinateur des pistesde resolution en introduisant des raisonnements et des heuristiques issues traditionnel-lement de � l’intelligence artificielle � et qui permettent de reduire la combinatoire etde guider la recherche vers les bonnes combinaisons.

Les domaines de l’aeronautique et de la gestion du trafic aerien presentent de nom-breux problemes d’optimisation combinatoire encore mal resolus, et utiliser la program-mation par contraintes dans ce cadre presente de nombreux avantages : on beneficiepar exemple des avances et des recherches issues d’une communaute importante et dedomaines d’application varies. Contrairement a un algorithme specifique, la program-mation par contraintes permet egalement de disposer d’un large eventail d’algorithmesgeneriques de sorte qu’une modification du probleme initial (comme ajouter de nou-velles contraintes par exemple) ne necessite pas forcement de modifier l’algorithme de

1. � La programmation par contraintes represente une des avancees qui se rapproche le plus duSaint Graal de la programmation que l’informatique ait jamais realisee : l’utilisateur definit le probleme,l’ordinateur le resout. �

1

Page 8: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

resolution. C’est pour ces raisons que le choix de la programmation par contraintessemble particulierement interessant.

Bien evidemment, les problemes de gestion du trafic aerien, comme beaucoup d’autresproblemes, necessitent que l’on guide la recherche pour obtenir une solution en un tempsacceptable. C’est pourquoi, nous avons tente dans notre premier chapitre une approchebasee sur une strategie de recherche adaptative introduite dans [3]. Dans un second cha-pitre, nous avons experimente diverses techniques permettant d’ameliorer la strategie derecherche de solution decrite dans le premier chapitre. Enfin, dans un troisieme chapitre,en se fondant sur des travaux realises sur les manieres de � formuler � un probleme deJobshop Scheduling 2, nous appliquons les strategies de recherche de solution presenteesdans les deux premiers chapitres sur un probleme de sequencement d’avions au decollaged’un aeroport.

2. Programmation des taches a effectuer sur les machines d’un atelier de production.

2

Page 9: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

Chapitre 1

Strategie de recherche adaptative

1.1 Programmation par contraintes

1.1.1 Problemes de satisfaction de contraintes

De nombreux problemes peuvent etre formules comme des problemes de satisfac-tion de contraintes (Constraint Satisfaction Problem, CSP) : un formalisme generiquepermet de les modeliser. On trouve par exemple de nombreux problemes d’ordonnan-cement, d’allocation de ressource, emploi du temps, etc. L’exemple 1 est un problemesimple introductif aux problemes de satisfaction de contraintes.

Exemple 1. Exemple du cryptogramme SEND+MORE=MONEY. Le but est d’associerun chiffre different a chaque lettre tel que la somme soit verifiee.

S E N D+ M O R E

M O N E Y

Une contrainte est une relation entre des inconnues ou variables d’un problemequi restreint les combinaisons de valeurs qu’elles peuvent prendre simultanement. Denombreuses contraintes arithmetiques comme les equations, inequations, disequationslineaires ou non peuvent etre definies. De plus, des contraintes plus sophistiquees, ditessymboliques, peuvent permettre par exemple de specifier qu’un ensemble d’inconnuesdoivent avoir des valeurs distinctes (Alldiff), de specifier le nombre d’occurrences d’unevaleur dans un ensemble de variables (Cardinalite generalisee), etc. Ces contraintesarithmetiques et symboliques sont dotees de semantiques particulieres et sont exprimeesen intention. Il est egalement possible d’exprimer des contraintes sur des variablesdiscretes en donnant la liste exhaustive des tuples de valeurs autorisees ou interdites.Ces contraintes sont dites en extension.

On notera vars (c) l’ensemble des variables associe a une contrainte c. On diraqu’une contrainte c lie ou implique une variable v si et seulement si v appartient a

3

Page 10: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

vars(c). L’arite d’une contrainte c est le nombre de variables liees par celle-ci, c’est-a-dire |vars(c)|. Dans la litterature, il est souvent fait reference a des contraintes binaires,c’est-a-dire des contraintes qui lient deux variables.

Les inconnues ou variables prennent leur valeurs dans un domaine defini initialement.Ces domaines peuvent representer les booleens, les entiers, les rationnels, les intervallesde nombres flottants, les ensembles, les listes finies, etc. On remarquera que la complexitede la resolution d’un probleme depend de son domaine : par exemple polynomiale pourles equations lineaires sur les reels et exponentielle lorsqu’il s’agit d’entiers. On noteradom (v) le domaine de la variable v. Le degre d’une variable v note deg (v) est le nombrede contraintes liant celle-ci.

Definition 1. Un reseau de contraintes (Constraint Network) est un couple ( V, C) ou :– V est un ensemble fini de n variables telles qu’a chaque variable v est associe un

domaine dom(v), indiquant l’ensemble de valeurs autorisees pour v ;– C est un ensemble fini de e contraintes telles qu’a chaque contrainte c est associee

une relation rel(c) indiquant l’ensemble des tuples de valeurs autorisees pour lesvariables vars(c) ⊆ H impliquees par la contrainte c.

La definition 1 explicite la notion de reseau de contraintes qui permet de definir unprobleme de satisfaction de contraintes. On notera qu’un tuple T sera dit autorise parune contrainte c lorsque T ∈ rel (c).

On peut illustrer la definition 1 sur l’exemple 1 precedent. L’ensemble des variablessera alors V = {S,E,N,D,M,O,R, Y }. Le domaine de chacune de ces variables sera :

dom(X) =

{[0; 9] si X ∈ {S,E,N,D,O,R, Y }[1; 9] si X = M

Enfin, l’ensemble des contraintes sera simplement le suivante :

C = { 103 × S + 102 × E + 10×N +D+103 ×M + 102 ×O + 10×R+ E

= 104 ×M + 103 ×O + 102 ×N + 10× E + YS 6= E, S 6= N , S 6= D, S 6= M , S 6= O, S 6= R, S 6= Y , E 6= . . .}

Dans l’exemple precedent, le but est de trouver simplement une solution qui satis-fait les contraintes. Certains problemes peuvent demander d’autres types de resultats :trouver toutes les solutions qui satisfont les contraintes, trouver toutes les solutions quisatisfont les contraintes et qui minimisent ou maximisent un critere, prouver que leprobleme n’a pas de solution, trouver la solution qui minimise le nombre de contraintesnon satisfaites, etc.

4

Page 11: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

Enfin, il sera utile dans la suite d’utiliser des contraintes dites reifiee. La reificationd’une contrainte c introduit une nouvelle variable booleenne contrainte a etre egale a1 si c est satisfaite et a 0 si elle est violee. On peut alors ensuite utiliser ces nouvellesvariables pour poser d’autres contraintes.

1.1.2 Algorithmes de resolution des CSP

Cette section presente essentiellement les algorithmes exacts de recherche arbo-rescente de resolution des CSP. Les algorithmes approches de recherche locale serontpresentes dans la section 2.4.1.

Les algorithmes de recherche constructive manipulent souvent des instanciationspartielles en cherchant a les etendre pour obtenir une instanciation totale. Ces instan-ciations doivent satisfaire chaque contrainte du probleme pour qu’une solution puisseetre obtenue (instanciation consistante). Une contrainte c est satisfaite si et seulementsi l’instanciation est autorisee par la contrainte c. Une solution d’un CSP se caracterisedonc simplement par une instanciation totale et consistante. On dira qu’un CSP estconsistant s’il a au moins une solution et inconsistant s’il n’a aucune solution. Onremarque que determiner si un probleme est consistant ou non est, en theorie de lacomplexite, un probleme NP-Complet.

Definition 2. Instanciation partielleSoit un reseau de contrainte ( V, C). Une instanciation partielle I est definie par uncouple I = (VI , T ) tel que :

– VI = {vI1 , . . . , vIk} ⊆ V est le sous-ensemble des variables sur lequel porte l’ins-tanciation ;

– T = (tI1 , . . . , tIk) ∈ dom (vI1)× · · · × dom (vIk) est un tuple de valeurs prises dansles domaines des variables a instancier.

Definition 3. Instanciation totaleSoit un reseau de contrainte ( V, C). Une instanciation totale I = (VI , T ) est uneinstanciation partielle pour laquelle VI = V.

La methode la plus simple pour chercher une solution d’un CSP est d’enumerertoutes les instanciations totales possibles et verifier a chaque fois si elles sont consis-tantes ou non. Cette methode � naıve � est appelee generer et tester. On remarque qu’ilfaut eventuellement parcourir tout l’espace de recherche avant de trouver une solutionou si l’on souhaite obtenir un optimum ou l’ensemble des solutions. La complexite d’untel algorithme est alors exponentielle avec le nombre de variables.

Afin de parcourir l’espace de recherche systematiquement, on structure la recherchesous la forme d’un arbre : chaque nœud correspond a une instanciation partielle ; chaquefils correspond a l’extension de l’instanciation partielle du nœud parent avec une nou-velle variable et une valeur differente des autres fils. On parcours cet arbre en profondeur

5

Page 12: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

d’abord. Ce type de recherche constitue la fondation des algorithmes systematiques.

L’algorithme generer et tester a pour defaut de ne verifier la satisfaction des contrain-tes qu’une fois l’instanciation totale obtenue. Au lieu d’attendre que toutes les variablessoient instanciees pour tester la satisfaction des contraintes, on peut plutot tester la sa-tisfaction d’une contraintes c des que toutes ses variables sont instanciees. En detectantqu’une instanciation partielle est inconsistante si elle viole une contrainte, on pourraelaguer le sous-arbre de recherche correspondant a ses extensions et reduire ainsi l’es-pace de recherche. Il suffit alors d’effectuer un retour arriere appele aussi backtrack dansl’arbre de recherche jusqu’au nœud parent qui offre encore une branche non explore :on revient alors a nouveau a une instantiation partielle consistante. Cependant, la com-plexite de ce type d’algorithme reste exponentielle en pire cas.

Cependant, cette strategie de retour arriere presente des inconvenients et n’exploitepas la structure des CSP. En effet, la technique de backtrack presente remet en causela derniere variable instanciee alors qu’elle n’est pas forcement la cause de l’echec. Ilexiste des algorithmes de � backtracks intelligents � comme les techniques de backjum-ping propose dans [6] par exemple qui essaye d’effectuer un retour arriere directementvers une variable responsable de l’echec. Ce genre de methode fait partie des techniquesretrospectives (look-back). De plus, au lieu d’attendre que toutes les variables liees a unecontrainte soient instanciees pour la verifier, on peut inferer des echecs bien avant gracea des techniques prospectives (look-ahead) : on peut definir des proprietes de consistancelocale (la consistance globale reviendrait a resoudre un CSP) qui permettent de simplifierle CSP en eliminant des valeurs de leur domaine pour eviter des echecs a priori gracea des algorithmes de complexite polynomiale. Ces techniques de consistance ont faitl’objet de tres nombreuses recherches, notamment sur les algorithmes d’arc-consistance.Il existe egalement une autre forme de consistance, la consistance aux bornes, ou onelimine les valeurs uniquement aux bornes du domaines : ce type d’algorithme est plusrapide puisqu’on ne considere que les bornes du domaine. Cette phase d’inference a lieunotamment a chaque nœud de l’arbre de recherche : apres avoir instancie une variable,on essaye de deduire un certain nombre de connaissances. Cette phase est appele propa-gation de contraintes.

Ainsi, le principe generale de resolution de CSP peut alors se resumer en 2 phases :propagation de contraintes et elagage, puis exploration. On notera que ces algorithmesde recherche ont une caracteristique importante : la completude 1. Reste encore un pointimportant : l’ordre d’instanciation des variables. En effet, cet ordre est primordial etdeux ordres d’instanciation differents peuvent avoir des efficacites tres differentes. C’estle sujet aborde dans les sections suivantes : apres une courte introduction a FaCiLe, lalibrairie de programmation par contraintes utilisee pour nos implementation, on parlerades heuristiques de choix de variables et notamment de celles dirigees vers les conflits.

1. Un algorithme est complet s’il garantit de trouver la solution du probleme en un temps fini.

6

Page 13: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

1.1.3 Presentation de FaCiLe

Le concept de programmation par contraintes est a l’origine issu d’une volonte d’ex-tension des systemes Prolog. Integre a un langage de programmation, la programmationpar contrainte offre un langage de modelisation d’un CSP et un langage de parametragede la recherche. Elle permet egalement de separer le modele des procedures de recherchede solution : ainsi, une modification du modele n’entraine pas forcement une modifica-tion des algorithmes de recherche de solution.

FaCiLe, pour � Functional Constraints Library � est une librairie de programma-tion par contraintes developpee par N.Barnier et P. Brisset. Cette librairie est simple,concise et Open Source 2. Elle est completement ecrite en Objective Caml 3.

La librairie assure de nombreuses fonctionnalites. Par exemple, des modules per-mettent de representer les domaines et les variables avec gestion d’une traınee (trai-ling) utile pour les backtracks. Des modules permettent egalement de representer descontraintes arithmetiques, globales (Alldiff, Cardinalite generalisee, Tri, etc.) ainsi quedes contraintes utilisateurs. La librairie est egalement dotee d’un mecanisme d’evene-ments qui permet d’attacher un objets reactif a un evenement, c’est-a-dire une contrainte.Elle possede egalement un langage des buts expressif : FaCiLe controle la recherche desolution avec des buts explores traditionnellement en profondeur d’abord. Enfin, d’autresmecanismes generiques sont proposes par la librairie comme les references backtrackablesqui permettent de faire � vivre � des structures de donnees avec le backtrack ou les in-variants qui permettent de maintenir des structures de donnees liees fonctionnellemententre elles. Plus de details sur FaCiLe sont donnes dans [2].

2. on peut la telecharger sur www.recherche.enac.fr/opti/facile

3. Le site officiel : caml.inria.fr, un langage de programmation fonctionnel, egalement Open Sourceet developpee a l’INRIA.

7

Page 14: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

1.2 Heuristiques de choix de variables

De nombreux efforts ont ete effectues sur l’ordre dans lequel on assigne les variablesau cours de la recherche. En effet, selon les choix que l’on effectue, on peut obtenir desperformances tres differentes. Cette section presente les heuristiques de choix de variable.

On distingue generalement trois categories permettant de classer les heuristiques dechoix de variables :

1. Les heuristiques statiques : l’ordre de choix de variables est etabli a partir de lastructure initiale du probleme. Le meme ordre est conserve tout au long de larecherche. Les heuristiques les plus repandues sont generalement :– lexico : l’ordre des variables est l’ordre lexicographique, c’est-a-dire la variableVi sera choisie avant la variable Vj si i < j ;

– max deg : les variables sont choisies suivant l’ordre decroissant de leur degre(c’est-a-dire le nombre de contraintes auxquelles elles sont liees) initial ;

– max ddeg : les variables sont choisies suivant l’ordre decroissant de leur degrecourant. Cette heuristique est appele degre dynamique mais un tel ordre peutetre calcule initialement, c’est pourquoi il s’agit d’une heuristique statique.

2. Les heuristiques dynamiques : l’ordre de choix de variables exploite l’etat courantdu probleme. C’est par exemple le cas de l’heuristique min dom qui consiste aordonner les variables suivant l’ordre croissant de la taille de leur domaine. Ilexiste egalement des heuristiques combinant taille du domaine et degre initial notemin dom

deg et sa variante utilisant le degre courant note min domddeg . Ces heuristiques

sont interessantes car elles peuvent ameliorer les performances de recherche : ellessont notamment beaucoup plus efficace que les heuristiques statiques car ellesexploitent les informations obtenues durant la resolution du probleme.

3. Les heuristiques adaptatives : l’ordre de choix de variables exploite l’etat courantdu probleme mais aussi des informations sur les etats passes collectees pendantla recherche. Les heuristiques que l’on presentera par la suite font partie de cettecategorie (les heuristiques de choix de variables dirigee vers les conflits et l’heuris-tique Last Conflict).

Il est tres important de bien choisir l’ordre dans lequel un algorithme de rechercheva choisir les variables a assigner. Pour une meme instance, des heuristiques de choix devariables differentes peuvent avoir des efficacites tres variees.

Afin de justifier l’utilisation de l’heuristique min dom par exemple, on trouve dans[12] une justification basee sur le principe fail-first suivant :

� To succeed, try first where you are most likely to fail. � 4

Pour reduire l’espace de recherche, il est plus avantageux de couper l’arbre de re-cherche le plus proche possible de la racine plutot que proche des feuilles car on reduit da-vantage l’espace de recherche lorsqu’on est pres de la racine. Ce principe sera egalement

4. � Pour reussir, essayons d’abord la ou l’on est le plus susceptible d’echouer �

8

Page 15: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

a la base de la justification des heuristiques presentes dans les sections suivantes.

Pour bien comprendre l’importance de l’ordre d’instanciation des variables, consi-derons l’exemple suivant sur trois variables A, B et C. Le domaine de A contient 3elements et ceux de B et C en contiennent chacun 2. On suppose qu’il faut l’integralitede l’espace de recherche (pour prouver une inconsistance par exemple) et que les pro-pagations ne reduisent pas les domaines des variables. La figure 1.1 montre les arbresde recherche que l’on obtiendrait en supposant que l’on considere l’ordre d’instanciationdes variables lexico (A, B puis C) ou min dom (B, C puis A). On s’apercoit alors quel’ordre lexico explorera plus de noeuds que min dom pour prouver la meme inconsistance.Reduire le nombre de noeuds implique egalement reduire le nombre de propagation decontraintes, phase qui necessite beaucoup de temps de calcul. C’est pourquoi l’heuris-tique de choix de variable est si importante.

lexico min dom(22 noeuds) (19 noeuds)

Figure 1.1 – Arbres de recherche en fonction de l’ordre des variables

On notera pour finir qu’il est egalement possible qu’une heuristique ne permettepas de departager un sous-ensemble de variables appele aussi Tie (par exemple si ellesont la meme taille de domaine pour l’heuristique min dom) : dans ce cas, on choisiraimplicitement ensuite l’ordre lexicographique.

9

Page 16: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

1.3 Heuristique de choix de variable Weighted Degree

Afin d’introduire l’heuristique Weighted Degree, nous avons suivi la demarche presen-te dans [3]. On commencera par presenter l’heuristique que l’on testera sur un premierexemple illustratif afin de comprendre comment agit cette heuristique. Puis, nous teste-rons egalement sur d’autres problemes que l’on expliquera dans cette partie.

1.3.1 Heuristique de choix de variable dirigee par les conflits

Les heuristiques de choix de variable � classiques � n’exploitent au mieux que l’etatcourant de la recherche (heuristiques dynamiques). Aucune information sur les etatspasses n’est exploitee. Dans [3], on propose alors de ponderer les contraintes en in-troduisant un compteur note weight associe a chaque contrainte qui comptabilisera lenombre de fois que la propagation de la contrainte a mene a un echec (conflit). L’interetprincipal des heuristiques dirigees par les conflits est d’exploiter des informations sur lesetats passes afin d’isoler les parties difficiles ou inconsistantes d’un probleme.

Pour toute contrainte Ci, on notera weight (Ci) le compteur precedemment intro-duit. De plus, on notera egalement futV ars (Ci) l’ensemble des variables non assignees(appelee aussi variables futures) liees a Ci. On definit alors une nouvelle heuristique dechoix de variables notee maxwdeg appelee Weighted Degree (degre pondere). Sa fonctiond’evaluation des variables αwdeg pour la variable Vi est donnee par :

αwdeg (Vi) =∑

Vi∈vars(Cj)∨|futV ars(Cj)|>1

weight (Cj)

Le degre pondere d’une variable Vi est alors la somme des poids de toutes les contraintesimpliquant Vi et au moins une autre variable non affectee. En remarquant que la pro-pagation des contraintes des parties les plus difficiles voire inconsistante va echouer plussouvent, le compteur weight de ces contraintes va augmenter au cours de la rechercheet le degre pondere des variables liees a ces contraintes va egalement augmenter. Ce quiimplique qu’en choisissant en premier les variables de degre pondere le plus eleve, larecherche de solution sera orientee vers ces parties difficiles ou inconsistantes. On re-monte alors vers la racine de l’arbre de recherche les variables qui risquent d’engendrerun echec rapidement. On suit alors le principe fail-first explique precedemment.

De plus, on fixera initialement les compteurs weight a 1. Ainsi, la fonction d’evalua-tion d’une variable donnee ne prendra en compte initialement que les contraintes im-pliquant cette variable et au moins une autre variable encore non assignee. maxwdegest alors equivalent a max ddeg lorsque tous les compteurs weight sont fixes a 1. Onbeneficie alors du degre des variables au debut de la recherche de solution.

Enfin, on notera min domwdeg l’heuristique qui selectionne en premier les variables de

plus petit rapport entre la taille courante du domaine de la variable et son degre ponderecourant. Initialement, lorsque tous les poids sont fixes a 1, on a alors une heuristique

10

Page 17: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

equivalente a min domddeg .

Il peut arriver que l’ordre genere par ces heuristiques fasse apparaıtre des variablesequivalentes, c’est-a-dire dont la fonction d’evaluation est egale. Dans ce cas, si rienest mentionne, on choisira alors implicitement lexico pour departager ces variables. Onappellera heuristiques de choix de variables dirigees par les conflits les deux heuristiquesmax ddeg et min dom

wdeg presentees precedemment.

1.3.2 Exemple illustratif des Queens and Knights

Le but de cet exemple est d’illustrer le phenomene de thrashing et de montrer l’interetdes heuristiques de choix de variable dirigees par les conflits. Le thrashing est le faitd’explorer plusieurs fois la meme inconsistance.

Description du probleme

Ce probleme des Queens and Knights est ne de la fusion de deux problemes. Il possedeun sous-probleme inconsistant qui permettra d’illustrer l’interet des heuristiques de choixde variables dirigees par les conflits.

Le premier probleme est le probleme classique des n-Queens. On dispose d’un echi-quier de taille n × n sur lequel on cherche a placer n reines de telle sorte qu’aucunereine ne soit attaquee par une autre. Les reines attaquent soit en ligne droite (verticaleet horizontale), soit en diagonale. Un exemple de solution est donne figure 1.2.

Figure 1.2 – Exemple d’une solution au probleme des 8-reines.

Le second probleme est celui des Knights illustre par la figure 1.3. On dispose d’unechiquier de taille n× n sur le quel on souhaite placer k cavaliers de telle sorte que lescavaliers forment un cycle. Un cycle est constitue des k cavaliers et chacun d’entre euxest lie au suivant (modulo k) par un saut, c’est-a-dire un deplacement d’une case dansun sens puis de deux cases dans l’autre ou d’un deplacement de deux cases dans un

11

Page 18: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

sens puis d’une dans l’autre sens. Pour obtenir un cycle, on peut noter par exemple lesvariables representants les cavaliers Xi, i ∈ [1; k]. Chaque variable Xi a pour domaine[0;n2

[, chaque valeur representant une case differente de l’echiquier. Puis, pour tout

i ∈ [1; k] et j = i+ 1 mod k, on peut poser les contraintes :

(|vi−vjn | = 1 ∧ |vi − vj mod n| = 2

)∨(|vi−vjn | = 2 ∧ |vi − vj mod n| = 1

)La figure 1.3 rappelle les deplacements d’un cavalier et presente une solution a un

probleme des cavaliers pour k = 6. On remarque enfin que ce probleme est inconsistantpour les valeurs de k impaires.

Figure 1.3 – Deplacement possible d’un cavalier (a gauche) et cycle solution duprobleme des 6-cavaliers sur un echiquier de 64 cases (a droite).

En fusionnant de maniere independante ces deux problemes, celui des n-Queens et ce-lui des Knights, et en choisissant un nombre impair de cavaliers, on obtient un problemecontenant un sous probleme inconsistant (celui des cavaliers).

Afin de pouvoir verifier et comparer nos resultats, nous avons utilise la modelisation(representee au format XCSP decrite en annexe) disponible sur le site de C. Lecoutre 5.Le probleme des n-Queens est represente de maniere classique : chaque reine est placeesur une ligne et on lui associe une variable dont le domaine comprend n valeurs quirepresentent sa colonne. Des contraintes binaires garantissent que chaque reine n’est pasattaquee par une autre. Le probleme des cavaliers est represente par k variables dontle domaine comprend n2 valeurs qui representent la position de chaque cavalier dansl’echiquier. Des contraintes binaires representent le fait que chaque cavalier occupe unecase differente et qu’ils forment un cycle.

5. http://www.cril.univ-artois.fr/~lecoutre

12

Page 19: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

Experimentation et Comparaison

Nous avons implemente les heuristiques dirigees par les conflits dans FaCiLe puisnous les avons testees sur le probleme des Queens and Knights decrit precedemment.On les a egalement testees sur une variante de ce probleme qui consiste a interdire enplus qu’une reine et un cavalier occupe la meme case de l’echiquier. Nous avons reprisla demarche de [3] afin de pouvoir verifier les resultats obtenus.

instance heuristique classique variantebacktracks temps (s) backtracks temps (s)

queensKnights-8-5 min dom 6049 4.235 5305 4.496

min domddeg 6049 4.247 5305 4.477

maxwdeg 717 0.499 696 0.718

min domwdeg 726 0.499 1091 1.004

queensKnights-10-5 min dom 75181 86.198 67893 96.903

min domddeg 75181 87.281 67893 96.223

maxwdeg 2309 2.735 2250 3.934

min domwdeg 2863 3.349 2901 4.773

queensKnights-12-5 min dom − > 300 − > 300

min domddeg − > 300 − > 300

maxwdeg 4918 8.977 4830 13.074

min domwdeg 6141 10.898 6474 16.313

Table 1.1 – Resultats experimentaux des problemes queensKnights-n-k.

Analyse

La force de l’approche des heuristiques dirigees par les conflits est d’identifier lesparties les plus difficiles a satisfaire. Sur l’exemple, on constate que les heuristiquesmaxwdeg et min dom

wdeg vont prouver l’insatisfiabilite des problemes rapidement. Les heu-

ristiques classiques min dom et min domddeg ont un comportement different : en effet, en

comparant les resultats obtenues avec ceux des tableaux 1.2 et 1.3 qui presentent lenombre de solutions au probleme des n-Queens et le nombre de branchements necessairesa prouver l’inconsistance du probleme des Knights, on s’apercoit que ces heuristiquessont fortement soumis au thrashing. Si on multiplie simplement le nombre de solutiondu probleme des n-Queens par le nombre de backtracks necessaire pour prouver l’incon-sistance du probleme des Knights, on obtient sensiblement le meme resultat que ceuxdu tableau 1.1. L’algorithme de recherche de solution redecouvre plusieurs fois la memeinconsistance. Par exemple, en effectuant 724× 100, on obtient 72400 ce qui est prochede 75181 (la difference s’explique par le nombre de backtracks necessaire pour trouvertoutes les solutions des n-Queens). Ainsi, les heuristiques dirigees par les conflits ont

13

Page 20: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

l’avantage d’eviter le thrashing en ponderant les contraintes les plus difficiles a satisfaire,c’est-a-dire celles liees aux cavaliers.

n (nombre de reines) 8 10 12

nombre de solution 92 724 14200

Table 1.2 – Nombre totale de solutions au probleme des n-Queens en fonction dunombre de reines.

n (taille de l’echiquier) 8 10 12

nombre de backtracks 64 100 144

Table 1.3 – Nombre totale de backtracks pour prouver l’inconsistance du probleme desKnights en fonction de la taille de l’echiquier pour 5 cavaliers.

1.3.3 Experimentation complementaire

On a egalement teste les heuristiques presentees precedemment sur d’autres proble-mes : le probleme d’allocation de frequences de liaison radio et sur des instances deproblemes aleatoires. Chaque instance sera testee au minimum 5 fois ; les resultatsexperimentaux presentent les valeurs moyennes obtenues.

Probleme d’allocation de frequences de liaison radio(Radio Link FrequencyAssignment Problems)

Le probleme Radio Link Frequency Assignment presente dans [4] a ete propose parle Centre d’Electronique de l’Armement. Il est issu d’un probleme reel avec des donneessimplifiees. On dispose de plusieurs sites qui doivent garder le contact radio. Le problemeconsiste en l’allocation de frequence a chaque lien radio entre deux sites en evitant lesinterferences. Chaque lien radio est represente par une variable dont le domaine est l’en-semble des frequences disponibles pour ce lien. Puis, pour deux lien radio Fi et Fj proches(c’est-a-dire susceptibles d’interferer), on dispose d’une constante ki,j qui representel’ecart minimum entre les deux frequences pour qu’il n’y ait pas d’interference (cetteconstante a ete calculee a partir de modele sur les ondes electromagnetiques et souventsurestimee pour garantir l’absence d’interference). On obtient alors la contrainte :

|Fi − Fj | > ki,j

De plus, pour chaque paire de site A et B, deux frequences doivent etre assignees :une pour la communication de A vers B et l’autre pour celle de B vers A. Une contrainteliee a la technologie employee est ajoutee : l’ecart entre la frequences du lien entre A aB et celle du lien entre B et A doit etre exactement de 238. On a alors une deuxiemecontrainte du type :

14

Page 21: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

|FA→B − FB→A| = 238

On s’interessera simplement a satisfaire les instances (il est egalement possible deminimiser le nombre de frequences utilisees, minimiser le maximum des frequences, etc.).

On testera sur les instances classiques satisfiables 1, 2, 3, 4, 5 et 11 (les instances 6,7, 8, 9 et 10 sont sur-contraintes). Les instances 1, 2 et 3 sont des sous-problemes duprobleme original. Les instances 4 et 5 sont plus contraintes. L’instance 11 est la plusgrande composante connexe 6 du graphe du probleme original. Cette instance implique680 variables et 4103 contraintes.

On utilisera egalement la encore la modelisation au format XCSP disponible sur lesite de C. Lecoutre. Le tableau 1.4 presente les resultats obtenus. On observe que s’ilne se passe rien de vraiment significatif sur les premieres instances, l’instance 11 montredes differences : l’heuristique min dom

ddeg semble avoir un peu plus de difficulte a elaborerune solution. Comme on l’esperait, l’heuristique maxwdeg semble decouvrir peu a peules parties les plus difficiles du probleme. Enfin, min dom

wdeg montre l’interet d’orienterinitialement la recherche avec la taille du domaine. On peut noter qu’initialement lesheuristiques dirigees par les conflits ne sont pas ou peu informees.

instance min domddeg maxwdeg min dom

wdeg

temps (s) backtracks temps (s) backtracks temps (s) backtracks

SCEN1 0.606 55 0.605 54 0.626 55

SCEN2 0.070 3 0.067 1 0.068 3

SCEN3 0.228 13 0.218 13 0.219 13

SCEN4 0.294 48 0.316 89 0.289 48

SCEN5 0.134 8 0.128 7 0.130 8

SCEN11 294.869 96251 6.095 1474 2.418 585

Table 1.4 – Resultats sur differentes instances du probleme Radio Link Frequency As-signment.

Afin de tester la robustesse de ces heuristiques, nous les avons egalement testesur des instances (toujours disponibles au format XCSP sur le site de C. Lecoutre)du probleme Radio Link Frequency Assignment modifiees introduite par C. Bessiere,A. Chmeiss et L. Saıs 7. Ces instances sont produites en supprimant des contraintes(note W ) ou certaines frequences (note F ). Par exemple, l’instance RLFAP-SCEN9-W1-F3 correspond a l’instance RLFAP-SCEN9 a laquelle on a retire les contraintes de poidssuperieur a 1 et les 3 plus hautes frequences. On testera egalement sur les instances 6,7, 8, 9 et 10 modifie dont on cherche a prouver l’inconsistance. Le tableau 1.5 presente

6. Un graphe connexe est un graphe dans lequel chaque paire de sommets est reliee par une chaıne.Dans un graphe, une composante connexe est un sous-graphe maximal connexe

7. Ces instances modifiees ont servi a prouver la robustesse de leur approche dans l’articleNeighborhood-based variable ordering heuristics for the constraint satisfaction problem

15

Page 22: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

les resultats obtenus. Ces resultats confirment l’utilite de l’approche des heuristiquesdirigee par les conflits par rapport a une heuristique classique tel que min dom

ddeg .

instance min domddeg maxwdeg min dom

wdeg

temps (s) backtracks temps (s) backtracks temps (s) backtracksSCEN1-F8 > 300 - 6.203 3691 0.874 212SCEN1-F9 > 300 - 77.710 27964 7.521 2976SCEN2-F24 0.240 39 0.289 201 0.190 32SCEN2-F25 > 300 - 26.137 5801 87.652 22457SCEN3-F10 > 300 - 4.092 2128 0.814 236SCEN3-F11 > 300 - 20.538 10357 29.243 13730

SCEN6-W1-F2 > 300 - 0.114 621 1.966 10805SCEN6-W1 0.020 32 0.019 43 0.019 32SCEN6-W2 0.050 20 0.048 20 0.048 20

SCEN7-W1-F4 0.049 91 0.051 108 0.047 82SCEN7-W1-F5 > 300 - 0.970 2596 4.359 11347SCEN9-W1-F3 > 300 - 0.075 292 1.343 6506SCEN10-W1-F3 > 300 - 0.076 292 1.346 6506

Table 1.5 – Resultats sur differentes instances modifiee du probleme Radio Link Fre-quency Assignment.

On a egalement effectue des tests complementaires sur des instances modifiees del’instance 11, l’instance la plus interessante du tableau 1.4. De meme que dans le para-graphe precedent, ces instances ont ete produites en retirant uniquement des frequences(note F ). Par exemple RLFAP-SCEN11-F10 correpond a l’instance 11 a laquelle on aretire les 10 plus hautes frequences. Le tableau 1.6 presente les resultats obtenus. Onremarque que l’heuristique min dom

ddeg n’arrive toujours pas a trouver de solution (en moins

de 300 secondes) alors que les heuristiques maxwdeg et min domwdeg trouvent une solution.

L’heuristique min domwdeg semble plus stable (le temps de calcul et le nombre de backtracks

varient moins) sur ces 3 dernieres instances, consequence de la prise en compte de lataille du domaine (donc du nombre de frequences disponibles) pour chaque variable,guidant ainsi l’heuristique lorsqu’elle manque d’information.

instance min domddeg maxwdeg min dom

wdeg

temps (s) backtracks temps (s) backtracks temps (s) backtracksSCEN11-F1 a F9 > 300 - > 300 - > 300 -

SCEN11-F10 > 300 - 160.396 47751 27.999 8597SCEN11-F11 > 300 - 14.327 5401 23.214 8227SCEN11-F12 > 300 - 14.479 5502 23.420 8220

Table 1.6 – Resultats sur differentes instances modifiee de l’instance 11 du problemeRadio Link Frequency Assignment.

16

Page 23: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

Instance de problemes aleatoires

Le modele d’instance de problemes aleatoires utilisee ici est celui decrit dans [20].L’avantage de la technique de generation de [20] est quelle permet de generer des ins-tances aleatoires difficiles simplement. En faisant varie different parametre comme lenombre de variables, la taille des domaines, le nombre de contraintes ou la propor-tion de tuples interdit pour chaque contraintes, il est possible de generer une multituded’instance differente. L’avantage est que l’on peut creer des problemes aussi difficiles quel’on veut en fonction de ce qu’on souhaite experimenter. Il arrive parfois que certainesinstances soient insatisfiable : on peut alors les � forcer �a etre satisfiable. Pour nosexperience, nous avons utilises plusieurs instances difficile disponible au format XCSPsur le site de C. Lecoutre.

Les figures 1.4 et 1.5 presentent les resultats obtenues. Chaque point representeune instance aleatoire particuliere. En abscisse, on trouve les temps de calcul (puis lesnombres de backtracks) pour l’heuristique min dom

ddeg et en ordonnee, ceux pour l’heuris-

tique maxwdeg sur la figure 1.4 et ceux pour l’heuristique min domwdeg sur la figure 1.5.

On remarque que l’heuristique maxwdeg a plus de difficulte a trouver une solutionque min dom

ddeg alors que min domwdeg en revanche a une efficacite presque similaire a celle

de min domddeg . Cette exemple montre l’interet d’orienter la recherche initialement avec la

taille courante du domaine.

Figure 1.4 – Comparaison de l’heuristique maxwdeg et min domddeg sur differentes ins-

tances aleatoires.

17

Page 24: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

Figure 1.5 – Comparaison de l’heuristique min domwdeg et min dom

ddeg sur differentes instancesaleatoires

1.3.4 Discussion

Les resultats obtenus sur le probleme des Queens and Knights montrent bien l’interetde l’approche des heuristiques dirigees par les conflits. Elles permettent de decouvrir parelles-memes les parties inconsistantes d’un probleme. Ce point fort a egalement ete ex-ploite sur le probleme de Radio Link Frequency Assignment ou elles identifient les partiesles plus difficiles comme le montre les resultats obtenus. Cependant, sur des instancesde problemes aleatoires, on remarque que ces heuristiques adaptative manque d’infor-mation initialement : l’heuristique maxwdeg se montre peu efficace. L’idee d’orienter larecherche en combinant le degre pondere des contraintes avec la taille du domaine donnede meilleur resultats : la taille du domaine est utile pour guider l’heuristique au debutla recherche jusqu’a ce que le degre pondere deviennent preponderant.

Cette derniere remarque montre qu’il est possible d’apporter des ameliorations pourguider davantage la recherche. Les resultats obtenues sur les instances du problemes deRadio Link Frequency Assignment montrent que cette heuristique presente un interetsur des problemes reels. On peut alors supposer que lorsqu’on ne dispose pas d’uneexpertise suffisante pour developper une heuristique specifique pour un probleme reeldonne, utiliser une heuristique de ce type semble donner des resultats acceptables.

18

Page 25: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

Chapitre 2

Quelques tentativesd’ameliorations

L’heuristique adaptative Weighted Degree collecte des informations a partir desechecs apparaissant lorsqu’une solution partielle ne peut etre etendue. Le principe fail-first presente section 1.2 souligne l’importance de bien choisir les premieres variablesa instancier. Cependant, on remarque que l’heuristique Weighted Degree effectue leschoix les plus importants (le choix des premieres variables) avec tres peu d’informationsalors que des choix moins important (le choix des variables en bas de l’arbre de re-cherche) beneficient de plus d’informations. Les sections qui suivent proposent plusieursameliorations afin que les premiers choix ne penalisent pas la recherche de solution.

2.1 Schema de branchement

Une premiere idee pour tenter d’ameliorer l’efficacite de l’heuristique Weighted De-gree est d’utilise un schema de branchement binaire.

2.1.1 Description

Un schema de branchement peut etre vu comme la maniere dont on va faire pro-gresser la solution partielle obtenue : son role est de separer le probleme a traiter ensous-problemes complementaires plus simples en assignant ou interdisant par exempleune valeur a une variable encore non instanciee.

On peut considerer deux types principaux de branchement : branchement binaire(appele aussi 2-way) ou non binaire (appele aussi d-way, ou d represente le nombred’elements du domaine de la variable). Ces deux types de schema ne sont pas equivalents.Il a ete demontre dans [13] que le branchement binaire etait plus puissant que le bran-chement non binaire.

19

Page 26: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

Xi = u0 Xi = u1 Xi = ui Xi = un

. . . . . .

Figure 2.1 – Exemple d’un arbre de branchement non binaire

La figure 2.1 presente un branchement non binaire (c’est le type de branchementutilise dans la partie precedente). A chaque point de choix, on choisi une variable Xencore non assignee. En notant d la taille de son domaine, on va brancher d fois surchacune des valeurs de X.

...

Xi+1 = v

...

Xi+1 6= v

Xi = u Xi 6= u

Figure 2.2 – Exemple d’un arbre de branchement binaire

Pour le schema de branchement binaire, a chaque point de choix, on choisit un couple(X, v) ou X est une variable encore non assignee et v une valeur appartenant au domainecourant de X. Dans un premier cas, on considere l’assignation X = v (decision positive).Dans un second cas, en consequence de l’exploration effectuee avec la premiere decision,on considere alors sa refutation, c’est-a-dire : X 6= v (decision negative). La figure 2.2illustre un tel branchement. Les definitions 4 et 5 formalisent la notion de decision.

Definition 4. Soient P = (H, C) un reseau de contraint et un couple (X, v) tel queX ∈ H et v ∈ dom(X). L’assignation X = v est appelee decision positive tandis que larefutation X 6= v est appelee decision negative.

Definition 5. Soient P un reseau de contrainte et ∆ un ensemble de decisions. P |∆est le reseau de contrainte obtenu a partir de P tel que pour toute decision positive(X = v) ∈ ∆, dom (X) est restreint a la valeur {v} et pour toute decision negative(X 6= v) ∈ ∆, v est supprime de dom (X).

20

Page 27: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

2.1.2 Reprise de l’exemple illustration des Queens and Knights

On s’interesse essentiellement ici a mettre en evidence l’impact du type de branche-ment sur les heuristiques dirigees par les conflits. On reprend l’exemple de la section 1.3.2et sa variante. Le tableau 2.3 presentent les resultats obtenus en fonction du type debranchement. On constate des resultats clairement meilleurs en terme de nombre debacktracks et de temps de calcul lorsqu’on utilise un arbre de branchement binaire.

instance heuristique classique variantebacktracks temps (s) backtracks temps (s)

qK-8-5 maxwdeg d-way 717 0.499 696 0.7182-way 184 0.122 251 0.264

min domwdeg d-way 726 0.499 1091 1.004

2-way 339 0.238 596 0.560

qK-10-5 maxwdeg d-way 2309 2.735 2250 3.9342-way 184 0.126 506 0.907

min domwdeg d-way 2863 3.349 2901 4.773

2-way 1555 1.831 1171 1.813

qK-12-5 maxwdeg d-way 4918 8.977 4830 13.0742-way 184 0.124 911 2.575

min domwdeg d-way 6141 10.898 6474 16.313

2-way 1544 2.684 3503 8.313

Table 2.1 – Resultats experimentaux des problemes queensKnights-n-k.

2.1.3 Experimentation complementaire

Le tableau 2.2 presentent des resultats complementaires au probleme des Queens andKnights obtenus grace a un branchement binaire.

instance heuristique classique variantebacktracks temps (s) backtracks temps (s)

queensKnights-15-5 maxwdeg 184 0.124 2300 10.728

min domwdeg 3249 9.680 5147 20.406

queensKnights-20-5 maxwdeg 184 0.120 11325 135.812

min domwdeg 7316 42.054 13167 99.749

queensKnights-25-5 maxwdeg 184 0.126 10413 158.135

min domwdeg 23400 215.004 22705 279.701

Table 2.2 – Resultats experimentaux complementaires des problemes queensKnights-n-k.

21

Page 28: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

La tableau 2.3 presente les resultats obtenus sur le probleme Radio Link FrequencyAssignment pour les deux types de branchements binaires (2-way) et non binaires (d-way).

instance branchement maxwdeg min domwdeg

backtracks temps (s) backtracks temps (s)

SCEN1 d-way 54 0.605 55 0.6262-way 54 0.672 57 0.831

SCEN2 d-way 1 0.067 3 0.0682-way 1 0.067 2 0.076

SCEN3 d-way 13 0.218 13 0.2192-way 13 0.224 11 0.254

SCEN4 d-way 89 0.316 48 0.2892-way 73 0.367 52 0.330

SCEN5 d-way 7 0.128 8 0.1302-way 7 0.129 8 0.138

SCEN11 d-way 1474 6.095 585 2.4182-way 325 2.161 264 1.768

Table 2.3 – Resultats experimentaux des problemes queensKnights-n-k.

La figure 2.3 presente les resultats obtenues sur des instances de problemes aleatoires.Chaque point represente une instance aleatoire particuliere. En abscisse, on trouve lestemps de calculs (puis les nombre de backtracks) pour l’heuristique min dom

wdeg et en or-donnee, ceux pour cette meme heuristique avec branchement binaire.

2.1.4 Discussion

Les resultats obtenus sur le probleme des Queens and Knights s’explique par le faitque le branchement binaire va permettre de remettre en cause les variables choisiesplus souvent. Bien que selectionner une variable necessite un petit peu de temps decalcul (calcul du critere, du minimum, etc.), le schema de branchement binaire peutetre profitable. Dans cet exemple, comme on ne beneficie pas de beaucoup d’informa-tion initialement, les heuristiques dirigees par les conflits choisiront au depart les reines ;c’est seulement au fil de la recherche que ces heuristiques disposeront de suffisammentd’informations pour selectionner les cavaliers. En utilisant des branchements binaires,on remet en cause plus tot les choix initiaux realises lorsqu’on ne disposait pas d’in-formation. Ainsi, progressivement, en fonction des informations collectees, on remonteen haut de l’arbre de recherche les variables impliquees dans le plus grand nombre deconflits.

Les resultats obtenues pour le probleme Radio Link Frequency Assignment montrequ’il est presque toujours profitable de choisir un schema de branchement binaire sur ce

22

Page 29: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

Figure 2.3 – Comparaison de l’heuristique min domwdeg avec des branchements non binaires

(en abscisse) et binaires (en ordonnee) sur differentes instances aleatoires

type de probleme.

Cependant, comme le montre les resultats experimentaux presentes figure 2.3, lechoix d’un schema de branchement binaire peut parfois etre desavantageux. En effet, onconstate ici qu’un simple branchement binaire ne permet pas d’ameliorer l’efficacite dela recherche de solution sur certaines instances de ce type de probleme et au contraire,degrade les performances. Ainsi, il y a certain probleme ou il est moins avantageux dechoisir un schema de branchement binaire. Il semblerait que les informations collecteesau cours de la recherche grace aux compteurs weight ne suffisent pas a guider la rechercheefficacement.

23

Page 30: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

2.2 Strategie de redemarrage

Une autre idee pour pallier au manque d’informations au debut de la rechercheest de mettre en place une strategie de redemarrage. Cette section presente differentesstrategies de redemarrage : cette partie s’appuient essentiellement sur les travaux de [11]et [10].

2.2.1 Presentation

Les strategies de redemarrage permettent d’effectuer les choix des premieres variablesavec davantage d’informations au fur et a mesure des redemarrages. On propose de suivredeux methodes principales pour combiner l’heuristique min dom

wdeg et les redemarrages.Dans les deux methodes, dans un premier temps, les redemarrages apparaissent apresun nombre fixe d’echecs (on peut egalement considerer plutot le nombre de nœud commedans [10]). La raison pour laquelle on se base sur le nombre d’echecs est qu’il reflete laquantite d’information collectee. On notera C (pour Cutoff ) le nombre maximal d’echecsavant coupure. De plus, on garde l’information collectee lors de chaque execution, c’est-a-dire on ne reinitialise pas les poids des contraintes (les compteurs weight) a chaqueredemarrage.On appellera dans la suite run une execution de recherche de solution et on notera Rle nombre de runs ce qui correspond a R − 1 redemarrage. Si une solution est trouveeou si on a reussi a prouver qu’il n’y a pas de solution avant le dernier run, l’algorithmes’arrete. Dans le cas contraintes, lorsqu’on arrive au run final, on laisse la recherche sepoursuivre jusqu’au bout, c’est-a-dire on fixe C =∞ pour la derniere execution, ce quirend la methode complete.

Strategie de collecte d’information

Meme s’il est possible de trouver une solution avant l’execution du dernier run, lesR − 1 premiers runs correspondent plutot a une phase de collecte d’information (ap-prentissage des poids des contraintes). Cette section presente deux approches differentespour cette premiere phase.

La premiere methode, appele aussi WTDI (pour Weighted Information Gathering)utilise uniquement l’heuristique min dom

wdeg pour guider la rechercher a chaque execution.Comme les poids evoluent, l’heuristique sera susceptible de visiter des parties differentesde l’espace de recherche a chaque redemarrage puisque l’ordre d’assignation des variablespourra etre different.

La seconde methode, appele aussi RNDI (pour Random Information Gathering) uti-lise l’heuristique min dom

wdeg uniquement pour guider la rechercher du run final. Pour lesR − 1 premiers runs, les variables sont selectionnees aleatoirement a chaque point dechoix (on parle aussi de Random Probes ou preuves aleatoires). Les poids des contraintessont quant a eux incrementes de la maniere habituelle, c’est-a-dire lorsque la propaga-

24

Page 31: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

tion d’une contrainte provoque un echec.

L’interet de l’utilisation d’un ordre aleatoire est de pouvoir collecter des informationsde parties diversifiees de l’espace de recherche. Ainsi, en explorant des parties variees,on obtient alors un meilleur echantillon d’information pour identifier les differentes par-ties difficiles d’un probleme. On peut noter egalement que contrairement a la methodeWTDI, on ne s’attend pas resoudre le probleme avant le run final avec la methode RNDI.Les R− 1 premiers runs ont plus pour vocation de collecter des informations variees.

Strategie de coupure

Jusqu’a maintenant, la strategie de coupure employee etait constante : on fixait ini-tialement C qui restait le meme pour les R − 1 premiers runs. Les travaux presentesdans [8] presentent notamment une nouvelle strategie : C n’est plus le meme pour chaqueredemarrage et suit une progression geometrique. En notant Ci le nombre d’echecs maxi-mal autorises au run i avant redemarrage et q la raison de la progression geometrique,on a alors la relation de recurrence : Ci+1 = q ×Ci. De plus, on fixera C0. En pratique,il a ete montre que les valeurs de q telle que q ∈ ]1; 2[ sont les plus efficaces.

On peut justifier une telle strategie pour la methode WTDI en supposant qu’initia-lement, on ne dispose pas de beaucoup d’information, donc les premiers choix serontprobablement mauvais et donc redemarrer rapidement permet de recommencer une re-cherche avec des premiers choix un peu meilleurs. Au fur et a mesure qu’on disposed’information, les choix initiaux effectues seront de meilleure qualite et donc la rechercheaura de meilleures chances d’aboutir.

Pour la methode RNDI, une strategie avec C constant semble plus adaptee puisqu’onexplore l’espace de recherche sans tenir compte des informations collectes lors des n− 1premiers runs. De plus, collecter la meme quantite de donnees pour chaque partie del’espace de recherche explore semble plus coherent (pour ne pas favoriser de regionparticuliere de l’espace de recherche).

2.2.2 Etude experimentale des parametres

Trouver les bons parametres est une chose delicate. Cette section propose une breveetude experimentale des parametres : le nombre de runs maximum R et le nombremaximal de backtracks avant coupure C. Le but est ici d’observer l’influence de cesparametres sur differents problemes. On notera que les resultats presentes ici sont lesresultats moyens obtenus pour 5 executions.

Les tableaux 2.4 et 2.5 presentent les resultats obtenus sur une instance modifiee del’instance 11 du probleme Radio Link Frequency Assignment presente precedemment.On rappelle les resultats avec simplement l’heuristique min dom

wdeg obtenus precedement :8597 backtracks en 27.99 secondes. On remarque sur le tableau 2.4 qu’une coupure trop

25

Page 32: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

tard ou qu’un nombre de redemarrage trop grand ne sont pas benefiques pour la strategieWTDI. De plus, les parametres tels que C ∈ [10; 40] et R ∈ [25; 100] donnent de bonresultats. Sur le tableau 2.5, on remarque que la strategie RNDI semble beaucoup plussensible au parametrage. Les parametres C et R semblent offrir une recherche plusefficace lorsque :

(C;R) ∈ {(50; 80) , (100; 20) , (200; 10) , (200; 20) , (200; 40)}

Nombre de runs

Nom

bre

de

back

track

s

10 20 40 80 160

25 6.570 s 1.498 s 2.234 s 3.997 s 7.477 s2202 btks 665 btks 1191 btks 2233 btks 4301 btks

50 1.313 s 1.983 s 3.565 s 6.894 s 12.764 s660 btks 1157 btks 2196 btks 4217 btks 8302 btks

100 1.941 s 3.402 s 6.454 s 12.445 s 23.414 s1158 btks 2156 btks 4179 btks 8236 btks 16308 btks

200 3.581 s 6.456 s 11.320 s 23.871 s 47.325 s2167 btks 4177 btks 8192 btks 16232 btks 32311 btks

Table 2.4 – Resultats experimentaux en secondes et en nombre de backtracks total(btks) avec differents parametres pour la strategie WTDI sur l’instance SCEN11-F10.

Nombre de runs

Nom

bre

de

back

track

s

10 20 40 80 160

25 64.855 s 43.483 s 50.174 s 19.342 s 11.542 s18741 btks 13483 btks 15915 btks 7136 btks 6686 btks

50 23.821 s 31.966 s 23.796 s 7.747 s 16.757 s7682 btks 11299 btks 8352 btks 4774 btks 10067 btks

100 39.428 s 7.955 s 16.959 s 10.205 s 18.696 s12988 btks 3657 btks 7379 btks 8309 btks 16401 btks

200 7.312 s 4.217 s 8.232 s 21.121 s 30.484 s3636 btks 4261 btks 8320 btks 17898 btks 32845 btks

Table 2.5 – Resultats experimentaux en secondes et en nombre de backtracks total(btks) avec differents parametres pour la strategie RNDI sur l’instance SCEN11-F10.

La figure 2.4 presente les resultats obtenus sur une instance de probleme aleatoire.On remarque tout de suite qu’il semble difficile de trouver un � bon � parametrage. Lesparametres sur ce type de probleme ne semble pas avoir beaucoup d’influence sur laperformance de la recherche.

26

Page 33: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

Fig

ure

2.4

–L

ap

rem

iere

lign

eco

nce

rne

last

rate

gie

WT

DI

etla

seco

nd

eco

nce

rne

last

rate

gie

RN

DI.

Les

gra

ph

iqu

esd

ed

roit

eso

nt

les

resu

ltat

sex

per

imen

tau

xen

uti

lisa

nt

enp

lus

un

est

rate

gie

geom

etri

qu

e:

onet

ud

iele

sp

aram

etre

sra

ison

(q)

etn

omb

rede

back

track

sin

itia

l(C

0)

avec

un

nom

bre

de

run

sfi

xe

a50

.

27

Page 34: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

2.2.3 Discussion

Les resultats experimentaux obtenus sur le probleme de Radio Link Frequency Assi-gnment presentent des caracteristiques propres a chaque strategie de redemarrage. Ence qui concerne WTDI, elle semble moins sensible au parametrage. En effet, en faisantl’hypothese qu’on choisisse un nombre de backtracks avant coupure grand, il est da-vantage possible que l’un des R − 1 premiers runs trouve une solution ce qui reduitl’importance du nombre maximal de runs. En fait, si le nombre de backtracks avantcoupure est trop grand ( C → ∞ ), on retrouve l’heuristique min dom

wdeg decrite dans lessections precedentes. C’est alors qu’ajouter une strategie geometrique pour le nombre debacktracks avant coupure semble interessant. En effet, en augmentant progressivementle nombre maximum de backtracks a chaque nouveau run, on augmente nos chances detrouver une solution tout de suite, d’autant plus qu’on beneficie au fur et a mesure desinformations collectees precedemment, ce qui rend la recherche chaque fois plus efficace.Les premiers runs, peu informes, servent alors principalement a collecter des informa-tions rapidement. Puis, plus on dispose d’information, plus l’heuristique min dom

wdeg ferades choix qui sembleront efficaces et plus elle aura de chances de trouver une solution souscondition qu’on lui permette suffisamment de backtracks. C’est pourquoi cette strategieWTDI geometrique nous semble interessante.

Pour la strategie RNDI, puisque la recherche de solution des R − 1 premiers runsn’utilise que des heuristiques aleatoires, le but est alors de trouver les parametres permet-tant d’explorer le plus possible et de maniere variee l’espace de recherche. Dans ce cas, lesparametres semblent plus delicats encore a regler. Il s’agit de trouver un � bon � com-promis entre les deux parametres : un nombre de backtracks avant coupure suffisam-ment grand pour permettre de collecter suffisamment d’informations interessantes etun nombre de runs suffisamment grand pour collecter des informations variees dansl’espace de recherche sans que ces deux parametres soient trop grands pour ne pasperdre trop de temps lors des R − 1 premiers runs qui forment une phase essentielle-ment d’apprentissage et n’ont pour but que de collecter des donnees. C’est seulementle dernier run qui a veritablement pour vocation de trouver une solution plus ou moinsefficacement en fonction de la quantite et de la qualite des donnees collectees.

En ce qui concerne les instances de problemes aleatoires, on s’apercoit que trou-ver un parametrage qui donne de meilleurs resultats est une chose delicate. De plus,la strategie RNDI geometrique est difficile a justifier puisque la phase d’apprentis-sage utilise des heuristiques aleatoires, sans tenir compte des informations collecteesprecedemment. On s’apercoit ici des difficultes de parametrage. Neanmoins, la strategieWTDI geometrique nous semble plus robuste et facile a parametrer, c’est pourquoi nousla choisiront preferentiellement dans nos applications a des problemes de trafic aerien.

Enfin, on pourrait ameliorer encore les performances par exemple en stockant desnogoods, c’est-a-dire des solutions partielles menant a un echec comme propose dans[16]. Chaque redemarrage beneficierait alors des nogoods collectes precedemment.

28

Page 35: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

2.3 Heuristique Last Conflict

Cette section presente une heuristique adaptative interessante. Elle reprend les tra-vaux presentes dans [15].

2.3.1 Presentation de l’heuristique

L’heuristique presentee dans [15] propose une nouvelle approche pour guider la re-cherche vers la source des conflits : l’heuristique Last Conflict. Cette heuristique a l’avan-tage de pouvoir etre couplee a n’importe quelle autre heuristique de choix de variable.

Cette heuristique s’interesse aux raisons qui ont conduit a un conflit. Un echec, uneimpasse dans l’arbre de recherche, correspond a un conflit entre un sous-ensemble de� decisions � : on entend par decision une assignation de variables (definition 4). Ainsi,il est interessant d’identifier la decision la plus recente qui participe au conflit. Il estalors possible d’effectuer indirectement un retour-arriere sur la variable qui a mene a laderniere impasse rencontree : cette variable devient la prochaine variable a selectionneren priorite. Cette approche a donc pour but de guider la recherche de maniere a detecterdynamiquement la raison du dernier conflit rencontre.

2.3.2 Algorithme

Les deux definitions suivantes sont essentielles pour la description de l’algorithme.

Definition 6. Soient P un reseau de contrainte et ∆ un ensemble de decision. ∆ estun nogood de P si et seulement si P |∆ est instatisfiable.

Definition 7. Soient P un reseau de contrainte et∑

= 〈δ1, . . . , δi〉 une sequence dedecisions telle que {δ1, . . . , δi} est un nogood de P . Une decision δj ∈

∑est dite coupable

si et seulement si, il existe v ∈ dom (Xi) ou Xi represente la variable impliquee dans δi,tel que la propagation des contraintes du reseau P |δ1,...,δj−1,qδj ,Xi=v n’echoue pas.

L’heuristique Last Conflict est un raisonnement a partir du dernier conflit. L’algo-rithme repose essentiellement sur une simple modification de l’heuristique de choix devariable afin d’identifier et d’exploiter les nogoods.

On peut decrire l’algorithme en deux etapes essentielles et suffisantes :– enregistrement de la variable dont l’assignation a mene directement a une incon-

sistance ;– selection de cette variable en priorite dans les decisions suivantes plutot que celle

proposee par l’heuristique de choix de variables.On remarque egalement qu’on n’a pas besoin de structure de donnee supplementaire.

29

Page 36: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

2.3.3 Reprise de l’exemple illustration des Queens and Knights

On experimente d’abord sur l’exemple illustratif 1.3.2 des Queens and Knights. Letableau 2.6 presente les resultats obtenus en combinant l’heuristique Last Conflict avecdifferentes heuristiques. Afin de pouvoir comparer, on rappellera egalement les resultatsobtenues lors des premieres experiences de la section 1.3.2. On s’apercoit de l’interetde l’heuristique Last Conflict en particulier sur les heuristiques classiques min domet min dom

ddeg . L’heuristique Last Conflict combinee avec maxwdeg et min domwdeg ameliore

egalement les performances dans une moindre mesure sur ce type de probleme.

Ces resultats s’expliquent par le fait que, petit a petit, les variables qui font partie duprobleme des cavaliers vont remonter dans l’arbre de recherche grace a l’heuristique LastConflict (on suit le principe fail-first). Afin d’aider a comprendre les resultats obtenus, onremarque enfin que les heuristiques dirigees vers les conflits remontent egalement natu-rellement les variables des cavaliers : l’heuristique Last Conflict ne fait donc qu’accelerercette remontee.

instance min dom min domddeg maxwdeg min dom

wdeg

¬ LC LC ¬ LC LC ¬ LC LC ¬ LC LCqK-8-5 6049 207 6049 267 717 267 726 267

4.235 s 0.132 s 4.247 s 0.138 s 0.499 s 0.176 s 0.499 s 0.190 sqK-8-5v 5305 198 5305 198 696 256 1091 256

4.496 s 0.202 s 4.477 s 0.215 s 0.718 s 0.263 s 1.004 s 0.262 sqK-10-5 75181 710 75181 710 2309 717 2863 623

86.198 s 0.865 s 87.281 s 0.883 s 2.735 s 0.843 s 3.349 s 0.721 sqK-10-5v 67893 674 67893 674 2250 681 2901 597

96.903 s 1.106 s 96.223 s 1.132 s 3.934 s 1.102 s 4.773 s 0.986 sqK-12-5 − 895 − 895 4918 884 6141 1018

> 300 s 1.607 s > 300 s 1.643 s 8.977 s 1.632 s 10.898 s 1.895 sqK-12-5v − 873 − 873 4830 859 6474 991

> 300 s 2.396 s > 300 s 2.275 s 13.074 s 2.243 s 16.313 s 2.553 s

Table 2.6 – Resultats experimentaux des problemes queensKnights-n-k.

2.3.4 Experimentation complementaire

Les resultats obtenus sur le probleme des cavaliers montrent qu’il peut etre egalementinteressant d’experimenter l’heuristique Last Conflict sur les heuristiques dirigees versles conflits mais egalement sur des heuristiques classiques. C’est pourquoi, le cas echeant,on comparera egalement les resultats avec l’heuristique min dom

ddeg .

Les figure 2.5 et 2.6 presentent les resultats obtenues sur des instances de problemesaleatoires. Chaque point represente une instance aleatoire particuliere. Sur la figure 2.5(respectivement figure 2.6), on trouve en abscisse les temps de calculs (puis les nombres

30

Page 37: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

de backtracks) pour l’heuristique min domddeg (respectivement min dom

wdeg ) et en ordonnee,ceux pour cette meme heuristique avec l’heuristique Last Conflict.

Figure 2.5 – Comparaison de l’heuristique min domddeg (en abscisse) et cette meme heu-

ristique avec Last Conflict (en ordonnee) sur differentes instances aleatoires.

Le tableau 2.7 presente les resultats obtenus sur des instances du probleme RadioLink Frequency Assignement avec differentes heuristiques. Afin de pouvoir comparer, onrappelle egalement les resultats obtenus dans la section 1.3.3 sans Last Conflict (note¬ LC ).

2.3.5 Discussion

L’exemple des Queens and Knights montre un aspect interessant de l’heuristique LastConflict : une fois une inconsistance decouverte, l’heuristique va tenter d’instancier lavariable qui a cause le conflit au plus tot. Cette heuristique est peu onereuse en temps decalcul et en utilisation memoire. On peut remarquer egalement qu’elle imite en quelquesorte des mecanismes de retour-arriere intelligent plus complexes tels que les techniquesde Back-Jumping qu’on trouve dans la litterature par exemple. L’article ?? montre eneffet que lorsqu’on utilise des heuristiques dirigees vers les conflits, les techniques deretour-arriere intelligent n’ont plus beaucoup d’interet lorsqu’elles sont appliquees auxCSP statiques.

Les resultats obtenus sur le probleme Radio Link Frequency Assignement montrel’interet de l’heuristique Last Conflict notamment sur l’instance 11. On notera egalementque l’heuristique classique min dom

ddeg couplee avec l’heuristique Last Conflict obtient desresultats similaires aux autres heuristiques.

31

Page 38: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

Figure 2.6 – Comparaison de l’heuristique min domwdeg (en abscisse) et cette meme heu-

ristique avec Last Conflict (en ordonnee) sur differentes instances aleatoires.

En ce qui concerne les instances de probleme aleatoire, on remarque que peu importel’heuristique de choix de variable initiale, l’heuristique Last Conflict deteriore nettementles performances.

Cette heuristique presente l’avantage de pouvoir etre couplee a n’importe quelleautre heuristique de choix de variables. Les resultats experimentaux montrent nettementl’interet de cette approche, notamment lorsqu’on utilise une heuristique de choix devariables classique comme min dom ou min dom

ddeg . Lorsqu’on l’utilise avec une heuristique

dirigee par les conflitcs comme maxwdeg ou min domwdeg , les resultats sont plus mitiges.

A noter egalement que sur certains types de problemes, l’heuristique Last Conflict peutameliorer les resultats comme les deteriorer.

32

Page 39: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

instance min domddeg maxwdeg min dom

wdeg

¬ LC LC ¬ LC LC ¬ LC LC

SCEN-1 55 55 54 54 55 550.606 s 0.716 s 0.605 s 0.674 s 0.626 s 0.769 s

SCEN-2 3 3 1 1 3 30.070 s 0.070 s 0.067 s 0.067 s 0.068 s 0.076 s

SCEN-3 13 13 13 13 13 130.228 s 0.219 s 0.218 s 0.214 s 0.219 s 0.248 s

SCEN-4 48 48 89 89 48 480.294 s 0.303 s 0.316 s 0.339 s 0.289 s 0.326 s

SCEN-5 8 8 7 7 8 80.134 s 0.133 s 0.128 s 0.127 s 0.130 s 0.130 s

SCEN-11 96251 180 1474 213 585 188294.869 s 1.025 s 6.095 s 1.110 s 2.418 s 1.063 s

Table 2.7 – Resultats experimentaux des instances du probleme Radio Link FrequencyAssignement

2.4 Une hybridation avec de la recherche locale

Les algorithmes de resolution se divise en deux grandes familles : les algorithmessystematiques et les algorithmes non-systematiques. Bien que les algorithmes non-syste-matiques soient generalement incomplets, ils sont adaptes aux problemes satisfiablesde tres grande taille, impossible a resoudre en un temps raisonnable par des methodessystematiques. Ces algorithmes non-systematiques regroupe la recherche locale, les al-gortihmes evolutionnaires, les colonies de fourmis, les algorithmes gloutons, etc. Cettepartie presente une idee developpee dans [19] qui a pour but d’hybrider les deux typesd’algorithmes : recherche locale et recherche systematique.

Cette partie decrit une tentative d’hybridation simplifiee qu’on a implementee ettestee uniquement sur des contraintes binaires en extension. Compte tenu du tempsimparti pour ce stage, le but sera alors d’explorer et de comprendre la methode pour serendre compte de son potentiel et les ouvertures possibles liees a l’heuristique WeightedDegree.

2.4.1 Introduction a la recherche locale

Cette section presente de maniere simple une approche pour resoudre les problemesde satisfaction de contraintes de taille importante. Cette section s’inspire egalement destravaux de [17].

33

Page 40: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

Recherche locale Min-Conflicts

Les algorithmes systematique se base sur une approche constructive qui etend increm-entalement une instanciation partielle des variables et utilise, le cas echeant, une strategiede retour-arriere (backtrack). En revanche, la recherche locale cree une affectation com-plete mais inconsistante des variables puis repare les violations de contrainte jusqu’al’obtention d’une affectation consistante. Une reparation consiste en general a modifierla valeur assignee a une variable. L’instanciation initiale des variables peut etre genereealeatoirement. Il est egalement possible d’initialiser les variables avec un algorithme glou-ton qui cherchera a minimiser les conflits des l’instanciation. Par exemple, un reseau decontrainte possedant au moins deux variables vi et vj liee par une contrainte de la formevi + vj = 5, si on suppose que l’on ait deja initialise vi a 2, l’algorithme glouton pourrachoisir alors d’instancier vj a 3 pour minimiser les conflits alors qu’une initialisationaleatoire aurait choisi n’importe quelle valeur.

Afin de guider la recherche, on utilisera une heuristique de choix de variable simple :l’heuristique Min-Conflicts. Cette heuristique identifie d’abord une variable en conflit,c’est-a-dire qui est liee a une contrainte violee, puis choisit une valeur qui minimise lenombre de violations de contrainte. Une procedure la caracterisant est proposee dans[14] :

Heuristique Min-Conflicts :– Donnee : un ensemble de variables, un ensemble de contraintes binaires et une

instanciation specifiant une valeur pour chaque variable. Deux variables sont enconflit si leurs valeurs violent une contrainte.

– Procedure : Selectionner une variable qui est en conflit et lui assigner une valeurqui minimise le nombre de conflits.

On remarque egalement que cette methode ne garantie pas de trouver une solu-tion (methode incomplete) et ne permet pas non plus de prouver qu’un probleme estinsatisfiable.

Minimums locaux

Il est possible qu’aucune reparation simple, c’est-a-dire assigner une autre valeur aune variable, ne puisse diminuer le nombre de violations de contrainte. On a alors atteintun minimum local. Cette partie presente principalement deux techniques pour echapperaux minimums locaux utilisees dans [19].

La premiere idee simple, proposee dans [17], consiste a effectuer des mouvementsaleatoires. Une reparation est effectuee aleatoirement avec une probabilite p au lieud’etre choisie parmi les meilleures reparations. On appelera cette methode pour echapperaux minimums locaux Random Walk (marche aleatoire). Cette methode est illustree parl’algorithme 1.

34

Page 41: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

Algorithm 1 Min-Conflict avec Random Walk

1: tant que nombre de violations de contrainte > 0 faire2: selectionner aleatoirement X tel que X est en conflit3: si random[0; 1] < p alors4: selectionner une valeur v de X aleatoirement5: sinon6: selectionner une valeur v de X qui minimise le nombre de conflits7: fin si8: affecter v a X9: mise a jour des violations de contrainte

10: fin tant que

Une seconde idee consiste a eviter de revenir a une affectation deja visitee en enregis-trant les reparations precedentes. Cette technique utilise une structure de donnee appeleeliste Tabu propose dans [7]. Cette liste garde en memoire les reparations effectuees maisla taille de cette liste est limitee de sorte qu’un nombre limite de reparations est garde enmemoire et que les plus anciennes sont oubliees. Ainsi, un grand nombre de reparationreste disponible. On peut egalement definir un critere, appele critere d’aspiration, telqu’on puisse choisir une reparation presente dans la liste Tabu si celle-ci permet d’obtenirune meilleure affectation que toutes celles rencontrees jusqu’a present. Cette methodeTabu est illustree par l’algorithme 1.

Algorithm 2 Min-Conflict avec Liste Tabu, avec Ltabu la liste Tabu

1: tant que nombre de violations de contrainte > 0 faire2: selectionner un couple (X, v) tel que X est en conflit et v est une valeur de X

qui minimise le nombre de conflits, et tel que (X, v) 6∈ Ltabu ou valide le critered’aspiration

3: inserer le couple (X, v) dans Ltabu et supprimer le plus ancien element4: affecter v a X5: mise a jour des violations de contrainte6: fin tant que

Exemple illustratif

Afin de bien comprendre comment marche une recherche locale, on detaillera unexemple de deroulement de l’algorithme Min-Conflicts sur le probleme des 4-Queens. Onconsidere qu’on affecte une colonne a chaque reine et on lui associe une variable indiquantson numero de ligne. On suppose qu’on a pose toutes les contraintes necessaires. Le ta-bleau 2.8 presente l’initialisation gloutonne decrite precedemment : une premiere valeurest affectee aleatoirement a la premiere variable (ici 0) ; puis, on compte le nombre deconflit pour chaque valeur que peut prendre la variable (que l’on a note sur l’echiquier) ;on selectionne aleatoirement une valeur minimisant le nombre de conflit ; on compte a

35

Page 42: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

nouveau le nombre de conflit, etc.

00

11

21

11

21

13

Table 2.8 – Illustration de l’initialisation gloutonne sur le probleme des 4-Queens.

Le tableau 2.9 presente le deroulement de l’algorithme. On demarre de l’affectationprecedente. Dans la premiere colonne du tableau 2.9, on note le nombre d’iterations ;dans la deuxieme colonne, on note en dessous de l’echiquier, le nombre de conflits pourchaque variable ; dans la troisieme colonne, on note sur l’echiquier le nombre de conflitssi on effectuait la reparation et a droite de l’echiquier la variation du nombre de conflitspar rapport a l’etat courant si on effectuait la reparation ; dans la derniere colonne, onpresente le resultat obtenu une fois la reparation effectuee. A la fin, on obtient bien unesolution consistante.

Comme on l’a dit precedemment, les algorithmes de recherche locale semblent plusefficaces sur des problemes de grande taille. La figure 2.9 presentent les resultats obtenus(en temps de calcul) sur l’execution du probleme des n-Queens avec un algorithme derecherche locale avec methode Tabu et un algorithme de recherche systematique (par-cours d’arbre en profondeur d’abord et retour-arriere) avec une heuristique de choix devariable min dom. On remarque que la recherche locale est plus robuste face a l’augmen-tation du nombre de reines.

On notera que cet exemple a pour simple but d’illustration. La modelisation n’estfaite que de contraintes binaires. Une modelisation avec des contraintes globales tel queAlldiff 1 donnerait de meilleurs resultats, notamment pour la recherche systematique.

2.4.2 Hybridation sequentielle

Cette section se base sur les travaux de [19]. Elle presente une maniere d’hybridersequentiellement une recherche locale et une recherche systematique en partageant des

1. All-Different : cette contrainte globale impliquent que les variables sur lesquelles elle est definieprennent des valeurs deux a deux differentes.

36

Page 43: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

iterations selection d’une variable selection d’une valeur reparation

1

0 1 2 1

+1

0

- 1

0 1 2 1

2

31

2

0 1 1 0

+1 0

+1

21

20 1 1 0

3

1 1 0 0

+2

0- 10

3

1

1 1 0 0

Table 2.9 – Execution de l’algorithme Min-Conflict sur le probleme des 4-Queens.

informations.

Recherche locale Weighted Min-Conflict

L’hybridation presentee se base sur un partage d’information entre recherche systema-tique et recherche locale. L’information que l’on va partager sont les compteurs weightpresentes precedemment et exploites par l’heuristique Weighted Degree. Cette sectionpresente comment sont exploites ces poids par la recherche locale.

Une methode consiste a ponderer les contraintes. Cette idee a ete developpee dans[18]. En considerant une version idealisee de cette methode, on suppose que chaque etatpossede un cout enregistre en memoire. L’algorithme 2.10 illustre cette methode.

Augmenter le cout des etats qui ont mene a un minimum local permet de � lisser � les

37

Page 44: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

Figure 2.7 – Comparaison de l’heuristique min dom avec une recherche locale Min-Conflict avec Liste Tabu

.

Algorithm 3 Breakout Method

1: tant que l’etat courant n’est pas une solution faire2: si l’etat courant n’est pas un minimum local alors3: faire une modification local qui reduisse le cout4: sinon5: augmenter le cout enregistre de l’etat courant6: fin si7: fin tant que

minimums locaux et de les eliminer efficacement. La figure 2.10 presente un exemple decette methode.

Il est irrealiste d’enregistrer en memoire pour chaque etat un cout. Neanmoins,on peut reproduire ce mecanisme en ponderant les contraintes. Si un minimum localest detecte, on augmente alors le poids (c’est-a-dire le compteur weight) de toutes lescontraintes en conflit (ce qui reproduit une augmentation du cout enregistre de l’etatcourant). En ponderant ainsi les contraintes, les contraintes les plus difficiles a satis-faire, celle qui sont le plus souvent violees, auront peu a peu un poids plus important.L’algorithme de recherche locale cherchera donc a les satisfaire en priorite puisque lessatisfaire engendre une reduction plus importante du cout. L’algorithme 4 illustre cetalgorithme de recherche locale que l’on appellera Weighted Min-Conflict.

38

Page 45: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

Table 2.10 – Illustration du lissage d’un minimum local par ponderation des contraintesviolees

Algorithm 4 Weighted Min-Conflict

1: tant que nombre pondere de violations de contrainte > 0 faire2: selectionner aleatoirement X tel que X est en conflit et une valeur v de X qui

minimise le nombre pondere de conflits3: si la reparation ou on affecte v a X n’ameliore pas le cout de l’etat courant alors4: augmenter le poids des contraintes violees5: sinon6: affecter v a X7: mise a jour des violations de contrainte8: fin si9: fin tant que

On remarque enfin qu’il arrive que de tres mauvais choix initiaux orientent la re-cherche vers de larges zones de l’espace de recherche sans solution ou qu’il faille unnombre important de reparations pour passer d’un minimum local a un autre. Poureviter ces problemes, le meilleur moyen reste parfois de reparer toutes les variables si-multanement en reprenant simplement la recherche du debut. C’est pourquoi on fixera unnombre maximum d’iterations a l’algorithme Weighted Min-Conflict avant de redemarrerla recherche de solution.

Hybridation des deux types de recherche

L’hybridation qu’on a realisee reprend seulement l’idee principale de [19]. On n’en-registre pas par exemple les nogoods decouverts lors de la recherche systematique. Entheorie, cette methode d’hybridation permet de resoudre des problemes au-dela de laportee de chacune des deux methodes hybridees en exploitant les performances des deux

39

Page 46: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

approches.

La recherche systematique (RS ) se base sur celle developpee dans les sections prece-dentes. On rappelle qu’il s’agit donc d’un parcours d’arbre en profondeur d’abord avecretour-arriere et maintien de la consistance d’arc. On utilise egalement l’heuristique dechoix de variable min dom

wdeg . Le parametre nbBacktracksmax permet d’interrompre larecherche en limitant le nombre maximum de backtracks. La recherche locale utilisee estWeighted Min-Conflict (WMC ) que l’on aide d’une liste Tabu pour sortir plus facilementdes minimums locaux. On interrompt egalement la recherche grace a un parametrenbIterationsmax qui limite le nombre maximum d’iterations. Le partage d’informationentre les deux recherches se fera de maniere naturelle sur les poids (compteur weight)des contraintes incrementes lorsqu’une propagation conduit a un echec pour la recherchesystematique d’une part et lorsqu’on se trouve dans un minimum local pour la recherchelocale d’autre part. Enfin, si jamais l’une des recherches trouve une solution, l’algorithmes’arrete et retourne cette solution. La figure 2.8 illustre l’hybridation sequentielle desdeux types de recherche.

Figure 2.8 – Hybridation sequentielle des deux types de recherche.

De plus, a chaque cycle (c’est-a-dire une alternance recherche locale et recherchesystematique), on augmentera les parametres nbIterationsmax et nbBacktracksmax sui-vant une lois geometriques de raison α. Afin de partager les ressources entre les deuxtypes de recherche, on chronometre chacune des deux recherches pour reequilibrer dy-namiquement le temps alloue a chacune d’entre elles. L’algortihme 5 illustre de manieresimplifiee l’hybridation mise en oeuvre.

40

Page 47: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

Algorithm 5 Hybrid

1: tant que on n’a pas trouve de solution faire2: tdebut ← maintenant()3: redemarrer nbRedemarragesmax une recherche locale Weighted Min-Conflict li-

mitee a nbIterationsmax iterations.4: tWMC ← maintenant()− tdebut5: effectuer une recherche systematique limitee a nbBacktracksmax.6: tRS ← maintenant()− tRNS7: nbRedemarragesmax ← α× nbRedemarragesmax8: nbBacktracksmax ← α× nbBacktracksmax × tWMC

tRS

9: fin tant que

2.4.3 Experimentation

On a essentiellement trois parametres a regler : le coefficient α, la longueur de la listeTabu que l’on notera ltabu et le nombre maximum d’iterations nbIterationsmax. Trouverles bons parametres semble delicat et fortement lie au probleme a resoudre. De plus,notre premiere implementation n’est pas suffisamment mature pour presenter une etudedetaillee des parametres. C’est pourquoi, on se contentera simplement d’un apercu del’importance de chacun de ces parametres.

On a teste notre implementation uniquement sur des instances de probleme aleatoiretestees 5 fois avec le meme parametrage. Afin de pouvoir visualiser graphiquementnos resultats grace a un graphique en 3 dimensions, on fixera dans un premier tempsltabu = 50. Dans un second temps, compte tenu de la difficulte de lecture des courbesen 3 dimensions 2 , on fixe egalement nbIterationsmax = 2000. La figure 2.9 presenteles resultats obtenus. On s’apercoit alors que dans ce cas, une valeur de α entre 1,5 et2 donne de meilleurs resultats.

Comme le montre la figure 2.10, on peut egalement faire de meme en fixant d’abordarbitrairement nbIterationsmax = 2000 puis fixer α entre 1,5 et 2 puisque cela corres-pond aux meilleurs resultats obtenus precedemment. On constate qu’une taille de listeTabu d’environs 50 est plutot un bon choix.

Enfin, les resultats de la figure 2.11 ont ete elabores en fixant d’abord α = 1, 75 puisltabu = 50 pour permettre une meilleur visualisation des resultats puisque cela corres-pond aux valeurs selectionnees precedemment. On s’apercoit alors que fixer initialementnbIterationsmax a 2000 est une valeur moyenne acceptable.

2. Les courbes en 3 dimensions presentees ici sont reproduit en format plus grand en annexe.

41

Page 48: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

nbIterationsmax = 2000

Figure 2.9 – Resultats obtenus en fixant ltabu a 50.

Il est possible de raffiner encore le reglage des parametres mais il faut garder al’esprit qu’il semble que les parametres soient dependants du probleme : un bon pa-rametrage pour un probleme n’est pas forcement bon pour un autre. Enfin, en moyenne,en considerant ce parametrage, il faut en moyenne a la methode hybride 8,4 s contre9,2 s a la methode systematique avec l’heuristique de choix de variable min dom

wdeg pourobtenir une solution a des instances de problemes aleatoires.

2.4.4 Discussion

Le but de cette partie etait avant tout de presenter l’idee principale de l’hybridationdeveloppee dans [19]. C’est pourquoi on ne detaillera pas davantage et on ne testerapas sur d’autres problemes. Notre approche appliquee permet de se rendre compte desdifficultes de parametrage mais aussi du potentielle d’une telle methode. Neanmoins,notre implementation n’est pas assez mature et robuste. C’est pourquoi, on ne testerapas cette hybridation sur des problemes de trafic aerien. On retiendra essentiellementla seduisante maniere � naturelle � d’hybrider les deux methodes qui ouvre d’autresperspectives liees a l’heuristique Weighted Degree.

42

Page 49: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

α = 1.75

Figure 2.10 – Resultats obtenus en fixant nbIterationsmax a 2000.

ltabu = 50

Figure 2.11 – Resultats obtenus en fixant ltabu a 1,75.

43

Page 50: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

Chapitre 3

Application a un probleme degestion du trafic aerien

3.1 Presentation de la gestion du trafic aerien

La gestion du trafic aerien est necessaire pour plusieurs raison : pour garantir desniveaux de securite, pour garantir un ecoulement du trafic, pour optimiser l’ecoulementdu trafic, etc. Cette gestion se fait a travers notamment le controle decoupe en troiscategories principales :

– le controle en route qui est responsable des vols en croisiere ;– le controle d’approche qui gere les avions aux alentours d’un aeroport pendant

leur phase de descente ou de montee ;– le controle d’aeroport qui est responsable de toute la phase aeroportuaire des vols,

depuis la descente finale de l’avion jusqu’a son deollage suivant.Cette derniere phase comprend egalement le sequencement des avions sur la piste.Les dernieres previsions d’Eurocontrol, organisme Europeen de gestion du trafic

aerien, prevoit une croissance du trafic aerien pour 2010 de 0.8% malgre le contexte decrise economique 1. L’augmentation du trafic aerien implique notamment une ameliorationde la capacite des aeroports : un dysfonctionnements peut aboutir a la congestion d’unaeroport ce qui lourd de consequences en terme economique, de retard et de securite.C’est pourquoi, nous nous interessons dans cette partie a resoudre un probleme d’opti-misation du sequencement d’avions au decollage et a l’atterrissage d’un grand aeroporten limitant les retards.

Les problemes de Job Shop Scheduling presentent des points communs avec lesproblemes de sequencement d’avion. C’est pourquoi nous avons commence par suivre lademarche de [9] dans la section 3.2 pour ensuite l’adapter a notre probleme aeroportuairedans la section 3.3. La section 3.2 permet egalement de montrer l’interet de l’utilisationde technique generique.

1. EUROCONTROL Short-Term Forecast, May 2010

44

Page 51: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

3.2 Probleme de Job Shop Scheduling

Cette partie s’inspire des demarches de [11] et [9].

3.2.1 Presentation du probleme

Un probleme de Job Shop de taille n ×m implique n jobs et m machines. Chaquejob est constitue de m taches a executer dans un ordre fixe, chacune sur une machinedifferente. Chaque tache est ininterruptible et on associe une duree a chacune d’entreelles. Chaque machine correspond a exactement une seule tache par job et ne peut ef-fectuer qu’une seule tache a la fois. Le but est alors de minimiser la duree totale poureffectuer toutes les taches (makespan).

La figure 3.1 presente un petit exemple de probleme de Job Shop. On dispose ici de 3jobs qui se partage 3 machines. Chaque machine est represente par une couleur. L’ordredans le quel chaque tache doit etre effectue est symbolise par un chemin de fleche pourchaque job.

La figure 3.2 presente une solution optimale possible : pour chaque job, on donnel’ordonnancement des differentes taches.

Il existe une autre variante de ce probleme connu sous le nom de Open Shop : leprobleme est identique sauf que les taches d’un job ne sont plus ordonnee initialement.

3.2.2 Modelisation

La modelisation presente dans [9] semble interessante : elle est a la fois � simple � etgenerique. Elle utilise des contraintes de disjonction simple et l’heuristique Weigthed De-gree.

Pour chaque job, on modelise l’heure de debut de chacune des taches par une variableti. Puis, on fixe l’ordre des taches de chaque job par la contrainte ti + di ≤ tj avec dila duree de la tache ti si la tache i doit preceder la tache j. Puis, pour chaque pairede taches i et j non-ordonnees partageant la meme machine, on introduit une variablebooleenne bij representant l’ordre entre les deux taches, c’est-a-dire si bij vaut 0 alors latache i precede la tache j et sinon, si bij vaut 1, on considere l’ordre oppose.

Les variables bij , ti et tj sont liees par la contrainte sur laquelle on maintien la consis-tance aux bornes :

bij = 0⇔ ti + di ≤ tj et bij = 1⇔ tj + dj ≤ ti

On obtient alors mn(n−1)2 contraintes de disjonction et autant de variables booleenne bij .

45

Page 52: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

Figure 3.1 – Illustration d’un probleme de Job Shop ou 3 jobs doivent utiliser 3 machinesdifferentes dans un ordre defini.

3.2.3 Strategie de recherche

Afin de pouvoir expliquer d’avantage notre modelisation et la strategie de rechercheutilisee, il faut rappeler une observation (mentionnee dans [9]) : l’existance d’un ordrepartiel des taches tel que les heures de debut de tache et les durees soient compatibleset tel que l’ordre des taches sur chaque machine soit un ordre total, est equivalent al’existence de solution. Autrement dit, la propagation est complete si toutes les disjonc-tions sont resolues. Ainsi, si on choisit les variables booleennes bij comme variables dedecision et si on arrive a assigner toutes ces variables, l’existence de solution est garantie.

C’est pourquoi, au lieu de rechercher les solutions en assignant une valeur unique al’heure de debut de la tache sur la branche de gauche et d’interdire cette valeur sur labranche de droite de l’arbre de recherche, on va plutot separer le probleme en relationde precedence. La modelisation proposee utilise cette strategie et reduit ainsi significa-tivement l’espace de recherche.

46

Page 53: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

Figure 3.2 – Une solution optimale au probleme de Job Shop de la figure 3.1.

On utilise ensuite l’heuristique Weighted Degree decrite section 1.3.1. On notera quele comportement de l’heuristique est dependant de la modelisation : deux ensemblesde contraintes differents, bien qu’equivalent, peuvent distribuer les poids de manieredifferente.

Dans notre modelisation, chaque contraintes implique une seule variable de decision.Au debut de la recherche de solution, l’heuristique n’est pas informee (toutes les va-riables booleennes ont le meme poids de 1). On utilise alors la taille du domaine desdeux taches ti et tj associee a une variable booleenne bi,j pour informer la methode deselection jusqu’a ce que les poids deviennent predominants. On choisira alors la variablequi minimise la somme de la taille des domaines des deux taches divisee par le poids dela contrainte de disjonction impliquant la variable de decision bij (c’est-a-dire le nombrede fois que la recherche echoue lors de la propagation de la contrainte). En notant wijle poids de cette contrainte :

|D(ti)|+|D(tj)|wij

L’heuristique etant peut informee initialement, on effectue plusieurs redemarrage.Les poids des contraintes sont plus representatifs des parties difficiles du probleme aresoudre au fur a mesure des redemarrage ce qui permet d’effectuer de meilleurs choixde variables initiales. La strategie de redemarrage utilise est similaire a celle evoque dansla section 2.2.1. On coupe la recherche au bout d’un nombre fixe de backtracks qui croıtsuivant une loi geometrique : a chaque redemarrage, on dispose de plus d’informationpour choisir les variables initiales alors on peut supposer que les choix de variables auront

47

Page 54: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

plus de chance d’aboutir vers une solution. Passe un nombre fixe de redemarrages, onenleve la strategie de coupure pour le dernier redemarrage et on laisse la rechercherparvenir a son terme.

3.2.4 Experimentation

Nous avons experimente cette modelisation sur une instance enonce par J.F. Muthet G.L. Thompson dans le livre Industrial scheduling (1963). Cette instance difficile aete resolu la premiere fois par J. Carlier et E. Pinson, An algorithm for solving thejob-shop problem (1989).

Le tableau 3.3 presente les resultats experimentaux moyens obtenus pour chaqueheuristique testee 5 fois. Il presente pour chaque technique le nombre total de backtrackspour prouver l’optimalite de la solution, le temps de calcul pour trouver la meilleuresolution et le temps de calcul pour trouver la meilleure solution et prouver son op-timalite. Le parametrage de la strategie de redemarrage a ete choisi apres plusieursexperimentations : le nombre de redemarrage est fixe a 100 et pour la progressiongeometrique de coupure, l’element initiale est fixe a 1 et la raison a 1.1. On testeraegalement notre modele avec une amelioration proposee precedemment, l’heuristiqueLast Conflict presentee section 2.3.

backtracks meilleure sol. (s) temps total (s)

Edge Finding 105758 64,52 105,93

Weighted Degree 28290502 983,4 1459,16

Last Conflict et Weighted Degree 3780014 64,81 209,36

Figure 3.3 – Resultats experimentaux

La figure 3.4 donne un apercu du sequencement obtenue. Sur cette figure, chaqueligne correspond a un job et chaque couleur represente une meme machine.

3.2.5 Discussion

Les resultats obtenues montrent l’interet de l’etude des heuristiques de choix devariable et montre la diversite des performances. Avant de comparer les differentes tech-niques, il ne faut pas perdre de vue que les heuristiques Weighted Degree et Last Conflictsont des heuristiques generiques.

La methode de Edge-Finding (implementee ici par P-S. Huard et detaillee parexemple dans [1], l’ouvrage couvre egalement une analyse complete des differentes tech-niques de sequencement) est une technique specifique de propagation de contrainte deressource unitaire. Cette technique utilise des raisonnements globaux sur l’ensemble destaches affectees a une machine (il existe egalement des versions de cette algorithme pour

48

Page 55: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

Figure 3.4 – Une solution optimale d’une instance enonce par J.F. Muth etG.L. Thompson du probleme de Job Shop.

des ressource non unitaire). Il n’est donc pas surprenant que cette technique soit la plusefficace. Ce qui est interessant de voir ici, c’est qu’une approche utilisant un modeleplus simple et une heuristique generique peut approcher les resultats obtenus par unetechnique specifique.

Il est parfois difficile, long ou couteux d’obtenir l’expertise necessaire aux developpe-ment de techniques specifiques a un probleme. Le choix de modele simple et d’heuristiquegenerique, bien qu’un peu moins efficace, offre un bon compromis. C’est pourquoi dansla suite, on testera une approche similaire sur un probleme de trafic aerien.

49

Page 56: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

3.3 Probleme de sequencement d’avion au decollage

La congestion des aeroports a des consequences environnementales et economiquesnon negligeables. Lorsqu’on observe les grands aeroports, on s’apercoit que les pistessont les elements les moins capacitifs. En effet, les separations, dues essentiellement auxturbulences de sillage entre les mouvements d’atterrissage ou de decollage et aux condi-tions meteorologiques, restreignent l’utilisation des pistes.

Dans ce contexte, cette section presente une methode pour optimiser la sequence depiste au decollage en minimisant les retards.

3.3.1 Presentation du probleme

En considerant une situation de trafic, le but est d’affecter a chaque avion un creneaud’occupation de la piste et d’optimiser la sequence de piste pour minimiser les retards.

La definition du probleme donnee dans [5] precise que chaque avion peut avoir uncreneau CFMU 2. Ce creneau a pour but d’optimiser les flux de trafic aerien et doit, dansl’ideale, etre respecte. Cependant, les retards (temps de rotation trop long, problemed’embarquement, etc.) provoquent des perturbations du trafic qui rendent ces creneauxdifficiles a respecter. Le critere a minimiser devient alors le retard par rapport a l’heureprevu de depart et l’ecart par rapport a ce creneau CFMU.

En notant t1,i l’heure ideal du creneau CFMU pour l’avion i, le critere est defini par(les temps etant exprimes en minutes) :

c(ti) =

0 si ti ∈ [t1,i − 5; t1,i[

ti − t1,i si ti ∈ [t1,i; t1,i + 5[

4 ∗ (ti − t1,i) sinon

La figure 3.5 represente le critere en fonction de l’ecart par rapport au creneau CFMU.

Comme evoque en introduction, les mouvements (atterrissages ou decollages) doiventetre separes afin de dissiper les turbulences aerodynamiques qui se forment derriere unaeronef (turbulences de sillage). Le tableau 3.6 rappel les separations requises en fonctiondu poids de l’aeronef et de son type de mouvement (c’est-a-dire s’il s’agit d’un departou d’une arrivee).

3.3.2 Ressemblance avec le probleme de Job Shop Scheduling

Les deux problemes sont des problemes de sequencement et font tous les deux appelsa une ou plusieurs ressources unitaires (les machines dans un cas et la piste dans l’autre).

2. Le Central Flow Management Unit, oraganisme d’EUROCONTROL, a pour mission (entre autres)l’allocation de creneaux de decollage afin de faire respecter les capacites des secteurs de controle etd’optimiser les flux de trafic aerien.

50

Page 57: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

Figure 3.5 – Cout en fonction de l’ecart au temps CFMU

1er aeronef

2e

aero

nef

Arrivee DepartLeger Moyen Lourd Leger Moyen Lourd

Leger 60 120 180 60 120 180Arrivee Moyen 60 60 90 60 60 120

Lourd 60 60 90 60 60 90Leger 60 120 180 60 120 180

Depart Moyen 60 60 60 60 60 120Lourd 60 60 90 60 60 90

Figure 3.6 – Separation en fonction des types de mouvement et des categories avions.

La methode de resolution proposee dans [5] se base sur un algorithme de type branchand bound. En suivant une modelisation similaire a celle utilisee pour le probleme deJob Shop Scheduling, on pourra simuler une recherche semblable a celle deja proposee.Puis, en utilisant une heuristique adaptative Weighted Degree, on pourra alors decouvrirau fur et a mesure de l’exploration de l’arbre de recherche les sous-problemes difficileset orienter la recherche vers ces sous problemes. L’avantage est de tirer profit ici destechniques de programmation par contraintes.

3.3.3 Modelisation

On considere un probleme impliquant n avions et on notera dans la suite :– ti la variable modelisant l’heure de depart (arrivee) de chaque avion ;– tmin,i la borne inferieure de ti ;– tmax,i la borne superieure de ti (si elle est precisee) ;

51

Page 58: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

– t1,i l’heure a partir de laquelle le critere vaut ti − t1,i ;– t2,i l’heure a partir de laquelle le critere vaut 4× (ti − t1,i) (si elle est precisee).

Les separations entre les avions sont representees par la matrice (S)i,j ou chaque co-efficient si,j modelise la separation entre l’avion i et l’avion j. Cette matrice n’est passymetrique (puisque les normes de separation entre un avion leger suivant un avion lourdet inversement ne sont pas les memes).

Pour tout i, on pose ensuite les contraintes :

tmin,i ≤ ti et si tmax,i existe ti ≤ tmax,i

Puis, on s’inspire de la formulation des contraintes de disjonction du probleme de JobShop Scheduling de la section 3.2. Pour chaque paire d’avions, on associe une variablebooleenne bij representant l’ordre entre les deux avions, c’est-a-dire si bij vaut 0 alorsl’avion i passera avant l’avion j et sinon, si bij vaut 1, on considere l’ordre oppose.Ainsi, les variables bij , ti et tj sont liees par la contrainte sur laquelle on maintient laconsistance aux bornes :

bij = 0⇔ ti + si,j ≤ tj et bij = 1⇔ tj + sj,i ≤ ti

On obtient alors n(n−1)2 contraintes de disjonction et autant de variables booleenne bij .

Pour modeliser la fonction de cout, on distingue les avions selon leur type de mou-vement, c’est-a-dire s’il s’agit d’un depart ou d’une arrivee. Les arrivees ont un coutde 0. La fonction de cout decrite ci-apres ne prend donc en compte que les departs.En considerant un avion i au depart, on introduit egalement deux variables booleennessupplementaires bi,1 et bi,2. Ces deux variables seront utiles par la suite pour accelererla recherche. Chacune d’entre elles sera lies a une contrainte reifiee telle que :

bi,1 = 1⇔ ti < t1,i et bi,2 = 1⇔ ti < t2,i (si t2,i existe)

Ainsi, le cout ci pour l’avion i s’exprime alors :

ci = (1− bi,1)× bi,2 × (ti − t1,i) + (1− bi,2)× 4× (ti − t1,i)

Le cout total C s’obtient donc en additionant les cout ci de chaque avion :

C =n∑i=1

ci

De plus, afin de guider d’avantage la recherche et de ne pas explorer des parties del’arbre de recherche ou on est sur de ne pas trouver de solution, on reduit l’espace derecherche en coupant les branches qui echangent deux avions equivalents, c’est-a-diredeux avions de meme type (arrivee ou depart), de meme categorie de turbulence desillage et de meme profil (avec ou sans creneau tmax,i, t2,i).

52

Page 59: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

3.3.4 Strategie de recherche

Pour reduire l’espace de recherche significativement, nous avons suivi la meme in-tuition que celle du probleme de Job Shop Scheduling. Au lieu d’instancier les variablesti d’heure de depart de chaque avion, on choisit comme variables de decision les va-riables bi,j . Chaque variable nous permet alors de separer le probleme en 2 relations deprecedence opposees. Si on arrive a assigner chacune des variables bi,j , l’existence desolution est garantie.

On utilise ensuite un schema de branchement binaire et l’heuristique Weighted De-gree decrite section 1.3.1 pour choisir les variables bi,j . Dans notre modelisation, chaquecontrainte implique une seule variable de decision. Au debut de la recherche de solution,l’heuristique n’est pas informee (toutes les variables booleennes ont le meme poids de1). On utilise alors le minimum des bornes inferieures tmin,i et tmin,j associee a chaquevariable booleenne bi,j pour informer la methode de selection jusqu’a ce que les poidsdeviennent predominants. On choisira alors la variable qui minimise le minimum desbornes inferieures des heures de depart divise par le poids wij de la contrainte de dis-jonction impliquant la variable de decision bij :

min(tmin,i ; tmin,j)wij

On guide la recherche egalement en couplant cette heuristique avec l’heuristique LastConflict de la section 2.3.

En ce qui concerne la strategie de choix de valeur, on choisit d’abord la valeursucceptible de minimiser le cout de la solution, c’est-a-dire :{

0 si tmin,i < tmin,j

1 sinon

On utilise egalement une strategie de redemarrage similaire a celle utilisee pour leprobleme de Job Shop Scheduling.

Afin d’orienter la recherche le plus possible vers les solutions minimales, on assigneaussi au prealable les variables bi,1 et bi,2 (si elle existe) en commencant par 1 puis 0 (onrecherche d’abord les solutions dans la partie de l’espace de recherche ou le cout est lemoins eleve).

3.3.5 Experimentation

On a experimente notre modele sur des donnees issues de l’aeroport de Paris-Charlesde Gaulle. Les jeux de donnees ont ete preleves sur deux pistes differentes :

– la piste 26R, avec uniquement des departs (donc il n’y a pas de contrainte d’heuremaximale tmax,i) ;

– la piste 27, partagee par des departs et des arrivees

53

Page 60: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

instance nombre d’avions cout backtracks solution (s) total (s)

QFU26R-0600 8 0 86 0,004 0,01

QFU26R-0700 18 7 444 0,008 0,17

QFU26R-0800 14 13 114 0,006 0,01

QFU26R-1300 18 46 93 0,006 0,01

QFU27-0600 8 3 5 0,000 0,00

QFU27-0700 17 34 35 0,004 0,01

QFU27-0800 23 86 250 0,006 0,01

QFU27-1300 25 267 8410 0,134 0,23

Figure 3.7 – Resultats experimentaux a differentes heures de la journee.

. La densite de trafic evoluant au cours de la journee, on a experimente notre modelesur ces deux pistes a differentes heures de la journee.

Le tableau 3.7 presente les resultats experimentaux moyens obtenus pour chaqueinstance testee 5 fois. Il presente pour chaque instance, le nombre d’avions impliques, lecout de la meilleure solution obtenue (selon la fonction de cout decrite dans la sectionprecedente), le nombre total de backtracks pour trouver et prouver l’optimalite de lasolution, le temps de calcul pour trouver la meilleure solution et le temps de calcul pourtrouver et prouver l’optimalite de la solution. De plus, en annexe, on donne quelquescaptures d’ecran des solutions obtenues pour quelques instances.

3.3.6 Discussion

Notre modelisation s’avere tres efficace sur ce type de probleme. Elle reproduit unerecherche semblable a celle decrite dans [5] mais en utilisant les outils de la program-mation par contrainte. On peut noter egalement que nous n’avons utilise que des heu-ristiques generiques, sans connaissance specifique du probleme traite. Cette approchepresente donc l’avantage d’etre simple et pourtant efficace. Les resultats obtenus sontencourageants.

54

Page 61: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

Conclusion

Nous avons presente une strategie de recherche adaptative dirigee par les conflits quia pour but d’ameliorer les performances de la recherche de solution en programmationpar contraintes. Cette methode repose sur une ponderation des contraintes violees aucours de la recherche. Les resultats encourageants obtenus ont donne lieu par la suitea plusieurs tentatives d’ameliorations : schema de branchement binaire, strategies deredemarrage et de collecte d’informations, utilisation combinee avec l’heuristique LastConflict. Ces ameliorations ont montre leur efficacite sur de nombreux exemples, c’estpourquoi nous les avons mises en œuvre sur un probleme reel de gestion du trafic aerien.

Ces strategies ont donc ete appliquees a une modelisation simple, inspiree par destravaux realisees sur un probleme de Jobshop Scheduling, d’un probleme de sequencementd’avions au decollage de l’aeroport Paris-Charles-de-Gaulle. En utilisant les strategiesgeneriques de recherche de solutions presentees precedemment, les resultats obtenus sontprometteurs, notamment les performances en terme de temps de calcul pour trouver unesolution optimale.

Enfin, nous avons egalement tente d’explorer une methode seduisante d’hybridationavec de la recherche locale. Nous avons tente de donner un apercu des possibilites maisaussi des difficultes de cette approche. Neanmoins, cette technique presente deja un fortpotentiel malgre notre implementation partielle et simplifiee.

L’interet de la modelisation presentee est de pouvoir beneficier egalement de toutesles avancees de la programmation par contraintes. C’est ainsi que de nombreuses tech-niques auraient egalement pu etre testees : enregistrement de nogoods, decompositionarborescente, etc. Davantage de connaissances sur le probleme pourrait donc etre ex-ploitees, mais ces calculs supplementaires sont egalement susceptibles de ralentir notrealgorithme, tout du moins sur les petites instances presentees. On remarque egalementque notre modelisation peut etre enrichie pour la rendre plus realiste encore.

La programmation par contraintes semble tres prometteuse dans le domaine de la ges-tion du trafic aerien : bien que les heuristiques dirigees vers les conflits soient generiques,elles restent tres efficaces sur le probleme de sequencement teste. Nous avons donc suiviune approche simple et generique qui peut etre adaptee a d’autres problemes.

55

Page 62: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

Annexe

56

Page 63: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

Figure 3.8 – Resultats obtenus en fixant ltabu a 50 (figure 2.9 page 42).

57

Page 64: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

Figure 3.9 – Resultats obtenus en fixant nbIterationsmax a 2000 (figure 2.10 page 43).

58

Page 65: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

Figure 3.10 – Resultats obtenus en fixant ltabu a 1,75 (figure 2.11 page 43).

59

Page 66: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

Les figures 3.11 et 3.12 presentent des captures d’ecrans des resultats obtenus auprobleme de sequencement d’avions. Les separations entre les avions sur la piste sontsymbolisees par des arcs de cercle (en haut). Le creneau de chaque avion est symboliserpar une ligne noire. Les marqueurs vert et rouge representent les heures ou le cout aug-mente par 2 puis par 4. Les lignes rouges reflete le poids des contraintes de disjonctionsassociee aux avions a ses extremites : plus la lignes est rouge, plus le poids est important.Ces lignes permettent d’identifier les parties qui ont ete decouverte comme difficile lorsde la recherche de solution.

60

Page 67: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

Figure 3.11 – Resultats obtenus pour la piste 27 a 8h00.

61

Page 68: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

Figure 3.12 – Resultats obtenus pour la piste 27 a 13h00.

62

Page 69: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

Bibliographie

[1] Philippe Baptiste, Claude Le Pape, and Wim Nuijten. Constraint-Based Sche-duling : Applying Constraint Programming to Scheduling Problems. InternationalSeries in Operations Research and Management Science. Kluwer, 2001. F. : Theoryof Computation.

[2] Nicolas Barnier. Application de la programmation par contraintes a des problemesde gestion du trafic aerien. PhD thesis, These doctorat informatique de l’INPToulouse, 2002.

[3] Frederic Boussemart, Fred Hemery, Christophe Lecoutre, and Lakhdar Saıs. Heu-ristiques de choix de variables dirigees par les conflits. In 10eJournees Nationalessur la resolution pratique des Problemes NP-Complets(JNPC’04), pages 91–105,Angers, France, Juin 2004.

[4] B. Cabon, S. De Givry, L. Lobjois, and T. Schiex. Radio link frequency assignment.Constraints, 4 :79–89, 1999.

[5] Raphael Deau, Jean-Baptiste Gotteland, and Nicolas Durand. Runways sequencesand ground traffic optimisation. In ICRAT2008, 2008.

[6] Rina Dechter. Enhancement schemes for constraint processing : backjumping, lear-ning, and cutset decomposition. Artificial Intelligence, 41(3) :273–312, 1990.

[7] F. Glover and M. Laguna. Tabu Search. Kluwer Academic Publishers, 1997.

[8] Diarmuid Grimes. A study of adaptive restarting strategies for solving constraintsatisfaction problems.

[9] Diarmuid Grimes, Emmanuel Hebrard, and Arnaud Malapert. Closing the openshop : Contradicting conventional wisdom. In CP, pages 400–408, 2009.

[10] Diarmuid Grimes and Richard J. Wallace. Learning to identify global bottlenecksin constraint satisfaction search. In 20th International FLAIRS Conference, 2007.

[11] Diarmuid Grimes and Richard J. Wallace. Sampling strategies and variable selectionin weighted degree heuristics. In CP, pages 831–838, 2007.

[12] Robert M. Haralick and Gordon L. Elliott. Increasing tree search efficiency forconstraint satisfaction problems. In Proceedings of the 6th international joint confe-rence on Artificial intelligence, IJCAI’79, pages 356–364, San Francisco, CA, USA,1979. Morgan Kaufmann Publishers Inc.

63

Page 70: Strat egie de recherche adaptative en programmation par contraintepom.tls.cena.fr/papers/thesis/rapport_marchal.pdf · 2010-09-09 · Introduction 1 1 Strat egie de recherche adaptative

[13] Joey Hwang and David G. Mitchell. 2-way vs d-way branching for csp. In Procee-dings of CP05, pages 343–357. Springer, 2005.

[14] Mark D. Johnston and Steven Minton. Analyzing a heuristic strategy for constraint-satisfaction and scheduling. In Intelligent Scheduling, pages 257–289. Morgan, 1994.

[15] Christophe Lecoutre, Lakhdar Sais, Sebastien Tabary, and Vincent Vidal. Re-cherche dirigee par le dernier conflit. In Actes des Deuxi mes Journ es Francophonesde Programmation par Contraintes JFPC06, 2006.

[16] Christophe Lecoutre, Lakhdar Sais, Sebastien Tabary, and Vincent Vidal. Nogoodrecording from restarts. In Proceedings of IJCAI’07, pages 131–136, 2007.

[17] Steven Minton, Andy Philips, Mark D. Johnston, and Philip Laird. Minimizingconflicts : A heuristic repair method for constraint-satisfaction and scheduling pro-blems. Journal of Artificial Intelligence Research, 58 :161–205, 1993.

[18] Paul Morris. The breakout method for escaping from local minima. In AAAI, pages40–45, 1993.

[19] Julien Vion. Contributions a la resolution generique des problemes de satisfactionde contraintes. PhD thesis, Universite d’Artois, Lens, Novembre 2007.

[20] Ke Xu, Frederic Boussemart, Fred Hemery, and Christophe Lecoutre. A simplemodel to generate hard satisfiable instances. In Proceedings of IJCAI’05, pages337–342, 2005.

64