134
Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales. Sylvain Bouveret et Michel Lemaître Office National d’Études et de Recherches Aérospatiales Centre National d’Études Spatiales Institut de Recherche en Informatique de Toulouse Séminaire de l’UR Conduite et décision (DCSD), 27 juin 2006

Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

Embed Size (px)

Citation preview

Page 1: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

Algorithmes de programmation par contraintes pour larecherche d’allocations leximin-optimales.

Sylvain Bouveret et Michel Lemaître

Office National d’Études et de Recherches AérospatialesCentre National d’Études Spatiales

Institut de Recherche en Informatique de Toulouse

Séminaire de l’UR Conduite et décision (DCSD),27 juin 2006

Page 2: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Quelques problèmes issus du monde réel

Problème d’emploi du temps pour les gardes des infirmièresdans les services d’urgences (Nurse rostering problem).

Problème d’emploi du temps pour le service des pompiers.

Problème d’affectation de créneaux à des compagniesaériennes dans des aéroports.

Problèmes d’allocation de ressources multi-agents : partaged’une constellation de satellites d’observation de la Terre.

2 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 3: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Quelques points communs entre ces problèmes

Ils peuvent être fortement combinatoires ; difficiles àrésoudre.

3 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 4: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Quelques points communs entre ces problèmes

Ils peuvent être fortement combinatoires ; difficiles àrésoudre.

Ils font intervenir des variables à domaines généralement finis.

3 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 5: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Quelques points communs entre ces problèmes

Ils peuvent être fortement combinatoires ; difficiles àrésoudre.

Ils font intervenir des variables à domaines généralement finis.

Ils font intervenir un certain nombre de contraintes entre cesvariables.

3 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 6: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Quelques points communs entre ces problèmes

Ils peuvent être fortement combinatoires ; difficiles àrésoudre.

Ils font intervenir des variables à domaines généralement finis.

Ils font intervenir un certain nombre de contraintes entre cesvariables.

; ceci suggère une modélisation sous forme deproblème de satisfaction de contraintes.

3 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 7: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Quelques points communs entre ces problèmes

Ils peuvent être fortement combinatoires ; difficiles àrésoudre.

Ils font intervenir des variables à domaines généralement finis.

Ils font intervenir un certain nombre de contraintes entre cesvariables.

; ceci suggère une modélisation sous forme deproblème de satisfaction de contraintes.

En général ils font intervenir de manière plus ou moinsexplicite la notion d’équité.

3 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 8: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Quelques points communs entre ces problèmes

Ils peuvent être fortement combinatoires ; difficiles àrésoudre.

Ils font intervenir des variables à domaines généralement finis.

Ils font intervenir un certain nombre de contraintes entre cesvariables.

; ceci suggère une modélisation sous forme deproblème de satisfaction de contraintes.

En général ils font intervenir de manière plus ou moinsexplicite la notion d’équité.

3 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 9: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Quelques points communs entre ces problèmes

Ils peuvent être fortement combinatoires ; difficiles àrésoudre.

Ils font intervenir des variables à domaines généralement finis.

Ils font intervenir un certain nombre de contraintes entre cesvariables.

; ceci suggère une modélisation sous forme deproblème de satisfaction de contraintes.

En général ils font intervenir de manière plus ou moinsexplicite la notion d’équité.

Problème : Comment traiter la recherche de compromis équitableet efficace dans le cadre des problèmes de satisfaction decontraintes ?

3 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 10: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Plan de l’exposé du jour1 Formalisation du problème

CSP et programmation par contraintesL’équité dans les problèmes de décision collectiveLeximin et programmation par contraintes

2 Différentes approches de résolution du problèmeUne méthode de branch-and-boundTrier pour régnerUtiliser une contrainte de cardinalitéUtiliser les sous-ensembles saturés

3 Application, benchmark et résultats obtenusDescription de l’applicationLe problème simplifiéBenchmark et résultats

4 Conclusion

4 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 11: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Plan de l’exposé du jour1 Formalisation du problème

CSP et programmation par contraintesL’équité dans les problèmes de décision collectiveLeximin et programmation par contraintes

2 Différentes approches de résolution du problèmeUne méthode de branch-and-boundTrier pour régnerUtiliser une contrainte de cardinalitéUtiliser les sous-ensembles saturés

3 Application, benchmark et résultats obtenusDescription de l’applicationLe problème simplifiéBenchmark et résultats

4 Conclusion

5 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 12: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Le problème de satisfaction de contraintes

Réseau de contraintes [Montanari, 1974]

Un réseau de contraintes est formé :

d’un ensemble de variables X = {x1, . . . , xp} ;

d’un ensemble de domaines D = {dx1, . . . , dxp

} ;d’un ensemble contraintes C, avec pour tout C ∈ C :

X (C ) scope de la contrainte,R(C ) ensemble de tuples autorisés par la contrainte.

Problème de satisfaction de contraintes (CSP)

Étant donné un réseau de contraintes (X ,D, C), existe-t-il uneinstanciation complète cohérente de ce réseau ?

Cadre employé dans la résolution de problèmes combinatoiresdivers : emplois du temps, planification, allocation de fréquences. . .

6 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 13: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Le problème de satisfaction de contraintesavec objectif

Déclinaison du CSP en problème d’optimisation :

CSP avec variable objectif

Étant donnés un réseau de contraintes (X ,D, C) et une variableobjectif o ∈ D telle que do ⊂ N, quelle est la valeur de do

maximale faisant partie d’une instanciation complète cohérente duréseau ?

7 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 14: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Le cadre de la programmation par contraintes

La programmation par contraintes est un cadre de résolution pourles problèmes de satisfaction de contraintes fondé sur :

un algorithme d’exploration de l’arbre de recherche(paramétrable par des heuristiques),

des mécanismes de propagation de contraintes réagissant àdes évènements sur les variables.

8 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 15: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Problème posé

Le cadre de la programmation par contraintes et des CSP fournitdes outils de modélisation et résolution de problèmes combinatoiresavec ou sans critère d’optimisation.

9 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 16: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Problème posé

Le cadre de la programmation par contraintes et des CSP fournitdes outils de modélisation et résolution de problèmes combinatoiresavec ou sans critère d’optimisation.Problème : Comment introduire une «contrainte» d’équité (quiexprime le fait que des compromis sont souhaitables entre lasatisfaction des différents agents) ?

9 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 17: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Décision collective et welfarism

Soit un problème pour lequel on doit choisir une alternative parmiun ensemble S d’alternatives possibles concernant n agents.

10 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 18: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Décision collective et welfarism

Soit un problème pour lequel on doit choisir une alternative parmiun ensemble S d’alternatives possibles concernant n agents.Hypothèse : La décision collective ne dépend que de la donnée,pour chaque agent et pour chaque alternative, d’un niveau desatisfaction : l’utilité individuelle.

10 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 19: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Décision collective et welfarism

Soit un problème pour lequel on doit choisir une alternative parmiun ensemble S d’alternatives possibles concernant n agents.Hypothèse : La décision collective ne dépend que de la donnée,pour chaque agent et pour chaque alternative, d’un niveau desatisfaction : l’utilité individuelle.

Fonction d’utilité individuelle

Étant donné un agent ai et un ensemble d’alternative S (ensembledes partages possibles), la fonction d’utilité individuelle de ai estune fonction ui : S → N.

10 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 20: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Décision collective et welfarism

La théorie du welfarism [Moulin, 1988] traite le problème dedécision collective en attachant à chaque alternative faisable levecteur des utilités individuelles 〈u1, . . . , un〉.

11 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 21: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Décision collective et welfarism

La théorie du welfarism [Moulin, 1988] traite le problème dedécision collective en attachant à chaque alternative faisable levecteur des utilités individuelles 〈u1, . . . , un〉.

3

4

2

1

7

11 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 22: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Décision collective et welfarism

La théorie du welfarism [Moulin, 1988] traite le problème dedécision collective en attachant à chaque alternative faisable levecteur des utilités individuelles 〈u1, . . . , un〉.

3

4

2

1

7

Profil d’utilités : 〈3, 4, 2, 1, 7〉

11 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 23: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Ordre de bien-être social

Pour comparer les profils d’utilités, on utilise un ordre debien-être social.

12 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 24: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Ordre de bien-être social

Pour comparer les profils d’utilités, on utilise un ordre debien-être social.

Ordre de bien-être social (SWO)

Un ordre de bien-être social est un préordre ¹ sur Nn .

12 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 25: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Ordre de bien-être social

Pour comparer les profils d’utilités, on utilise un ordre debien-être social.

Ordre de bien-être social (SWO)

Un ordre de bien-être social est un préordre ¹ sur Nn .

Exemples

Ordre social représenté par la fonction d’utilité collectiveutilitariste.

Ordre social représenté par la fonction d’utilité collectiveégalitariste.

Ordre social leximin.

12 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 26: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Fonctions d’utilité et ordres sociaux classiquesOrdre social utilitariste.

Ordre social égalitariste.

Ordre social leximin.

13 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 27: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Fonctions d’utilité et ordres sociaux classiquesOrdre social utilitariste.

Ordre social égalitariste.

Ordre social leximin.

Ordre social utilitariste [Harsanyi]−→u ¹ −→v ⇔

∑ni=1

ui ≤∑n

i=1vi .

Caractéristiques

Les agents sont des “producteurs” d’utilité.Elle est indifférente aux inégalités entre les agents ; elle peutmener à des partages très inéquitables.

13 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 28: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Fonctions d’utilité et ordres sociaux classiquesOrdre social utilitariste.

Ordre social égalitariste.

Ordre social leximin.

Ordre social utilitariste [Harsanyi]−→u ¹ −→v ⇔

∑ni=1

ui ≤∑n

i=1vi .

CUF utilitariste et équité

〈10, 10, 10, 10〉 ¹ 〈41, 0, 0, 0〉, alors que 〈10, 10, 10, 10〉 est pluséquitable que 〈41, 0, 0, 0〉.

13 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 29: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Fonctions d’utilité et ordres sociaux classiquesOrdre social utilitariste.

Ordre social égalitariste.

Ordre social leximin.

CUF égalitariste [Rawls]−→u ¹ −→v ⇔ minn

i=1ui ≤ minn

i=1vi .

Caractéristiques

Elle ne prend en considération que le moins heureux des agents ;

vocation équitable.

13 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 30: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Fonctions d’utilité et ordres sociaux classiquesOrdre social utilitariste.

Ordre social égalitariste.

Ordre social leximin.

CUF égalitariste [Rawls]−→u ¹ −→v ⇔ minn

i=1ui ≤ minn

i=1vi .

Caractéristiques

Elle ne prend en considération que le moins heureux des agents ;

vocation équitable.En revanche, elle ne satisfait pas le principe d’unanimité(effet de noyade).

13 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 31: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Fonctions d’utilité et ordres sociaux classiquesOrdre social utilitariste.

Ordre social égalitariste.

Ordre social leximin.

CUF égalitariste [Rawls]−→u ¹ −→v ⇔ minn

i=1ui ≤ minn

i=1vi .

CUF égalitariste et Pareto-efficacité

〈1, 1, 1, 1〉 ∼ 〈1, 1000, 1000, 1000〉, alors que 〈1, 1, 1, 1〉 et〈1, 1000, 1000, 1000〉 sont très différents !

13 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 32: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Fonctions d’utilité et ordres sociaux classiquesOrdre social utilitariste.

Ordre social égalitariste.

Ordre social leximin.

SWO leximin

Pour un vecteur −→x , on note−→x ↑ la version triée dans l’ordre

non-décroissant de −→x .−→u Âleximin

−→v ⇔ ∃k tel que ∀i ≤ k , u↑i = v

↑i et u

↑k+1

> v↑k+1

.

Caractéristiques

Il prend en considération tous les agents dans l’ordre de leur niveaude satisfaction ; vocation équitable.Satisfait le principe d’unanimité.

13 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 33: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Fonctions d’utilité et ordres sociaux classiquesOrdre social utilitariste.

Ordre social égalitariste.

Ordre social leximin.

SWO leximin

Pour un vecteur −→x , on note−→x ↑ la version triée dans l’ordre

non-décroissant de −→x .−→u Âleximin

−→v ⇔ ∃k tel que ∀i ≤ k , u↑i = v

↑i et u

↑k+1

> v↑k+1

.

Leximin-optimal et Pareto-efficacité

〈1, 1, 1, 1〉 ≺ 〈1, 1000, 1000, 1000〉 (car le deuxième indice dans levecteur ordonné est discriminant).

13 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 34: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Énoncé du problème

L’ordre social leximin semble donc présenter des propriétésinteressantes pour garantir l’équité et la Pareto-efficacité.

14 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 35: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Énoncé du problème

L’ordre social leximin semble donc présenter des propriétésinteressantes pour garantir l’équité et la Pareto-efficacité.Problème : Aucune fonction d’agrégation numérique ne peutreprésenter l’ordre leximin, sauf si l’ensemble des profils d’utilité estfini, auquel cas on peut utiliser les fonctions suivantes :

14 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 36: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Énoncé du problème

L’ordre social leximin semble donc présenter des propriétésinteressantes pour garantir l’équité et la Pareto-efficacité.Problème : Aucune fonction d’agrégation numérique ne peutreprésenter l’ordre leximin, sauf si l’ensemble des profils d’utilité estfini, auquel cas on peut utiliser les fonctions suivantes :

−→u 7→∑n

i=1nui ,

14 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 37: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Énoncé du problème

L’ordre social leximin semble donc présenter des propriétésinteressantes pour garantir l’équité et la Pareto-efficacité.Problème : Aucune fonction d’agrégation numérique ne peutreprésenter l’ordre leximin, sauf si l’ensemble des profils d’utilité estfini, auquel cas on peut utiliser les fonctions suivantes :

−→u 7→∑n

i=1nui ,

−→u 7→∑n

i=1u−qi , avec q très grand,

14 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 38: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Énoncé du problème

L’ordre social leximin semble donc présenter des propriétésinteressantes pour garantir l’équité et la Pareto-efficacité.Problème : Aucune fonction d’agrégation numérique ne peutreprésenter l’ordre leximin, sauf si l’ensemble des profils d’utilité estfini, auquel cas on peut utiliser les fonctions suivantes :

−→u 7→∑n

i=1nui ,

−→u 7→∑n

i=1u−qi , avec q très grand,

−→u 7→∑n

i=1wi × u

↑i , avec w1 >> w2 >> · · · >> wn (OWA).

14 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 39: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Énoncé du problème

L’ordre social leximin semble donc présenter des propriétésinteressantes pour garantir l’équité et la Pareto-efficacité.Problème : Aucune fonction d’agrégation numérique ne peutreprésenter l’ordre leximin, sauf si l’ensemble des profils d’utilité estfini, auquel cas on peut utiliser les fonctions suivantes :

−→u 7→∑n

i=1nui ,

−→u 7→∑n

i=1u−qi , avec q très grand,

−→u 7→∑n

i=1wi × u

↑i , avec w1 >> w2 >> · · · >> wn (OWA).

14 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 40: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Énoncé du problème

L’ordre social leximin semble donc présenter des propriétésinteressantes pour garantir l’équité et la Pareto-efficacité.Problème : Aucune fonction d’agrégation numérique ne peutreprésenter l’ordre leximin, sauf si l’ensemble des profils d’utilité estfini, auquel cas on peut utiliser les fonctions suivantes :

−→u 7→∑n

i=1nui ,

−→u 7→∑n

i=1u−qi , avec q très grand,

−→u 7→∑n

i=1wi × u

↑i , avec w1 >> w2 >> · · · >> wn (OWA).

; Ceci nous dissuade donc d’exprimer notre problème comme unCSP avec variable objectif.

14 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 41: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Problème de satisfaction de contraintes àcritère leximin

Leximin-CSPEntrées : un réseau de contraintes (X ,D, C) ; un vecteur devariables −→u = 〈u1, . . . , un〉 (∀i , ui ∈ X ), appelé vecteurobjectif.

Sortie : «Infaisable» s’il n’existe pas d’instanciation complètecohérente. Sinon, une instanciation v complète cohérente telleque ∀v instanciation complète cohérente,v(−→u ) ¹leximin v(−→u ).

15 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 42: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Plan de l’exposé du jour1 Formalisation du problème

CSP et programmation par contraintesL’équité dans les problèmes de décision collectiveLeximin et programmation par contraintes

2 Différentes approches de résolution du problèmeUne méthode de branch-and-boundTrier pour régnerUtiliser une contrainte de cardinalitéUtiliser les sous-ensembles saturés

3 Application, benchmark et résultats obtenusDescription de l’applicationLe problème simplifiéBenchmark et résultats

4 Conclusion

16 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 43: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(I) Principe du branch-and-bound

Algorithme classique de résolution d’un CSP avec variable àmaximiser.

17 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 44: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(I) Principe du branch-and-bound

Algorithme classique de résolution d’un CSP avec variable àmaximiser.

Fondé sur l’amélioration successive des solutions trouvées(fournissant une borne inférieure), et sur l’élagage desbranches de l’arbre de recherche non optimales.

17 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 45: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(I) Principe du branch-and-bound

Algorithme classique de résolution d’un CSP avec variable àmaximiser.

Fondé sur l’amélioration successive des solutions trouvées(fournissant une borne inférieure), et sur l’élagage desbranches de l’arbre de recherche non optimales.

17 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 46: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(I) Principe du branch-and-bound

Algorithme classique de résolution d’un CSP avec variable àmaximiser.

Fondé sur l’amélioration successive des solutions trouvées(fournissant une borne inférieure), et sur l’élagage desbranches de l’arbre de recherche non optimales.

Idée : exploiter le principe du branch and bound adapté à un autrepréordre que l’ordre classique sur les entiers : le préordre leximin.

17 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 47: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(I) Adaptation au leximin-CSP

On utilise une contrainte Leximin :

Contrainte LeximinSoient −→x un vecteur de variables et λ un vecteur d’entiers demême taille. La contrainte Leximin porte sur toutes les variablesde −→x et est satisfaite ssi λ ≺leximin

−→x .

Utilisation des travaux de [Frisch et al., 2003] introduisant unalgorithme de filtrage par GAC en O(n log(n)) pour la contrainteMultiset Ordering.

18 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 48: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(I) L’algorithme de leximin-branch-and-bound

Algorithme

while sol(X ,D, C) 6= ∅ dov ← solve(X ,D, C) C ← C ∪ {Leximin(v(−→u ),−→u )}

endif v 6= null then return v else return “Inconsistent”

19 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 49: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(II) Introduction de la version triée du vecteurobjectif

Idée : Introduire des variables supplémentaires 〈y1, . . . , yn〉représentant la version triée du vecteur objectif, et raisonner parmaximisations successives.

20 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 50: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(II) Introduction de la version triée du vecteurobjectif

Idée : Introduire des variables supplémentaires 〈y1, . . . , yn〉représentant la version triée du vecteur objectif, et raisonner parmaximisations successives.

1 Maximiser y1 : y1.

20 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 51: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(II) Introduction de la version triée du vecteurobjectif

Idée : Introduire des variables supplémentaires 〈y1, . . . , yn〉représentant la version triée du vecteur objectif, et raisonner parmaximisations successives.

1 Maximiser y1 : y1.2 Maximiser y2 sous la contrainte y1 = y1 : y2.

20 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 52: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(II) Introduction de la version triée du vecteurobjectif

Idée : Introduire des variables supplémentaires 〈y1, . . . , yn〉représentant la version triée du vecteur objectif, et raisonner parmaximisations successives.

1 Maximiser y1 : y1.2 Maximiser y2 sous la contrainte y1 = y1 : y2.

...

n Maximiser yn sous les contraintes y1 = y1, . . ., yn−1 = yn−1.

20 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 53: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(II) Illustration du principe de l’algorithme

i

ui

i

yi

21 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 54: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(II) Illustration du principe de l’algorithme

i

ui

i

yi

21 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 55: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(II) Illustration du principe de l’algorithme

i

ui

i

yi

21 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 56: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(II) Illustration du principe de l’algorithme

i

ui

i

yi

21 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 57: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(II) Illustration du principe de l’algorithme

i

ui

i

yi

21 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 58: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(II) Illustration du principe de l’algorithme

i

ui

i

yi

21 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 59: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(II) Illustration du principe de l’algorithme

i

ui

i

yi

21 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 60: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(II) Illustration du principe de l’algorithme

i

ui

i

yi

21 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 61: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(II) Illustration du principe de l’algorithme

i

ui

i

yi

21 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 62: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(II) Illustration du principe de l’algorithme

i

ui

i

yi

21 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 63: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(II) Une contrainte de tri

Comment assurer que 〈y1, . . . , yn〉 est la version triée du vecteurobjectif ?

22 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 64: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(II) Une contrainte de tri

Comment assurer que 〈y1, . . . , yn〉 est la version triée du vecteurobjectif ?Utilisation d’une contrainte :

Contrainte Sort

Soient −→x et−→x ′ deux vecteurs de variables de même longueur. La

contrainte Sort(−→x ,−→x ′ ) porte sur les variables de −→x et de

−→x ′ et

n’autorise que les tuples pour lesquels les valeurs de−→x ′

correspondent à la version triée dans l’ordre croissant des valeursde −→x .

Utilisation des travaux de[Bleuzen-Guernalec and Colmerauer, 1997] introduisant unalgorithme de filtrage de bornes en O(n log(n)) pour la contrainteSort, et des travaux plus récents de [Mehlhorn and Thiel, 2000].

22 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 65: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(II) L’algorithme de leximin-branch-and-bound

Algorithme

if solve(X ,D, C) =”Inconsistent” thenreturn “Inconsistent”

end(X ′,D′, C′)←introduire les variables 〈y1, . . . , yn〉 dans (X ,D, C)for i ← 1 to n do

v ←maximize((X ′,D′, C′), yi) dyi← {v(yi )}

endreturn v↓X

23 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 66: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(III) Une reformulation de la contrainte de tri

Proposition

〈y1, . . . , yn〉 est la version triée dans l’ordre croissant de〈u1, . . . , un〉 ssi :

y1 est la valeur maximale telle que tous les ui sont plusgrands que y1 ;

y2 est la valeur maximale telle que n − 1 valeurs parmi les ui

sont plus grands que y2, sachant que tous les ui sont plusgrands que y1 ;

...

yn est la valeur maximale telle que 1 valeur parmi les ui estplus grande que yn , sachant que 2 valeurs parmi les ui sontplus grandes que yn−1, . . ., et que tous les ui sont plus grandsque y1.

24 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 67: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(III) Une reformulation de la contrainte de tri

i

ui

25 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 68: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(III) Une reformulation de la contrainte de tri

i

ui

25 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 69: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(III) Une reformulation de la contrainte de tri

i

ui

25 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 70: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(III) Une reformulation de la contrainte de tri

i

ui

25 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 71: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(III) Une reformulation de la contrainte de tri

i

ui

25 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 72: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(III) Une reformulation de la contrainte de tri

i

ui

25 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 73: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(III) Une reformulation de la contrainte de tri

i

ui

25 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 74: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(III) Une reformulation de la contrainte de tri

i

ui

25 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 75: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(III) Une reformulation de la contrainte de tri

i

ui

25 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 76: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(III) La contrainte AtLeast

L’algorithme est fondée sur la méta-contrainte AtLeast

Contrainte AtLeast [Van Hentenryck et al., 1992]

Soit Γ un ensemble de p contraintes, et k ∈ J1, pK un entier. Alorsla méta-contrainte AtLeast(Γ, k) est la contrainte portant surl’ensemble des variables sur lesquelles portent les contraintes de Γ,et autorisant uniquement les tuples de valeurs pour lesquels aumoins k contraintes de Γ sont satisfaites.

26 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 77: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(III) Description de l’algorithme

Algorithme

si solve(X ,D, C) =«Incohérent» alors retourner «Incohérent»X ′ ← X ∪ {y1, . . . , yn} ;D′ ← D ∪ {Jm, M K, . . . , Jm, M K} ;C′ ← C ;

pour i ← 1 à n faireC ← C ∪ {AtLeast({u1 ≥ yi , . . . , un ≥ yi}, n − i + 1)} ;v ←maximize(yi , (X ,D, C)) ;dyi← {v(yi )} ;

dyi+1← Jv(yi ), M K ;

fin

retourner v↓X

27 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 78: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(III) Description de l’algorithme

Algorithme

si solve(X ,D, C) =«Incohérent» alors retourner «Incohérent»Introduction des variables yiX ′ ← X ∪ {y1, . . . , yn} ;

D′ ← D ∪ {Jm, M K, . . . , Jm, M K} ;C′ ← C ;

pour i ← 1 à n faireC ← C ∪ {AtLeast({u1 ≥ yi , . . . , un ≥ yi}, n − i + 1)} ;v ←maximize(yi , (X ,D, C)) ;dyi← {v(yi )} ;

dyi+1← Jv(yi ), M K ;

fin

retourner v↓X

27 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 79: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(III) Description de l’algorithme

Algorithme

si solve(X ,D, C) =«Incohérent» alors retourner «Incohérent»Introduction des variables yiX ′ ← X ∪ {y1, . . . , yn} ;

D′ ← D ∪ {Jm, M K, . . . , Jm, M K} ;C′ ← C ;

Introduction d’une contrainte sur yipour i ← 1 à n faireC ← C ∪ {AtLeast({u1 ≥ yi , . . . , un ≥ yi}, n − i + 1)} ;v ←maximize(yi , (X ,D, C)) ;dyi← {v(yi )} ;

dyi+1← Jv(yi ), M K ;

fin

retourner v↓X

27 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 80: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(III) Description de l’algorithme

Algorithme

si solve(X ,D, C) =«Incohérent» alors retourner «Incohérent»Introduction des variables yiX ′ ← X ∪ {y1, . . . , yn} ;

D′ ← D ∪ {Jm, M K, . . . , Jm, M K} ;C′ ← C ;

Introduction d’une contrainte sur yi

Calcul de yi

pour i ← 1 à n faireC ← C ∪ {AtLeast({u1 ≥ yi , . . . , un ≥ yi}, n − i + 1)} ;v ←maximize(yi , (X ,D, C)) ;dyi← {v(yi )} ;

dyi+1← Jv(yi ), M K ;

fin

retourner v↓X

27 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 81: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(III) Description de l’algorithme

Algorithme

si solve(X ,D, C) =«Incohérent» alors retourner «Incohérent»Introduction des variables yiX ′ ← X ∪ {y1, . . . , yn} ;

D′ ← D ∪ {Jm, M K, . . . , Jm, M K} ;C′ ← C ;

Introduction d’une contrainte sur yi

Calcul de yi

Mise à jour des domaines

pour i ← 1 à n faireC ← C ∪ {AtLeast({u1 ≥ yi , . . . , un ≥ yi}, n − i + 1)} ;v ←maximize(yi , (X ,D, C)) ;dyi← {v(yi )} ;

dyi+1← Jv(yi ), M K ;

fin

retourner v↓X

27 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 82: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Déroulement de l’algorithme sur un exemple

Un problème de partage d’objets

Problème d’allocation à 3 agents et 3 objets.Contraintes :

1 un agent a droit à un et un seul objet,2 un objet ne doit pas être attribué à plus d’un agent.

Une utilité est associée à chaque couple (agent , objet), selonle tableau :

PP

PP

PP

PPP

objetsagents

a1 a2 a3

o1 3 3 3o2 5 9 7o3 7 8 1

28 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 83: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Déroulement de l’algorithme sur un exempleAlgorithme :X ′ ← X ∪ {y1, . . . , yn} ;D′ ← D ∪ {Jm, M K, . . . , Jm, M K} ;C′ ← C ;

Réseau initial :X ′ = {a1, a2, a3, u1, u2, u3} ∪ {y1, y2, y3}

D′ = {{o1, o2, o3}, {o1, o2, o3}, {o1, o2, o3}, J3, 7K, J3, 9K, J1, 7K}∪{J1, 9K, J1, 9K, J1, 9K}

C′ = {alldifferent({a1, a2, a3})}

29 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 84: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Déroulement de l’algorithme sur un exempleAlgorithme :pour i ← 1 à n faireC ← C ∪ {AtLeast({u1 ≥ yi , . . . , un ≥ yi}, n − i + 1)} ;v ←maximize(yi , (X ,D, C)) ;dyi← {v(yi )} ;

dyi+1← Jv(yi ), M K ;

fin

a1 a2 a3 u1 u2 u3 y1 y2 y3

o1 o2 o3 3 9 1 {1,. . .,9} {1,. . .,9} {1,. . .,9}o1 o3 o2 3 8 7 {1,. . .,9} {1,. . .,9} {1,. . .,9}o2 o1 o3 5 3 1 {1,. . .,9} {1,. . .,9} {1,. . .,9}o2 o3 o1 5 8 3 {1,. . .,9} {1,. . .,9} {1,. . .,9}o3 o1 o2 7 3 7 {1,. . .,9} {1,. . .,9} {1,. . .,9}o3 o2 o1 7 9 3 {1,. . .,9} {1,. . .,9} {1,. . .,9}

29 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 85: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Déroulement de l’algorithme sur un exempleAlgorithme :pour i ← 1 à n faireC ← C ∪ {AtLeast({u1 ≥ yi , . . . , un ≥ yi}, n − i + 1)} ;v ←maximize(yi , (X ,D, C)) ;dyi← {v(yi )} ;

dyi+1← Jv(yi ), M K ;

fin

a1 a2 a3 u1 u2 u3 y1 y2 y3

o1 o2 o3 3 9 1 1 {1,. . .,9} {1,. . .,9}o1 o3 o2 3 8 7 {1,2,3} {1,. . .,9} {1,. . .,9}o2 o1 o3 5 3 1 1 {1,. . .,9} {1,. . .,9}o2 o3 o1 5 8 3 {1,2,3} {1,. . .,9} {1,. . .,9}o3 o1 o2 7 3 7 {1,2,3} {1,. . .,9} {1,. . .,9}o3 o2 o1 7 9 3 {1,2,3} {1,. . .,9} {1,. . .,9}

29 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 86: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Déroulement de l’algorithme sur un exempleAlgorithme :pour i ← 1 à n faireC ← C ∪ {AtLeast({u1 ≥ yi , . . . , un ≥ yi}, n − i + 1)} ;v ←maximize(yi , (X ,D, C)) ;dyi← {v(yi )} ;

dyi+1← Jv(yi ), M K ;

fin

a1 a2 a3 u1 u2 u3 y1 y2 y3

o1 o2 o3 3 9 1 1 {1,. . .,9} {1,. . .,9}o1 o3 o2 3 8 7 {1,2,3} {1,. . .,9} {1,. . .,9}o2 o1 o3 5 3 1 1 {1,. . .,9} {1,. . .,9}o2 o3 o1 5 8 3 {1,2,3} {1,. . .,9} {1,. . .,9}o3 o1 o2 7 3 7 {1,2,3} {1,. . .,9} {1,. . .,9}o3 o2 o1 7 9 3 {1,2,3} {1,. . .,9} {1,. . .,9}

29 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 87: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Déroulement de l’algorithme sur un exempleAlgorithme :pour i ← 1 à n faireC ← C ∪ {AtLeast({u1 ≥ yi , . . . , un ≥ yi}, n − i + 1)} ;v ←maximize(yi , (X ,D, C)) ;dyi← {v(yi )} ;

dyi+1← Jv(yi ), M K ;

fin

a1 a2 a3 u1 u2 u3 y1 y2 y3

o1 o2 o3 3 9 1 1 {1,. . .,9} {1,. . .,9}o1 o3 o2 3 8 7 3 {3,. . .,9} {1,. . .,9}o2 o1 o3 5 3 1 1 {1,. . .,9} {1,. . .,9}o2 o3 o1 5 8 3 3 {3,. . .,9} {1,. . .,9}o3 o1 o2 7 3 7 3 {3,. . .,9} {1,. . .,9}o3 o2 o1 7 9 3 3 {3,. . .,9} {1,. . .,9}

29 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 88: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Déroulement de l’algorithme sur un exempleAlgorithme :pour i ← 1 à n faireC ← C ∪ {AtLeast({u1 ≥ yi , . . . , un ≥ yi}, n − i + 1)} ;v ←maximize(yi , (X ,D, C)) ;dyi← {v(yi )} ;

dyi+1← Jv(yi ), M K ;

fin

a1 a2 a3 u1 u2 u3 y1 y2 y3

o1 o2 o3 3 9 1 1 {1,. . .,9} {1,. . .,9}o1 o3 o2 3 8 7 3 {3,. . .,7} {1,. . .,9}o2 o1 o3 5 3 1 1 {1,. . .,9} {1,. . .,9}o2 o3 o1 5 8 3 3 {3,. . .,5} {1,. . .,9}o3 o1 o2 7 3 7 3 {3,. . .,7} {1,. . .,9}o3 o2 o1 7 9 3 3 {3,. . .,7} {1,. . .,9}

29 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 89: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Déroulement de l’algorithme sur un exempleAlgorithme :pour i ← 1 à n faireC ← C ∪ {AtLeast({u1 ≥ yi , . . . , un ≥ yi}, n − i + 1)} ;v ←maximize(yi , (X ,D, C)) ;dyi← {v(yi )} ;

dyi+1← Jv(yi ), M K ;

fin

a1 a2 a3 u1 u2 u3 y1 y2 y3

o1 o2 o3 3 9 1 1 {1,. . .,9} {1,. . .,9}o1 o3 o2 3 8 7 3 {3,. . .,7} {1,. . .,9}o2 o1 o3 5 3 1 1 {1,. . .,9} {1,. . .,9}o2 o3 o1 5 8 3 3 {3,. . .,5} {1,. . .,9}o3 o1 o2 7 3 7 3 {3,. . .,7} {1,. . .,9}o3 o2 o1 7 9 3 3 {3,. . .,7} {1,. . .,9}

29 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 90: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Déroulement de l’algorithme sur un exempleAlgorithme :pour i ← 1 à n faireC ← C ∪ {AtLeast({u1 ≥ yi , . . . , un ≥ yi}, n − i + 1)} ;v ←maximize(yi , (X ,D, C)) ;dyi← {v(yi )} ;

dyi+1← Jv(yi ), M K ;

fin

a1 a2 a3 u1 u2 u3 y1 y2 y3

o1 o2 o3 3 9 1 1 {1,. . .,9} {1,. . .,9}o1 o3 o2 3 8 7 3 7 {7,8,9}o2 o1 o3 5 3 1 1 {1,. . .,9} {1,. . .,9}o2 o3 o1 5 8 3 3 {3,. . .,5} {1,. . .,9}o3 o1 o2 7 3 7 3 7 {7,8,9}o3 o2 o1 7 9 3 3 7 {7,8,9}

29 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 91: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Déroulement de l’algorithme sur un exempleAlgorithme :pour i ← 1 à n faireC ← C ∪ {AtLeast({u1 ≥ yi , . . . , un ≥ yi}, n − i + 1)} ;v ←maximize(yi , (X ,D, C)) ;dyi← {v(yi )} ;

dyi+1← Jv(yi ), M K ;

fin

a1 a2 a3 u1 u2 u3 y1 y2 y3

o1 o2 o3 3 9 1 1 {1,. . .,9} {1,. . .,9}o1 o3 o2 3 8 7 3 7 {7,8}o2 o1 o3 5 3 1 1 {1,. . .,9} {1,. . .,9}o2 o3 o1 5 8 3 3 {3,. . .,5} {1,. . .,9}o3 o1 o2 7 3 7 3 7 7o3 o2 o1 7 9 3 3 7 {7,8,9}

29 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 92: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Déroulement de l’algorithme sur un exempleAlgorithme :pour i ← 1 à n faireC ← C ∪ {AtLeast({u1 ≥ yi , . . . , un ≥ yi}, n − i + 1)} ;v ←maximize(yi , (X ,D, C)) ;dyi← {v(yi )} ;

dyi+1← Jv(yi ), M K ;

fin

a1 a2 a3 u1 u2 u3 y1 y2 y3

o1 o2 o3 3 9 1 1 {1,. . .,9} {1,. . .,9}o1 o3 o2 3 8 7 3 7 {7,8}o2 o1 o3 5 3 1 1 {1,. . .,9} {1,. . .,9}o2 o3 o1 5 8 3 3 {3,. . .,5} {1,. . .,9}o3 o1 o2 7 3 7 3 7 7o3 o2 o1 7 9 3 3 7 {7,8,9}

29 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 93: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Déroulement de l’algorithme sur un exempleAlgorithme :pour i ← 1 à n faireC ← C ∪ {AtLeast({u1 ≥ yi , . . . , un ≥ yi}, n − i + 1)} ;v ←maximize(yi , (X ,D, C)) ;dyi← {v(yi )} ;

dyi+1← Jv(yi ), M K ;

fin

a1 a2 a3 u1 u2 u3 y1 y2 y3

o1 o2 o3 3 9 1 1 {1,. . .,9} {1,. . .,9}o1 o3 o2 3 8 7 3 7 {7,8}o2 o1 o3 5 3 1 1 {1,. . .,9} {1,. . .,9}o2 o3 o1 5 8 3 3 {3,. . .,5} {1,. . .,9}o3 o1 o2 7 3 7 3 7 7o3 o2 o1 7 9 3 3 7 9

29 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 94: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(IV) Principe de l’algorithme[Dubois and Fortemps, 1999]

Sous-ensemble saturé

Soit (X ,D, C) un réseau de contraintes, −→u un ensemble devariables objectif, et α la valeur maximale telle que il existe unesolution affectant tous les ui à une valeur supérieure à α. Unsous-ensemble S de variables de −→u est dit saturé s’il existe unesolution telle que tous les ui de S sont instanciés à α, et tous lesui qui ne sont pas dans S à une valeur strictement supérieure à α.

30 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 95: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(IV) Principe de l’algorithme[Dubois and Fortemps, 1999]

À chaque étape de l’algorithme, on maximise la composantecourante yi du leximin (voir algorithmes précédents).

Pour chaque sous-ensemble saturé minimal pour la cardinalité,on fixe les uj de ce sous-ensemble à yi .

Pour chacun de ces sous-ensembles, on recommence leprocessus sur le nouveau réseau de contraintes créé.

30 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 96: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(IV) Illustration de l’algorithme

i

ui

31 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 97: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(IV) Illustration de l’algorithme

i

ui

31 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 98: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(IV) Illustration de l’algorithme

i

ui

31 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 99: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(IV) Illustration de l’algorithme

i

ui

31 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 100: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(IV) Illustration de l’algorithme

i

ui

31 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 101: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(IV) Illustration de l’algorithme

i

ui

31 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 102: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

(IV) Illustration de l’algorithme

i

ui

31 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 103: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Inconvénient majeur de l’algorithme

Il faut potentiellement calculer tous les sous-ensembles de valeursde −→u ; potentiellement un nombre exponentiel de résolutionssuccessives.

Algorithme à n’utiliser donc que si l’on est certain que lessous-ensembles saturés de cardinalité minimale sont de petite taille.

32 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 104: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Plan de l’exposé du jour1 Formalisation du problème

CSP et programmation par contraintesL’équité dans les problèmes de décision collectiveLeximin et programmation par contraintes

2 Différentes approches de résolution du problèmeUne méthode de branch-and-boundTrier pour régnerUtiliser une contrainte de cardinalitéUtiliser les sous-ensembles saturés

3 Application, benchmark et résultats obtenusDescription de l’applicationLe problème simplifiéBenchmark et résultats

4 Conclusion

33 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 105: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Une constellation de satellites. . .

Une constellation de satellites d’observation de la Terreco-financée par plusieurs pays (en raison de son coût).

34 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 106: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Une constellation de satellites. . .

limite du corridor devisibilité

satellite

photographieen cours

d’acquisition

orbite

photographies non acquises

photographies acquises

34 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 107: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Une constellation de satellites. . .

Chaque agent (agences civiles et militaires de chaque pays —entre 3 et 6) envoie des demandes d’images à prendre, simplesou complexes (stéréo, tri-stéréo. . .) — plusieurs centaines.

Chaque jour, le Centre de Programmation sélectionne lesdemandes qui seront satisfaites le lendemain et allouées auxagents.

Contraintes : contraintes physiques (fenêtres temporelles,temps de transition, images particulières — stéréo, . . .—,mémoire, énergie,. . .).L’exploitation doit être :

efficace ; la constellation ne doit pas être sous-exploitée,équitable ; chaque agent attend un « retour surinvestissement » en rapport avec sa contribution financière.

35 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 108: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Simplification du problème

Données du problème simplifié :

un ensemble d’agents A ;

un ensemble d’objets O (ensemble des images demandées) ;

préférences des agents exprimées comme un ensemble depoids wio (préférences additives) ;des contraintes :

contraintes physiques approximées par des contraintes devolume généralisé,droits inégaux des agents approximés par des contraintes deconsommation.

36 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 109: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Simplification du problème

Énoncé du problème :Trouver une affectation des objets aux agents satisfaisant toutesles contraintes et dont le profil d’utilités est non dominé au sens del’ordre leximin.

37 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 110: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Simplification du problème

Énoncé du problème :Trouver une affectation des objets aux agents satisfaisant toutesles contraintes et dont le profil d’utilités est non dominé au sens del’ordre leximin.

La version problème de décision de ce problème est NP-complète.

37 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 111: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Implantation du problème simplifiéGénérateur d’instances :Un générateur d’instances aléatoires paramétrable du problème simplifié aété codé en Java. Il est disponible en ligne :

http://www.cert.fr/dcsd/THESES/sbouveret/benchmark

38 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 112: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Implantation du problème simplifiéGénérateur d’instances :Un générateur d’instances aléatoires paramétrable du problème simplifié aété codé en Java. Il est disponible en ligne :

http://www.cert.fr/dcsd/THESES/sbouveret/benchmark

Implantations :Deux implantations de l’algorithme fondé sur la contrainte AtLeast ontété testées :

en Java avec CHOCO ;

en Java avec CPLEX.

38 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 113: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Implantation du problème simplifiéGénérateur d’instances :Un générateur d’instances aléatoires paramétrable du problème simplifié aété codé en Java. Il est disponible en ligne :

http://www.cert.fr/dcsd/THESES/sbouveret/benchmark

Implantations :Deux implantations de l’algorithme fondé sur la contrainte AtLeast ontété testées :

en Java avec CHOCO ;

en Java avec CPLEX.

La méta-contrainte AtLeast peut être transformée en contraintes linéaires :AtLeast({x1 ≥ y , . . . , xn ≥ y}, k) ⇔ {x1 + δ1y ≥ y , . . . , xn + δny ≥y ,

∑n

i=1δi ≤ n − k}, avec {δ1, . . . , δn} variables 0–1.

38 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 114: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Implantation du problème simplifiéGénérateur d’instances :Un générateur d’instances aléatoires paramétrable du problème simplifié aété codé en Java. Il est disponible en ligne :

http://www.cert.fr/dcsd/THESES/sbouveret/benchmark

Implantations :Deux implantations de l’algorithme fondé sur la contrainte AtLeast ontété testées :

en Java avec CHOCO ;

en Java avec CPLEX.

Instance moyenne :4 agents, droits inégaux, 150 objets, contraintes de volume autorisant 10objets sur 20 consécutifs.

38 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 115: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Résultats

0

500

1000

1500

2000

2500

3000

0 50 100 150 200 250 300 350 400

Tem

ps C

PU

(ms)

Nombre d’objets

Repartition uniformeDiff. classes, facteur 10

Diff. classes, facteur 100

Temps de calcul avec CPLEX.

39 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 116: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Résultats

0

100000

200000

300000

400000

500000

600000

20 40 60 80 100 120 140 160 180 200

Tem

ps C

PU

(ms)

Nombre d’objets

Repartition uniformeDiff. classes, facteur 10

Diff. classes, facteur 100

Temps de calcul avec CHOCO.

39 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 117: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Résultats

0

5

10

15

20

20 40 60 80 100 120 140 160 180 200

Nom

bre

d’in

stan

ces

reso

lues

Nombre d’objets

Repartition uniformeDiff. classes, facteur 10

Diff. classes, facteur 100

Nombre d’instances résolues en moins de 10 minutes avec CHOCO.

39 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 118: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Remarques sur les résultats

Notre implantation fondée sur CPLEX est plus efficace quecelle fondée sur CHOCO sur toutes les instances.

40 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 119: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Remarques sur les résultats

Notre implantation fondée sur CPLEX est plus efficace quecelle fondée sur CHOCO sur toutes les instances.Cependant, CPLEX peut commettre des erreurs(d’approximation).

40 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 120: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Remarques sur les résultats

Notre implantation fondée sur CPLEX est plus efficace quecelle fondée sur CHOCO sur toutes les instances.Cependant, CPLEX peut commettre des erreurs(d’approximation).Les instances à répartition de poids uniformes sont plusdifficiles à résoudre en moyenne.

40 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 121: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Remarques sur les résultats

Notre implantation fondée sur CPLEX est plus efficace quecelle fondée sur CHOCO sur toutes les instances.Cependant, CPLEX peut commettre des erreurs(d’approximation).Les instances à répartition de poids uniformes sont plusdifficiles à résoudre en moyenne.

40 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 122: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Remarques sur les résultats

Notre implantation fondée sur CPLEX est plus efficace quecelle fondée sur CHOCO sur toutes les instances.Cependant, CPLEX peut commettre des erreurs(d’approximation).Les instances à répartition de poids uniformes sont plusdifficiles à résoudre en moyenne.

Les tests des autres algorithmes sont en cours. Quelquesconstations :

L’algorithme fondé sur la contrainte Multiset Ordering semblemeilleur sur les instances au nombre d’agents plus élevé.

40 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 123: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Remarques sur les résultats

Notre implantation fondée sur CPLEX est plus efficace quecelle fondée sur CHOCO sur toutes les instances.Cependant, CPLEX peut commettre des erreurs(d’approximation).Les instances à répartition de poids uniformes sont plusdifficiles à résoudre en moyenne.

Les tests des autres algorithmes sont en cours. Quelquesconstations :

L’algorithme fondé sur la contrainte Multiset Ordering semblemeilleur sur les instances au nombre d’agents plus élevé.L’algorithme fondé sur la contrainte Sort semble moins bonque les deux précédents.

40 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 124: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Remarques sur les résultats

Notre implantation fondée sur CPLEX est plus efficace quecelle fondée sur CHOCO sur toutes les instances.Cependant, CPLEX peut commettre des erreurs(d’approximation).Les instances à répartition de poids uniformes sont plusdifficiles à résoudre en moyenne.

Les tests des autres algorithmes sont en cours. Quelquesconstations :

L’algorithme fondé sur la contrainte Multiset Ordering semblemeilleur sur les instances au nombre d’agents plus élevé.L’algorithme fondé sur la contrainte Sort semble moins bonque les deux précédents.S’il y a de nombreux ex-aequo dans le vecteur leximin,l’algorithme de Dubois explose.

40 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 125: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Plan de l’exposé du jour1 Formalisation du problème

CSP et programmation par contraintesL’équité dans les problèmes de décision collectiveLeximin et programmation par contraintes

2 Différentes approches de résolution du problèmeUne méthode de branch-and-boundTrier pour régnerUtiliser une contrainte de cardinalitéUtiliser les sous-ensembles saturés

3 Application, benchmark et résultats obtenusDescription de l’applicationLe problème simplifiéBenchmark et résultats

4 Conclusion

41 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 126: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Conclusions générales

Problème traité : calcul d’une instantiation leximin-optimaled’un réseau de contraintes.

42 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 127: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Conclusions générales

Problème traité : calcul d’une instantiation leximin-optimaled’un réseau de contraintes.

Motivation : l’ordre leximin garantit certaines propriétésd’équité et d’efficacité pour les problèmes de décisioncollective.

42 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 128: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Conclusions générales

Problème traité : calcul d’une instantiation leximin-optimaled’un réseau de contraintes.

Motivation : l’ordre leximin garantit certaines propriétésd’équité et d’efficacité pour les problèmes de décisioncollective.

Algorithmes : introduction de plusieurs algorithmes de calculfondés sur la programmation par contraintes.

42 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 129: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Conclusions générales

Problème traité : calcul d’une instantiation leximin-optimaled’un réseau de contraintes.

Motivation : l’ordre leximin garantit certaines propriétésd’équité et d’efficacité pour les problèmes de décisioncollective.

Algorithmes : introduction de plusieurs algorithmes de calculfondés sur la programmation par contraintes.

Implantation : implantation et évaluation des algorithmes enJava avec CHOCO et CPLEX pour l’un d’entre eux.

42 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 130: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Conclusions générales

Problème traité : calcul d’une instantiation leximin-optimaled’un réseau de contraintes.

Motivation : l’ordre leximin garantit certaines propriétésd’équité et d’efficacité pour les problèmes de décisioncollective.

Algorithmes : introduction de plusieurs algorithmes de calculfondés sur la programmation par contraintes.

Implantation : implantation et évaluation des algorithmes enJava avec CHOCO et CPLEX pour l’un d’entre eux.

Application : problème d’allocation pour le partage deressources satellitaires.

42 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 131: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Suite de l’étude

Calcul du leximin-optimalAmélioration de la contrainte de cardinalité utilisée.

Autres approches de l’équité (familles de fonctions d’utilitécollective paramétrées).

Application de l’algorithme à d’autres problèmes.

43 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 132: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

N. Bleuzen-Guernalec and A. Colmerauer.Narrowing a block of sortings in quadratic time.In Proc. of CP’97, pages 2–16, Linz, Austria, 1997.

D. Dubois and P. Fortemps.Computing improved optimal solutions to max-min flexibleconstraint satisfaction problems.European Journal of Operational Research, 1999.

A. Frisch, B. Hnich, Z. Kiziltan, I. Miguel, andT. Walsh.Multiset ordering constraints.In Proc. of IJCAI’03, Acapulco, Mexico, august 2003.

Kurt Mehlhorn and Sven Thiel.Faster algorithms for bound-consistency of the sortedness and thealldifferent constraint.In Rina Dechter, editor, Proc. of CP’00, pages 306–319, Singapore,2000.

43 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 133: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

U. Montanari.Networks of constraints : Fundamental properties and applicationsto picture processing.Information Sciences, 7 :95–132, 1974.

H. Moulin.Axioms of Cooperative Decision Making.Cambridge University Press, 1988.

P. Van Hentenryck, H. Simonis, and M. Dincbas.Constraint satisfaction using constraint logic programming.A.I., 58(1-3) :113–159, 1992.

44 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.

Page 134: Algorithmes de programmation par contraintes pour la ...recherche.noiraudes.net/resources/slides/pres-cd06.pdf · Algorithmes de programmation par contraintes pour la recherche d’allocations

1. Introduction 2. Le problème 3. L’algorithme 4. L’application 5. Conclusion

Merci de votre attention

Transparents (prochainement) disponibles à l’URL :http://www.cert.fr/dcsd/THESES/sbouveret/ressources/seminaires/seminaire270606.pdf

ou par mail :[email protected]

[email protected]

Générateur de problèmes disponible à l’URL :http://www.cert.fr/dcsd/THESES/sbouveret/benchmark

44 / 44Algorithmes de programmation par contraintes pour la recherche d’allocations leximin-optimales.