5

Click here to load reader

Uso de agentes para la reconfiguración de los sistemas de manufactura a través de Redes de Petri (Petri Nets, PN)

Embed Size (px)

DESCRIPTION

Agentes computacionales y Redes de Petri

Citation preview

Page 1: Uso de agentes para la reconfiguración de los sistemas de manufactura a través de Redes de Petri (Petri Nets, PN)

Cinthia Astrid Reyes Lozano 5 Estudiante del doctorado en Tecnologías de la Información

Uso de agentes para la reconfiguración de los sistemas de manufactura a través de Redes de Petri (Petri Nets, PN). Por Cinthia Astrid Reyes Lozano

En términos básicos, un Sistema de Manufactura Reconfigurable (RMS) requiere que pueda encontrarse la “combinación o secuencia” en el uso de recursos óptima en función de las variables que definamos como prioritarias. Desde la perspectiva del planteamiento de mi propia tesis basada en Redes de Petri y en combinación con los agentes, esto supone dos posibilidades:

a) Agentes + PN: el uso como herramienta de modelado inicial a partir de

Redes de Petri para después permitir que sean los agentes quienes encuentren la mejor reconfiguración en términos ya probados del sistema,

b) Agentes: la utilización de agentes de manera directa para obtener la reconfiguración idónea.

Para el primer caso, lo que resulta especialmente interesante es que las Redes de

Petri al ser un modelo matemático del sistema, nos permiten analizarlo y verificar propiedades específicas, entre las que podemos mencionar al menos dos grupos, las de seguridad y las de vivacidad [1], las primeras nos permiten conocer el tiempo “guía” de nuestro sistema (lead time es un concepto que implica el tiempo requerido desde la puesta de orden del cliente hasta la obtención del producto y está asociado a los tiempos de proceso internos), los límites de nuestros lugares, exclusiones mutuas, etc. El segundo grupo de propiedades nos permite saber si no hay posibilidad de quedarse estancado (deadlocks), cuáles son los estados iniciales del sistema, y si su funcionamiento en pocas palabras puede perpetuarse en tanto que haya material que ingrese a la línea. En este punto y sólo revisando el enfoque de las Redes de Petri, existen diversos autores que han presentado sus algoritmos para resolver estos sistemas de manera óptima. Desde quienes hacen el análisis de cada posible reconfiguración y en base a estos datos finales se revisa cuál reconfiguración nos da el resultado buscado, hasta los que emplean algoritmos complejos para realizar la comparación. Por ejemplo, Jun Li et al [2] presentó un método de diseño rápido de Redes de Petri que modelaran el aspecto de control del RMS (supervisión). Para desarrollar esto, primero era necesaria una transformación del sistema a uno dinámico, y con la utilización de diagramas de actividad de Unified Modeling Languages, versión 2 (UML 2) describía las posibles configuraciones creando de estas su propia Red de Petri. De estas últimas Redes de Petri se hacía una configuración para validar cuál era la que lograba cumplir la meta designada para el sistema. Sin embargo, es notable que además este método mide los cambios en los diagramas de actividad.

Page 2: Uso de agentes para la reconfiguración de los sistemas de manufactura a través de Redes de Petri (Petri Nets, PN)

Cinthia Astrid Reyes Lozano 5 Estudiante del doctorado en Tecnologías de la Información

En cualquiera de los casos, dependiendo de la complejidad del sistema la solución puede requerir mucho poder de computación o bien ser imposible si nos encontramos con un sistema NP hard (que no se ha probado que tenga solución conocida). De aquí surgen para fines prácticos las combinaciones de métodos, al incoroporar formas de búsqueda metaheurística o a los agentes. Los agentes computacionales son capaces de realizar acción independiente “a nombre” de su usuario. Bien se puede entender el concepto de un agente y sus propiedades al compararlo con un “agente humano de viajes”.

1. Tanto el agente como usted tendrían que poder comunicarse de alguna manera. Deben tener un lenguaje común para entender los objetivos y límites.

2. El agente tendría que poder actuar a nombre suyo, no solo brindar consejo.

Debe estar “capacitado” para interactuar con quienes son externos a el.

3. El agente tendría que tener cierta independencia de acción, sería inútil un agente que para cada pequeño detalle tenga que detener su búsqueda y llamarnos o tenernos en llamada en espera mientras ubica todas las posibles opciones de acción. Un buen agente colectaría la información suficiente de usted, encontraría su mejor opción y sólo llamaría para confirmar y revisar las opciones. Debe ser proactivo.

4. Un buen agente debería aprender de su experiencia con usted y de sus

preferencias con el paso del tiempo. Debe ser adaptable.

5. Finalmente, como nota al pié de página, algo que en nuestra relación con los agentes “humanos” no nos preocupa sobremanera es cómo definir el límite de lo que éste puede o no realizar a nombre de su usuario, ya que existen regulaciones, leyes y en última instancia, un sentido común propio de nuestra cultura. En el caso de los agentes de programación, estos límites deben ser adecuadamente definidos desde la definición del mismo.

En un sistema multiagentes, un número de agentes interactúan en una red a

nombre del usuario, agregando capacidades sociales y de negociación. Su uso implica una visión de aplicaciones distintas a la programación clásica de tipo secuencial.

Kornienko [3] presenta lo que el llama una planeación de “bajo nivel”, donde se

considera la solución multiagente hacia el “trabajo-máquina”. Es decir, considera la sustitución de humanos por máquinas bajo ciertas circunstancias y los agentes son ideales para modelar esta realidad. El punto principal es la flexibilidad del sistema de planeación al asignar roles y tipos de emergencias a los agentes. De acuerdo a éstos, el sistema recibe grados de libertad adicionales para adaptar su planeación en el piso de manufactura. Las actividades de “rescate” de los agentes, el acercamiento de la optimización y el propio método están basados en las Redes de Petri.

Perse et al [4] introducen el uso de los lugares y transiciones de las Redes de

Petri para el reconocimiento y evaluación de actividades complejas de multiagentes. Curiosamente, además estas Redes de Petri fueron construidas automáticamente de plantillas de actividad usadas de manera rutinaria por expertos para codificar conocimiento del dominio, en lugar de revisar manualmente las actividades del sistema.

Page 3: Uso de agentes para la reconfiguración de los sistemas de manufactura a través de Redes de Petri (Petri Nets, PN)

Cinthia Astrid Reyes Lozano 5 Estudiante del doctorado en Tecnologías de la Información

Asimismo, presenta un procedimiento para el aprendizaje automático de relaciones lógicas y temporales entre las acciones y cómo esto puede evaluarse de manera que el sistema pueda aprender de su propia variabilidad. Además, en su artículo muestran ejemplos que no se limitan al RMS.

Sin embargo, previamente planteamos que había dos posibilidades de uso de

agentes para los sistemas reconfigurables, aquella en que se combina con las Redes de Petri y aquellas en las que se usa de manera independiente y directa en el sistema a los agentes. En este sentido, existen diversos ejemplos de aplicación de agentes para optimizar la reconfiguración del sistema, así como diversos enfoques para resolver esto.

Probablemente la primera persona en proponer el uso de agentes para agendar

las tareas en manufactura y manejar el aspecto de control fue Michael Shaw. El sugería que una celda de manufactura podía subcontratar trabajo de otras a través de un sistema y representó cada punto de fabricación y sus componentes como un agente, cada uno de los cuales tenía una colección de planes y una representación de sus capacidades, utilizó el CNP (contract net protocol, para ubicación de recursos, propuesto por Reid Smith) para la negociación inter-agentes [5].

Existen tres estructuras típicamente usadas en los sistemas multi-agentes:

funcional, de pizarrón, y de arquitectura heterarchical. Esta última promete tener más aplicaciones en la manufactura por su auto-configuración, escalabilidad, tolerancia a fallas, complejidad reducida, mayor flexibilidad, bajos costos, paralelismo masivo, compatibilidad con internet y la posibilidad de plantear la empresa en cuestión de manera virtual. Aquí no existen relaciones de “maestro-esclavo” y los objetivos son alcanzados por cooperación de los agentes [6], donde las formas propias de negociación también pueden ser analizadas por sí mismas para hacerlas más eficientes [7].

Los sistemas multiagente también pueden coordinar con los equipos de control

PLC y CNC [8], pueden orientarse para resolver la reconfiguración en función del tiempo de procesamiento de una unidad (problema de Earliness/tardiness, es decir, el tiempo perdido por que la unidad a procesar llegue al equipo antes o después del momento en que el equipo esté listo para recibirle) funcionando como un sistema holónico (agrupación de unidades embebidas unas en otras) donde existe un agente que toma las decisiones en base a la información aportada por los demás [9] o bien, operar bajo una división de problemas y tareas que se agrupan para que ciertos agentes las traten con sus propios conocimientos y razonamiento para posteriormente cooperar y tener una solución sistémica [10].

Weng [11], introdujo un algoritmo para asignación de tiempos y tareas enfocado

especialmente en lograr el Just-in-Time en condiciones cambiantes donde el cliente puede solicitar producción adicional en línea (con una predicción en tiempo real, de lo que tomaría realizar lo solicitado) cuya funcionabilidad pudo probarse hasta una carga razonable de producción.

Un enfoque que me pareció especialmente interesante en la revisión de literatura

realizada, fue el de Fletcher [12] quien propuso una ecuación de “temperatura” de los procesos en una línea. De manera que cuando hay que distribuir una tarea se hace en función de la “ocupación” de los recursos disponibles a la vez que se toma en cuenta la prioridad de cada requerimiento.

Page 4: Uso de agentes para la reconfiguración de los sistemas de manufactura a través de Redes de Petri (Petri Nets, PN)

Cinthia Astrid Reyes Lozano 5 Estudiante del doctorado en Tecnologías de la Información

Conclusiones Los sistemas multiagentes por sus propias características de autonomía,

cooperación, proactividad, cumplimiento de objetivos y adaptabilidad. Son una herramienta idónea para obtener en tiempo real un ajuste o reconfiguración de un sisrtema como puede ser el de una línea de manufactura, en función de los requerimientos instantáneos o saturación de equipos, así como emergencias.

Por su parte, las Redes de Petri, son un método matemático de modelado de

sistemas que permite analizar sus propiedades, pudiendo entonces predecir si tendremos un desarrollo estable o no durante nuestro desempeño, con diversas reconfiguraciones necesarias. Asimismo las Redes de Petri por sí mismas pueden emplearse para encontrar dentro de la combinatoria, cuál es la reconfiguración idónea de trabajo. Para reducir la labor de hacer esto de opción en opción puede utilizarse a las Redes de Petri en concordancia con otras herramientas metaheurísticas y los agentes.

El punto crucial aquí, es entonces, poder definir para qué sistemas emplear solo

agentes es suficiente y adecuado, en qué casos las Redes de Petri de manera individual también son suficientes y finalmente si la combinación de ambos, aportan realmente a la solución, facilitando su obtención y no sólo complicando el proceso ya que, especialmente considerando el caso de las Redes de Petri existen pocos intentos por automatizar la creación de estos modelos a partir de los datos de un layout de planta por ejemplo. Esto además se debe a que existen varias formas de simplificación de una Red que pueden o no dar una nueva Red que pueda resolverse. Siendo este el caso, el uso de las Redes de Petri implica siempre la presencia de un usuario experto que pueda definir el sistema en términos de este método.

Adelantándonos a la respuesta de la pregunta previa, un enfoque importante a

considerar sería la factibilidad en la que el desarrollo de un sistema reconfigurable que pueda “fácilmente” ser empleado de manera masiva por la industria que al día de hoy ya lo requiere.

Finalmente, es importante poder evaluar los diversos métodos a fin de establecer

el benchmark, como por ejemplo, propone para sistemas holónicos discretos únicamente Brennan con su cama de simulación [ 13 ], y ciertamente este análisis sería muy interesante y provechoso de realizar.

Referencias [1] M. Silva and R. Valette, “Petri Nets and Flexible Manufacturing,” Advances in

Petri Nets 1989, Lecture Notes in Computer Science, 1990, pp. 374-417. [2] J. Li, X. Dai, Z. Meng, J. Dou, and X. Guan, “Computers & Industrial Engineering

Rapid design and reconfiguration of Petri net models for reconfigurable manufacturing cells with improved net rewriting systems and activity diagrams,” Computers & Industrial Engineering, vol. 57, 2009, pp. 1431-1451.

[3] S. Kornienko, O. Kornienko, and J. Priese, “Application of multi-agent planning to the assignment problem,” Computers in Industry, vol. 54, 2004, pp. 273-290.

[4] M. Perse, M. Kristan, J. Pers, G. Music, G. Vuckovic, and S. Kovacic, “Analysis of multi-agent activity using Petri nets,” Pattern Recognition, vol. 43, 2010, pp. 1491-1501.

Page 5: Uso de agentes para la reconfiguración de los sistemas de manufactura a través de Redes de Petri (Petri Nets, PN)

Cinthia Astrid Reyes Lozano 5 Estudiante del doctorado en Tecnologías de la Información

[5] W. Shen, “Distributed Manufacturing Scheduling using Intelligent Agents,” IEEE

Intelligent Systems, vol. 1094-7167/, Nov. 2002, pp. 88-94. [6] B. Qiao and J. Zhu, “Agent-Based Intelligent Manufacturing System for the 21 st

Century,” www.shaping-thefuture.de/pdf_www/152_paper.pdf. [7] Y. Qiwei, “Negotiation Mechanism for Reactive , Dynamic and Distributed Multi-

agent Manufacturing System,” 2010 International Conference on Measuring Technology and Mechatronics Automation, vol. 978-0-7695, 2010.

[8] R. Schoop, R. Neubert, and B. Suessmann, “Flexible Manufacturing Control with PLC , CNC and Software-Agents,” Proceedings of the Fifth International Symposium on Autonomous Decentralized Systems (ISADS’01), vol. 0-7695-106, 2001.

[9] Y. Indrayadi, P. Valckenaers, and H.V. Brussel, “Dynamic Multi-Agent Dispatching Control for Flexible Manufacturing Systems,” Proceedings of the 13th International Workshop on Database and Expert Systems Applications (DEXA’02), vol. 1529-4188/, 2002.

[10] X.U.E. Ligong, Z. Zude, and L.I.U. Quan, “Application of Multi-agent in Intelligent Manufacturing System,” 2008 International Conference on Computer Science and Software Engineering, vol. 978-0-7695, 2008, pp. 501-504.

[11] W. Weng and S. Fujimura, “Online Scheduling of Flexible Flow Shop Manufacturing,” 2009 International Joint Conference on Computational Sciences and Optimization, vol. 978-0-7695, 2009.

[12] M. Fletcher and S.M. Deen, “Task Rescheduling in Multi-Agent Manufacturing,” 10th International Workshop on Database and Expert Systems Applications (DEXA 1999), 2007.

[13] R.W. Brennan and W. O, “A simulation test-bed to evaluate multi-agent control of manufacturing systems,” Proceedings of the 2000 Winter Simulation Conference J. A . Joines, R. R. Barton, K. Kang, and P. A. Fishwick, eds., 2000, pp. 1747-1756.