• Aucun résultat trouvé

7.2 Sélection du meilleur ordonnancement

7.2.5 Autres méthodes de sélection

D'autres critères de sélection peuvent être pris en compte. En eet, un ordonnancement peut être sélectionné en fonction de sa date de début, de sa date de n, de sa durée d'exécution, etc. Soit Union(Int(Pord)) = {U1, U2, ..., Up}où Ui = [si, ei] est une union d'intervalles de Pord, si et ei étant respectivement les dates de début et de n de l'intervalle Ui.

 Début d'exécution au plus tôt

d'exécution la plus petite parmi toutes les dates de début de toutes les unions d'intervalles des ordonnancements possibles du plan-solution. En d'autres termes, l'ordonnancement-solution qui sera sélectionné selon ce critère est le suivant :

Ps

ord = argmin (si)

Ui = [si, ei] ∈ U nion(Int(Pord)) (7.21)  Début d'exécution au plus tard

L'ordonnancement qui commence le plus tard est celui qui a la date de début d'exécution la plus grande parmi toutes les dates de début de la première union d'intervalles des or-donnancements possibles du plan-solution. En d'autres termes, soit Uj

1 = [sj1, ej1]le premier intervalle de l'ensemble d'unions d'intervalles de Pj

ord (le premier intervalle de l'ensemble d'unions d'intervalles d'un ordonnancement est celui qui a la date de début la plus petite parmi tous les intervalles d'unions du même ordonnancement) où sj

1 et ej

1 sont respecti-vement les dates de début et de n de l'intervalle d'union Uj

1. L'ordonnancement-solution qui sera sélectionné est le suivant :

Ps

ord = argmax (sj1)

U1j = [sj1, ej1] ∈ U nion(Int(Pordj )) (7.22)  Fin d'exécution au plus tôt

L'ordonnancement qui nit le plus tôt possible est celui qui a la date de n d'exécution la plus petite parmi toutes les dates de n de toutes les dernières unions d'intervalles des ordonnancements possibles du plan-solution. En d'autres termes, soit Uj

p = [sjp, ejp] le dernier intervalle de l'ensemble d'unions d'intervalles de Pj

ord (le dernier intervalle de l'ensemble d'unions d'intervalles d'un ordonnancement est celui qui a la date de n la plus grande parmi tous les intervalles d'unions du même ordonnancement) où sj

p et ej

p sont

respectivement les dates de début et de n de l'intervalle d'union Uj

p. L'ordonnancement-solution qui sera sélectionné est le suivant :

Ps

ord = argmin (ejp)

Upj = [sjp, ejp] ∈ U nion(Int(Pordj )) (7.23)  Fin d'exécution au plus tard

L'ordonnancement qui nit le plus tard est celui qui a la date de n d'exécution la plus grande parmi toutes les dates de n de toutes les unions d'intervalles des ordonnancements possibles du plan-solution. En d'autres termes,

Ps

ord = argmax (ei)

7.3. Conclusion 119  Durée minimale d'exécution totale

Pour chaque ordonnancement, la durée minimale d'exécution totale (avec les durées d'at-tente) est égale à la diérence de la date de n d'exécution du dernier intervalle et la date du début d'exécution du premier intervalle de l'ensemble d'union d'intervalles. Plus formel-lement, soient Ij

1 = [sj1, ej1]et Ij

p = [sjp, ejp]le premier et le dernier intervalle de l'ensemble d'unions d'intervalles de Pj

ord, la durée minimale d'exécution de Pj ord est : duree_totale(Pj

ord) = ejp− sj1 (7.25) L'ordonnancement-solution qui sera sélectionné est celui qui dure le moins en temps d'exé-cution total y compris les temps d'attente. En d'autres termes :

Ps

ord = argmin duree_totale(Pj ord)

Pordj ∈ ORD(Ps) (7.26)

Exemple 17 Parmi les deux ordonnancements de l'exemple 15, l'ordonnancement-solution sé-lectionné pour l'exécution selon les cinq méthodes présentées dans cette section est dans l'ordre :

1. Pi

ord ou Pj

ord : les deux commencent à la même date. 2. Pi

ord ou Pj

ord : les deux commencent à la même date. 3. Pi

ord : puisqu'il termine son exécution avant Pj ord. 4. Pj

ord : puisqu'il termine son exécution après Pi ord. 5. Pi

ord : puisque duree_totale(Pi

ord) = 44est inférieure à duree_totale(Pj

ord) = 45.

7.3 Conclusion

L'introduction du temps, du coût et de probabilité dans un même système de planication complique la recherche d'un seul plan respectant toutes les contraintes de l'environnement et ayant un temps et un coût réduits tout en maximisant la probabilité d'exécution.

Dans ce chapitre, nous avons traité ce problème par des techniques de sélection multi-critères du plan-solution et ensuite d'un ordonnancement-solution. Nous avons utilisé les valeurs espérées des tâches calculées dans le chapitre précédent an de calculer les valeurs espérées totales des plans admissibles pour en choisir le meilleur. Nous avons proposé plusieurs méthodes de sélection du meilleur plan-solution et ordonnancement-solution dont ceux les plus probables, ceux qui sont un compromis entre le temps/coût minimaux et la probabilité maximale, ceux qui durent le moins, etc.

Chapitre 8

Exemple : gestion d'une situation de

crise

La méthode de planication que nous avons développée dans les chapitres précédents s'ap-plique à un seul agent ayant un ensemble de tâches à exécuter pour satisfaire un ou plusieurs buts tout en respectant les contraintes de l'environnement. Mais en pratique, plusieurs situa-tions demandent la coopération de plusieurs agents pour résoudre un problème. Dans le cas d'un tremblement de terre, d'un incendie ou d'une inondation par exemple, le secours des victimes est plus rapide, plus ecace et plus important si un ensemble de personnes (ou d'agents) travaillent ensemble. Mais pour que leur travail soit ecace, il faut qu'il y ait une bonne coordination et une bonne coopération entre eux, d'autant plus que dans la plupart des cas, une situation de crise41

est très contrainte en temps, ressources et incertitude. Dans ce chapitre, nous allons présenter l'application de notre méthode de planication à un ensemble d'agents an qu'ils réagissent ensemble pour atteindre les buts visés dans le cas d'une situation de crise.

Nous allons tout d'abord introduire Robocup Rescue, une compétition internationale dans laquelle des Systèmes Multi-Agents (SMA) sont évalués selon leur capacité à secourir des civils pris dans un tremblement de terre ; Ensuite, nous décrirons l'application de notre système de planication sur des situations de crise comme celles que nous pouvons trouver dans les problèmes traités dans Robocup Rescue. Notons que cette méthode ne traite pas le problème dans sa globalité mais propose une solution partielle au problème.

41Une situation de crise provient d'un changement brutal dans une organisation ou dans un état. Cela correspond par exemple à des catastrophes naturelles : tremblements de terre, inondations, ouragans, etc. La situation de crise correspond alors à la période s'étendant du début de la crise à un laps de temps variable, selon sa nature. Dans le cas d'un tremblement de terre, elle s'étend du début de la première secousse à 72 heures après la n de celle-ci, c'est-à-dire le temps durant lequel des équipes de secours pourront retrouver des survivants dans les zones sinistrées.

8.1 Introduction à la Robocup Rescue

La Robocup Rescue [Robocup Rescue,Salles 04] est une compétition internationale qui concerne le développement des agents représentant des équipes de secours intervenant après un tremblement de terre ayant touché une grande ville. Il existe deux ligues : robotique et simulation. Dans la première, des robots doivent explorer les décombres pour y retrouver les blessés. Dans la seconde, des équipes de secours virtuels doivent s'organiser pour secourir des civils dans le tremblement de terre. La ville simulée se veut la plus réaliste possible, avec des routes impraticables, des départs de feu, etc.

Le simulateur de la Robocup Rescue utilise la carte de la ville de Kobe au Japon où nous pouvons trouver les routes, les bâtiments, les incendies, les civils et les agents de secours. Une simulation comporte 300 pas de temps discret. Chaque pas de temps est un cycle qui correspond à une minute en temps réel. Le but de la compétition est de maximiser un score calculé en fonction du nombre de civils encore vivants et de leur état de santé, ainsi que de l'importance des dégâts matériels : bâtiments eondrés, dégâts dûs aux incendies, etc.