• Aucun résultat trouvé

3.4 Aller plus loin dans le guidage

4.1.3 R´esultats

Cette section pr´esente les r´esultats obtenus sur les instances de benchmark mises en place (voir annexe 5.3.4) de notre approche employant le solveur partiel LARAC-ACO-M pr´esent´e en section pr´ec´edente. A titre de comparaison, en l’absence de m´ethode ´equivalente dans la litt´erature, nous avons impl´ement´e une approche de r´esolution s´equentielle que nous noterons ACO+SA. Dans cette approche, un algorithme ACO est utilis´e pour obtenir un plus court chemin empruntant l’ensemble des points de passage. Une fois ce chemin obtenu, un algorithme de recuit simul´e est employ´e pour d´eterminer les temps de travers´ee `a appliquer `a chaque arc du chemin pour minimiser le temps de trajet tout en satisfaisant les contraintes de capacit´e. Bien entendu, cette deuxi`eme approche est sous-optimale car elle consid`ere de mani`ere disjointe les probl´ematiques d’optimisation que sont les points de passage et la gestion des contraintes de consommation.

Algorithme 6 Algorithme LARAC-ACO-M

Requiert: sommet de d´epart s, sommet d’arriv´ee t, fonction de coˆut c, fonction de d´elai d, ensemble de points obligatoires Vm, borne max de d´elai ∆delay

Renvoie: un chemin p de coˆut c(p) minimum tel que d(p) ≤ ∆delay et Vm ⊂ p

1: Gt← extraction multi graphe(G)

2: G′ ← extraction graphe(Gt, c) 3: pc ← ACO(G′, s, t, Vm) 4: dc← d(pc) 5: si dc ≤ ∆delay alors 6: retourner pc 7: fin si 8: G′ ← extraction graphe(Gt, d) 9: pd← ACO(G′, s, t, Vm) 10: dd← d(pd) 11: si dd> ∆delay alors

12: retourner ”Pas de solution” 13: fin si 14: cc ← c(pc) 15: cd← c(pd) 16: λ−1← inf ini 17: boucle 18: λ ← cc−cd dd−dc 19: si λ = λ−1 alors 20: retourner pd 21: fin si 22: G′ ← extraction graphe(G t, cλ) 23: r ← ACO(G′, s, t, Vm, cλ) 24: si d(r) ≤ ∆delay alors 25: pd← r 26: cd← c(r) 27: dd← d(r) 28: sinon 29: cc ← c(r) 30: dc ← d(r) 31: fin si 32: λ−1 ← λ 33: fin boucle

Les tableaux de r´esultats pr´esent´es ci-apr`es ne comportent que les temps de calcul du solveur de contraintes afin de montrer les effets de la r´esolution partielle sur le guidage. Dans tous les cas, la solution partielle a pu ˆetre obtenue dans un d´elai inf´erieur `a 500ms, ce qui est n´egligeable au regard des temps potentiellement obtenus pour le solveur de contraintes. L’ensemble des essais ont ´et´e r´ealis´es sur un PC portable Samsung Q310, ´equip´e d’un microprocesseur Intel Core 2 Duo P7350 cadenc´e `a 2GHz et de 3Go de m´emoire vive.

Le tableau 4.1 pr´esente les r´esultats de l’approche de r´esolution s´equentielle ACO+SA. Avant toute interpr´etation, on peut en premier lieu observer la complexit´e du probl`eme, introduite par

Approche de r´esolution partielle ACO+SA

Benchmark Instance Ancien mod`ele Nouveau mod`ele T1 (ms) T2(ms) T1 (ms) T2 (ms) Benchmark 1 mission 1 1 16 (189) 1810 0 (189) 234 mission 1 2 2246 (155) 17331 31 (155) 171 mission 1 3 15 (416) – 492167 (398) – mission 1 4 16 (224) 43836 16 (224) 390 mission 1 5 15 (333) 104552 15 (333) 733 mission 1 6 409907 (445) – 433511 (432) – Benchmark 2 mission 2 1 5429 (372) 18767 62 (372) 483 mission 2 2 0 (384) 18564 16 (384) 359 mission 2 3 32 (401) – 32 (401) 1779 mission 2 4 443496 (727) – 175283 (502) 177842 mission 2 5 392233 (763) – 409285 (725) – mission 2 6 – – 215484 (1751) – Benchmark 3 mission 3 1 16 (812) 1451 16 (812) 728 mission 3 2 842 (665) 1138 390 (665) 718 mission 3 3 – – – – mission 3 4 267 (1948) – 31 (1948) – mission 3 5 – – – – mission 3 6 392311 (1651) – 390361 (1651) –

Table4.1 – R´esultats de l’approche ACO+SA pr´esent´ee sur les instances du benchmark propos´e. Un comparatif est ici r´ealis´e, entre l’ancien et le nouveau mod`ele logique. Les cases T1 et T2 pr´esentent respectivement les temps pour trouver la solution optimale,

et le temps n´ecessaire au solveur de contraintes pour obtenir la preuve d’optimalit´e. Les valeurs indiqu´ees entre parenth`ese dans les cases T1 sont les valeurs des meilleures

solutions trouv´ees. Les cases pr´esentant une police en caract`ere gras indiquent les cas o`u la recherche a ´echou´e `a trouver la solution optimale. Un d´elai maximum pour la recherche a ´et´e fix´e `a 500 secondes.

les contraintes de consommation, sur des instances de taille pourtant modestes (moins de 25 nœuds). Deux impl´ementations sont ici ´evalu´ees : une version initiale du solveur de contraintes (ancien mod`ele) et la nouvelle version int´egrant les variables sp´ecifiques de coh´erence de chemin. On note tout d’abord que le nouveau mod`ele permet, lorsqu’une solution est trouv´ee, d’acc´el´erer grandement les temps de propagation pour l’´evaluation des autres solutions : dans l’instance mission 1 1 par exemple, la preuve d’optimalit´e est obtenue en un peu plus de 200ms contre presque 2s auparavant. Au total, sur les cinq instances mission 1 2, 1 4, 1 5, 2 1 et 2 2, le solveur met moins d’une seconde `a terminer la recherche quand il lui fallait plusieurs dizaines voire une centaine de secondes pour le faire auparavant.

Le gain apport´e par le propagateur est donc manifeste, dans les cas o`u une solution est trou- v´ee. Malgr´e cela, l’approche s´equentielle ´echoue dans huit cas (sur un total de quinze instances propos´ees)`a trouver la solution optimale en 500 secondes, quel que soit le mod`ele. Dans deux `a trois cas, aucune solution n’est d’ailleurs trouv´ee. Ce type de r´esolution montre clairement ses limites, car il ne consid`ere pas de mani`ere conjointe la tenue des contraintes de points de passage et celle de l’´energie du v´ehicule.

Le tableau 4.2 pr´esente les r´esultats de l’approche LARAC-ACO-M sur les instances de benchmark mises en place. Pour la lisibilit´e, les r´esultats de l’approche ACO+SA ont ´et´e recopi´es dans la partie gauche du tableau. On peut noter le gain apport´e par LARAC-ACO-M sur le benchmark 1, puisque cette approche permet de r´esoudre l’ensemble des instances et d’apporter la preuve d’optimalit´e dans un d´elai inf´erieur `a une seconde. En comparaison, ACO+SA ´echouait

Benchmark Instance ACO+SA LARAC-ACO-M T1 (ms) T2(ms) T1 (ms) T2 (ms) Benchmark 1 mission 1 1 0 (189) 234 0 (189) 218 mission 1 2 31 (155) 171 16 (155) 125 mission 1 3 492167 (398) – 15 (306) 546 mission 1 4 16 (224) 390 0 (224) 374 mission 1 5 15 (333) 733 0 (333) 717 mission 1 6 433511 (432) – 0 (363) 328 Benchmark 2 mission 2 1 62 (372) 483 47 (372) 437 mission 2 2 16 (384) 359 16 (384) 359 mission 2 3 32 (401) 1779 31 (401) 1685 mission 2 4 175283 (502) 177842 0 (502) 1997 mission 2 5 409285 (725) – 496738 (678) – mission 2 6 215484 (1751) – 0 (787) – Benchmark 3 mission 3 1 16 (812) 728 47 (812) 749 mission 3 2 390 (665) 718 0 (665) 561 mission 3 3 – – 2060 (2276) – mission 3 4 31 (1948) – 187 (1798) – mission 3 5 – – 496973 (2653) – mission 3 6 390361 (1651) – 497300 (1568) –

Table4.2 – R´esultats comparatifs des deux approches de r´esolution partielle, ACO+SA et LARAC-ACO-M, avec le nouveau mod`ele de propagation, sur les instances du bench- mark propos´e. Les cases T1 et T2 pr´esentent respectivement les temps pour trouver

la solution optimale, et le temps n´ecessaire au solveur de contraintes pour obtenir la preuve d’optimalit´e. Les valeurs indiqu´ees entre parenth`ese dans les cases T1 sont les

valeurs des meilleures solutions trouv´ees. Les cases pr´esentant une police en caract`ere gras indiquent les cas o`u la recherche a ´echou´e `a trouver la solution optimale. Un d´elai maximum pour la recherche a ´et´e fix´e `a 500 secondes.

`a trouver la solution optimale en 500s pour deux des six instances. Pour le benchmark 2, LARAC- ACO est capable de trouver la solution optimale dans cinq cas sur six (contre trois sur six pour ACO+SA). Toutefois, il ´echoue `a trouver la solution optimale sur l’instance mission 2 5. De mˆeme, il n’est pas capable de terminer la recherche dans les cas 2 5 et 2 6. Pour le benchmark 3, LARAC-ACO-M trouve la solution optimale dans quatre cas sur six (contre deux sur six pr´ec´edemment). Il ´echoue `a trouver les solutions optimales de deux instances, et de terminer la recherche dans quatre cas sur six.

En conclusion, l’approche LARAC-ACO apporte un gain manifeste dans la r´esolution de probl`emes complexes tel que des instances EFP+W, puisqu’elle permet au solveur de contraintes de trouver la solution optimale imm´ediatement. Cela est rendu possible par le fait que la solution apport´ee par le solveur partiel est une solution r´ealisable au probl`eme global. Cependant, dans le cas de certaines instances (2 6, 3 3, 3 4), le grand nombre de solutions potentielles (dont le coˆut est proche de la solution optimale) rend n´ecessaire une ´evaluation exhaustive de l’espace de recherche, aboutissant `a l’absence de preuve d’optimalit´e en 500s. En outre, la r´esolution des instances 2 5, 3 5 et 3 6 est p´enalis´ee par la diff´erence sensible entre les mod`eles de chemin du solveur partiel et du solveur global. Dans notre cas, le solveur partiel autorise le fait de repasser par un mˆeme nœud puisque la solution partielle est construite `a l’aide d’une juxtaposition de chemins ´el´ementaires entre points obligatoires. Or le mod`ele de flots du solveur de contraintes n’autorise pas le passage multiple `a un mˆeme nœud du graphe. Le guidage des flots aboutissant en premier lieu `a une solution non r´ealisable, le solveur doit r´ealiser un ensemble de retours sur trace pour d´eterminer la solution optimale. L’´etiquetage des flots ne correspondant pas `a la solution partielle fournie, les contraintes sur les temps ne peuvent ˆetre appliqu´ees, aboutissant `a une ´evaluation exhaustive des combinaisons de valeurs de temps. Cette diff´erence dans les mod`eles ne pose, dans le cas de probl`emes « classiques » (c’est-`a-dire sans contraintes non lin´eaires), pas de probl`eme puisque la propagation des contraintes est g´en´eralement rapide. Or, dans le cas particulier du probl`eme EFP+W, la propagation des variables de temps est fastidieuse car ces derni`eres sont impliqu´ees dans les contraintes de consommation. Une id´ee pourrait consister `a r´eparer la solution partielle pour ´eviter `a un chemin de repasser par un mˆeme nœud, corrigeant ainsi les diff´erences entre les mod`eles, mais la mise en place d’une telle m´ethode est loin d’ˆetre triviale.

4.1.4 Conclusion

Dans ce section, nous avons pr´esent´e une nouvelle approche de r´esolution, bas´ee sur l’ap- proche d´ecrite en section 3.4, d´edi´ee `a la gestion sp´ecifique de contraintes additives non lin´eaires. Nous avons appliqu´e cette approche `a un probl`eme de gestion d’´energie, avec des r´esultats tr`es satisfaisants. La r´esolution partielle impl´ement´ee, permettant de r´esoudre tr`es rapidement des instances du probl`eme global, permet de guider tr`es rapidement le solveur de contraintes vers une solution r´ealisable. En outre, le nouveau mod`ele logique de coh´erence de chemin permet d’analyser efficacement la validit´e d’une instanciation des flots sans avoir `a faire intervenir les variables de temps, dont les temps de propagation sont longs en raison de leur implication dans les contraintes de consommation.

Ainsi, cette approche nous permet d’envisager le traitement de probl`emes non lin´eaires, pour lequels la programmation par contraintes montre ses limites. En revanche, elle reste handicap´ee par la l´eg`ere diff´erence du mod`ele de construction d’un chemin entre solveur partiel et solveur global, qui peut encore aboutir `a des contre-performances et ´echouer `a r´esoudre un probl`eme en temps raisonnable.