• Aucun résultat trouvé

Des algorithmes interactifs par programmation dynamique pour d´ eterminer une

3.1 Recherche dans un graphe d’´ etats multicrit` ere

3.1.3 Des algorithmes interactifs par programmation dynamique pour d´ eterminer une

une solution optimale avec la somme pond´er´ee

Dans la sous-section pr´ec´edente, nous avons consid´er´e que l’ensemble Ω des jeux de poids admis-sibles ´etait stable au cours du temps. `A pr´esent, nous consid´erons que de nouvelles informations sur les pr´ef´erences du d´ecideur sont obtenues `a diff´erents pas de temps not´es 1, . . . , T , en supposant que notre algorithme commence au temps 0 et se termine au temps T + 1. Ces donn´ees induisent de nouvelles contraintes sur les jeux de poids admissibles, r´eduisant ainsi progressivement la taille de l’ensemble Ω en cours de r´esolution ; notons Ωt l’ensemble Ω au pas de temps t de la r´esolution. Par d´efinition, ces derniers forment une s´equence d’ensembles emboˆıt´es : Ωt+1 ⊆ Ωt pour tout t ∈ {0, . . . , T }. De ce fait, nous avons POt+1(X ) ⊆ POt(X ) pour tout t ∈ {0, . . . , T } (cf. d´efinition 46). Par cons´equent, toute ´etiquette supprim´ee en consid´erant l’ensemble Ωt devrait aussi ˆetre supprim´ee si on consid´erait Ωt0 `a la place, avec t0 ∈ {t + 1, . . . , T + 1}. Ainsi, si l’ensemble Ω r´eduit en cours de r´esolution, alors il n’est pas n´ecessaire de relancer la proc´edure car les suppressions ant´erieures ne sont pas remises en cause, la derni`ere instruction assurant ensuite que l’algorithme retourne exactement l’ensemble POΩT +1(X ) (cf. ligne 21). Cette observation nous informe qu’il est possible d’interagir avec le d´ecideur durant la recherche pour centrer plus rapidement la recherche sur les chemins pr´ef´er´es.

Id´ealement, il faudrait poser des questions de mani`ere `a garantir que l’ensemble POΩT +1(X ) contienne un vecteur solution n´ecessairement optimal, c’est-`a-dire un vecteur minimisant fω pour tout ω ∈ ΩT +1. En mˆeme temps, il convient de limiter le nombre de questions pos´ees au d´ecideur pour minimiser l’effort d’´elicitation. Ces deux objectifs concurrentiels nous sugg`erent d’utiliser l’approche incr´ementale fond´ee sur le crit`ere Minimax Regret. En Section 1.4.2, cette approche a ´et´e pr´esent´ee et discut´ee dans le cadre d’une fonction fω `a maximiser. Pour obtenir son ´equivalent en minimisation, il convient d’utiliser les d´efinitions suivantes :

D´efinition 48. Pour tous x, y ∈ X :

PMR(x, y, Ω) = max ω∈Ω{fω(x) − fω(y)} MR(x, X , Ω) = max y∈X PMR(x, y, Ω) mMR(X , Ω) = min x∈XMR(x, X , Ω)

Rappelons que cette approche d’´elicitation est fond´ee sur le calcul r´ep´et´e de la valeur PMR(x, y, Ω) pour toute paire (x, y) de solutions possibles, tant que le regret mMR(X , Ω) est strictement plus grand

que la valeur δ ≥ 0 repr´esentant un niveau d’erreur que le d´ecideur juge acceptable (avec δ = 0, on obtient `a la fin une solution n´ecessairement optimale). Dans notre contexte, cette approche ne peut pas ˆetre mise en œuvre de cette fa¸con car l’ensemble X des vecteurs solutions est de trop grande taille. `A la place, nous allons int´egrer l’´elicitation `a la recherche r´ealis´ee par l’algorithme 4 pour travailler sur des ensembles de solutions plus r´eduits tout en garantissant de d´etecter une solution n´ecessairement optimale `

a la fin de l’ex´ecution. Plus pr´ecis´ement, nous proposons les strat´egies suivantes :

Strat´egie S1. Il s’agit de poser des questions uniquement lorsque la valeur mMR({g` : ` ∈ S}, Ω) devient strictement positive suite `a l’insertion d’une nouvelle ´etiquette dans S. Dans ces situations, S1 interroge le d´ecideur tant que mMR({g`: ` ∈ S}, Ω) > 0. Pour engendrer des questions, nous pouvons par exemple suivre la strat´egie de s´election CSS pr´esent´ee en Section 1.4.2. Montrons que S1 permet de d´etecter un vecteur solution n´ecessairement optimal `a la fin de l’algorithme. Rappelons que l’algorithme4 combin´e avec la strat´egie S1 retourne une ´etiquette ` ∈ S par vecteur coˆut de l’ensemble POΩT +1({g` : ` ∈ S}) (cf. ligne 21), celui-ci ´etant ´egal `a l’ensemble POT +1(X ). Par d´efinition, les solutions pr´ef´er´ees sont forc´ement dans cet ensemble. Il s’agit donc de montrer que nous avons une ´etiquette `0 ∈ S telle que fω(g`0) ≤ fω(g`) pour tout jeu de poids ω ∈ ΩT +1 et toute ´etiquette ` ∈ S. Comme la strat´egie S1 assure que mMR({g`: ` ∈ S}, ΩT +1) ≤ 0, alors il existe `0 ∈ S telle que MR(g`0, {g`: ` ∈ S}, ΩT +1) ≤ 0. Par d´efinition de la valeur MR, nous avons donc PMR(`0, `, Ω) ≤ 0 pour tout `0 ∈ S, ce qui signifie que l’in´egalit´e fω(g`0) ≤ fω(g`) est vraie pour tout ω ∈ ΩT +1; ceci permet de conclure la preuve.

Strat´egie S2. Cette strat´egie a pour objectif de mieux diriger l’exploration du graphe en s´electionnant plus pertinemment la prochaine ´etiquette `a d´evelopper ; autrement dit, la proc´edure Choisir est ici modifi´ee pour se concentrer sur les solutions les plus prometteuses. Cette ´etape de s´election est maintenant r´ealis´ee en posant des questions au d´ecideur tant que la valeur mMR(X, Ω) est strictement positive, o`u X = {g`+ h : ` ∈ O, h ∈ H(n`)}. La s´election des questions peut par exemple ˆetre dirig´ee par la strat´egie CSS (cf. Section 1.4.2). La prochaine ´etiquette `a d´evelopper est ensuite choisie parmi les ´etiquettes ` ∈ O telles que le MR(g` + h, X, Ω) = 0 pour au moins un vecteur heuristique h ∈ H(n`). Utiliser cette strat´egie revient donc `a d´evelopper uniquement des sous-chemins ayant au moins un vecteur heuristique n´ecessairement optimal dans X. Par ailleurs, si mMR({g` : ` ∈ S}, Ω) > 0 `a la fin de l’ex´ecution de l’algorithme, alors S2 pose des questions tant que cette in´egalit´e reste vraie. De mani`ere similaire `a la strat´egie S1, on peut montrer que cette ´etape finale permet de garantir que l’algorithme retourne une solution n´ecessairement optimale `a la fin de son ex´ecution.

Dans le cadre de ces deux strat´egies, le d´ecideur compare uniquement des vecteurs coˆut associ´es `

a des chemins solutions, ce qui a du sens. Ces vecteurs repr´esentent des coˆuts r´eels dans S1 et des ´evaluations heuristiques dans S2. Ainsi, pour la strat´egies S1, les questions peuvent ˆetre accompagn´ees de la pr´esentation des chemins `a comparer pour aider le d´ecideur dans sa prise de d´ecision. En guise d’illustration, nous pr´esentons ci-dessous une ex´ecution de l’algorithme4 combin´e avec la strat´egie S1 : Exemple 24. Reprenons l’exemple 23en supposant que les pr´ef´erences du d´ecideur sont repr´esentables par la somme pond´er´ee de jeu de poids ω0 = (0.6, 0.4). Sans aucune information sur ses pr´ef´erences,

l’ensemble Ω des jeux de poids ω = (ω1, ω2) admissibles est d´ecrit par la contrainte 0 < ω1 < 1, le poids ω2 ´etant d´efini de mani`ere implicite par la contrainte de normalisation des poids (i.e. ω2 = 1 − ω1).

D´eroulons l’algorithme4combin´e avec S1 (utilisant la strat´egie CSS). Comme S1 engendre des ques-tions uniquement quand la valeur mMR({g` : ` ∈ S}, Ω) devient strictement positive suite `a l’insertion d’une ´etiquette dans S, alors les quatre premi`eres it´erations sont ici identiques `a celles de la version non interactive. Reprenons l’ex´ecution `a partir de l`a. Au d´ebut de la cinqui`eme it´eration, nous avons :

• O = {`0

2, `002, `0γ} o`u `02 = [n2, hs, n3, n2i, (8, 2)], `00

2 = [n2, hs, n1, n2i, (3, 7)], `0

γ= [γ, hs, n1, γi, (1, 8)]. • C = {`s, `1, `3, `γ}, o`u `s = [s, hsi, (0, 0)], `1 = [n1, hs, n1i, (1, 4)], `3 = [n3, hs, n3i, (3, 1)], `γ =

[γ, hs, n3, γi, (6, 4)]. Ainsi, nous avons S = {`γ}.

De plus, nous avons F (`02) = {(8, 2)}, F (`002) = {(3, 7)} et F (`0γ) = {(1, 8)}. Comme aucun de ces vecteurs n’est Pareto-domin´e, alors Choisir(O) peut retourner `02, `002 ou `0γ. Supposons que Choisir(O) retourne l’´etiquette `0γ. Dans ce cas, `0γ est retir´ee de l’ensemble O et ins´er´ee dans l’ensemble S (cf. ligne 7). Suite `

a cette insertion, nous obtenons mMR({g` : ` ∈ S}, Ω) > 0. La strat´egie S1 demande alors au d´ecideur de comparer les vecteurs coˆut (6, 4) et (1, 8) associ´es respectivement aux chemins hs, n3, γi et hs, n1, γi (question engendr´ee par la strat´egie CSS). Comme fω0(6, 4) = 5.2 ≥ fω0(1, 8) = 3.8, alors le d´ecideur nous apprend qu’il pr´ef`ere le second chemin au premier. Cette information induit la contrainte lin´eaire fω(6, 4) = 6ω1+ 4(1 − ω1) ≥ fω(1, 8) = ω1+ 8(1 − ω1) sur l’espace des param`etres admissibles, qui est ´equivalente `a la contrainte ω1 ≥ 4/9. Ainsi, Ω = {(ω1, 1 − ω1) ∈ R2+ : 4/9 ≤ ω1 < 1}. Apr`es cette mise `a jour, nous obtenons mMR({g` : ` ∈ S}, Ω) = MR((1, 8), {g` : ` ∈ S}, Ω) ≤ 0. Par cons´equent, S1 ne produit plus aucune question `a cette it´eration ; le vecteur solution (1, 8) constitue la meilleure option trouv´ee jusque l`a. Pour la sixi`eme it´eration, Choisir(O) peut retourner `02 ou `002. Supposons que Choisir(O) retourne `002. Dans ce cas, `002 est d´eplac´ee de O vers C. Comme Π(n2) = {γ}, alors l’´etiquette suivante est engendr´ee : `00γ = [γ, hs, n1, n2, γi, (4, 7)]. L’´etiquette `002 est ensuite ins´er´ee dans O puisque ¬(g`γ -P g`00

γ) et ¬(g`0

γ -P g`00

γ) (cf. ligne 12). N´eanmoins, cette ´etiquette est ensuite supprim´ee par la r`egle R2 car nous avons {g`γ, g`0

γ, g`00

γ} ≺ g`00

γ (cf. ligne 13). Ainsi, nous avons O = {`02} `a la fin de cette it´eration. Par cons´equent, l’algorithme d´eveloppe forc´ement l’´etiquette `02 durant la septi`eme it´eration, en commen¸cant par d´eplacer celle-ci de O vers C. Puis, comme Π(n2) = {γ}, alors l’´etiquette suivante est cr´e´ee : `000γ = [γ, hs, n3, n2, γi, (9, 2)]. L’´etiquette `000γ est ensuite ins´er´ee dans O car nous avons ¬(g`γ -P g`000

γ ) et ¬(g`0

γ -P g`000

γ) (cf. ligne 12). Cependant, cette ´etiquette est ensuite ´elimin´ee par la r`egle R2 car {g`γ, g`0

γ, g`000

γ} ≺ g`000

γ (cf. ligne 13). Par cons´equent, l’ensemble O est vide `a la fin de la septi`eme it´eration. L’algorithme se termine alors en retournant l’ensemble S contenant `γ et `0γ, la premi`ere ´etiquette repr´esentant alors un chemin solution n´ecessairement optimal.

En pratique, la recherche d’un chemin solution n´ecessairement optimal peut engendrer un nombre important de questions durant la r´esolution. Par cons´equent, l’approche propos´ee dans cette sous-section se pr´esente comme une r´eponse th´eorique `a la probl´ematique de recommandation d’un chemin dans un graphe d’´etats. Pour la mise en œuvre de cette approche, il convient de baisser nos exigences sur la qualit´e de la recommandation en nous autorisant un seuil de tol´erance δ > 0. L’objectif est alors de d´eterminer un vecteur solution presque optimal, i.e. un vecteur x ∈ X tel que fω(x) − fω(y) ≤ δ pour tout

ω ∈ ΩT +1 et tout y ∈ X . Autrement dit, nous cherchons `a identifier un vecteur solution x ∈ X tel que MR(x, X , ΩT +1) ≤ δ. Ceci peut par exemple ˆetre r´ealis´e en modifiant les strat´egies S1 et S2 de mani`ere `

a poser des questions uniquement lorsque les valeurs mMR sont strictement plus grandes que δ. En effet, cela permet de d´etecter une ´etiquette `0 ∈ S telle que l’in´egalit´e MR(g`0, {g` : ` ∈ S}, ΩT +1) ≤ δ est vraie `

a la fin de la r´esolution. Par ailleurs, puisque nous nous autorisons `a pr´esent une erreur born´ee par le seuil δ, nous devons aussi modifier les r`egles d’´elagages R1 et R2 pour ne plus ´eliminer des ´etiquettes pouvant conduire `a des chemins solutions presque optimaux. Ceci se fait tout simplement en rempla¸cant la relation ≺par sa version “approch´ee” ≺δd´efinie par : Z ≺δy ⇔ ∀ω ∈ Ω, ∃z ∈ Z, fω(y) − fω(z) > δ.

3.1.4 R´esultats exp´erimentaux

Dans cette sous-section, nous pr´esentons des r´esultats exp´erimentaux permettant d’´evaluer les per-formances de nos algorithmes de recherche interactifs. Nous consid´erons ici des instances de G = (N, A) avec un seul nœud but γ, engendr´e comme suit : les nœuds dans N sont tir´es al´eatoirement dans la grille `

a deux dimensions {1, . . . , 1000} × {1, . . . , 1000} de mani`ere uniforme, sauf le nœud γ et le nœud source s qui sont situ´es en (1000, 500) et (1, 500) respectivement. Puis, chaque nœud engendr´e est reli´e `a ses cinq plus proches voisins par des arcs dont les ´evaluations sont tir´ees uniform´ement dans {0, . . . , 100}q. Comme ´evaluation heuristique, nous consid´erons uniquement le point id´eal I(n) = (I1(n), . . . , Iq(n)) pour tout n ∈ N , o`u Ij(n) = minx∈{g(p):p∈P (n,γ)}xj pour tout j ∈ Q. La valeur Ij(n) est obtenue au pr´ealable en appliquant l’algorithme A* au graphe ´evalu´e uniquement sur le crit`ere j.

Nous ´evaluons ici les performances de l’algorithme4, combin´e avec les strat´egies S1 ou S2, en terme de temps de r´esolution1 et nombre de questions engendr´ees. `A titre de comparaison, nous consid´erons aussi la m´ethode en deux phases (nomm´ee S0 ci-apr`es) consistant `a lancer tout d’abord MOA* puis appliquer la strat´egie CSS sur l’ensemble des vecteurs coˆuts retourn´es (c’est-`a-dire sur les vecteurs coˆut Pareto-optimaux). Les tests r´ealis´es ont pour objectif d’´evaluer l’impact de q le nombre de crit`eres (cf. table 3.1) et celui de |N | le nombre de nœuds du graphe (cf. table 3.2) sur les performances de ces algorithmes de r´esolution. Les r´eponses aux questions sont ici simul´ees par une somme pond´er´ee fω dont le jeu de poids ω a ´et´e choisi al´eatoirement dans Ω = {ω ∈ int(Rq+) :P

j∈Qωj = 1} o`u int repr´esente l’int´erieur du cˆone.

Table 3.1 – Impact du nombre crit`eres q sur les temps de r´esolution (|N | = 200, δ = 0.1).

q = 2 q = 3 q = 4 q = 5

temps questions temps questions temps questions temps questions

S0 0.0 3.7 1.3 8.3 131.5 12.5 192.7 23.5

S1 2.9 3.5 25.1 6.8 78.2 10.2 603.2 13.1

S2 0.5 6.3 1.1 12.5 1.5 17.9 2.2 28.1

1. Les temps de calcul sont donn´es en minutes, pour des exp´eriences r´ealis´ees sur un Intel Core i7 CPU 3.60GHz avec 16GB de m´emoire. Les tests de dominance sont effectu´es par le solveur Gurobi depuis un programme ´ecrit en Java.

Table 3.2 – Impact du nombre de noeuds |N | sur les temps de calcul (q = 3,δ = 0.01).

|N | = 100 |N | = 300 |N | = 400 |N | = 500

temps questions temps questions temps questions temps questions

S0 0.2 7.7 6.0 9.4 15.8 10.4 28.8 11.5

S1 2.4 6.5 158.4 7.7 65.6 9.1 154.4 8.3

S2 0.3 12.3 8.3 13.2 3.8 11.6 5.8 10.6

En comparant les r´esultats des strat´egies S0 et S1, nous voyons tout d’abord que S1 engendre beau-coup moins de questions que S0. Par exemple, la strat´egie S1 pose environ 45% de questions en moins que S0 pour q = 5 (cf. table 3.1) et permet une ´economie d’environ 25% sur les plus grandes instances (cf. table 3.2). Ainsi, int´egrer l’´elicitation `a la r´esolution permet ici de r´eduire de mani`ere significative le nombre de questions pos´ees au d´ecideur. Cependant, les temps de calcul sont plus mauvais avec S1, et plus particuli`erement sur les petites instances et avec peu de crit`eres (deux ou trois). Comparons maintenant les performances des strat´egies S0 et S2. La strat´egie S2 est quant `a elle meilleure que S0 en terme de temps de r´esolution `a partir de trois crit`eres (cf. table 3.1) ; en particulier, S2 va presque 100 fois plus vite que S0 pour q = 4, 5. Par ailleurs, nous voyons que S2 est aussi plus rapide que S0 sur les grandes instances (cf. table 3.2). Par exemple, S2 prend environ 5 fois moins de temps que S0 pour |N | = 500 (tout en posant environ 10% de questions en moins). De plus, il semblerait que le nombre de questions engendr´ees par S2 tend `a devenir plus petit lorsque q augmente ; en effet, S2 engendre environ 70%, 50%, 40% et 20% de questions de plus que S0 pour q = 2, 3, 4 et 5 respectivement (cf. table3.1).

Finalement, notre algorithme semble ˆetre plus performant lorsque celui-ci est combin´e avec S2 plutˆot que S1. N´eanmoins, la strat´egie S1 doit ˆetre privil´egi´ee dans les situations o`u le nombre d’interactions possibles avec le d´ecideur est particuli`erement limit´e.