HAL Id: inria-00000069
https://hal.inria.fr/inria-00000069
Submitted on 26 May 2005
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of
sci-entific research documents, whether they are
pub-lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d’enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.
Apprentissage de Contraintes Globales Implicites
Christian Bessière, Remi Coletta, Thierry Petit
To cite this version:
Christian Bessière, Remi Coletta, Thierry Petit. Apprentissage de Contraintes Globales Implicites.
Premières Journées Francophones de Programmation par Contraintes, CRIL - CNRS FRE 2499, Jun
2005, Lens, France. pp.249-258. �inria-00000069�
Apprentissage de Contraintes Globales Impli ites Christian Bessière
1
Rémi Coletta1
Thierry Petit2
1
LIRMM (CNRS/Université Montpellier II), 161 Rue Ada, 34392 Montpellier Cedex 5,Fran e.
2
E ole des Mines de Nantes,
LINA FRE CNRS 2729, 4 rue Alfred Kastler, 44307 Nantes Cedex 3,Fran e.
bessierelirmm.fr olettalirmm.fr thierry.petitemn.fr
Résumé
Il peut exister de nombreux modèles à ontraintes exprimant un problème donné. Une des barrières s'op-posantàunediusionplusampledelaprogrammation par ontraintes est l'expertise importante requisepour on evoirunmodèlepermettantunerésolutione a e d'un problème.Aussi,l'intérêtde la ommunautépour lareformulationautomatiquedesmodèlesà ontraintes est roissant.Cetarti leprésenteuneappro he alterna-tive, onsistant à apprendre des ontraintes impli ites d'aprèsdesinstan iationsdesvariablesduproblème, so-lutionsetnon-solutions.Ces ontraintessontalors ajou-téesaumodèleand'améliorer larésolution.Pour vali-derl'impa tde etteappro he,nousproposonsun algo-rithmed'apprentissagede ontraintesde ardinalité glo-bale(G ).Nousmontronsexpérimentalementl'intérêt de etalgorithmepouraméliorerlaqualitédesmodèles à ontraintes.
1 Introdu tion
Laprogrammationpar ontraintesestunparadigme quiaprouvésone a itépourrésoudredesproblèmes dansdesdomainesvariés:ordonnan ementdetâ hes, onguration,plani ation,et .L'utilisationde e pa-radigme né essitede fortes ompéten es, et, malheu-reusement,toutesleséquipesdere her heet dévelop-pementnedisposentpasd'expertsenprogrammation par ontraintes.C'estpourquoil'intérêtdela ommu-nauté dans lareformulationautomatique de modèles est roissant. Firs h et al. [7℄ ont proposé une te h-niquedereformulationpure.Ilsproposentunsystème
en plusieurs modèles à ontraintes diérents. Colton et Miguel [5℄exploitent unprogramme degénération dethéoriespourfournirdes on eptsetdesthéorèmes que l'on peut ensuite traduire en ontraintes impli- ites. La notion de ontrainte impli ite est en l'o - urren e une notion importante pour on evoir des modèlesà ontraintese a es.Une ontrainte impli- iten'estpasrequisedanslaformulationduproblème mais elle peut en revan he être très utile pour le ré-soudre[16℄. Paroppositiononparlede ontrainte re-dondante quandellen'estpasrequisepourla formula-tionduproblèmeetqu'ellenemodiepaslaquantité de ltrage possible. Un bon exemple d'utilisation de ontraintesimpli itesaétémisenéviden eparRégin pourdes problèmes d'ordonnan ementde hampion-natssportifs[15℄.
Dans et arti le, nous nous plaçons dans la situa-tionsuivante:nousdisposonsd'unmodèlequiexprime orre tementleproblème,maisletempsderésolution obtenu n'est pas satisfaisant.Notre obje tif est alors d'améliorer e modèle en ajoutant automatiquement des ontraintesimpli ites.Notreidée onsisteàdénir unalgorithmed'apprentissagequidéduit denouvelles ontraintesàpartird'instan iationsdesvariables four-niesendonnée.Ilnes'agitdon pasdereformulation au sens habituel du terme. Notamment, notre te h-niquepeutpermettred'apprendredes ontraintesqui nesontpasdédu tiblesparuneanalysedelastru ture oudelasémantiquedes ontraintes.Ellespeuvent,au ontraire, dépendrefortementdes domaines initiaux, et ainsi êtrediérentes si onmodie même très
légè-ont déjà été appliquées à la programmation par ontraintes, dans des ontextes diérents. Dans [4℄, unalgorithmed'apprentissageest utilisé pour a qué-rirunmodèleinitialeninter-agissantave un utilisa-teur.Dans[10℄,lesauteurstraitentlatâ hespé ique de l'a quisition de propagateurs de ontraintes pour améliorerletempsderésolution.
I i notre but est d'apprendre des ontraintes impli ites paramétrées. Par exemple, la ontrainte AtLeast
(N, v, X )
est satisfaite si et seulement si le nombred'o urren esde lavaleurv
dansune instan- iation omplètedeX
estsupérieurouégalàN
.N
est leparamètre,quipeutêtreunevariable,unintervalle, oubien une simple valeur entière. Dans notre adre, unalgorithme d'apprentissagevisera, par exemple,à apprendrel'intervalledevaleurpourN
quisoitleplus restreintpossible.Si l'algorithme retourne une borne inférieurepour etintervalle qui est non nulle, et/ou unebornesupérieurestri tementinférieureà|X |
,alors la ontrainteapprisepeutêtre utilepouraméliorerle pro essusderésolution.En termes d'e a ité, une des fa ilités prin ipales fournies par la programmation par ontraintes est l'utilisationde ontraintesglobales[2℄.Nousproposons danslase tion4unalgorithmed'apprentissagedédié àune ontrainteglobaletrès usuelle, la ontrainte de ardinalité globale (G ). Une G exprime une pro-priété très générique : elle ontraint le nombre d'o - urren esde haquevaleurprésentedanslesdomaines. End'autrestermes, ette ontraintetraiteglobalement une onjon tion de AtLeast(imposantqu'unevaleur
v
apparaisseau moins un ertain nombre de fois) et AtMost(imposantqu'unevaleurv
apparaisseauplus un ertain nombre de fois). A ause du on ept très généralqu'ellereprésente, ette ontrainteest unbon andidatpourêtreune ontrainteimpli iteutiledans des ontextesvariés.Dénition1 Dans une G (
X
,T
,lb
,ub
),X
est unensembledevariables,T
untableaudevaleurs,etlb
etub
deuxtableauxd'entiers positifs enbije tion ave les éléments deT
, qui représentent les bornes infé-rieuresetsupérieuresdunombrepossibled'o urren es de haquevaleurdeT
.Etantdonnéev
∈ T
,lb
v
(resp.ub
v
) désigne l'entier asso ié àv
danslb
(resp. dansub
). Cette ontrainte impose que la valeurv
dansT
soitae tée dansX
unnombre de foisappartenant à[lb
v
, ub
v
]
.Denombreuses ontributionsontété faites on er-nantlaG [14,12,11,13℄,notammentdesalgorithmes de ltrage réalisant l'ar - onsistan e ave une om-plexité en temps raisonnable. La G est disponible
domaines et unensemble de ontraintes,l'algorithme que nous proposons dans et arti le (se tion 4) ap-prend un ensemble de bornes
lb, ub
, telles qu'ajou-ter au modèle une G ave esbornes préserve l'en-sembledessolutionsduproblèmetraité.Cetravailest le premier exemple d'apprentissage d'une ontrainte dépendante d'unensemble de paramètres.La se tion 5montrelegainobtenuen utilisantnotre algorithme pouraméliorerdesmodèlesà ontraintes.2 Contraintes Impli ites Paramétrées
Lorsqu'un problème a été modélisé sous la forme de variables et de ontraintes, des propriétés impli- ites, 'estàdirenonexpli itementexpriméespardes ontraintes,peuventêtresatisfaitesparl'ensembledes solutions.Dans ertains asilpeutêtreintéressantde lesexprimerexpli itementpardenouvelles ontraintes ajoutées au problème. En eet, un des prin ipes de base de la programmationpar ontraintes onsiste à réduirel'espa edere her heensupprimantdesvaleurs nonviablesdesdomainesdesvariables,etlesnouvelles ontraintesquel'onexprimepeuventêtremunies d'al-gorithmes de ltrage des domaines e a es, permet-tant de nouvelles rédu tions. Dans la littérature, de telles ontraintessontqualiéesde ontraintes impli- ites [16,15℄. Dans et arti le, nousnous intéressons aux ontraintes dépendant d'un ou plusieurs para-mètres.Les ontraintesparamétréesexpriment généra-lementunerèglesurlesvaleursae téesauxvariables qu'ellesimpliquent.Leparamètrepeutêtreunevaleur, un intervalle, ou une variable. Certaines ontraintes sont dénies à l'aide d'une olle tion de paramètres. C'est le as dela G .On peut iter quelquesautres exemplesde ontraintesparamétrées,extraitesdu a-taloguede Beldi eanu[1℄ : AtLeast,AtMostChange, Common, Count, G , Max, Min, NValue, et . Toutes es ontraintes impliquent un ensemble de variables detaille quel onque. Danslemanuel utilisateurdela librairiedeprogrammationpar ontraintesIlogSolver 5.0. [8℄, p. 279, le on ept de ontrainte impli ite est mis en éviden eenajoutantune G and'améliorer larésolutiond'unproblèmede olorationdegraphes. Considérons un autre exemple.
m
tâ hes doivent êtreordonnan ées.Cha unedestâ hesalamême du-réed
etl'ensembledestâ hesestpartitionnéendeux:m
1
tâ hesrequièrent1
ressour e,m
2
= m − m
1
tâ hes requièrent2
ressour es. Le temps est dis rétisé par une é helle d'unités ommençant au point0
. A un point donné de temps, la quantité maximale de res-sour equel'onpeututiliserestbornéeparmaxi
.Les tâ hes doivent ommen er en étantséparées lesunestâ hessontajoutéesdefaçonaléatoire.Etantdonnéun makespan (dernierpointde l'é helledetemps)égalà
2 ∗ (m − 1) + d
(le meilleur réalisable étant données les ontraintessurledébutdestâ hes),laquestionest de trouverunordonnan ementréalisable, siil existe. Nous avonsimplémenté en Cho o[3℄ unmodèlenaïf dans lequel le début de haque tâ he est représenté parune variable,et lesressour essontreprésentéesà haque point de temps par un tableau de variables, où haqueindex orrespondàla onsommationd'une tâ hedonnéeà epointdetemps.Les ontraintessur la durée et la séparation des tâ hes sont primitives, et des ontraintes de somme sont utilisées pour res-pe terlabornesurlaquantitémaximalederessour e. Nous nous plaçons dans le ontexte d'un utilisateur non expert. Don ,la stratégiede re her heemployée est ellefourniepardéfautparCho o(d'abordla va-riableayantlepluspetit domaine,et d'abordlaplus petitevaleurdudomaine).Lare her heestarrêtéesi au un ordonnan ementn'est produit après un temps de résolution de 60 se ondes. Même avem
= 4
etd
= 4
, et deux ontraintes de pré éden e, e modèle donnedemauvaisrésultats(voirlatable1).m
1
/m
2
maxi
#
n÷uds temps(se .) 4/0 4 >60 4/0 3 42129 7.4 4/0 2 85 0.12 3/1 4 45 0.030 3/1 3 33 0.041 3/1 2 7(pasdesol) 0.030 Tab.1Résultats ave unmodèlenaïf.Un utilisateurnon-expert pourrait êtretrèssurpris par esrésultats.Notamment,en ontraignant davan-tage
maxi
, la solution semble plus fa ile à trouver. L'expli ationestqueles ontraintes deressour e pro-pagentdavantagedans e aslàet ompensent l'inef- a itédelapropagationdes ontraintes d'ordonnan- ementdestâ hes.A e stade, il est don né essaire d'améliorer le modèle pour le rendre plus robuste du point de vue de l'e a ité de la résolution. Une façon de faire peutêtrederegardersiles ontraintessurl'ordredes tâ hes n'induisent pas des limites sur le nombre de tâ hes à haque point de temps de l'é helle
1
. La va-leur
p
= 2(m − 1) + d
est exa tement la valeur mi-nimale possiblepourordonnan ertoutes lestâ hessi elles sont séparées par au moins deux unités. C'est1
Unebonneheuristiquedere her hepourraitaussiêtre uti-lisée,maislagénérationautomatiqued'heuristiquesrobustesde
possible.C'estàdireunetâ heautemps0,unetâ he au temps 2, et . Il est don possible d'ajouter une ontrainte G
(X , T, lb, ub)
, oùX
est l'ensemble des variablesreprésentantlestâ hes,T
représenteles dif-férentspointsde temps, etlb
etub
les bornes sur le nombre d'o urren es dansX
des points de temps, dénies de la manière suivante : pour haque valeurv
∈ T
,ub
v
= maxi
; siv
est paireetv
et pluspetite que2m − 1
alorslb
v
= 1
(i.e.,unetâ hedoitdémarrer i i),sinonlb
v
= 0
. D'autresrèglessur les ardinalités pourraientêtredéduites,parexemplepasdetâ he dé-marrant à des points impairs,(i.e.,ub
v
= 0
siv
est impair). Cependant, laG additionnellerestreignant seulementleslb
v
estsusantepourobtenirune amé-liorationsigni ativedupro essusderésolution(voir latable2).m
1
/m
2
maxi
#
n÷uds temps(se .) 4/0 4 46 0.04 4/0 3 46 0.04 4/0 2 25 0.04 3/1 4 45 0.05 3/1 3 32 0.04 3/1 2 3(pasdesol) 0.03Tab.2Résultatsave uneG ajoutée aumodèle.
Cet exemple montre que pour un utilisateur non-expert en programmation par ontraintes, même de très petits problèmes peuvent être di iles à ré-soudre. Il montre aussi que e défaut peut être pal-liéenajoutantdes ontraintes impli ites,qui rendent le modèle robuste. C'est pourquoi de nouvelles mé-thodes apablesdedéduireautomatiquement detelles ontraintesimpli ites sontlesbienvenues.
3 Apprentissage de Contraintes Impli- ites Paramétrées
La question que l'on se pose est : omment ap-prendre une ontrainte paramétrée? Le prin ipe de baseestquel'onvaexploiterl'informationfourniepar des instan es positives et négatives,an d'apprendre les paramètres.Une instan e positiveest une instan- iation solution, tandis qu'une instan e négative est uneinstan iationquin'estpasunesolution.Par onsé-quent, si le modèle que l'on utilise pour exprimer le problème n'est pas e a e en terme de résolution, elui- inepermettrapasdefournirfa ilementdes ins-tan es positives. Cette se tion est une dis ussion sur l'ensembledevariablesetles ontraintesquel'ondoit
Apprendre une ontrainte sur l'ensemble des va-riables du problème n'est pas né essairement une bonne idée. Il semble plus pertinent de dé ouper le problème initial en sous-problèmes, ha un d'entre eux relatif à un sous-ensemble de variables et aux ontraintesduproblèmeimpliquant es variables.Un tel sous-problème aura plus de han es d'être résolu rapidement, et pourra ainsi produire fa ilement des instan es utiles pour apprendre une ontrainte im-pli ite sur le sous-ensemble de variables. Par déni-tion,siune ontrainteappriseestvalidepourun sous-problème,elleleseraaussipourleproblème omplet: lesvariables et les ontraintesdu sous-problèmesont dessous-ensemblesde eux problèmeinitial. Généra-lement, plus petits sont les sous-problèmes, plus ra-pide est leur résolution. La ontrepartie est que la ontrainte appriseseramoins globaleenterme de l-trage. En outre, pour des problèmes dépendant di-re tementd'une ertainetaille
n
,uneautre appro he pourrait onsister àapprendre une ontrainte sur un problèmeaven
petit et endéduirela ontrainte im-pli ite orrespondante pour une taillen
plus grande. Ilfaudra ependantréaliser ettedédu tionàlamain ar à priori il n'existe au un pro essus automatique quipuissegarantirlavaliditédela ontrainteajoutée surleproblèmedeplusgrandetaille.3.2 Relaxationduproblème
Ilestpossibled'apprendredes ontraintesimpli ites surdesrelaxations duproblèmeinitial. Ce asest en faitpro hedupré édent.Onpourraitdirequel'on dé- oupe le problème en fon tion des ontraintes. Ilest naturellementaussipossiblede onsidérerdesversions relaxées de sous-problèmes. On notera par exemple que la ontrainte G présentée dans l'exemple d'in-trodu tion(se tion2)estuniquementrelativeaux va-riablesreprésentant lestâ hes, et n'a pasde rapport ave les ontraintes de ressour e.Nous verrons dans la se tion 5 que nous pouvons apprendre une telle ontrainte sur unproblème oùles ontraintes de res-sour esontignorées.
3.3 Problèmesd'Optimisation
Dans le ontexte d'un algorithme de type Bran h and Bound, une façon de pro éder onsiste à ap-prendre de nouvelles ontraintes impli ites à haque pasdel'optimisation.Ellesresterontpardénition va-lidespourdemeilleurs valeursd'obje tif (i.e., orres-pondantau mêmeproblème ave une ontrainte plus forte sur l'obje tif). L'aspe t in rémental peut alors êtreintéressant, arilpeutêtreaisédetrouverune
so-Sila ontrainteappriseaméliorelemodèled'unefaçon signi ative,lapro hainesolution,ave une meilleure valeur d'obje tif, peut être déduite plus rapidement, etainsidesuitesionpeutà haqueétapedéduireune nouvelle ontrainte impli ite. On peut ainsi observer une oopération intéressante entre le pro essus d'ap-prentissageet lepro essusderésolution.
4 Algorithme d'Apprentissage d'une Contrainte de Cardinalité Globale Dans ette se tion nous supposons que l'ensemble des variables, leurs domaines, et l'ensemble des ontraintes du modèle initial qui seront utilisés pour apprendrela ontrainteG sont onnus.
Notation 1
P
= {X , D, C}
désigne le problème uti-lisé pourapprendreune G impli itesurX
.Dans toute ette se tion nous supposons également que
P
admet au moins une solution (le problème n'est pas sur- ontraint). Notre but est d'apprendre un ensemble d'intervalles où haque borne inférieure et supérieure de l'intervalle orrespond aux ardina-lités maximum et minimum d'une valeur dans n'im-porte quelle instan iation deX
qui soit une solu-tion. En d'autres termes, le but est d'apprendre la G(X , T, lb, ub)
la plus restreinte possible, oùT
est l'ensembledesvaleursapparaissantdanslesdomaines deX
etlb
etub
sont les bornes des intervalles ap-pris, telles que l'ensemble des solutions deP
soit le mêmeenajoutantousansajouter ette ontrainteau modèle.Plusrestreinte signiei iquenousessayons d'apprendrelesintervalles lesplusréduitspossible.4.1 Prin ipeGénéral
Notation 2
e
désigne une instan iation deX
. o(v, e)
désigne lenombre de foisoùla valeurv
ap-paraît danse
.Etantdonnéeune instan iation
e
deX
, laG im-pli ite que nous her hons est satisfaite pare
si et seulement si pour toute valeurv
∈ T
on alb
v
≤
o(v, e) ≤ ub
v
.Audébutdelaphased'apprentissage on sait seulement que0 ≤ lb
v
≤ |X |
,0 ≤ ub
v
≤ |X |
, etlb
v
≤ ub
v
. Le but est alors d'exploiter au mieux l'information fournie parlesbornesan deréduire le pluspossible esintervalles.Soit
e
−
j
une instan e négative. La première idée est de tester pour haquev
∈ e
−
j
si o(v, e
−
j
)
est une ause de l'é he . En gros, siP
n'a pas de solu-tionquandlenombremaximald'o urren esdev
est o(v, e
−
j
)
alorsonpeutae terlb
v
ào(v, e
−
j
) + 1
.En eet, il a été appris qu'au moins une o urren e supplémentaire de
v
est requise. Et de façon symé-trique, pourub
v
: siP
n'a pas de solution en impo-santquelenombremaximumd'o urren esdev
soit o(v, e
−
j
)
alorsonpeutmettreàjourub
v
enlui ae -tantlavaleuro(v, e
−
j
) − 1
.Cependant,enpratique, untels héma d'apprentissageest trop oûteux.Pour testersiilexistedessolutionsave une ertainelimite surlenombred'o urren esd'unevaleur,unproblème doitêtrerésolu.Onsouhaiteéviterdefaire ela systé-matiquement.Ilestpossibled'éviterdenombreuses ré-solutionsenexploitantl'informationproduited'après:lesinstan espositives,
lenombred'o urren esdesvaleursdansles ins-tan esnégativestellesquelesproblèmes augmen-tés ave une limite sur es o urren es ont des solutions.
Dans ette optique il est né essaire de sto ker pour haquevaleur
v
lesintervalles ourantspossiblespourlb
v
etpourub
v
.Notation 3
min(lb
v
)
désignelavaleurminimalep os-siblepourlb
v
etmax(lb
v
)
savaleurmaximalepossible. Ondénit de façonsimilairemin(ub
v
)
etmax(ub
v
)
. Le but sera pour haquev
d'augmenter su essive-mentmin(lb
v
)
et de diminuermax(ub
v
)
, et ensuite de propagerlerésultat andemettre àjourlb
etub
. Les deux autres quantitésmax(lb
v
)
etmin(ub
v
)
se-ront utiles pour améliorer l'e a ité de la te hnique d'apprentissage.4.2 Rédu tiondes bornesd'après les instan es Considéronsunexempledanslequelonsouhaite ap-prendre une G
(X , T, lb, ub)
oùX = {x
1
, x
2
, x
3
}
etD(x
i
) = {a, b, c}
,∀i ∈ {1, 2, 3}
. Considérons la va-leura
.Initialement,lb
a
peutêtren'importequelentier dans{0, 1, 2, 3}
, arX
ontienttrois variables. Simi-lairementub
a
∈ {0, 1, 2, 3}
.Soit
e
+
1
= [(x
1
, a), (x
2
, b), (x
3
, a)]
uneinstan e posi-tive.ub
a
, laborne supérieure sur lenombre dea
, ne peut pas être inférieure à2 =
o(a, e
+
1
)
are
+
1
est positive. Symétriquement,lb
a
ne peut pas être plus grandeque2.Enrevan heuneinstan epositive n'ap-porte au uneinformation on ernantlavaleur maxi-maledeub
a
et lavaleurminimaledelb
a
.Propriété 1 Soit
e
+
j
uneinstan epositive. Ona:max
(lb
v
) ≤
o(v, e
+
j
)
min(ub
v
) ≥
o(v, e
+
j
)
Proof :e
+
j
est positive On ne peut pas restreindre les ardinalitésdesvaleursdavantagequeleurs o ur-ren esdanse
+
j
.2
Grâ eà
e
+
1
etlapropriété1,onpeutréduireles pos-sibilités pourlb
etub
(voir table 3). Soit à présentlb
a
ub
a
0
−
1
−
2 2−
3
lb
b
ub
b
0
−
1 1−
2
−
3
lb
c
ub
c
0 0−
1
−
2
−
3
Tab.3Dédu tionssur
lb
etub
obtenuesàpartirde l'instan ee
+
1
= [(x
1
, a), (x
2
, b), (x
3
, a)]
. l'instan enégativee
−
2
= [(x
1
, a), (x
2
, b), (x
3
, c)]
. Ona|T | ∗ 2 = 6
ausespossiblespoursaréfutation: soitil yatropdevariablesinstan iéesave lavaleura
,soit pasassez,et similairementpourb
etc
. L'information supplémentairequel'onaest lesvaleurspossiblesdes bornessupérieures etinférieures des ardinalitésdéjà apprisesàl'aidedee
+
1
(voirlatable 3).Parexemple, onsidéronslavaleura
.Iln'yapastropd'o urren es dea
danse
−
2
armin(ub
a
)
est égalà2
,et don plus grand que o(a, e
−
2
)
. Autrement dit, on sait que2
n'est pas trop et par onséquent1
ne peut pas être trop. Il n'y a peut être pas assezd'o urren esdea
arlb
a
pourraitnalementêtreunevaleurstri tement supérieure que o(a, e
−
2
) = 1
, omme le montre la table3.Corollaire1 Soit
e
−
j
une instan enégative. Simin(ub
v
) ≥
o(v, e
−
j
)
alors il n'ya pastrop dev
danse
−
j
,sinonil y ena peutêtretrop. Simax(lb
v
) ≤
o(v, e
−
j
)
alors ily asusammentdev
danse
−
j
,sinon ily en a peutêtrepasassez.Ce orollairemontrequebienque
e
−
j
soituneinstan e négative,ilpeutêtre trèsutile deprendreen ompte touteslesinstan espositivespré édentes dansle pro- essusd'apprentissage.A ausedesinstan espositives et de leur eet sur les minimums et maximums des bornesinférieuresetdesbornessupérieures,seulement unsous-ensemblede valeursdee
−
j
peuvent ee tive-mentêtre la ausede laréfutation dee
−
j
. Si e sous-ensembleestvidealorsriennepeutêtreapprisde ette instan e.Latable4montrel'appli ationdu orollaire 1àe
−
2
.Ellefournitlesinformationsheuristiquespour savoir e qui doit être testé an de déterminer une raisonpossiblederéfutation dee
−
2
.Deux ausessont possiblesmaisau unen'estgarantie ommeétant va-lide.Unedernièreétapeestdon né essaire.Sitoutes les auses de réfutation sont rejetées, ela signiera simplementqu'il n'existe pas une G plus restreinte à apprendre à l'aide de ette instan e. Dans le aso
(a, e
−
2
) = 1
Non Peutêtre o(b, e
−
2
) = 1
Non Non o(c, e
−
2
) = 1
Peutêtre NonTab. 4 Causes possibles de réfutation de
e
−
2
=
[(x
1
, a), (x
2
, b), (x
3
, c)]
.ontraireonpourramettreàjourlesparamètresdela G .
L'idée onsisteàrésoudreunCSPissuduCSP ini-tial,danslequelonajoutedenouvelles ontraintesde ardinalitépourtester ha unedes ausespossiblesde réfutation.Parexemple,pourdéterminersiilest pos-siblequ'iln'y aitpasassezde
a
danse
−
2
( f.table4), onajouteune ontrainteimposantd'avoirauplus una
dansunesolution.SileCSPobtenuestinsatisable, onsaitquepasassezdea
estune ausevalidepourla réfutationdee
−
2
.Ondoitavoiraumoinsdeuxa
dans unesolutionde eproblème.Dansle as ontraireon saitqu'il estpossibled'avoirununiquea
(ouau un) dansuneinstan iationsolution.Propriété 2 Soito
(v, e
−
j
)
une ausepossiblede ré-futation d'une instan e négativee
−
j
. SoitQ
le pro-blème augmenté obtenu en ajoutant la ontrainte AtMost(o(v, e
−
j
), v, X
)àP
.Si
Q
n'apas desolution,min
(lb
v
) ≥
o(v, e
−
j
) + 1
, sinonmax(lb
v
) ≤
o(v, e
−
j
)
.Preuve :
P
a une ou plusieurs solutions. SiQ
n'a pasdesolution, elasigniequetouteslessolutionsdeP
violentla ontrainteAtMost(o(v, e
−
j
), v, X
) ajou-téedansQ
.Ainsin'importequellesolutiondeP
aau moins o(v, e
−
j
) + 1
o urren es dev
. Dans e asmin
(lb
v
)
devraitêtresupérieurouégalào(v, e
−
j
) +
1
.SiQ
aunesolutionalorsiln'existepasde ontrainte impli ite dansP
qui impose que le nombre d'o ur-ren esdev
soitplusgrandqueo(v, e
−
j
)
.lb
v
nepeut pasêtresupérieureouégaleào(v, e
−
j
)
.2
Propriété 3 Soito
(v, e
−
j
)
une ausepossiblede ré-futation d'une instan e négativee
−
j
. SoitQ
le pro-blème augmenté obtenu en ajoutant la ontrainte AtMost(o(v, e
−
j
), v, X
)àP
.Si
Q
n'apas desolution,max(ub
v
) ≤
o(v, e
−
j
) − 1
, sinonmin(ub
v
) ≥
o(v, e
−
j
)
.Preuve :Symétriqueàlapropriété2.
2
Ainsi, on imposera su essivement des ontraintes exprimant haque ause possiblede réfutation. Dans
des solutions ave la ontrainte supplémentaire AtMost(1,a,X). On sait alors que
lb
a
ne peut pas être supérieure ou égale à 2. On peut mettre à jour les valeurspossiblesdelb
a
(voirla table 5). On doit alorstesteraussiunCSPaugmentéave la ontrainte AtLeast(1, ,X). (voir la table 4). Supposons qu'il n'y ait alors pas de solution. Cela signie qu'une o urren edec
est trop,et onpeutmettre àjour les valeurs possibles deub
c
omme le montre la table 5. Onvoiten omparantlatable5àlatable3quelefaitlb
a
ub
a
0
−
1
−
−
2−
3
lb
b
ub
b
0
−
1 1−
2
−
3
lb
c
ub
c
0 0−
−
−
−
−
−
Tab.5Dédu tionssur
lb
etub
obtenuesàpartirde l'instan ee
−
2
= [(x
1
, a), (x
2
, b), (x
3
, c)]
.detraiter
e
−
2
apermisune restri tiondesparamètres delaG quel'onveutapprendre.Cepro essuspeut être stoppé après n'importe quel nombre d'instan es fournies, grâ eàlapropriétésuivante:Propriété 4 Soit
E
unensembled'instan iations deX
utiliséespourapprendrelesbornespossiblesdes ar-dinalités d'une G surX
.SoitT
l'ensemble des va-leurs. La ontrainte G(X , T, lb, ub)
où pour haquev
∈ T
haquelb
v
estxéeàmin(lb
v
)
et haqueub
v
est ae té àmax(ub
v
)
est une ontrainte impli ite pourP
.Preuve : Si
P
est utilisé pour déterminer pour haquee
∈ E
sie
estune solutionounon,alors ette propriétéestvériéed'aprèslespropriétés1,2et3.2
Quelquesoitl'ordre hoisipourprendreen ompteles instan esdans
E
,lamêmeG seraapprise.En eet, lemêmeensemblede ausesvalidesderéfutationsera identié àpartirdes instan es négatives.Cependant, le nombre de problèmes à résoudre pour obtenir le résultatdépenddel'ordredesinstan es.Onpeut on lurequelespropriétés1,2,3et le o-rollaire1fournissentunete hniquepourapprendredes ontraintesG impli ites. Plusgrandseral'ensemble d'instan es,plus restreinte serala ontrainte apprise, maisnaturellement elaengendreraun oûtentemps supérieurpourlaphased'apprentissage.
4.3 A élérationduPro essus d'Apprentissage La sous-se tion pré édente propose une te hnique permettantd'apprendrelesbornesdes ardinalitésde
bornesilestné essairederésoudredessous-problèmes. Dans le but de rendre le pro essus d'apprentissage aussi rapide que possible, ette se tion présente des te hniques simplesaméliorant le pro essus d'appren-tissage.
Utilisationde laG pour testerles ausesde réfutation : Nous avonsvu dans lasous-se tion4.2 que haqueinstan e négative requiert de résoudre le problème
P
sur lequel on apprend la ontrainte, en lui ajoutant une ontrainte supplémentaire. Sa hant quelapropriété4garantitqu'àn'importequelleétape de laphased'apprentissagela ontrainteG est une ontrainteimpli itepourP
,ilestintéressantd'utiliser ette G quand on teste une instan e négative,à la pla edesimples ontraintesajoutéesdetypeAtLeast ouAtMost.Ces ontraintespeuventêtrein lusesdans laG ourante, e quioriraaumomentdutestune globalitédeltragesupplémentaire.Limite de temps:ilest possibled'éviterde tom-ber dans des as pathologiquesoù larésolution d'un sous-problèmeparti ulieresttroplongueenimposant une limitedetempssur haquerésolution. Sile résol-veurde ontraintes n'apas déterminési il existeune solutionpourleproblèmeaugmenté onsidéréavantla limite, lare her hes'arrêteet,simplement, rienn'est mis à jour dans la G . On note qu'ave une limite detemps,lagarantied'apprendrelamême ontrainte en prenanten omptele même ensemble d'instan es, maisdansdesordresdiérents,estperdue.
Appli ation d'une onsistan e lo ale :aulieu de lan er une résolution omplète à haque test, jus-qu'àobtenirsoitunesolutionsoitunepreuve d'in on-sistan e,ilestpossibled'ee tueruneformerelâ hée de résolution, en appliquant une onsistan e lo ale. De ettemanière,si uné he est déte té (i.e.,un do-maine vidé), nous sommes sûrsque la ausede réfu-tationtestée estvalide.Enrevan heriennepeutêtre déduit siiln'yapasd'é he .Ils'agitàprésentde dé-terminerletypede onsistan elo alelemieuxadapté ànotreproblématiqued'apprentissage.
La première idée est d'utiliser l'ar - onsistan e (AC). Malheureusement, en pratique, l'AC n'est gé-néralementpasassezfortepourdéte terune in onsis-tan e.Dansnotre ontexteilestdon né essaire d'étu-dierdes onsistan esplusfortes.Onestalors onfronté au fait que les résolveurs de ontraintes a tuels ne permettent pas, en général, d'appliquer de façon gé-nérique une onsistan e plus forte que l'AC. Aussi, nousproposonsderéaliserune onsistan edesingleton (SAC), que nous pouvonsmettre en ÷uvreen appli-quantl'ACsur des sous-problèmesparti uliers(pour plus de détails sur laSACnous invitonsle le teur à lirel'arti ledeDebruyneet Bessière[6℄).
Dénition 2(SAC) Un réseau de ontraintes
(X , D, C)
est Singleton Ar Consistant ssi :∀X
i
∈ X , ∀v
i
∈ D(X
i
)
, l'AC n'aboutit pas sur une in onsistan esur(X , D, C ∪ {X
i
= v
i
})
.On peut fa ilement dénir la
k
-singleton ar - onsistan e (k
-SAC), qui est une onsistan e lo ale plusfortequelaSAC.Dénition3 (
k
-SAC) Un réseau de ontraintes(X , D, C)
estk
-SACssi:∀{X
i
1
, . . . , X
i
k
} ⊆ X , ∀v
i
1
∈
D(X
i
1
), . . . , v
i
k
∈ D(X
i
k
)
, l'ACn'aboutitpas surune in onsistan e sur(X , D, C ∪ {X
i
1
= v
i
1
, . . . , X
i
k
=
v
i
k
})
.Enn, nous introduisons une relaxationde la
k
-SAC quiseraparti ulièrementadaptéeauxtestsdes auses de réfutation lors de l'apprentissage des bornes des ardinalitésd'uneG .Dénition4 (
k
-SAC(v
)) Un réseau de ontraintes(X , D, C)
estk
-SAC(v
) ssi :∀X
i
∈
X , v
∈
D(X
i
), ∃{X
j
1
· · · X
j
k
−1
} ⊆ X
tel que l'AC n'abou-tit pas sur une in onsistan e sur(X , D, C ∪ {(X
j
1
=
v), · · · , (X
j
k
−1
= v), (X
i
= v)}
5 Résultats expérimentaux 5.1 ProblèmedeSatisfa tion
Cettese tionprésenteuneséried'expérimentations de notre algorithme sur le problème dé rit dans la se tion 2.Pour tous es tests, l'algorithme d'appren-tissage a été lan é sur un problème relâ hé de ses ontraintesderessour e.Lasimpli itéde eproblème relâ hénous a permis d'avoir destemps d'apprentis-sagedeseulementquelquesmilise ondespour
m
=4etm
=5. Parmi les optimisations de la se tion 4.3 nous avonsimplémentél'utilisationdelaG pourtesterles ausesderéfutation,etunepro éduredelimitationdu temps de résolutiondes sous-problèmes.15
instan es on été utilisées pour apprendre haque G , et la li-mitedetempsaété xéeà0.4se ondesparinstan e. Latable 6montrelesrésultats obtenusquand le mo-dèledé rit ense tion2est augmenté dela ontrainte G impli iteapprise.Con ernantla olonnedetemps, lapremièredonnéeest letemps d'apprentissageet la deuxièmeestletempsderésolutionduproblème aug-mentédelaG .Onvoitquelesrésultatssontsimilairesà euxdela table 2.Celaprouveque l'algorithmed'apprentissage nousfournitlarobustesserequisepourlarésolutionde eproblème.
Lestables7et8montrentlesrésultatsobtenusave unnombrede ontraintesdepré éden ealéatoireségal à
4
, etm
= d = 5
. La re her he d'une solution du problème ompleteststoppéelorsqueletempsdépassem
1
/m
2
maxi
#
n÷uds temps(se .) 4/0 4 47 0.297+0.026 4/0 3 47 0.279+0.018 4/0 2 23 0.265+0.015 3/1 4 43 0.312+0.031 3/1 3 30 0.286+0.019 3/1 2 3(pasdesol.) 0.279+0.013Tab. 6 Problèmes ave
m
= 4
en utilisant une ontrainteG impli iteapprise.m
1
/m
2
maxi
#
n÷uds temps(se .) 5/0 5 >60 5/0 4 >60 5/0 3 >60 5/0 2 53250(pasdesol.) 19 3/2 5 >60 3/2 4 >60 3/2 3 1790(pasdesol.) 1.2 1/4 5 11065 3.9 1/4 4 7985(pasdesol.) 2.9Tab.7Problèmesave
m
= 5
sansutilisationd'une G impli ite.m
1
/m
2
maxi
#
n÷uds temps(se .) 5/0 5 74 0.729+0.030 5/0 4 74 0.730+0.025 5/0 3 63 0.726+0.024 5/0 2 361(pasdesol.) 0.721+0.243 3/2 5 63 0.734+0.025 3/2 4 92 0.717+0.059 3/2 3 123(pasdesol.) 0.738+0.122 1/4 5 39 0.740+0.023 1/4 4 154(pasdesol.) 0.718+0.133Tab. 8 Problèmes ave
m
= 5
en utilisant la ontrainteimpli ite G apprise.blèmes ave
m
= 6
en quelquesse ondes(in luant le tempsd'apprentissage)alorsquelaplupartd'entreeux n'étaitpasrésolvablessans ontrainteimpli ite,même aprèsplusieursminutes.Notreobje tifave epremiertestétaitdetesterun modèlenaïf,ave unestratégiedere her hebasique,et d'expérimenter ombiennotrete hniquepouvait amé-liorer sa robustesse. Naturellement e ben hmark est adaptéàl'utilisationdeG impli ites,notamment ar le makespan est xé àson minimumréalisable. Mais notre but i i est de fournir unsystème permettant à un utilisateur ayant l'intuition il y a peut être des G impli ites à apprendre de trouver automatique-ment es ontraintesimpli ites.L'eortrelatifestbien plusfaibleque eluid'étudier haque ombinaisondes paramètres
m
etd
, et les ontraintes de pré éden e, pour essayerde déduire à lamain es ontraintes de ardinalité en fon tion de ritères stru turels ou sé-mantiques.5.2 Problèmed'Optimisation
Dansle adredu ursusdel'IUTd'Informatiquede Montpellier, les étudiants doivent réaliser un projet individuel.Chaque étudiant hoisitsonprojetd'après un ensemble de sujets initialement proposés par les enseignants. Plus pré isément, haque étudiant doit fournirune liste
(p
1
, . . . , p
m
)
desm
projetsqu'il pré-fère.Leurspréféren esdoiventêtretotalement ordon-nées:unprojetp
i
est stri tementpréféréàunprojetp
i+1
. Malheureusement,enpratique,lesétudiants ef-fe tuentdes hoix souventtrès similaires, et il arrive qu'iln'existeau unesolutiontelleque ha undes étu-diantsobtienneunprojetqu'ila hoisi2 .
Ainsi, l'obje tif de e problème est d'assigner des projetsauxétudiants,detellesortequedeuxétudiants distin tsaientdeuxprojetsdistin ts,touten maximi-santautantquepossiblelasatisfa tiondesétudiants. Un étudiantesttrèssatisfait siilobtientsonpremier hoix,moins siil obtientsonse ond hoix,et ainside suite jusqu'aupoint oùil nepeutobtenirau un pro-jet de sa liste, e qui orrespond à la satisfa tion la plus faible possible. Jusqu'à l'année dernière, les en-seignantsee tuaient esae tationsàlamain, equi pouvait prendre untemps très onséquentpour na-lement obtenirune solutionloin d'être optimale.Il y adeuxans,undesprojetsproposésétaitderésoudre e problème d'ae tation à l'aide de la programma-tion par ontraintes. Les étudiants qui ont travaillé sur e projet ont fourni le modèle suivant : haque
2
Dans e as, les étudiants restants réalisent de nouveaux hoixparmilesprojetsnondéjàassignés,etunenouvelle
ae -maineest onstituéparl'ensembledes hoixee tués parl'étudiant,plusunevaleurjoker
0
,signiant au- un projet n'est ae té lors de ettere her he. Des ontraintes sont posées entre haque paire(X
i
, X
j
)
d'étudiants,exprimant(X
i
6= X
j
) ∨ (X
i
= X
j
= 0)
. Des variables de préféren e mesurent la satisfa tion de haqueétudiant. Elles sont liéesaux variables re-présentant les étudiants par des ontraintes dénies en extension.{(p
1
, m
), . . . , (p
m
,
1), (0, 0)}
. L'obje tif onsiste à minimiser la somme des variables de pré-féren e. Par la suite, le modèle que nous venons de présenterseraréféren é ommelemodèleinitial.Lerésolveurde ontraintesest d'abordlan é surle modèle initial pour une ourte période de temps (1 se .) an defournirune première solution
S
0
, et une bornesupérieuresurlaqualitédessolutions.Avantde démarrer laphased'apprentissage,une ontrainte a - eptantuniquementlesinstan iationsave unevaleur d'obje tifaumoinsaussibonneque elledeS
0
est po-sée. L'apprentissageest alorsréalisé sur unensemble d'instan esE
, ontenantS
0
(marquée omme posi-tive) et une ensemble d'instan es aléatoires (généra-lementnégatives).Nousn'avonspasimposédelimite detemps,enrevan hela onsistan ek-SAC(v)(dé rite en se tion4.3) aété utiliséeàlapla e de résolutions omplètes. A la n de la phase d'apprentissage, la ontrainte apprise est ajoutée au problème et le sol-veurestlan é.Sa hant que la taille réelle du problème est trop grandepourque elui- isoitrésoluplusieursfois,nous avons d'abord réalisé des tests sur desproblèmes ré-duits issus des données réelles. Ces problèmes pré-servent les ratio nombre de projets/nombre d'étu-diantsetlarépartitionparti ulièredes hoix.Legain obtenu sur leproblème omplèt est donnéàlan de lase tion.
La table9montre letempsmoyen etle nombrede n÷udsdumodèleinitialenfon tiondunombre d'étu-diants
n
.n
#
n÷uds temps(se .) 10 110 0.2 15 2648 7.6 20 137982 183.2Tab.9Modèleinitial.
La table 10 montre les résultats obtenus ave les mêmes donnéesque ellesde latable 9en apprenant une G sur les variables représentant les étudiants, en fon tion dunombre d'étudiants
n
impliqués dans leproblèmeetlenombred'instan es|E|
utiliséespen-tiveinitiale.
n
|E|
#
n÷uds temps(se .) 10 10 12 0.2+0.0 15 10 57 2.6+1.1 15 20 50 3.8+1.1 15 30 50 5.1+0.9 15 40 50 5.9+0.9 20 10 4801 5.7+14.9 20 20 2800 6.8+13.0 20 30 2643 7.9+8.4 20 40 1998 9.1+8.4Tab.10Modèlereformulé.
Lapremièreobservationquel'onpeutfaireestque, grâ e à la relaxation à une onsistan e lo ale plutt que des résolutions omplètes, le temps d'apprentis-sageesttrèsraisonnable(9.1se .danslepiredes as). La deuxième est que plus nous utilisons d'instan es, plusla ontrainteappriseestpré ise,et plus ompa t est l'arbre de re her he. Il semble don sur e pro-blèmequ'ilsoittoujourspréférabled'améliorerle mo-dèleavantderésoudreleproblème.Eneet,lasomme dutempsd'apprentissageetdutempsderésolutionest inférieure autemps requispourrésoudredire tement le modèle initial. Pour
n
= 10
, la phase d'apprentis-sage n'est pas lan ée ar la solution optimale a été trouvée pendantla re her he de lapremière solution initiale.Legainestdequelquesse ondespourn
= 15
, puisilatteintunfa teur10
lorsquen
= 20
.Surleproblèmeréel(
n
= 60
), etteappro hea per-misderésoudreleproblèmeen43
minutes(dont90
se- ondesd'apprentissage,réalisésur50
instan es)alors quelarésolutiondumodèleinitialaétéstoppéeaprès12
heures. Cetteméthodene né essitepasderéglage parti ulier arletempsdelaphased'apprentissageest ontrlé,etellesemblerobusteaunombred'instan es séle tionnéespourl'apprentissage.6 Perspe tives
L'aide à la modélisation paraît devenir un thème de re her he important en programmation par ontraintes,notammentdanslebutdefavorisersa dif-fusion. A tuellement, le nombre de ontributions sur e thème est en ore relativement limité. Notre pre-mière perspe tive sera de généraliser les aspe ts al-gorithmiquesde notre étude à d'autres ontraintes à paramètres. Une autre perspe tive onsiste àétudier lesaméliorationsréalisablesdansledomainedela ro-bustessedesstratégiesdere her hepardéfautdes ré-solveursde ontraintes,notammentpardespro essus
Cet arti le présente un nouveau paradigme d'ap-prentissage de ontraintes à partir de solutions et non-solutions de sous-problèmes. Le but est d'amé-liorer automatiquement des modèles à ontraintes. Andevaliderl'impa tdenotreappro henousavons onçu et implémenté un algorithme pour apprendre des ontraintes de ardinalité globale, ainsi que des prin ipespouraméliorer et algorithme selonletype deproblèmeprisen ompte.Ces travauxontété vali-désparuneséried'expérimentations.
Référen es
[1℄ N. Beldi eanu. Global onstraintsas graph pro-perties on a stru tured network of elementary onstraints of the same type. Pro eedings CP, pages5266,2000.
[2℄ C.BessièreandP.VanHentenry k. Tobeornot tobe...aglobal onstraint.Pro eedingsCP,pages 789794,2003.
[3℄ Cho o. A Java library for onstraint satis-fa tion problems, onstraint programming and explanation-based onstraint solving. URL : http ://sour eforge.net/proje ts/ ho o,2005. [4℄ R.Coletta,C.Bessiere,B.O'Sullivan,E.C.F
reu-der, S. O'Connell, and J. Quinqueton. Semi-automati modeling by onstraint a quisition. Pro eedings CP,pages812816,2003.
[5℄ S. Colton and I. Miguel. Constraint generation viaautomatedtheoryformation.Pro eedingsCP, pages575579,2001.
[6℄ R. Debruyne and C. Bessière. Domain ltering onsisten ies. Journal of Arti ial Intelligen e Resear h,14:205230,2001.
[7℄ A. M. Firs h, C.Jeerson,B. Martinez Hernan-dez, and Ian Miguel. The rules of modelling : towardsautomati generation of onstraint pro-grams. 2004 Workshop on Modelling and Refor-mulatingConstraintSatisfa tion Problems,2004. [8℄ Ilog. Solver 5.0 User's Manual. URL :
http ://www.ilog.fr, 2000.
[9℄ N. Jussien. The versatility of using explana-tions within onstraint programming. Habilita-tionthesisofUniversitédeNantes,18September 2003. alsoavailable asRR-03-04resear hreport at É oledesMinesdeNantes.
[10℄ A. Legt henko, A. Lallouet, and A. Ed-Dbali. Intermediate onsisten iesbydelayingexpensive
on the extended global ardinality onstraint is np-hard. Te hni alReportCS-2003-39,S hoolof ComputerS ien e,UniversityofWaterloo,2003. [12℄ C.-G. Quimper, P. Van Beek, A. Lopez-Ortiz, A. Golynski, and S. B. Sadjad. An e ient bounds onsisten yalgorithmfortheglobal ardi-nality onstraint.Pro eedingsCP,pages600614, 2003.
[13℄ C.-G.Quimper,A.López-Ortiz,P.vanBeek,and A. Golynski. Improved algorithms forthe global ardinality onstraint.Pro eedingsCP,3258:542 556,2004.
[14℄ J-C.Régin.Generalizedar onsisten yforglobal ardinality onstraint. Pro eedings AAAI, pages 209215,1996.
[15℄ J-C.Régin.Minimizationofthenumberofbreaks in sports s heduling problems using onstraints programming. DIMACS series in Dis rete Ma-themati s and Theoreti al Computer S ien e, 57:115130,2001.
[16℄ B. Smith, K. Stergiou, and T. Walsh. Model-lingthegolombrulerproblem. InJ.C.Réginand W. Nuijten,editors, Pro eedings IJCAI'99 work-shopon non-binary onstraints,Sto kholm, Swe-den,1999.