Vous êtes sur la page 1sur 10

Actes JFPC 2006

Un algorithme de programmation par


contraintes pour la recherche dallocations
leximin-optimales
Sylvain Bouveret Michel Lematre
Oce National dtudes et de Recherche Arospatiales, Centre de Toulouse.
2, avenue Edouard Belin, B.P 4025, 31055 TOULOUSE CEDEX 4
sylvain.bouveret@onera.fr michel.lemaitre@onera.fr
Rsum
Dans le cadre de la programmation par contraintes,
nous proposons un algorithme rsolvant le problme sui-
vant : allouer dune manire quitable et ecace un en-
semble ni dobjets des agents ayant chacun leurs utili-
ts propres, sous des contraintes dadmissibilit. Lalgo-
rithme calcule une allocation maximisant lordre leximin
sur les prols dutilits des agents.
Nous dcrivons de plus le domaine dapplication qui
a motiv ces travaux : le partage de ressources satelli-
taires. Nous en extrayons un problme simple et prcis
dallocation quitable, qui nous sert de base, grce un
gnrateur de jeux de tests, pour lvaluation de lal-
gorithme propos. Deux implantations de lalgorithme
sont compares, lune en programmation par contrainte
pure, avec Choco [14], lautre en programmation li-
naire mixte avec Cplex [12].
Abstract
Using the constraint programming framework, we
propose an algorithm for solving the following problem:
fairly and eciently allocating a nite set of objects to
a set of agents, each one having their own utilities, un-
der admissibility constraints. Our algorithm computes an
allocation maximizing the leximin order on the utility
proles of the agents.
Moreover, we describe the application domain that
motivated this work : sharing of satellite resources. We
extract from this real-world application a simple and pre-
cise fair allocation problem that allows for testing and
evaluating our algorithms, using a benchmark genera-
tor. Two implementations of the algorithm are compa-
red, the rst one using the constraint programming tool
Choco [14], and the second one using the integer linear
programming tool Cplex [12].
1 Introduction
Allouer dune manire quitable et ecace un en-
semble limit de ressources des agents ayant cha-
cun leurs prfrences propres est un problme gn-
ral dune porte considrable. De nombreux exemples
de ce problme se retrouvent couramment, parmi les-
quels on peut citer la construction demplois du temps,
le partage de rseaux de communication, la gestion de
ressources aroportuaires impliquant plusieurs compa-
gnies, le partage de lespace arien entre dirents usa-
gers, le partage de ressources satellitaires.
Dans cet article, nous abordons ce problme avec
quatre hypothses restrictives, mais qui laissent en-
core un champ dapplication trs large :
1) les ressources sont discrtes, nies, et se ramnent
des objets distincts, indivisibles et en nombre ni ;
2) les prfrences des agents sur les allocations admis-
sibles sont exprimes numriquement ;
3) on recherche des allocations quitables et ecaces
le sens de ces mots sera prcis et discut plus loin ;
4) la recherche dune allocation satisfaisante est ra-
lise de manire centralise par un arbitre suppos
juste et impartial et obissant des principes admis
par tous les agents. Autrement dit, on ne sintresse
pas ici des procdures dallocation ou de ngociation
distribues entre agents.
Ce problme caractre conomique marqu touche
plusieurs champs de recherche actifs : la Recherche
Oprationnelle (RO), lIntelligence Articielle (IA),
la Microconomie, la thorie du Choix Social. Notre
contribution puise dans ces dirents domaines. Des
deux derniers nous empruntons lide dutilit pour
traduire des prfrences numriques, et la comparaison
79
par lordre leximin pour traduire lexigence dquit et
decacit. La RO et lIA nous fournissent le cadre de
la programmation par contraintes, cadre dans lequel
nous proposons un algorithme simple, centralis, pour
la recherche dallocations leximin-optimales.
Prfrences numriques et utilits Soit un ensemble
dalternatives admissibles o ni, dans lequel un arbitre
doit choisir une alternative engageant n agents, cha-
cun ayant ses prfrences propres. Le modle le plus
classique de cette situation est celui du welfarism (voir
par exemple [13, 18]). Selon ce modle, que nous adop-
tons ici, les lments de dcision de larbitre sont en-
tirement contenus dans la donne, pour chaque agent
et pour chaque alternative, de son niveau de bien-
tre. Ce niveau est mesur, dans la version cardinale
du modle, par un index numrique mesurant lutilit
individuelle u
i
(s) de lagent i pour lalternative s. On
suppose que les utilits individuelles sont comparables
entre agents (elles sont donnes sur une chelle com-
mune des utilits). chaque alternative s correspond
donc un prol dutilit u
1
(s), . . . , u
n
(s)) et la compa-
raison entre deux alternatives seectue sur la seule
base des deux prols associs.
Une faon commode de comparer les prols duti-
lits individuelles est dagrger chacun en un index
dutilit collective reprsentant le bien-tre collectif
de la socit dagents. Ainsi, chaque alternative
s o va correspondre une utilit collective uc(s) =
g(u
1
(s), . . . , u
n
(s)), o g est une fonction dagrgation
bien choisie. Une dcision optimale est lune de celles
qui maximise cette utilit collective.
quit et ecacit avec lordre leximin La dicult
de notre problme dallocation quitable rside dans le
fait quil faut concilier les intrts contradictoires des
agents. Il nexiste pas en gnral dallocation qui satis-
fasse pleinement tous les agents la fois. On recherche
donc, travers la fonction dagrgation g, des compro-
mis quitables (la rpartition doit tre juste) et e-
caces (les ressources doivent tre pleinement utilises),
cette dernire notion tant classiquement traduite par
la notion de Pareto-optimalit
1
.
Le problme du choix de la fonction dagrgation g
dpasse largement le cadre de cet article. On se conten-
tera de citer les deux fonctions les plus couramment
proposes, et qui correspondent deux visions ex-
trmes du bien-tre collectif
2
: la fonction somme et la
fonction minimum, correspondant respectivement aux
1. Une dcision est Pareto-optimale si et seulement si on ne
peut augmenter strictement la satisfaction dun agent quen di-
minuant strictement la satisfaction dau moins un autre agent.
2. Des compromis sont possibles entre ces deux extrmes.
Voir par exemple [18, page 68] (sommes de puissances) ou [22]
(Ordered Weighted Averaging aggregators).
notions dutilitarisme classique et dgalitarisme. La
premire nest pas trs pertinente dans notre contexte
car lutilit collective rsultante ne dpend pas de la r-
partition des utilits individuelles. Par contre, la fonc-
tion minimum, quoiquun peu extrmiste, est particu-
lirement adapte aux problmes qui nous intressent
ici pour lesquels lquit joue un grand rle, car les d-
cisions optimales associes sont celles qui maximisent
la satisfaction du moins heureux des agents. Cepen-
dant, le problme de cette fonction, bien connu dans
la communaut des CSP ous et couramment appel
eet de noyade [4], est quelle laisse un trs grand
nombre dalternatives, pourtant trs direntes, indis-
tinguables les unes des autres. Ainsi par exemple, les
prols dutilit 0, . . . , 0) et 1000, . . . , 1000, 0) produi-
ront la mme utilit collective 0. Autrement dit, la
maximisation de la fonction min peut produire des d-
cisions non ecaces (non Pareto-optimales).
Deux ranements de lordre induit par la fonction
min et nayant pas cet inconvnient sont classiquement
proposs dans le domaine des CSP ous pour pallier
cet eet. Il sagit des ordres discrimin et leximin [7].
Le discrimin a plusieurs inconvnients : tout dabord
il ne sagit pas dun prordre total, et il laisse de
nombreuses incomparabilits entre prols ; en outre,
en vertu du principe danonymat unanimement admis
en thorie du choix social, la qualit dune dcision
collective est insensible la permutation des utilits
des agents, ce qui nest pas tout--fait le cas pour
le discrimin (les deux qualits sont incomparables). le
discrimin nest donc pas pertinent pour le classement
dalternatives. Le leximin, que nous proposons dutili-
ser ici, est employ classiquement en choix social [17].
Nous lintroduisons informellement, avant de le dnir
prcisment dans la section 2. La comparaison de deux
prols dutilits selon lordre leximin ne sopre pas
travers une fonction dagrgation g, mais directement
sur les prols. On recherche dabord les deux valeurs
minimales des deux prols. Si elles sont direntes, la
plus grande des deux lemporte. Sinon, on limine
ces minimaux de chacun des deux prols et on poursuit
itrativement. Par exemple, soit comparer les prols
4, 2, 3, 2) et 2, 7, 2, 2). Les minimaux sont les mmes
(2) donc on les limine (4, 3, 2) et 7, 2, 2)). Les mi-
nimaux sont encore gaux (2) ; on les limine (4, 3)
et 7, 2)). Les nouveaux minimaux sont dirents (3 et
2) : le premier prol est donc leximin-suprieur au se-
cond. Une faon quivalente dexprimer lordre leximin
est celle-ci : chaque prol est tri en ordre non dcrois-
sant puis on compare les prols ainsi tris selon lordre
lexicographique (do le nom leximin).
Cet article est organis ainsi : la section 2 d-
nit formellement notre problme dans un cadre CSP.
La section 3 dcrit la principale contribution de cet
80 Actes JFPC06
article : un algorithme de calcul dune alternative
leximin-optimale dans un cadre de programmation par
contraintes, avec sa preuve. La section 4 est consa-
cre lapplication qui a motiv ces travaux : le par-
tage de ressources satellitaires. Nous en extrayons un
problme simpli qui nous permet de tester deux
implantations de lalgorithme en programmation par
contraintes (avec Choco [14]), et en programmation
linaire (avec Cplex [12]). La section 5 prsente des
travaux voisins, avant les conclusions et perspectives,
section 6.
2 Cadre formel
Le cadre de la programmation par contraintes est
trs utilis dans la rsolution de problmes combi-
natoires aussi divers que les problmes demploi du
temps, de planication, dallocation de frquences . . . .
Ce paradigme est fond sur la notion de rseau de
contraintes. Un rseau de contraintes est form dun
ensemble de variables A = x
1
, . . . , x
p
, dun en-
semble de domaines T = d
x1
, . . . , d
xp
, o d
xi
est
un ensemble ni de valeurs possibles pour x
i
(nous
supposons que d
xi
N, et notons x
i
= min(d
xi
)
et x
i
= max(d
xi
)), et dun ensemble de contraintes
(. Chaque contrainte C ( spcie un ensemble de
tuples autoriss R(C) sur un ensemble de variables
X(C).
Une instanciation v dun ensemble S de variables est
une application qui toute variable x S associe une
valeur v(x) de son domaine d
x
. Si S = A, cette instan-
ciation est complte, sinon, elle est partielle. Si S

S,
la projection dune instanciation de S sur S

est la res-
triction de cette instanciation S

et est note v
S
.
Une instanciation est cohrente si et seulement si elle
ne viole aucune contrainte. tant donn un rseau de
contraintes, le problme dexistence dune instancia-
tion complte cohrente ce rseau de contraintes est
appel Problme de Satisfaction de Contraintes (CSP)
[16] et est NP-complet. Une telle instanciation, si elle
existe, est une solution du CSP.
Il existe une dclinaison du CSP en problme
doptimisation (issue de lextension max-CSP des
problmes de satisfaction de contraintes), dans la-
quelle une variable o joue le rle de variable ob-
jectif. Une solution dune instance de ce problme
doptimisation est une instanciation complte coh-
rente v du rseau de contraintes telle que v(o) =
maxv

(o)[v

instanciation complte cohrente.


Soit

x = x
1
, . . . , x
n
) un vecteur dentiers ; nous
notons

x

= x

1
, . . . , x

n
) la version ordonne dans
lordre non-dcroissant de ce vecteur. Nous dnissons
lordre leximin sur les vecteurs dentiers :
Dnition 1 (Ordre leximin) Soient

x et

y deux
vecteurs de N
n
.

x et

y seront dits leximin-
indirents (not

x
leximin

y ) si et seulement si

x

=

y

. Le vecteur

y est leximin-prfr

x (not

x
leximin

y ) si et seulement si i 0, n 1 tel
que j 1, i, x

j
= y

j
et x

i+1
< y

i+1
. On notera

x _
leximin

y pour

x
leximin

y ou

x
leximin

y .
La relation binaire _
leximin
est un prordre total.
Dans un problme de dcision collective, une solu-
tion leximin-optimale est une alternative dont le prol
dutilits associ est maximal pour lordre _
leximin
.
Une telle solution a lavantage, outre dtre min-
optimale, dtre aussi Pareto-ecace.
La dclinaison des CSP prsente ci-avant permet
dencoder un certain nombre de problmes doptimi-
sation combinatoire issus du choix social. Par exemple,
si lon veut modliser le problme de maximisation
de lutilit collective galitariste (fonction dagrgation
g = min) dans un problme n agents, on peut intro-
duire n variables u
1
, . . . , u
n
) correspondant aux uti-
lits de chaque agent, et une variable objectif uc lie
aux autres variables par les contraintes C
1
, . . . , C
n
,
avec C
i
= (uc u
i
).
En revanche, la modlisation du problme de cal-
cul dune dcision leximin-optimale dans le formalisme
CSP nest pas si vidente, et elle ncessite une lgre
transcription de la variante optimisation du CSP. Nous
nous intresserons au problme modlis comme suit.
[Leximin-Optimal]
Entres : un rseau de contraintes (A, T, () ; un
vecteur de variables

u = u
1
, . . . , u
n
) (i, u
i

A), appel vecteur objectif.
Sortie : Incohrent sil nexiste pas dinstancia-
tion complte cohrente. Sinon, une instancia-
tion v
s
complte cohrente telle que v instancia-
tion complte cohrente, v(

u ) _
leximin
v
s
(

u ).
Nous proposons un algorithme de rsolution de ce pro-
blme, fond sur une mta-contrainte de cardinalit.
3 Algorithme propos
Le principe de lalgorithme 1 est de calculer it-
rativement chaque composante du vecteur correspon-
dant aux valeurs ordonnes de linstanciation leximin-
optimale de

u . Pour cela, on introduit aux lignes 3
et 4 un vecteur de variables doptimisation, le rle de
chaque variable y
i
tant de calculer la valeur de lindice
i du leximin-optimal (on notera m = minu
i
[1 i
n et M = maxu
i
[1 i n). chaque itration i
de la boucle 6..10, on ajoute une contrainte de cardina-
lit correspondant la composante en cours de calcul
(ligne 7), et on calcule (ligne 8) la valeur maximale de
Un algorithme de programmation par contraintes pour la recherche dallocations leximinoptimales 81
la variable y
i
telle que le rseau de contraintes cou-
rant (qui correspond au rseau initial additionn des
variables y
k
et des contraintes de cardinalit des itra-
tions prcdentes) ait une solution. La variable y
i
est
xe cette valeur optimale (ligne 9) pour toutes les
itrations suivantes. La ligne 10 restreint le domaine
de la prochaine variable y
i+1
de manire sre ; cepen-
dant, les tests montrent quelle ninue pas de manire
signicative sur les temps de calcul, certainement car
la propagation de contraintes est capable de ltrer trs
rapidement cette partie du domaine de y
i+1
.
Algorithme 1 : Algorithme de recherche dune so-
lution leximin-optimale dun rseau de contraintes.
entres : un rseau de contraintes (A, T, () ; un
vecteur u
1
, . . . , u
n
) de variables de A
sortie : Une solution du problme
[leximin-Optimal] ou Incohrent
si solve(A, T, () =Incohrent alors 1
retourner Incohrent 2
A

A y
1
, . . . , y
n
; 3
T

T m, M, . . . , m, M; 4
(

(; 5
pour i 1 n faire 6
( ( AtLeast( u
1
y
i
, . . . , u
n
y
i
,
n i + 1); 7
v maximize(y
i
, (A, T, ()); 8
d
yi
v(y
i
); 9
d
yi+1
v(y
i
), M 10
retourner v
X
11
Lalgorithme utilise la mta-contrainte de cardina-
lit AtLeast :
Dnition 2 (Mta-contrainte AtLeast) Soit
un ensemble de p contraintes, et k 1, p un en-
tier. Alors la mta-contrainte AtLeast(, k) est la
contrainte portant sur lensemble des variables sur les-
quelles portent les contraintes de , et autorisant uni-
quement les tuples de valeurs pour lesquels au moins
k contraintes de sont satisfaites.
Cette mta-contrainte
3
est introduite sous le nom
de cardinality combinator par exemple dans [11]. Son
rle dans lalgorithme 1 est de simuler une contrainte
dordre leximin (lensemble des contraintes de cardi-
nalit impose aux solutions suivantes dtre leximin-
suprieures au vecteur leximin-optimal partiel).
Les fonctions solve et maximize (dont le dtail est
du ressort de la rsolution de problmes de satisfaction
de contraintes) des lignes 1 et 8 renvoient respective-
ment une solution du rseau de contraintes (A, T, ()
3. Le prxe mta indique que cette contrainte prend en
paramtre dautres contraintes.
(ou Incohrent si une telle solution nexiste pas),
et une solution optimale du rseau de contraintes
(A, T, () avec variable objectif y (ou Incohrent
si une telle solution nexiste pas). Nous considrons
contrairement aux solveurs de contraintes usuels
que ces deux fonctions ne modient pas les rseaux de
contraintes.
Proposition 1 Si les fonctions maximize et solve
sont correctes et terminent, lalgorithme 1 termine et
renvoie une solution au problme de calcul du leximin-
optimal dun CSP.
Preuve : La preuve de la terminaison est immdiate
si les fonctions solve et leximin terminent.
Si le rseau de contraintes initial na pas de solution,
et si la fonction solve est correcte, alors lalgorithme
renvoie Incohrent. Nous supposons dans la suite de
la preuve que nous ne sommes pas dans ce cas-l.
Dans la preuve, on notera b vi linstanciation retour-
ne litration i par la fonction maximize, et b vs la
solution au problme [Leximin-Optimal].
Squelette de la preuve : Pour montrer que lal-
gorithme est correct, il sut de montrer que lap-
pel maximize ne renvoie jamais Incohrent,
et que c vn(

u )

= b vs(

u )

. Pour ce faire, on se
sert de lhypothse de rcurrence suivante : (Hi) =

b vi existe et j i, b vi(

u )

j
= b vi(yj) = b vs(

u )

.
litration 1, la contrainte AtLeast({u1 y1, . . . ,
un y1}, n) est quivalent la contrainte y1
minui. La fonction maximize renvoie donc une ex-
tension b v1 dune solution du rseau de contraintes
initial telle que b v1(y1) = max{mini(v1(ui))|v1
instanciation complte cohrente}. Donc b v1(y1) =
b v1(

u )

1
. De plus, b v1(y1) b vs(

u )

1
si la fonction maxi-
mize est correcte (il existe une extension de b vs sur
(X

, D

, C

) cohrente). On ne peut avoir b v1(y1) >


b vs(

u )

1
, car cela voudrait dire que b v1(

u )

1
> b vs(

u )

1
et donc que b v1 serait une solution leximin-suprieure
b vs, ce qui nest pas possible Ceci prouve (H1).
Montrons que (Hi) (Hi+1) (i 1, n 1).
Montrons que d vi+1 existe (cest--dire quil existe au
moins une solution au rseau de contraintes de litra-
tion (i + 1)). Linstanciation b vs est la projection sur X
dune solution du rseau de contraintes de litration
i + 1. En eet :
par dnition, b vs satisfait toutes les contraintes du
rseau initial ;
j i, b vi(yj) = b vs(

u )

j
(daprs (Hi)), donc b vs(

u )

j
et toutes ses composantes suivantes dans le vecteur or-
donnes (soit nj +1 composantes de b vs(

u )) sont su-
prieures ou gales b vj(yj), ce qui satisfait la contrainte
AtLeast de litration j ;
b vs(

u )

i+1
b vs(

u )

i
par dnition, donc il existe au
moins une valeur cohrente pour yi+1 : b vi(yi).
Donc il existe au moins une solution au rseau de
contraintes de litration i + 1 (donc d vi+1 existe).
82 Actes JFPC06
En outre, pour tout j i + 1, d vi+1(

u )

j
d vi+1(yj)
(sinon au moins une des contraintes AtLeast est vio-
le). En remarquant quune allocation admissible pour
(X

, D

, C

) litration i + 1 lest aussi litration i


(car entre deux itrations successives on ne fait quajou-
ter une contrainte et rduire le domaine dune variable),
on en dduit quon ne peut avoir d vi+1(

u )

j
> d vi+1(yj).
En eet, dans ce cas, puisque d vi+1(yj) = b vj(yj) (pour
j < i +1, le domaine de yj est un singleton), d vi+1 aurait
t strictement meilleure que b vj pour yj litration
j, et si maximize est correcte, ce nest pas possible.
Donc j i + 1, d vi+1(

u )

j
= d vi+1(yj), ce qui prouve la
premire galit.
Lextension de b vs qui aecte la valeur b vs(

u )

i+1

yi+1 est faisable litration i +1 (elle satisfait, en plus
des autres contraintes, la contrainte AtLeast de lit-
ration i +1). Donc d vi+1(yi+1) b vs(

u )

i+1
. Si lon avait
d vi+1(yi+1) > b vs(

u )

i+1
, alors la projection de d vi+1 sur
X serait une solution de ce rseau de contraintes tel
que j < i + 1, d vi+1(

u )

j
= b vs(

u )

j
et d vi+1(

u )

i+1
>
b vs(

u )

i+1
, donc une solution leximin-suprieure b vs, ce
qui nest pas possible. On a donc bien d vi+1(yi+1) =
b vs(

u )

i+1
, ce qui achve de prouver (Hi+1).
Par rcurrence, on a donc : (1) c vn est une solution
du rseau de contraintes litration n, donc a fortiori,
sa projection sur X est une solution et (2) pour tout i,
c vn(

u )

i
= b vs(

u )

i
, donc c vn(

u ) et b vs(

u ) sont leximin-
indirents. Donc linstanciation renvoye par lalgo-
rithme est bien une solution du problme [Leximin-
Optimal].
Si la programmation par contraintes se prte par-
ticulirement limplantation de cet algorithme, la
mta-contrainte de cardinalit utilise dans lalgo-
rithme sexprime aussi dans le domaine de la pro-
grammation linaire [10, p.11] grce lintroduction
de n variables 01
1
, . . . ,
n
. La mta-contrainte
AtLeast(x
1
y, . . . , x
n
y, k) est quivalente
lensemble de contraintes linaires x
1
+
1
y
y, . . . , x
n
+
n
y y,

n
i=1

i
n k.
4 Application un problme de partage
de ressources satellitaires
Nous dcrivons maintenant lapplication qui a mo-
tiv ces travaux, et qui nous a servi pour exprimenter
et valuer lalgorithme propos en situation raliste.
4.1 Description de lapplication
Lapplication concerne lexploitation commune, par
plusieurs agents (pays, organismes internationaux. . . ),
dune constellation de satellites dobservation de la
Terre. La mission de ce type de satellites consiste,
comme lillustre la gure 1, acqurir des photogra-
phies de la Terre, en rponse des demandes de photo-
graphies dposes par les agents. Ces agents dposent,
limite du corridor
de visibilit
satellite
photographie
en cours
dacquisition
o
r
b
i
t
e
photographies non acquises
photographies acquises
Figure 1 Acquisition dune photographie par un
satellite dobservation de la Terre.
auprs dun centre de planication commun, des de-
mandes de photographie valables pour un jour donn.
La planication globale des prises de vue de tous les sa-
tellites de la constellation est organise par intervalles
de temps successifs, gnralement 1 jour. Le centre
de planication dtermine donc, parmi les demandes
concernant un jour donn, lensemble des demandes
qui seront satisfaites, cest--dire lensemble des pho-
tographies qui seront acquises ce jour-l par la constel-
lation. Cet ensemble de demandes satisfaites constitue
une allocation journalire des demandes aux agents.
Les contraintes physiques dexploitation et le
nombre important de demandes concernant certaines
zones gnrent des conits entre demandes. Il est
donc en gnral impossible de satisfaire simultanment
toutes les demandes dposes pour un jour donn. Au-
trement dit, seul un sous-ensemble des demandes pour-
ront tre satisfaites. Toutes ces contraintes dnissent
lensemble des allocations admissibles.
Voici quelques ordres de grandeur concernant le pro-
blme rel. Les agents sont entre 3 et 6. Plusieurs cen-
taines de demandes sont candidates chaque jour, parmi
lesquelles 100 200 seront satisfaites.
Les demandes dun agent sont dimportances in-
gales. Chaque agent traduit limportance relative de
ses demandes en associant chacune un poids, qui est
un nombre positif ou nul
4
, et correspond implicite-
ment des prfrences additives : tant donns deux
ensembles de demandes dun agent dont la somme des
poids est identique, lagent concern est indirent de-
vant lobtention de lun ou lautre ensemble de de-
mandes. Lutilit individuelle dune allocation pour un
4. Un poids nul marque simplement le fait quun agent nest
pas intress par la demande.
Un algorithme de programmation par contraintes pour la recherche dallocations leximinoptimales 83
agent est la somme des poids de ses demandes satis-
faites par lallocation. Un dispositif de normalisation
des utilits dont le dtail ne concerne pas cet article
est utilis an de rendre comparables les utilits indivi-
duelles. Nous considrons ici implicitement des utilits
(et des poids) normaliss.
Tous les agents nont pas contribu de manire gale
au nancement de la constellation ; le droit de re-
tour sur investissement prvu pour chacun est donc
dirent. Il existe direntes manires de prendre en
compte ces droits dirents. Nous traduisons ici cette
ingalit par des contraintes de consommation (sajou-
tant aux contraintes dadmissibilit) : chaque agent a
droit une consommation maximum de ressources par
jour, ce maximum tant dirent pour chaque agent.
Au-del de la prise en compte de ces droits ingaux,
lallocation des demandes aux agents doit tre qui-
table. Des solutions assez direntes ce problme ont
t proposes dans [15], puis dans [6]. Pour satisfaire
lexigence dquit, lun des protocoles de partage pro-
poss consiste choisir une allocation qui maximise
lordre leximin sur les prols dutilits individuelles.
4.2 Un problme dallocation quitable
Nous avons tir de cette application un problme
simpli dallocation quitable dobjets des agents.
Il se prsente sous la forme dune extension du pro-
blme Leximin-Optimal dcrit section 2. Les ob-
jets correspondent aux demandes de notre applica-
tion. Les conits entre demandes sont modliss de
manire approxime mais convenable sous la forme
de contraintes de volume gnralis, linaires. No-
ter que dans ce problme (1) tous les objets ne seront
pas ncessairement allous, et (2) un mme objet peut
tre allou plusieurs agents
5
.
Voici la description formelle de ce problme dallo-
cation quitable. Tout dabord les donnes :
/ est un ensemble dagents ;
O est un ensemble dobjets allouer aux agents ;
w
io
, nombre positif ou nul, est le poids attribu
lobjet o par lagent i ;
r
o
est la ressource consomme par lobjet o ;
rmax
i
est la consommation maximum de res-
sources autorise pour lagent i ;
( est lensemble de contraintes de volume gnra-
lis ;
v
co
est le volume de lobjet o dans la contrainte de
volume gnralis c ;
vmax
c
est le volume maximum dans la contrainte
de volume gnralis c.
On dnit maintenant les variables suivantes :
5. Ce qui est possible dans notre application.
x
io
= 1 si lobjet o est allou lagent i, et 0 sinon,
o O, i /. Les aectations possibles des variables
x
io
reprsentent lensemble des allocations possibles
(parmi lesquelles se trouvent les admissibles) ;
u
i
=

oO
x
io
w
io
est lutilit individuelle de
lagent i, i /;
s
o
= max
iA
x
io
= 1 si lobjet o est allou un
agent au moins, et 0 sinon.
Le problme est de trouver une allocation x maxi-
misant lordre leximin sur les prols dutilits u
i
)
iA
,
sous les contraintes dadmissibilit suivantes :
w
io
= 0 x
io
= 0 (les objets de poids nul ne sont
pas allous un agent ayant attribu ce poids)
6
;


oO
x
io
r
o
rmax
i
, pour tout i /
(contraintes de consommations de ressources) ;


oO
s
o
v
co
vmax
c
, pour tout c (
(contraintes de volume gnralis).
Complexit du problme Pour une instance du pro-
blme dallocation quitable, nous notons

u(x) le pro-
l dutilits rsultant de lallocation complte x (dans
laquelle toutes les variables de x sont aectes). Consi-
drons le problme de dcision ainsi dni : tant don-
ne une instance du problme dallocation quitable et
un prol dutilits

UC, existe-t-il une allocation x ad-
missible (satisfaisant toutes les contraintes) telle que

UC _
leximin

u(x) ?
Lorsquil ny a quun seul agent et une seule
contrainte (de consommation ou de volume), on recon-
nat aisment le problme du sac dos ([Knapsack],
[9, page 65]), problme NP-complet. Notre problme
de dcision est donc bien sr NP-complet.
On remarque quil sagit dune gnralisation du
problme de sac dos multidimensionnel en variables
bivalentes [21], mais avec un critre doptimisation trs
particulier.
4.3 Un jeu de tests
Nous avons construit un gnrateur dinstances ala-
toires du problme dallocation quitable dcrit en 4.2.
Ce gnrateur
7
est trs facilement paramtrable,
grce quatre groupes de paramtres :
les paramtres gnraux : nombre dagents,
nombres dobjets, graine du gnrateur alatoire ;
les paramtres de poids des objets ;
les paramtres de contraintes de consommation ;
les paramtres de contraintes de volume gnralis.
6. Cette contrainte permet de cerner les allocations relle-
ment signicatives.
7. crit en Java, il est disponible en http://www.cert.fr/
dcsd/THESES/sbouveret/benchmark.
84 Actes JFPC06
Les poids des objets sont gnrs alatoirement.
Deux types de distributions sont possibles : une distri-
bution uniforme entre 0 et w
max
et une rpartition en
direntes classes. La rpartition en direntes classes
approche les conditions de lapplication relle. Une
telle rpartition est paramtre par f
c
(par exemple
f
c
= 10), le facteur multiplicatif entre classes, et n
c
(par exemple n
c
= 4), le nombre de classes. Les poids
appartenant la classe i 1, n
c
sont tirs alatoire-
ment entre
1
2
(f
c
)
i
et
3
2
(f
c
)
i
. De plus, on sassure quil
y a plus de demandes de classes faibles (moins impor-
tantes), que de demandes de classes fortes.
Comme indiqu prcdemment, les contraintes de
consommation permettent de simuler des droits dac-
cs la ressource ingaux selon les agents. Dans notre
gnrateur, les droits ingaux dpendent de deux pa-
ramtres : le droit de lagent de plus faible droit r
min
,
et le facteur multiplicatif entre les droits f
d
. Lagent i
a un droit de r
min
(f
d
)
i1
.
Les paramtres concernant les contraintes de volume
gnralis sont les suivants :
larit des contraintes n
S
;
le volume maximum autoris pour chaque
contrainte (xe ou alatoire) ;
le volume de chaque objet (xe ou alatoire).
Le gnrateur permet aussi dinstancier ces paramtres
en spciant la duret des contraintes (ici le rapport du
nombre dobjets interdits sur larit de la contrainte),
celles-ci portant sur n
S
objets conscutifs.
4.4 Rsultats obtenus
Lalgorithme propos en section 3 a t test sur les
instances de notre gnrateur alatoire grce deux
implantations direntes : lune avec la librairie de pro-
grammation par contraintes Choco [14] sous Java, et
lautre avec Cplex 10.0 [12] interfac avec Java. Les
tests sont fonds sur une instance moyenne ressem-
blant aux caractristiques du problme rel, compor-
tant 4 agents possdant des droits ingaux et 150 ob-
jets. Les contraintes de volume sont de duret moyenne
(autorisant 10 objets sur 20 conscutifs). Nous avons
cherch mettre en valeur linuence de trois para-
mtres sur le temps de calcul : le nombre dobjets, la
rpartition des poids, et la duret des contraintes de
volume. Pour chaque valeur, lalgorithme est excut
sur 20 instances choisies alatoirement.
On constate dabord que Cplex est bien meilleur
que Choco sur toutes les instances (voir la gure 2).
Pour expliquer cette dirence de performance, on
peut noter que Cplex est un outil spcialis en PL
et PLNE, utilisant des coupes spciques. La PPC est
un outil beaucoup plus gnral. De plus, nous navons
pas encore exploit, avec Choco, les possibilits de
guidage dynamique de la recherche (choix de variables
et valeurs de branchement). Toutefois, si les poids sont
trop disperss (rpartition non-uniforme, facteurs 10
ou 100), Cplex commet de deux types derreur :
la solution trouve est lgrement dirente de la
solution optimale sur une composante du vecteur
leximin, ce qui rend les composantes suivantes po-
tentiellement trs direntes ;
la fonction maximize de lalgorithme 1 renvoie
Incohrent, alors quelle ne devrait pas.
Le nombre derreurs du second type sur les 20 ins-
tances rsolues est report sur la gure 2(c) (le nombre
derreurs du premier type est peu prs quivalent).
Ces erreurs sont certainement dues des erreurs dar-
rondis dans lalgorithme utilis par Cplex. Elles pour-
raient peut-tre tre corriges par un rglage plus n
des paramtres de Cplex.
On remarque de plus, concernant la rpartition des
poids des objets, que les instances rpartition uni-
forme sont plus diciles rsoudre que les autres. Ceci
est particulirement agrant avec Choco, comme on
peut le voir sur la gure 2(b). En outre, le facteur mul-
tiplicatif de classes f
c
na quasiment pas dinuence
sur la rsolution. Pour expliquer ce fait, on peut avan-
cer ceci : bien que les classes avec f
c
= 10 ne soient
pas compltement tanches
8
, elles le sont susam-
ment pour que les instances gnres et leurs solutions
soient proches de celles avec f
c
=100.
Concernant linuence de la duret des contraintes,
on constate classiquement lexistence de pics de
complexit, dune part avec Cplex, seulement pour
des rpartitions uniformes des poids, et avec Choco
pour les deux rpartitions tudies. Les pics pour les
deux outils ne sont pas exactement au mme endroit.
5 Approches alternatives et travaux voi-
sins
5.1 Approches alternatives
Dautres approches du calcul dune solution leximin-
optimale peuvent tre proposes. La solution la plus
immdiate est une comparaison directe de toutes les
alternatives admissibles, comme on peut le voir dans
[5, p.162]. Cependant, cette solution ne peut pas tre
utilise en pratique dans notre cas, car le nombre dal-
ternatives admissibles est trs grand.
Une autre solution, propose dans [6] est dimplan-
ter un branch and bound qui compare chaque nud
8. Voici informellement ce que lon entend par tanchit
des classes : pour fc = 10, 4 objets de poids 15 sont poten-
tiellement meilleurs quun objet de plus faible poids (50) de la
classe suprieure, alors quil en faut au moins 34 pour fc =100.
Ltanchit est plus grande avec fc = 100 quavec fc =10.
Un algorithme de programmation par contraintes pour la recherche dallocations leximinoptimales 85
0
500
1000
1500
2000
2500
3000
0 50 100 150 200 250 300 350 400
T
e
m
p
s

C
P
U

(
m
s
)
Nombre dobjets
Repartition uniforme
Diff. classes, facteur 10
Diff. classes, facteur 100
(a) Inuence du nombre dobjets : temps de rsolution avec
Cplex (moyenne sur 20 instances).
0
100000
200000
300000
400000
500000
600000
20 40 60 80 100 120 140 160 180 200
T
e
m
p
s

C
P
U

(
m
s
)
Nombre dobjets
Repartition uniforme
Diff. classes, facteur 10
Diff. classes, facteur 100
(b) Inuence du nombre dobjets : temps de rsolution avec
Choco (moyenne sur 20 instances).
0
5
10
15
20
0 50 100 150 200 250 300 350 400
n
o
m
b
r
e

d

e
r
r
e
u
r
s
Nombre dobjets
Repartition uniforme
Diff. classes, facteur 10
Diff. classes, facteur 100
(c) Inuence du nombre dobjets : nombre derreurs avec
Cplex (sur 20 instances pour un nombre dobjets x).
0
5
10
15
20
20 40 60 80 100 120 140 160 180 200
N
o
m
b
r
e

d

i
n
s
t
a
n
c
e
s

r
e
s
o
l
u
e
s
Nombre dobjets
Repartition uniforme
Diff. classes, facteur 10
Diff. classes, facteur 100
(d) Inuence du nombre dobjets : nombre dinstances rsolues
en moins de 10 minutes avec Choco (sur 20 instances pour
un nombre dobjets x).
0
500
1000
1500
2000
2500
3000
3500
4000
4500
0 5 10 15 20
T
e
m
p
s

C
P
U

(
m
s
)
Nombre dobjets autorises par les contraintes de volume (/20)
Repartition uniforme
Diff. classes, facteur 10
Diff. classes, facteur 100
(e) Inuence de la duret des contraintes avec Cplex (temps
de rsolution moyen pour 20 instances).
0
100000
200000
300000
400000
500000
600000
0 5 10 15 20
T
e
m
p
s

C
P
U

(
m
s
)
Nombre dobjets autorises par les contraintes de volume (/20)
Repartition uniforme
Diff. classes, facteur 10
(f) Inuence de la duret des contraintes avec Choco (temps
de rsolution moyen pour 20 instances).
Figure 2 Inuence du nombre dobjets et de la duret des contraintes sur le temps de rsolution.
86 Actes JFPC06
de larbre de recherche le vecteur solution courant et
le meilleur vecteur solution trouv jusquici.
Dans le mme ordre ide, nous pouvons utili-
ser lalgorithme de PPC suivant : dabord on cal-
cule une solution au rseau de contraintes initial ;
puis, chaque nouvelle solution trouve, on ajoute
une contrainte obligeant les vecteurs solutions tre
leximin-suprieurs au dernier vecteur trouv ; on sar-
rte lorsque le rseau est incohrent. Cet algorithme
a t test avec une contrainte dordre leximin fonde
sur la contrainte de cardinalit AtLeast. Les rsul-
tats sont assez dcevants, probablement en partie
cause du fait que notre contrainte dordre leximin na
pas une puissance de ltrage assez consquente pour
dtecter trs rapidement les incohrences.
Ce dernier algorithme (ainsi que lalgorithme pr-
sent en section 3) pourrait bncier de plusieurs
travaux sur les contraintes. Tout dabord, [8] intro-
duit une contrainte Multiset Ordering, correspondant,
dans le contexte des multi-ensembles, une contrainte
dordre leximax sur les vecteurs. Un algorithme e-
cace pour assurer larc-cohrence gnralise sur cette
contrainte y est prsent, algorithme aisment adap-
table une contrainte dordre leximin. Nous pouvons
aussi citer les travaux de [2] qui introduisent un al-
gorithme de ltrage de bornes pour une contrainte
sort(

x ,

y ), dont le rle est dassurer que

y est la
version trie dans lordre non-dcroissant de

x .
5.2 Travaux lis
Larticle [1] dcrit une mthode incomplte, de type
recherche tabou, pour la rsolution dun problme mul-
tiagents dallocation quitable de ressources satelli-
taires, qui est en fait une variante trs proche de lap-
plication relle voque section 4, prenant en compte
la plupart des nombreuses contraintes oprationnelles.
Dans cette variante, les auteurs sintressent aussi
la recherche dune allocation leximin-optimale, mais
lordre leximin nest pas trait directement comme
nous lavons fait ici : il est reprsent de manire trs
proche par une fonction dutilit collective base
dOWA [22]. En outre, la mthode de rsolution utili-
se est ddie spciquement ce problme trs prcis,
et ce type de contraintes oprationnelles.
Le calcul de solutions leximin-optimales a dautres
domaines dapplication que le choix social. On le
trouve comme indiqu dans la section 1 en tant que
ranement de loprateur min dans le domaine des
contraintes oues [7]. Il existe dans ce domaine des
algorithmes de recherche de solutions discrimin- et
leximin-optimales fonds sur un calcul rcursif de de-
grs de cohrence de CSP ous [3], mais ces algo-
rithmes sont inapplicables dans notre cas, en raison
de la nature des contraintes et du nombre dalloca-
tions admissibles.
Mme si la prise en compte de lquit dans les pro-
blmes doptimisation combinatoire ne semble pas trs
tudie, on peut citer, entre autres, les travaux de Pe-
sant et Rgin [19] concernant une contrainte globale
dquilibrage de critres. Les procdures de ltrage qui
lui sont associes sont issues de lois statistiques. Sur le
plan du principe de prise en compte de lquit, cette
approche constitue une alternative intressante celle
prsente ici. Il faudrait alors la coupler avec une opti-
misation garantissant une certaine forme decacit.
6 Conclusions et perspectives
Nous avons tudi le problme gnral dallocation
quitable dun ensemble de biens indivisibles des
agents, en prsence de contraintes dadmissibilit quel-
conques, chaque agent possdant sa propre fonc-
tion dutilit sur les allocations admissibles. Nous
avons traduit lquit par une particularisation Pareto-
ecace du maximin sur les utilits des agents : la no-
tion dallocation leximin-optimale, qui sapplique po-
tentiellement tous les problmes dallocation multia-
gents pour lesquels la notion dquit a un sens fort.
La contribution principale de cet article est la pro-
position dun algorithme de calcul dune allocation
leximin-optimale, dans un cadre de programmation
par contraintes (PPC), fond sur lutilisation de la
mta-contrainte de cardinalit AtLeast. Le cadre g-
nral de la PPC est ici particulirement intressant,
car il permet de dcrire de faon spare lalgorithme
ddi au leximin, et dautre part les fonctions dutilit
des agents et les contraintes dadmissibilit propres
chaque application potentielle. Dans un contexte o
une bonne part des contraintes dadmissibilit est ra-
rement xe dans le marbre et volue avec la vie de
lapplication, des outils comme la PPC permettent de
sadapter rapidement sans tout modier.
Cet algorithme est justement propos dans le cadre
dune application relle : le partage de ressources sa-
tellitaires. De cette application nous avons extrait un
problme simpli dallocation multiagents pour lequel
nous avons construit un gnrateur alatoire dins-
tances paramtr. Celui-ci nous a permis de tester
deux implantations de lalgorithme propos, en PPC
(avec Choco [14]), et en PLNE (avec Cplex [12]).
Les rsultats obtenus montrent un net avantage en fa-
veur de la PLNE, ce qui peut sexpliquer par la spci-
cit de ce cadre par rapport la PPC dans notre cas.
Plusieurs pistes restent explorer pour rendre lim-
plantation en PPC plus ecace : heuristiques de choix
des variables instancier et de choix des valeurs des
domaines, et procdures de ltrage des domaines des
Un algorithme de programmation par contraintes pour la recherche dallocations leximinoptimales 87
variables (dtection plus rapide des solutions incoh-
rentes ou sous-optimales) entre autres.
Larticle constitue une approche algorithmique du
problme parmi dautres, peut-tre plus ecaces.
Mme si nous navons envisag ici que des mthodes
exactes, on pourra utiliser, pour des instances plus ar-
dues, des mthodes incompltes comme celles de [20],
ou [21, 1] mixant programmation linaire et recherche
tabou. Nous esprons que notre gnrateur dinstances
(en ligne) permettra des quipes intresses par le
problme de proposer et valider dautres approches.
Parmi les suites possibles de ce travail, citons :
la comparaison exprimentale de lalgorithme pro-
pos avec les autres algorithmes cits en section 5 ;
ltude dapproches plus souples et gnrales de
lquit, remplaant lordre leximin par une fonction
dutilit collective paramtre ralisant des compro-
mis entre galitarisme et utilitarisme classique ;
lapplication de lalgorithme dautres champs
pratiques, comme la construction demplois du
temps ou le partage de ressources aroportuaires.
Les auteurs remercient les relecteurs pour leurs re-
marques pertinentes, Jrme Lang et Jean-Michel La-
chiver pour leurs discussions stimulantes sur le sujet,
et Simon de Givry pour ses conseils sur Cplex.
Rfrences
[1] N. Bianchessi, J.-F. Cordeau, J. Desrosiers, G. La-
porte, and V. Raymond. A heuristic for the multi-
satellite, multi-orbit and multi-user management
of earth observation satellites. European Jour-
nal of Operational Research, available online Fe-
bruary 2006. doi :10.1016/j.ejor.2005.12.026.
[2] N. Bleuzen-Guernalec and A. Colmerauer. Nar-
rowing a block of sortings in quadratic time. In
Proc. of CP97, pages 216, Linz, Austria, 1997.
[3] D. Dubois, H. Fargier, and H. Prade. Renements
of the maximin approach to decision-making in
fuzzy environment. Fuzzy Sets and Syst., 81 :103
122, 1996.
[4] D. Dubois and P. Fortemps. Computing improved
optimal solutions to max-min exible constraint
satisfaction problems. European Journal of Ope-
rational Research, 1999.
[5] M. Ehrgott. Multicriteria Optimization. Number
491 in Lecture Notes in Economics and Mathe-
matical Systems. Springer, 2000.
[6] H. Fargier, J. Lang, M. Lematre, and G. Ver-
faillie. Partage quitable de ressources communes.
(1) Un modle gnral et son application au
partage de ressources satellitaires. (2) lments
de complexit et dalgorithmique. Technique et
Science Informatiques, 23(9) :11871238, 2004.
[7] H. Fargier, J. Lang, and T. Schiex. Selecting pre-
ferred solutions in fuzzy constraint satisfaction
problems. In Proc. of EUFIT93, Aachen, 1993.
[8] A. Frisch, B. Hnich, Z. Kiziltan, I. Miguel, and
T. Walsh. Multiset ordering constraints. In Proc.
of IJCAI03, February 2003.
[9] M. R. Garey and D. S. Johnson. Computers
and Intractability, a guide to the theory of NP-
completeness. Freeman, 1979.
[10] R. S. Garnkel and G. L. Nemhauser. Integer
Programming. Wiley-Interscience, 1972.
[11] P. Van Hentenryck, H. Simonis, and M. Dincbas.
Constraint satisfaction using constraint logic pro-
gramming. A.I., 58(1-3) :113159, 1992.
[12] ILOG. Cplex 10.0. http://www.ilog.com/
products/cplex/.
[13] R. L. Keeney and H. Raia. Decisions with Mul-
tiple Objectives : Preferences and Value Tradeos.
John Wiley and Sons, 1976.
[14] F. Laburthe. CHOCO: Implmentation du
noyau dun systme de contraintes. In Actes
des JNPC-00, Marseille, France, 2000. http:
//sourceforge.net/projects/choco.
[15] M. Lematre, G. Verfaillie, and N. Bataille. Ex-
ploiting a Common Property Resource under a
Fairness Constraint : a Case Study. In Proc. of
IJCAI-99, pages 206211, Stockholm, 1999.
[16] U. Montanari. Networks of constraints : Funda-
mental properties and applications to picture pro-
cessing. Information Sciences, 7 :95132, 1974.
[17] H. Moulin. Axioms of Cooperative Decision Ma-
king. Cambridge University Press, 1988.
[18] H. Moulin. Fair division and collective welfare.
MIT Press, 2003.
[19] G. Pesant and J-C. Rgin. SPREAD: A balancing
constraint based on statistics. In Proc. of CP05,
Sitges, Spain, 2005.
[20] M. Vasquez and J.-K. Hao. A logic-constrained
knapsack formulation and a tabu algorithm for
the daily photograph scheduling of an earth ob-
servation satellite. Journal of Computational Op-
timization and Applications, 20(2) :137157, 2001.
[21] M. Vasquez and J.K. Hao. A Hybrid Approach
for the 01 Multidimensional Knapsack Problem.
In Proc. of IJCAI-01, volume 1, pages 328333,
August 2001.
[22] R. Yager. On ordered weighted averaging aggre-
gation operators in multicriteria decision making.
IEEE Transactions on Systems, Man, and Cyber-
netics, 18 :183190, 1988.
88 Actes JFPC06