BL.OptiMAS : un modèle basé sur un système multi-agents pour la résolution des problèmes d'itinéraires et de planning avec des imprévus.

Partager par e-mail
Image en vedette BL.OptiMAS

Les soins à domicile visent à fournir des services de santé appropriés aux patients dans le confort de leur foyer. Ce type de services doit être fourni sur une base quotidienne ou hebdomadaire. Pour organiser les tournées des soignants, les gestionnaires utilisent des programmes prédéfinis qui précisent les services de soins à réaliser, ainsi que les différentes ressources allouées à chaque intervention. La planification des soins à domicile doit être organisée de manière à bénéficier à tous les intervenants et leurs différentes attentes, c'est pourquoi nous avons créé BL.Optim, un service d'optimisation utilisant un algorithme bio-inspiré pour générer un planning optimal en temps et en ressources en fonction des contraintes des clients et de l'entreprise. Cependant, pour prévenir les imprévus tels que le trafic, les services urgents, nous avons travaillé sur une approche considérant les phénomènes aléatoires liés aux activités de soins à domicile. L'objectif est de planifier tous les services de soins programmés et imprévus avec les ressources humaines et temporelles disponibles. Dans cet article, nous présenterons les objectifs scientifiques de notre approche, les méthodologies que nous avons utilisées et comment notre solution prend en compte les contraintes.

Objectifs poursuivis

Afin de planifier l'itinéraire des soins de santé à domicile dans des conditions d'incertitude, deux objectifs principaux doivent être atteints :

  1. Comprendre et gérer les systèmes de soutien à domicile
  2. Afin d'améliorer la gestion des activités de soins à domicile, nous souhaitons proposer une approche décentralisée d'aide à la décision pour assurer la coordination des horaires et le partage d'informations entre les soignants et les patients, en tenant compte des contraintes de temps réel.

Méthodologie des systèmes multi-agents (SMA)

Les systèmes multi-agents (SMA) sont constitués de plusieurs entités autonomes, appelées agents.Les systèmes d'aide à la décision (SAD), situés dans un même environnement, interagissent pour répondre à des demandes ou à des objectifs spécifiques. En raison de leur nature distribuée, les SMA sont adaptés aux problèmes complexes et ouverts qui nécessitent des algorithmes prédictifs. Grâce à leurs multiples interactions, ils génèrent des réponses sous forme d'algorithmes ou de méthodes qui s'adaptent le mieux à leur environnement. Cette méthodologie est largement utilisée dans de nombreux domaines tels que la simulation et la robotique distribuée.

Méthodologie des systèmes multi-agents
Figure 1 : Méthodologie des systèmes multi-agents

Pour notre étude, trois agents sont nécessaires pour effectuer une planification dynamique et des interactions réussies :

  • Agent d'identification:il identifie et exploite les informations relatives aux patients (disponibilité, localisation, etc.) et aux soignants (charge, disponibilité, statut, etc.), ce qui permet de déterminer une liste potentielle de soignants (compétences et ressources) pour chaque patient.
  • Agent de coordination: il joue le rôle d'assistant du coordinateur, qui l'accompagne dans sa conduite du processus de décision. C'est l'agent qui coordonne et orchestre les intervenants dans chaque structure de soins à domicile.
  • Agent informateur: chaque fois que l'agent coordinateur ajoute ou supprime une information, l'agent informateur met à jour les données correspondantes dans la base de connaissances. L'agent permet de gérer le référentiel d'information avec une organisation dynamique.
Notre utilisation du système multi-agents
Figure 2 : Système multi-agents pour le planning et l'ordonnancement des soins de santé à domicile en cas d'incertitudes.

Tout d'abord, nous classons les événements incertains pris en compte dans notre modèle d'ordonnancement en temps réel basé sur le MAS comme ceci :

  1. Suppression d'une tâche :
    • Les patients annulent l'intervention pour X raisons.
    • Le soignant annule l'intervention pour X raisons.
  2. Ajout d'une tâche
    • Demandes de services de soins urgents de la part des patients.

Ensuite, plusieurs concepts principaux de notre système d'ordonnancement doivent être soulignés, tels que :

  • La durée du trajet dépend des contraintes géographiques.
  • La durée du service qui doit toujours avoir des paramètres statiques comme le montre l'image suivante :
Les caractéristiques statistiques d'un devoir
Figure 3 : Caractéristiques statistiques d'une tâche

"Oi" représente la date à laquelle le service de soins a été reçu,
"Ci" représente le Pire Temps d'Execution Possible (PTEP) estimé pour réaliser la tâche,
"Di" représente l'échéance maximale du service de soins,
"Ti" représente la période de répétition du service de soinschaque répétition produit une nouvelle tâche à accomplir lorsque la tâche est activée.

Concernant l'ajout et/ou la suppression d'un patient, d'autres facteurs doivent être pris en compte comme les listes dynamiques suivantes :

  • Liste des patients urgents,
  • Liste des patients en attente (demande simple),
  • Liste des patients pris en charge (inclus dans le planning = pris en charge),
  • Liste des soignants en service,
  • Liste des soignants disponibles.

Ces listes permettent d'utiliser une fonction de recherche par nom, qui permet de parcourir les différentes listes et donc de vérifier la disponibilité de l'aidant ou du patient en question.
Avant cette identification, il y a également un traitement préliminaire hors ligne pour déterminer le degré de compétence des soignants, le degré d'urgence de chaque service de soins, ainsi que le type de service nécessaire pour chaque patient.

Les outils de développement utilisés

La modélisation avec MagicDraw

MagicDraw est un outil de modélisation visuelle UML qui prend en charge la collaboration en équipe. Conçu pour les analystes commerciaux, les analystes logiciels, les programmeurs et les ingénieurs QA (Qualité Assurance), cet outil de développement dynamique et polyvalent facilite l'analyse et la conception de systèmes et de bases de données orientés objet (OO). Il fournit le mécanisme d'ingénierie du code, ainsi que la modélisation du schéma de la base de données, la génération du langage de définition des données (DDL) et les facilités d'ingénierie inverse dans le contexte de l'étude de la planification et de la replanification dynamiques, l'objectif étant de rassembler un maximum de scénarios pour la gestion des risques au niveau de la planification et pour assurer l'optimisation du service.

Modélisation MagicDraw
Figure 4 : Modélisation du système d'ordonnancement dynamique basé sur MagicDraw

MaDKit API

MaDKit est une plateforme de développement multi-agent écrite en Java, qui facilite la création d'applications et de simulations distribuées utilisant le paradigme multi-agent. Ces fonctionnalités comprennent :

  • Aucune exigence en matière de modèle d'agent
  • Capacité à soutenir plusieurs modèles de communication simultanément
  • Mode distribué transparent
  • Interfaces graphiques flexibles
MaDKit API
Figure 5 : API MaDKit - affichage des informations sur les rôles des agents

API super CSV

L'écriture d'objets Java dans un fichier CSV à l'aide de la bibliothèque Super CSV est très simple. Elle dispose d'une API claire et flexible pour lire et écrire tous les types d'objets que vous souhaitez dans un fichier CSV. Dans l'exemple, nous avons écrit un fichier CSV en utilisant des objets java simples. Vous pouvez spécifier les en-têtes, les délimiteurs, les guillemets et les caractères de fin de ligne à utiliser.

Conclusions et perspectives de recherche

Les travaux réalisés ont permis d'enrichir et de valider les concepts d'un modèle sous contrainte pour la replanification des horaires des patients en raison de l'impact d'événements inattendus. Pour répondre à l'objectif initial, nous avons défini un nouvel algorithme de décision basé sur un modèle de contraintes. Cette méthodologie concerne principalement la conception de systèmes stochastiques, qui sont généralement conçus pour répondre à un besoin spécifique et entrent dans la catégorie des systèmes temps réel. La méthodologie développée est caractérisée par une approche système sous contraintes, une modélisation décentralisée via un système multi-agents basée sur une évaluation dynamique des performances par simulation.
Le site les perspectives qui peuvent être envisagées comme une extension directe de ce travail concernent deux objectifs importants : l'enrichissement du modèle contraint des systèmes stochastiques par une estimation des tâches en temps réel à effectuer par les soignants, et l'enrichissement des scénarios liés à des événements inattendus pour l'analyse de la tolérance aux pannes des systèmes.

Par Mouna Mahtali

Plus ...

Retour en haut