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.

Slides:



Advertisements
Presentaciones similares
Base de Datos de Terceros
Advertisements

Support.ebsco.com Como crear una Colección Local Tutorial.
Support.ebsco.com EBSCOhost Búsqueda Integrada Tutorial.
OPCIONES PERSONALES EN EL CATÁLOGO EN LÍNEA www. navarra
Diseño y análisis de algoritmos
DISEÑO DE EXPERIMENTOS
Razonamiento algorítmico
Solución para Control de Presencia Empleados
Gloria Guirado Departamento de Formación La comunidad de Visual Chart V.
Visual Chart V La nueva interfaz
José Antonio Rastoll Pérez Presentación PI. Índice 1. EL OBJETO SESSION Introducción. Propiedades. Funcionamiento. Variables de sesión, desventajas y.
DE LAS CUENTAS DE USUARIO Y OPCIONES DE CARPETA
Optimización de sistemas de trading
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
HERRAMIENTAS DEL SISTEMA
DAMMAD Reunión DAMMAD Grupo de Inteligencia Artificial Dpto. de Ciencias Experimentales e Ingeniería Universidad Rey Juan Carlos Diseño y Aplicación.
NEWS ¿Qué son los News? Son grupos de noticias distribuido en Internet que están formado por un conjunto de foros de debate clasificados por temas. Los.
DAMMAD Reunión Málaga Febrero 2002 Diseño y Aplicación de Modelos Multiagente para Ayuda a la Decisión.
DISEÑO DE LA INTERFAZ DE USUARIO
INTRODUCCIÓN A LA COMPUTACIÓN 8va Semana – 15va Sesión Miércoles 20 de Abril del 2005 Juan José Montero Román
EProcurement.
DISEÑO DE SOFTWARE 1ª. Parte
SO – 1 – Reunión DAMMAD Grupo de Inteligencia Artificial Dpto. de Ciencias Experimentales e Ingeniería Universidad Rey Juan Carlos Diseño y Aplicación.
SISTEMAS ADAPTATIVOS Y FILTRADO
Unidad VI Documentación
Ejercicio 2 Ejercicio 3. Ejercicio 4 Ejercicio 6.
EL CORREO ELECTRONICO.
LENGUAJES DE PROGRAMACIÓN
PARTICIPACIÓN CIUDADANA
© 2012 Microsoft Corporation. Todos los derechos reservados. Agregar un contacto Su lista de contactos simplifica las comunicaciones y le permite ver la.
Aplicaciones de Ingeniería de Software
FUNDAMENTOS DE PROGRAMACION
Proceso de resolución de un nombre de dominio. Javier Rodríguez Granados.
Fin Fase Elaboración Presentación al director del proyecto Agenda –Objetivos –Cumplimientos –Conclusiones Presentación al director del proyecto Agenda.
Diseño del servicio ITIL..
INSTITUTO TECNOLOGICO DE MINATITLAN ASIGNATURA: FUNDAMENTOS DE PROGRAMACION DOCENTE: JOSE ANGEL TOLEDO ALVAREZ ALUMNA: ALEJANDRA OSORIO ARVISU SEMESTRE:
Cuentas de usuarios y grupos en windows 2008 server
Presentación de seguimiento del proyecto Equipo LSI 02 Resultados de la 3ª Iteración de Construcción.
Funcionamiento del protocolo DHCP. Tipo de mensajes
LOS RIESGOS DE INTERNET DELEGACIÓN EDUCACIÓN CONTROL PARENTAL El Control parental es una herramienta destinada a impedir un uso indebido del equipo por.
El modelo de análisis tiene como objetivo generar una arquitectura de objetos que sirva como base para el diseño posterior del sistema. Dependiendo del.
Pruebas y La Vida del Ciclo de Desarrollo del Software
TEMA 9: DIAGRAMA DE CLASE EN UML
Sebastian Madrid Perez
Modelo de 3 capas.
Diseño de Sistemas Expertos
¿QUE SON LAS ACTUALIZACIONES?  Las actualizaciones son adiciones al software que pueden evitar problemas o corregirlos, mejorar el funcionamiento del.
Tema 6 – Servicio de Correo Electrónico
File Transfer Protocol.
Roles de Open UP.
TIPOS DE AUDITORÍAS EN SISTEMAS DE INFORMACIÓN
Un controlador de dominio
Actividad 3 Diagrama de Actividades Dra. Anaisa Hernández González
S ERVICIOS DE RED E I NTERNET T EMA 3: DNS Nombre: Adrián de la Torre López.
“Instalación de TuneUp Utilities” Para empezar la instalación de TuneUp Utilities, haga doble clic en el ejecutable del programa: Se le abrirá el asistente.
Utilizar Costo Promedio Ponderado en el Software Administrativo SAW
GUIA para la adscripción de centros o grupos de trabajo promotores y registro de experiencias en la Red de Experiencias de Educación para la Salud en la.
Tutorial Holdings Management (Administración de Colecciones) Agregando, Editando y Asignando Enlaces al Buscador de Texto Completo support.ebsco.com.
Notificándote ¿Qué hicimos?
SISTEMAS DE INFORMACION ORGANIZACIONAL
Actos Comunicativos. Acciones de Información  Inform(a) El emisor informa al receptor que la proposición a es verdadera.  Inform-if(a) Es una macro.
Proceso de resolución de un nombre de dominio. –Consultas recursivas. –Consultas iterativas. –Caché y TTL. –Recursividad y caché. Gustavo Antequera Rodríguez.
Tutorial App Chofer. Configuración de App Chofer 1 Descargar la App desde playstore, la misma se busca como Dataremis gps. 2 Una vez descargada e instalada.
6.6 Administración de defectos
Planificación de Sistemas de Información
Presentación De UML Lenguaje estándar para escribir planos de software Se usa para visualizar, especificar, construir y documentar los artefactos de un.
TUTORIAL: ELABORACIÓN DE ENCUESTAS EN Capacitación en Moodle para Docentes.
Buenas Prácticas en Gestión de la Demanda Walter Mir – Legajo Trabajo Final de Grado.
Curso de programación Visual Chart 6 (1ªEd.)
ESTADISTICA Llamada ciencia de los datos por el aporte que recibe de la matemática y el uso que hace de esta para la medición de errores. Se encarga de.
Transcripción de la presentación:

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ón Descripció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.

Índice Arquitectura del sistema Modelo de conocimiento Implementación del sistema Conclusión

Arquitectura del sistema Basada en la arquitectura SKADS Adaptada al problema particular de la gestión de flotas de autobuses Se identifican cuatro grupos de agentes Conexión con la flota de autobuses Gestión de la flota de autobuses Centro de control Agentes externos

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.

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.

Arquitectura del sistema User 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.

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.

Arquitectura del sistema Broker 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.

Arquitectura del sistema Broker Agent. Ronda 1 En la primera ronda se trata de sacar el servicio de las líneas que comparten cabeceras

Arquitectura del sistema Broker Agent. Ronda 2 Si ninguno de los anteriores acepta, se incrementa el rango de distancia con el mismo precio.

Arquitectura del sistema Broker 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

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.

Modelo de conocimiento Conceptos AID (Agent Identifier) Bus Service Stop Line Time

Modelo de conocimiento Acciones de agente GiveService ReceiveService Negotiate AskForReinforceService

Modelo de conocimiento Problemas Saturation IndividualDelay GeneralisedDelay BreakDown MultilineDelay ServicesTogether

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

Modelo de conocimiento Predicados Arrive Incident Recommend CanGiveReinforceService CanNegotiateForReinforceService

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.

Implementación del sistema Funcionamiento general Al iniciar el sistema lo primero que se lleva a cabo son las subscripciones. Cada LMA i se subscribe a el DA i 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.

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

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.

Implementación del sistema Data Agent

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.

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)))  )

Implementación del sistema LM Agent

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)  )

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)))  )

Implementación del sistema LM Agent

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.

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.

Implementación del sistema UI Agent

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).

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.

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.