BL.OptiMAS: un modelo basado en un sistema multiagente para la resolución de problemas de rutas y programación bajo incertidumbre

Compartir por correo electrónico
Imagen destacada BL.OptiMAS

La atención domiciliaria tiene como objetivo proporcionar servicios sanitarios adecuados a los pacientes en la comodidad de su hogar. Este tipo de servicios debe prestarse con una periodicidad diaria o semanal. Para organizar las rondas de los cuidadores, los gestores utilizan programas predefinidos en los que se especifican los servicios de atención que deben llevarse a cabo, así como los diferentes recursos asignados a cada intervención. La planificación de los cuidados a domicilio debe organizarse para beneficiar a todas las partes interesadas y sus diferentes expectativas, por lo que hemos creado BL.Optim, un servicio de optimización que utiliza un algoritmo bioinspirado para generar la programación óptima en tiempo y recursos en función de las restricciones de los clientes y de la organización. Sin embargo, para evitar imprevistos como el tráfico, los servicios urgentes, trabajamos en un enfoque que considera los fenómenos aleatorios vinculados a las actividades de atención domiciliaria. El objetivo es programar todos los servicios de atención programados e inesperados con los recursos humanos y temporales disponibles. En este artículo, presentaremos los objetivos científicos de nuestro enfoque, las metodologías que utilizamos y cómo nuestra solución tiene en cuenta las restricciones.

Objetivos perseguidos

Para llevar a cabo el enrutamiento y la programación de la asistencia sanitaria a domicilio en condiciones de incertidumbre, hay que alcanzar dos objetivos principales:

  1. Comprender y gestionar los sistemas de apoyo al hogar
  2. Para mejorar la gestión de las actividades de asistencia sanitaria a domicilio, queremos proponer un enfoque descentralizado de apoyo a la toma de decisiones para garantizar la coordinación de los horarios y el intercambio de información entre los cuidadores y los pacientes, teniendo en cuenta las limitaciones en tiempo real.

Metodología de los sistemas multiagentes (MAS)

Los sistemas multiagente (MAS) están formados por varias entidades autónomas, llamadas agentes, situados en un mismo entorno y que interactúan para responder a peticiones u objetivos específicos. Debido a su naturaleza distribuida, los MAS son adecuados para problemas complejos y abiertos que requieren algoritmos predictivos. A través de sus múltiples interacciones, generan respuestas en forma de algoritmos o métodos que se adaptan mejor a su entorno. Esta metodología se utiliza ampliamente en muchos campos, como la simulación y la robótica distribuida.

Metodología de los sistemas multiagentes
Figura 1: Metodología del sistema multiagente

Para nuestro estudio, se necesitan tres agentes que realicen una planificación dinámica e interacciones exitosas:

  • Agente identificador: identifica y explota la información relativa a los pacientes (disponibilidad, localización, etc.) y a los cuidadores (carga, disponibilidad, estado, etc.), lo que permite determinar una lista potencial de cuidadores (competencias y recursos) para cada paciente.
  • Agente coordinador: desempeña el papel de Asistente del Coordinador, que acompaña a éste en la conducción del proceso de toma de decisiones. Es el agente que coordina y orquesta a los actores de cada estructura de atención sanitaria a domicilio.
  • Agente informadorCada vez que el agente coordinador añade o elimina información, el agente informador actualiza los datos correspondientes en la base de conocimientos. El agente permite gestionar el repositorio de información con una organización dinámica.
Nuestro uso del sistema multiagente
Figura 2: Sistema multiagente para la planificación de rutas de atención sanitaria a domicilio en condiciones de incertidumbre

En primer lugar, clasificamos los eventos inciertos que se tienen en cuenta en nuestro modelo de programación en tiempo real basado en el MAS:

  1. Borrar una tarea:
    • Los pacientes cancelan la intervención por X motivo.
    • El cuidador cancela la intervención por X razón.
  2. Añadir una tarea
    • Solicitudes de servicios de atención urgente de los pacientes.

A continuación, hay que subrayar varios conceptos principales de nuestro sistema de programación, como:

  • El tiempo de viaje depende de las limitaciones geográficas.
  • La duración del servicio que siempre debe tener parámetros estáticos como se muestra en la siguiente imagen:
Características estadísticas de un deber
Figura 3: Características estadísticas de una tarea

"Oi" representa la fecha en que se ha recibido el servicio de atención,
"Ci" representa el tiempo de ejecución del peor caso (WCET) estimado para realizar la tarea,
"Di" representa el plazo máximo del servicio de atención,
"Ti" representa el periodo de repetición del servicio de atenciónCada repetición produce un nuevo trabajo a realizar cuando se activa la tarea.

En cuanto a la adición y/o supresión de un paciente, hay que tener en cuenta otros factores como las siguientes listas dinámicas:

  • Lista de pacientes urgentes,
  • Lista de pacientes en espera (solicitud simple),
  • Lista de pacientes tomados a cargo (incluidos en la agenda = tomados a cargo),
  • Lista de cuidadores de guardia,
  • Lista de cuidadores disponibles.

Estas listas permiten el uso de una función de búsqueda por nombre, que hace posible navegar por las distintas listas y así comprobar la disponibilidad del cuidador o del paciente en cuestión.
Antes de esta identificación también hay un tratamiento preliminar fuera de línea para determinar el grado de competencia de los cuidadores, el grado de urgencia de cada servicio de atención, así como el tipo de servicio necesario para cada paciente.

Las herramientas de desarrollo utilizadas

Modelado de MagicDraw

MagicDraw es una herramienta visual de modelado UML con soporte de colaboración en equipo. Diseñada para analistas de negocio, analistas de software, programadores e ingenieros de control de calidad, esta herramienta de desarrollo dinámica y versátil facilita el análisis y el diseño de sistemas orientados a objetos (OO) y bases de datos. Proporciona el mecanismo de ingeniería de código, así como el modelado del esquema de la base de datos, la generación del Lenguaje de Definición de Datos (DDL) y las facilidades de ingeniería inversa en el contexto del estudio de la planificación dinámica y la replanificación, el objetivo es reunir un máximo de escenarios para la gestión de riesgos en el nivel de planificación y garantizar la optimización del servicio.

Modelado MagicDraw
Figura 4: Modelado del sistema de programación dinámico basado en MagicDraw

API MaDKit

MaDKit es una plataforma de desarrollo multiagente escrita en Java, que facilita la creación de aplicaciones distribuidas y simulaciones utilizando el paradigma multiagente. Estas características incluyen:

  • No hay requisitos de modelo de agente
  • Capacidad para soportar múltiples modelos de comunicación simultáneamente
  • Modo distribuido transparente
  • Interfaces gráficas flexibles
API MaDKit
Figura 5: API MaDKit - visualización de la información sobre los roles de los agentes

API super CSV

Escribir objetos Java en un archivo CSV utilizando la biblioteca Super CSV es sencillo. Tiene una API clara y flexible para leer y escribir cualquier tipo de objeto que desee en y desde un archivo CSV. En el ejemplo escribimos un archivo CSV usando objetos java débiles. Puede especificar qué encabezados, delimitadores, comillas y caracteres de fin de línea utilizar.

Conclusiones y perspectivas de investigación

El trabajo realizado ha permitido enriquecer y validar los conceptos de un modelo restringido utilizado para la replanificación de los horarios de los pacientes debido al impacto de los imprevistos. Para cumplir el objetivo inicial, hemos definido un nuevo algoritmo de decisión basado en un modelo de restricciones. Esta metodología se refiere principalmente al diseño de sistemas estocásticos, que generalmente se diseñan para satisfacer una necesidad específica y entran en la categoría de sistemas en tiempo real. La metodología desarrollada se caracteriza por un enfoque de sistema restringido, una modelización descentralizada a través de un sistema multiagente basado en la evaluación dinámica del rendimiento mediante simulación.
El perspectivas que se pueden contemplar como una extensión directa de este trabajo se refieren a dos objetivos importantes: el enriquecimiento del modelo restringido de sistemas estocásticos por una estimación de las tareas en tiempo real que deben realizar los cuidadores, y el enriquecimiento de los escenarios ligados a los imprevistos para el análisis de la tolerancia a los fallos de los sistemas.

Por Mouna Mahtali

Más ...

Scroll al inicio