DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la...

37
DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la gestión de flotas de autobuses Universidad de Málaga.

Transcript of DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la...

Page 1: DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la gestión de flotas de autobuses Universidad de Málaga.

DAMMADDiseño y Aplicación de Modelos

Multiagente para Ayuda a la Decisión

Demostrador para la gestión de flotas de autobuses

Universidad de Málaga.

Page 2: DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la gestión de flotas de autobuses Universidad de Málaga.

IntroducciónDescripción del problema La red de autobuses urbanos se descompone

en líneas con varios servicios. Normalmente ocurren problemas en el

comportamiento de los servicios que son resueltos por inspectores de línea o por el centro de control.

Objetivos Construir un sistema de ayuda a la decisión que

provea a los operarios del centro de control información acerca del estado y los problemas de las líneas, aparte de recomendaciones para subsanar dichos problemas.

Page 3: DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la gestión de flotas de autobuses Universidad de Málaga.

Índice

Arquitectura del sistemaModelo de conocimientoImplementación del sistemaConclusión

Page 4: DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la gestión de flotas de autobuses Universidad de Málaga.

Arquitectura del sistemaBasada en la arquitectura SKADSAdaptada al problema particular de la gestión de flotas de autobusesSe identifican cuatro grupos de agentes Conexión con la flota de autobuses Gestión de la flota de autobuses Centro de control Agentes externos

Page 5: DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la gestión de flotas de autobuses Universidad de Málaga.

Arquitectura del sistema

Page 6: DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la gestión de flotas de autobuses Universidad de Málaga.

Arquitectura del sistema

Data Agent (DA) Hay uno por línea. Se encarga de su

propia línea y no conoce nada acerca de otras.

Conoce el estado de la línea y las posiciones de los autobuses.

Oferta información al resto del sistema (llegadas, averías, saturaciones).

Envía esta información a cualquier agente que se subscriba a él.

Page 7: DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la gestión de flotas de autobuses Universidad de Málaga.

Arquitectura del sistema

Line Management Agent (LMA) Hay uno por línea. Se encarga de su propia

línea y por defecto no conoce nada de otras. Oferta información al resto del sistema

(identificación de problemas, acciones de control para solucionar problemas).

Envía esta información a cualquier agente que se subscriba a él.

Obtiene el estado de la línea subscribiéndose a un Data Agent y razona a partir la información que este le envía.

Page 8: DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la gestión de flotas de autobuses Universidad de Málaga.

Arquitectura del sistemaUser Interface Agent (UIA) Puede haber tantos como se desee (uno por

línea, uno para todas las líneas). Muestra información sobre el estado de una

línea (si se subscribe a su Data Agent). Muestra información sobre las acciones que

hay que ejecutar para resolver los problemas de la línea.

Es el encargado de aceptar (o rechazar) esas acciones de control y de informar al resto del sistema en caso de que se acepten.

Page 9: DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la gestión de flotas de autobuses Universidad de Málaga.

Arquitectura del sistema

Broker Agent Es un agente externo que se encarga

de negociar entre los LMA’s del sistema la petición de un servicio de refuerzo.

Cuando un LMA decide que su línea necesita un servicio de refuerzo, se pone en contacto con el Broker para que este “subaste” la petición entre los demás LMA’s y devuelva el resultado al LMA que hizo la petición.

Page 10: DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la gestión de flotas de autobuses Universidad de Málaga.

Arquitectura del sistemaBroker Agent Cuando un LMA necesita otro servicio, estima el estado

que va a tener la línea desde ese momento hasta el final de la jornada.

Considerando esa estimación como un coste (o precio) se va a tratar de encontrar un LMA cuyo coste de perder un servicio sea menor que el coste que tiene el LMA interesado.

La negociación se hace por rondas, empezando por un precio más bajo que el precio real y buscando agentes cuyas líneas estén en un rango de distancia especificado con la línea interesada. Se empieza a negociar con las líneas más próximas y se va aumentando la distancia sucesivamente.

Si en una ronda ningún LMA está dispuesto a ofrecer un servicio a ese precio, primero se incrementa el rango de distancia y cuando no hay más agentes se incrementa el precio y se vuelve a las distancias más cercanas.

Page 11: DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la gestión de flotas de autobuses Universidad de Málaga.

Arquitectura del sistemaBroker Agent. Ronda 1

En la primera ronda se trata de sacar el servicio de las líneas que comparten cabeceras

Page 12: DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la gestión de flotas de autobuses Universidad de Málaga.

Arquitectura del sistemaBroker Agent. Ronda 2

Si ninguno de los anteriores acepta, se incrementa el rango de distancia con el mismo precio.

Page 13: DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la gestión de flotas de autobuses Universidad de Málaga.

Arquitectura del sistemaBroker Agent. Ronda 3

Si ningún agente ha aceptado y no hay agentes a más distancia, se incrementa el precio y se vuelve a preguntar a las líneas que comparten cabecera

Page 14: DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la gestión de flotas de autobuses Universidad de Málaga.

Modelo de conocimiento

Generado a partir de sesiones de extracción del conocimiento con los técnicos del centro de control de la EMT.Está basado en una ontología JADE modelada con Protégé.Genéricamente, se tienen conceptos, acciones de agente, problemas, acciones de control y predicados.

Page 15: DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la gestión de flotas de autobuses Universidad de Málaga.

Modelo de conocimiento

Conceptos AID (Agent Identifier) Bus Service Stop Line Time

Page 16: DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la gestión de flotas de autobuses Universidad de Málaga.

Modelo de conocimiento

Acciones de agente GiveService ReceiveService Negotiate AskForReinforceService

Page 17: DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la gestión de flotas de autobuses Universidad de Málaga.

Modelo de conocimiento

Problemas Saturation IndividualDelay GeneralisedDelay BreakDown MultilineDelay ServicesTogether

Page 18: DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la gestión de flotas de autobuses Universidad de Málaga.

Modelo de conocimientoAcciones de control ChangeFrecuency ChangeToFrecuencyRegulation ChangeToTimetableRegulation DecreaseSpeed IncreaseSpeed JumpStops HelpBetweenServices AdvanceFollowingService AdvanceHeadServiceStart LineHeadRetention GetServiceFromAnotherLine

Page 19: DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la gestión de flotas de autobuses Universidad de Málaga.

Modelo de conocimientoPredicados Arrive Incident Recommend CanGiveReinforceService CanNegotiateForReinforceService

Page 20: DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la gestión de flotas de autobuses Universidad de Málaga.

Implementación del sistema

Especificaciones y herramientas Se sigue la especificación FIPA sobre agentes,

mensajes y protocolos. Se han utilizado los protocolos Subscribe, Request y Brokering.

Esta especificación se modela en el lenguaje JAVA mediante el marco de desarrollo JADE.

Para el razonamiento de los LMA’s se ha utilizado Jess, que proporciona un modelo de razonamiento CLIPS para integrar con JAVA.

Se trabaja con los datos reales de tres líneas completas (3, 12 y 15) que forman parte de la red de autobuses de Málaga.

Page 21: DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la gestión de flotas de autobuses Universidad de Málaga.

Implementación del sistema

Funcionamiento general Al iniciar el sistema lo primero que se lleva

a cabo son las subscripciones. Cada LMAi se subscribe a el DAi para

obtener información de la línea. Cada DA se subscribe al UIA para obtener

información sobre las acciones de control que se llevan a cabo.

El UIA (un solo UIA centralizado para todas las líneas) se subscribe a todos los DA’s y a todos los LMA’s.

Page 22: DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la gestión de flotas de autobuses Universidad de Málaga.

Implementación del sistema

Funcionamiento general Cada DA comienza a generar datos de

llegadas e incidentes. El LMA correspondiente utiliza estos datos

para detectar problemas y generar soluciones.

El UIA los usa para representar la línea en pantalla

Cada recomendación que genera un LMA se envía al UIA para ser revisada y eventualmente aceptada por un usuario.

Las acciones de control aceptadas en el UIA se envían al LMA y al DA para ser ejecutadas

Page 23: DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la gestión de flotas de autobuses Universidad de Málaga.

Implementación del sistema

Page 24: DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la gestión de flotas de autobuses Universidad de Málaga.

Implementación del sistema

Data Agent La parte más importante es el simulador. El simulador sigue los horarios reales de los servicios de

la línea y genera la información correspondiente. Aunque se pueden producir incidentes (retrasos,

saturaciones, averías) aleatoriamente, lo más apropiado para tratar escenarios de prueba es generarlos a mano.

Muestra en todo momento la posición y el retraso de todos los servicios y el modo de funcionamiento de la línea (regulación por horario o por frecuencia).

Se puede ver información específica de cada servicio como su horario, la velocidad a la que va o su número de pasajeros.

Se puede regular la velocidad de simulación en todo momento.

Se puede resetear a cualquier fecha y hora que se desee probar.

Page 25: DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la gestión de flotas de autobuses Universidad de Málaga.

Implementación del sistema

Data Agent

Page 26: DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la gestión de flotas de autobuses Universidad de Málaga.

Implementación del sistema

LM Agent Su parte más importante es el motor de inferencias

CLIPS. Cada vez que recibe una llegada o un incidente,

aserta la información correspondiente en el motor de inferencias, aparte de guardar otra información acerca del estado del servicio.

Cada vez que se hace un aserto, el motor de inferencias dispara las reglas correspondientes (si las hay).

Hay reglas que identifican soluciones a partir de problemas asertados y reglas que ejecutan las soluciones que se han tomado (se ejecuta notificándolo al agente, que a su vez informa al UIA).

Las reglas se organizan por soluciones, hay reglas para identificar todas las soluciones.

Page 27: DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la gestión de flotas de autobuses Universidad de Málaga.

Implementación del sistema

LM Agent Ejemplo de regla de identificación de

problema (defrule identify-jump-stops ?delay <- (individualDelay (minutes ?m) (service ?ds)) (test (> ?m 3)) ;Un retraso medio o severo (inMainStop (service ?mss)) (followedServices (service1 ?fs1) (service2 ?fs2)) (test (= (call ?fs1 getCode) (call ?mss getCode))) (test (= (call ?fs2 getCode) (call ?ds getCode)));Van seguidos => (assert (jumpStops (service ?ds))) (assert (lineHeadRetention (service ?mss) (minutes 2))) )

Page 28: DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la gestión de flotas de autobuses Universidad de Málaga.

Implementación del sistema

LM Agent

Page 29: DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la gestión de flotas de autobuses Universidad de Málaga.

Implementación del sistema

LM Agent Ejemplo de regla de ejecución de solución

(defrule resolve-jump-stops ?h<-(jumpStops (service ?s)) => (bind ?o (new JumpStops)) (call ?o setService ?s) (call ?*agente* notify ?o) (retract ?h) )

Page 30: DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la gestión de flotas de autobuses Universidad de Málaga.

Implementación del sistema

LM Agent Ejemplo de regla de identificación

de problema (defrule identify-help-between-services ?delay1 <- (individualDelay (minutes ?m1) (service ?s1)) ?delay2 <- (individualDelay (minutes ?m2) (service ?s2)) (test (> ?m1 3)) (test (> ?m2 3));Un retraso medio o severo (followedServices (service1 ?fs1) (service2 ?fs2)) (test (= (call ?fs1 getCode) (call ?s1 getCode))) (test (= (call ?fs2 getCode) (call ?s2 getCode)));Van seguidos => (assert (helpBetweenServices (service1 ?s1) (service2 ?s2))) )

Page 31: DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la gestión de flotas de autobuses Universidad de Málaga.

Implementación del sistema

LM Agent

Page 32: DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la gestión de flotas de autobuses Universidad de Málaga.

Implementación del sistema

UI Agent Es una herramienta centralizada para controlar

todas las líneas. En cada momento se puede visualizar el estado

de la línea que se desee, mostrando en pantalla la posición de todos los servicios y los mensajes de recomendación que se han enviado para esa línea.

Tiene dos modos de trabajo, uno automático, donde todas las recomendaciones que llegan se aceptan automáticamente y otro confirmado, donde por cada recomendación el usuario debe pulsar un botón si quiere aceptarla.

Page 33: DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la gestión de flotas de autobuses Universidad de Málaga.

Implementación del sistema

UI Agent Cada vez que se produce una llegada, el LMA

genera acciones de control si hay algún problema.

Para no llenar la consola de mensajes, es posible restringir la frecuencia con la que se muestran mensajes referidos a un mismo servicio.

Así, si se establecen 3 minutos, solo se muestran mensajes de control referidos a un mismo servicio como mínimo 3 minutos después del último que llegó referido a ese servicio.

Page 34: DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la gestión de flotas de autobuses Universidad de Málaga.

Implementación del sistema

UI Agent

Page 35: DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la gestión de flotas de autobuses Universidad de Málaga.

Implementación del sistema

Broker Agent Se encarga de negociar la petición de un servicio

de refuerzo entre LMA’s. Se basa en el protocolo FIPA-Brokering. Es el LMA interesado el que se encarga de

configurar las rondas de negociación (rango de distancia y precio).

Este agente recibe esta información y contacta con todos los LMA’s en el rango de distancias especificado mediante el protocolo Request.

Devuelve el resultado de una sola ronda al LMA interesado, que debe lanzar la siguiente (si existe).

Page 36: DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la gestión de flotas de autobuses Universidad de Málaga.

Conclusión

El sistema es potente y versátil.Es muy parecido visualmente al sistema que se utiliza en el centro de control de la EMT de Málaga.Permite configurar escenarios de prueba específicos.

Page 37: DAMMAD Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión Demostrador para la gestión de flotas de autobuses Universidad de Málaga.

Conclusión

Trabajo restante: Evaluación basada en escenarios de

prueba. Evaluación externa del prototipo por

parte de la EMT. Redacción de informes.