Techniques de décisions hiérarchiques pour l'allocation et l'ordonnancement de tâches

par Adriana Pacheco

Projet de thèse en Informatique et Robotique

Sous la direction de Cédric Pralet et de Stéphanie Roussel.

Thèses en préparation à Toulouse, ISAE , dans le cadre de École doctorale Systèmes (Toulouse) , en partenariat avec ISAE-ONERA CSDV - Commande des Systèmes et Dynamique du Vol (laboratoire) depuis le 01-10-2017 .


  • Résumé

    Dans de nombreuses applications qui présentent un problème de décision ou d'optimisation combinatoire, il est utile de raisonner à différents niveaux d'abstraction. C'est tout d'abord le cas pour des missions d'exploration multi-robots, où l'on peut s'intéresser premièrement à la répartition de tâches d'exploration entre différents robots, puis à la manière dont chaque robot enchaîne les tâches qui lui sont allouées, et enfin à la décomposition de ces enchaînements de tâches sous la forme de déplacements à coordonner pour éviter des collisions ou pour maintenir des liens de communication [1]. C'est aussi le cas pour la gestion d'une constellation de satellites d'observation de la Terre, pour lesquels on peut décider dans un premier temps de la répartition des tâches d'acquisition candidates entre les différents satellites, puis de l'enchaînement de ces acquisitions pour chaque satellite de la constellation, et enfin des commandes élémentaires à envoyer aux instruments pour réaliser effectivement cet enchaînement [2]. C'est encore le cas pour l'implémentation de fonctions sur une architecture avionique, avec en premier lieu une décision concernant l'allocation de fonctions sur des unités de calcul temps réel, puis une décision concernant l'ordonnancement des fonctions sur chaque unité de calcul, et enfin une décision sur la stratégie de routage des données échangées entre fonctions sur un réseau disponible [3]. D'un point de vue général, il est ainsi nécessaire dans ce type d'applications de considérer différents niveaux de décision couvrant allocation des tâches sur des ressources et ordonnancement des tâches sur ces mêmes ressources. Chaque tâche à considérer peut de plus se décomposer en plusieurs sous-tâches, dans le sens par exemple où une tâche de calcul d'une fonction correspond à l'enchaînement d'une tâche de lecture des données utilisées par la fonction, d'une tâche de calcul proprement dite, et d'une tâche d'écriture des sorties de la fonction dans une zone mémoire donnée. En plus de cela, les contraintes des problèmes de décision à résoudre peuvent être représentées avec différents niveaux d'abstraction. Par exemple, en exploration multi-robots, il existe des contraintes portant sur l'énergie disponible pour les robots. Au moment de la répartition des tâches d'exploration entre les robots, il n'est pas forcément possible pour des considérations combinatoires de considérer un modèle dynamique complexe reliant l'énergie disponible à la puissance consommée à chaque instant. On considère alors une consommation d'énergie forfaitaire pour chaque activité et une capacité maximale pour chaque robot. Le modèle d'énergie complexe peut être pris en compte dès lors que les tâches ont été réparties et que l'on synthétise les déplacements des robots. De manière analogue, pour l'agencement des observations d'un satellite, on peut considérer en première approximation qu'il existe une durée forfaitaire requise pour passer d'une observation à la suivante, avant de considérer des modèles cinématiques plus complexes prenant en compte les capacités des actionneurs gyroscopiques et les caractéristiques des zones à imager. Ce sujet de thèse s'intéresse à la définition de modèles et d'algorithmes de décision utilisables pour gérer ces problématiques de décision hiérarchique.

  • Titre traduit

    Hierarchical decision techniques for task allocation and scheduling


  • Résumé

    In many decision making problems encountered in practice, there is a need to reason at different abstraction levels. This is the case for multi-robot exploration missions, which involve decisions on how exploration tasks are shared between robots, on how these tasks are successively realized by each robot, and on how robots moves are coordinated so as to avoid collisions or to maintain communication links [1]. This is also the case for the management of a constellation of Earth observation satellites, for which decisions must be made concerning how candidate observation tasks are shared between satellites, concerning how each satellite realizes the set of observation tasks allocated to it, and concerning the basic commands that must be sent to instruments for achieving the acquisition plan [2]. This is again the case for the mapping of functions onto an embedded architecture, with first a decision concerning the allocation of functions onto real-time computation units, then a decision concerning the scheduling of functions on each unit, and last a decision on the routing of data exchanged between functions inside an available inter-units network [3]. From a general point of view, such applications require being able to deal with different decision levels covering task allocation and task scheduling over ressources. Additionnally, each task involved must also sometimes be decomposed into subtasks, as in the case of a function computation task which is decomposed into one subtask for reading the set of data used by the function, one subtask for actually performing the computation, and one subtask for writing the result of the computation in a dedicated buffer. Additionnally, the constraints of the decision making problem to solve can be modeled using different abstraction levels. For instance, in multi-robot exploration, there exist constraints on the energy available for each robot all along the mission. At the time of task sharing between robots, it is not possible for combinatorial reasons to consider a complex dynamic model linking the level of energy available to the instantaneous power consumption. Instead, a simpler model might be used, in which a fixed amount of energy is consumed by each task. The complex energy model can be considered again once tasks have been allocated to robots and once robot moves have been synthesized. Similarly, for Earth observing satellites, it is possible to consider a fixed duration between the realization of two successive activities before considering finer a model taking into account the kinematics of satellites and the coordinates of images to be realized. This goal of this thesis is to define new models and algorithms for handling such hierarchical decision making problems.